Jakie są uzasadnione i bezpieczne wymagania dotyczące hasła do rejestracji użytkownika?

10

Oto zasady dotyczące haseł, które właśnie otrzymałem od UPS (tylko do sprawdzania statusu paczki):

Twoje hasło musi mieć od 8 do 26 znaków. Musi zawierać co najmniej trzy z następujących typów znaków: małe litery, wielkie litery, cyfry, znaki specjalne lub spacje. Hasło nie może zawierać Twojego identyfikatora użytkownika, imienia i nazwiska ani adresu e-mail. (SSO_1007)

Właściwie muszę nieco rozwalić mózg, aby wygenerować to hasło, ale nie tylko to, co najważniejsze, jestem pewien, że po 3 dniach zapomnę, jakie jest to hasło. Użytkownicy nie będą tak szczęśliwi. Resetowanie hasła może być częste. Myślę, że użytkownicy będą próbować unikać korzystania z witryny, chyba że będą musieli.

Jakie są rozsądne i bezpieczne zasady dotyczące haseł podczas konfigurowania strony internetowej? Myślę, że niektóre firmy mogą obawiać się, że hakerzy próbują haseł milion razy lub więcej, więc dodają wszystkie te wymagania dla „znaków specjalnych, małych liter, wielkich liter”, ale czy nie jest uzasadnione wyłączenie konta lub po prostu wyłączenie hasło i wymagać zresetowania hasła, jeśli użytkownik próbował 30 lub 100 razy? Lub dodać 5 sekund opóźnienia za każdym razem, gdy użytkownik spróbuje 30 razy? Jeśli tak, to te znaki specjalne nie będą tak bardzo potrzebne.

niepolarność
źródło
1
jeśli resetujesz hasło po 30 próbach, dajesz po prostu świetną możliwość zirytowania innych użytkowników złym ludziom (hakerzy / skrypty-dzieciaki), co pogorszyłoby wszystko.
oezi
@oezi masz na myśli, że hakerzy mogą denerwować dobrych ludzi, logując się tylko 30 razy przy użyciu fałszywych haseł? A co z 5-sekundowym opóźnieniem po 30-krotnej próbie, którą właśnie dodałem?
nonpolarity
14
Nie wspominając już o tym, że nie mogę poważnie potraktować hasła o maksymalnej długości, jeśli nie pozwala ono na „prawidłowe zszywanie baterii konia”.
David Thornley,
6
Co powiesz na drugą metodę poniżej w tym komiksie Xkcd ?
Robert Harvey
6
Cześć 動靜 能量, prawdopodobnie jest to lepsze pytanie do siostrzanej witryny IT Security , ale zostało zadane tam i udzielono odpowiedzi w kilku różnych formach. Sprawdź pytania takie jak to lub więcej informacji na temat kontekstu wokół komentarza Roberta Harveya, spójrz na to pytanie .

Odpowiedzi:

15

Szczerze mówiąc, uważam, że ścisłe wymagania dotyczące hasła są uciążliwe, a nie korzyścią. Zasadniczo powiedziałbym, że najbardziej rozsądne jest po prostu określenie długości, być może znaków specjalnych + alfanumerycznych. Coś więcej wymaga, aby ludzie zapisali swoje hasło, co przeczy całemu celowi posiadania bezpiecznych haseł. Nienawidzę także konieczności zmiany hasła co x dni przy użyciu zwykłego absurdalnego zestawu zasad (np. Nie można ponownie użyć ostatnich 25 haseł) - ponownie wszystko, co robi, to zmuszanie ludzi do zapisania tego, aby nie zapomnieli w którym punkcie równie dobrze możesz nie poprosić o hasło.

Wayne Molina
źródło
4
Zapisywanie haseł nie podważa celu. Jeśli mam naprawdę skomplikowane hasło zapisane na kartce przyklejonej do mojego monitora, to jedynym sposobem, w jaki ktoś może uzyskać dostęp do mojego konta, jest włamanie do mojego domu i siedzenie przy moim biurku w gabinecie. W tej sytuacji mam o wiele większy problem niż ktoś, kto jest w stanie śledzić moje dostawy UPS.
Qwerky,
2
Co jeśli jest to polityka firmy, a współpracownik znajdzie czyjeś hasło? Uszkodzenia mogą być nadal powodowane, a domniemana bezpieczna polityka haseł niewiele pomoże, jeśli jest tak złożona, że ​​większość ludzi po prostu przesyła ją do swojego monitora, aby każdy przechodzący mógł znaleźć swoje hasło do danych firmy.
Wayne Molina,
2
+1, całkowicie się zgadzam z / Wayne. Duża, jeśli nie największa część zagrożeń bezpieczeństwa pochodzi z „wnętrza”. Zasady, które zmuszają użytkowników do spisania haseł, całkowicie pokonują ten cel.
GrandmasterB,
1
Nie wspominając już o tym, że możesz denerwować użytkowników, jeśli będą musieli wymyślić jakieś zbyt skomplikowane hasło, aby dostosować je do reguł.
Mavrik,
1
@mouviciel Ufam na tyle, że mogę tam umieścić takie rzeczy, jak mój portfel i telefon, które cenię bardziej niż prawie każde konto internetowe, które mam.
Qwerky,
13

Moim zdaniem hasła powinny mieć jedynie wymaganą długość. Nie chcesz, aby ktoś wpisał „a” jako swoje hasło. A jak pokazuje odpowiedź xkcd, niezwykle trudne do zapamiętania hasło nie zawsze jest tak bezpieczne. Zawsze zezwalaj również na zmianę hasła. I zapomnij o bzdurach: „nie możesz użyć żadnego ze znaków zawartych w poprzednim haśle”.

Tworzenie nieprzyzwoitych zasad dotyczących haseł wyrządzi więcej szkody niż pożytku. Na studiach poszedłem do polityki haseł podobnej do polityki UPS ORAZ musiałeś ją zmieniać co 2 tygodnie ORAZ nie mogłeś użyć poprzednich 50 haseł, których użyłeś. Tak więc, moi nauczyciele zalecili, zakładając konta, użycie naszego zwykłego hasła, które jest zgodne z regułami, dodanie licznika na końcu i umieszczenie podpowiedzi hasła, która jest numerem licznika.

Ponadto ścisłe zasady haseł nic nie zrobią, gdy baza danych tekstowych zostanie zhakowana przez błąd wstrzykiwania SQL ... lub jeśli wyślesz hasła do użytkowników i zostaną przechwycone ...

Zasadniczo nie rób kłopotów z systemem haseł dla użytkowników, ponieważ zachęci ich to do robienia niepewnych rzeczy, aby mogli obejść ten problem. Na przykład moja firma, otrzymując serwer dedykowany z centrum danych, ustawiła nam hasła o długości 20 znaków. Były zbyt bezpieczne, aby mogły zostać do nas przesłane e-mailem i musiały zostać przesłane faksem. Nie mogliśmy zmienić haseł, tylko prośba o wygenerowanie nowego 20-znakowego hasła. I tak było dla każdego użytkownika ... więc skończyliśmy na zrobieniu dokumentu tekstowego na naszych komputerach z hasłem. Ponadto nie używamy ich już, ponieważ mimo całego „bezpieczeństwa”, jakie mieli, byli naprawdę bardzo niepewni.

Earlz
źródło
Nie wspominając o tym, że jeśli utworzysz hasło wystarczająco trudne do zapamiętania, użytkownicy zwrócą się do lepkiego notesu na biurku. „Bezpieczne” hasło, które powoduje żałosne otwarcie się na socjotechnikę, nie jest bezpieczne.
Fomite
4

Pamiętaj, aby spacje. Każdy, kogo znam, może pisać krótkie frazy szybciej niż pierwsza litera każdego słowa w wyrażeniu. Np próbować pisać Bird in a Tree, a potem BiaT. Ma to tę zaletę, że jeśli piszesz niejasną frazę taką jak pick Up milklub Meetings all dayna karteczce, to oczywiście nie jest to hasło.

Nie jestem wielkim fanem zasad „musisz mieć cyfry i symbole”, ale jeśli zastosujesz je konsekwentnie (np. I jest zawsze 1, a jest zawsze @), nadal możesz napisać angielską frazę na lepkiej, zastosuj zasady znane tylko do mówienia i wejdź B1rd in @ treew okno dialogowe hasła. Z punktu widzenia bezpieczeństwa liczby i symbole niewiele dodają, ale nie muszą doprowadzać Cię do szaleństwa jako użytkownik.

Witryny z maksymalną długością hasła denerwują mnie, jeśli moje ładne wyrażenie zostanie uznane za „zbyt długie”. 26 wydaje się rozsądne. Rozumiem, że ktoś musi zaprojektować szerokość kolumny, ale 12 jest po prostu głupio krótkie.

Kate Gregory
źródło
1
To bardzo sprytne. Użyj wyrażenia z odstępem każdego dnia ... Sprytne. Chociaż będę się trzymał mojego systemu wspólnego silnego hasła z dodaną liczbą i literą w zależności od usługi, z której się loguję. Tylko ja wiem, jak je utworzyć i zawsze jest takie samo, ale hasło wynikowe jest prawdopodobnie inne (nie zawsze inne, ale nie dbam o te rzadkie duplikaty).
Robert Koritnik
1
Szerokość jakiej kolumny? Pola tekstowe zwykle mają wewnętrzne przewijanie, a jeśli przechowujesz hasło w postaci zwykłego tekstu w DB, robisz to źle.
Peter Taylor
Dbs są teraz tanie. Przy dobrym pobudzeniu, jeśli zezwolisz na hasła o długości 50 znaków, szerokość tego w db będzie wynosić maksymalnie 110 (dokładnie 102). Ale zrobiłbym to 150 varchar ... dobry projekt db powinien oznaczać, że żadna tabela nie ma więcej niż 20 kolumn, więc nie będzie to stanowić dużego problemu.
tgkprog
2

Bezpieczne kontra wygodne

Polityka bezpieczeństwa hasła powinna być odpowiednia do kosztu kompromisu. Jeśli twoja strona internetowa obsługuje moje konto finansowe, chciałbym ścisłej ochrony hasłem. Jeśli jest to niszowa strona fanów poświęcona Autobotom, nie potrzebujesz dużo ochrony.

Zasady UPS są rozsądne, z wyjątkiem:

  • Maksymalna długość jest zdecydowanie za mała. Powinieneś ułatwić korzystanie z haseł, które są łatwiejsze do zapamiętania i mogą być bezpieczniejsze.

Resetowanie nie widziałem po X próbach w cytowanych regułach, myślę, że w większości przypadków jest to głupie. Myślę, że lepiej zamknąć kogoś na jakiś czas, niż wymuszać reset. Oznacza to pewien poziom bezpieczeństwa. Jeśli nie jest to konieczne, to nie jest, a blokowanie / resetowanie jest kwestią sporną.

Istnieje wiele zasad dotyczących haseł, które w najlepszym wypadku mają marginalne zalety bezpieczeństwa. Istnieją jednak zasady, które mają realne, namacalne korzyści dla bezpieczeństwa hasła.

Zasady (i powody):

  • minimalna długość

Zapobiega kombinatorycznej próbie i atakowi błędu, który szybko złamie bardzo krótkie hasło.

  • zakaz używania pojedynczego angielskiego słowa (lub dowolnego innego języka)

Zapobiega to atakom słownikowym.

  • wymuszone włączenie różnych kategorii (tj. mieszane, wielkość liter, interpunkcja)

Zwiększa to średnią przestrzeń ataku.

Wszystkie te przyczyny można prześledzić, aby zminimalizować stronniczość użytkownika przy wyborze haseł. Większość użytkowników jest nastawiona na tworzenie krótszych, łatwych do zapamiętania haseł. Niestety zwykle ułatwia to atakowanie hasła. Większość użytkowników potrzebuje instrukcji, jak utworzyć bezpieczne, łatwe do zapamiętania hasła lub dłuższe hasło.

Bezpieczne niezapomniane hasła

Kiedy muszę utworzyć hasło z ograniczeniem długości, zawsze zaczynam od frazy, więc mam wbudowany mnemonik. Biorę to zdanie i otrzymuję ten sam znak pozycyjny z każdego słowa. Mam teraz sekwencję tylko znaków. Następnie wybieram wielkie litery, niektóre oparte na nazwach w wyrażeniu lub według wzorca (pierwsza i ostatnia, każda inna litera itp.). Następnie dodaję znaki interpunkcyjne i cyfry oparte na dowolnej arbitralnej regule lub wzorze. (tzn. wszystkie „j” to 7, używając „&” tam, gdzie w wyrażeniu jest „i” itp.).

Mamo, właśnie zabiłem człowieka. Przyłóż pistolet do głowy. Nacisnąłem spust, teraz nie żyje.

Zwrot dostarczony przez Queen

  1. mjkampagahhpmtnhd - pierwsza litera każdego słowa
  2. MjkamPagahhPmtnhd - obudowa dopasowuje obudowę do wyrażenia
  3. Mjk0mP0g0hhPmtnhd - zmieniono „a” na 0
  4. Mjk0mP0g0 () Pmtnhd - zmienił „swoją głowę” na ()

Po kilkukrotnym wpisaniu go, gdy myślę o frazie, nigdy nie będę miał problemu z zapamiętaniem.

dietbuddha
źródło
1
Prawdziwy problem polega na tym, że z konta UPS będzie korzystało kilkanaście osób w firmie. Zablokowanie ich wszystkich, ponieważ Fred w wysyłce źle wpisał, spowoduje 1, chaos 2, ludzi przejdzie na Fedex
Martin Beckett
2
Myślę, że problem polega na tym, że nieznośne zasady haseł nie zwiększają realbezpieczeństwa (zwiększają jedynie postrzeganie bezpieczeństwa) i mogą faktycznie zaszkodzić bezpieczeństwu.
Martin York,
@Martin Beckett: 1) W środowiskach, w których stosuje się zasady blokowania, powinny istnieć, i zwykle istnieją alternatywne sposoby natychmiastowego odblokowania hasła 2) Każda osoba powinna mieć własne konto 3) Bezpieczeństwo B2B jest zwykle lepiej osiągane poprzez systemy kluczy publicznych, takie jak PKCS które nie muszą używać haseł.
dietbuddha,
@Loki Astari: Tak, to prawda, w przypadku nieznośnej polityki, pytanie brzmi, które reguły sprawiają, że polityka jest nieznośna, biorąc pod uwagę jej kontekst. Na przykład myślę, że oboje możemy uzgodnić, że minimalna długość jest rozsądna. Zdecydowanie zgadzam się, że każdy wymóg obejmujący przechowywanie historii haseł jest nieznośny, ponieważ nie zwiększa bezpieczeństwa.
dietbuddha,
3
Twoje powyższe pomysły wydają się logiczne, ale w rzeczywistości pokonujesz siebie xkcd.com/936 . Zasadniczo nie zgadzam się z trzema z twoich 4 punktów i sugerowałbym, że wszystkie one prowadzą do łatwiejszego krakowania haseł. (Długość jest jedyną wartością dodatnią). Najlepszym hasłem byłoby:Mama, just killed a man.
Martin York,
1

Twoje hasło musi mieć od 8 do 26 znaków

Minimalne hasło o długości 8 znaków jest dziedzictwem Lan Managera. Lan Manager hashuje hasła, dzieląc je na 2 ciągi 7 znaków, a następnie je haszuje. Wymagając minimum 8 znaków, gwarantowali, że drugie słowo nie jest takie samo jak puste hasło (nie było soli, więc każde wystąpienie 7 pustych znaków ma ten sam wynik).

Jestem pewien, że po 3 dniach zapomnę, jakie jest to hasło.

Zrezygnowałem, zasady są tak głupie i powtarzalne, że teraz je spisuję. Wszystko oprócz kilku, których używam na stronach internetowych. Mój obecny pracodawca śledzi również 24 ostatnie używane hasła, aby nie można ich było odzyskać, a hasło nie może zawierać więcej niż 3-znakowych angielskich słów (do przodu lub do tyłu). Daje również pewność, że nie użyjesz poprzedniego słowa i nie zwiększysz jego części (więc jeśli P4ssw0rd1zostały użyte, nie możesz użyć P4ssw0rd2, ani P4ssw0rd0).

Nauczyłem się tej lekcji na własnej skórze w biurze, kiedy musiałem zmienić hasło, zajęło 45 minut, aby system zaakceptował wymianę, a potem szybko zapomniałem, co wymyśliłem, i musiałem je zresetować i zmarnowałem kolejne 45 minut próbując dostać coś, co pamiętam, które było wystarczająco złożone, aby spełnić wymagania (niektóre wymagania są wymienione powyżej, niektóre nie są, a niektóre nie wiem). Nie jest zabawnie wymyślić coś, co spełnia zasady, których nie wolno ci znać. Przynajmniej w grach takich jak Mastermind masz wskazówki, jak blisko jesteś. W biurze niektórzy ludzie używają kart inteligentnych , nie jestem jednym z nich.

Tangurena
źródło
1

Korzystanie z bcrypt podczas przechowywania hasła jest dobrym początkiem, po prostu dlatego, że uniemożliwia próby włamań z użyciem brutalnej siły.

Mrówka
źródło
0

Rozsądne i bezpieczne wykluczają się wzajemnie. Są to dwa końce pręta. Najlepiej będzie znaleźć równowagę w środku. Zbyt daleko w kierunku bezpiecznego, a ludzie zapisują hasła lub korzystają z całkowicie niezabezpieczonej funkcji odblokowywania hasła.

Powyższy przykład wydaje się bardziej skłonny do bezpiecznego niż uzasadnionego. Widziałem gorzej.

Wolę skłaniać się w stronę rozsądku. Kluczem jest pochylenie się w kierunku zabezpieczenia w swoim zapleczu. Przechowuj jak najmniej soli, itp. Wszystkie najnowsze zalecane metody kodowania haseł do bazy danych i kodowania ich również w jeden sposób. Następnie zabezpiecz bazę danych i kod. Naucz również każdego, kto ma uprawnienia administratora do twojego systemu, że musi używać unikalnego bezpiecznego hasła. Ostatnio pokazano, że łączenie wielu słów ze słownika jest bezpieczniejsze niż przeciąganie znaków specjalnych i wielkich liter. Wymagało to złożonego dopasowywania słownika, co naprawdę hakerów zużywa dużo czasu, jednak wciąż były one niezapomniane dla użytkowników.

Bill Leeper
źródło
1
Rozum i bezpieczeństwo nie są pojęciami przeciwnymi. Mogą się one kłócić, ale zwykle jest możliwe wymyślenie czegoś w miarę bezpiecznego i rozsądnie użytecznego. Może to wymagać trochę kreatywnego myślenia i nie może być odpowiednio zmierzone na liście kontrolnej, co może być przyczyną, dla której nie widzi się tak wielu miejsc.
David Thornley,
Istnieje wiele historii, w których rozsądność i bezpieczeństwo znajdują się na przeciwnych końcach. Możesz zezwolić użytkownikom na posiadanie rozsądnych haseł (bez czeków, wszystko idzie) i jest to prawdopodobnie najmniej bezpieczne, a może żadne hasło nie jest jeszcze mniej bezpieczne. Microsoft nauczył się tego na własnej skórze. Ludzie chcieli lepszej poczty e-mail, więc zdecydowali, że możemy pozwolić na pisanie skryptów jak w słowach, a potem pojawiły się wirusy pocztowe. Od tamtej pory to była bitwa. Nie możesz mieć e-maila z dostępem do sieci (rozsądne) bez narażenia się na zagrożenia bezpieczeństwa
Bill Leeper
Jasne, łatwo jest mieć łatwość użycia i diametralnie przeciwstawić się bezpieczeństwu, jeśli nie dokonasz dobrego wyboru. Wiele wyborów Microsoftu może w 2005 roku i wcześniej było najwyraźniej nie dbających o bezpieczeństwo.
David Thornley,
Podaj przykład łatwej obsługi ORAZ bezpieczeństwa. Pracowałem w wielu miejscach, wdrożyłem wiele bezpiecznych systemów i jeszcze tego nie widziałem. Byłaby to zwykła aplikacja internetowa, a nie coś takiego jak użycie klucza .ssh w celu uzyskania dostępu do zdalnego systemu. Moja babcia musi to zrobić na swoim systemie Windows Vista :-)
Bill Leeper
Rozważ hasła, takie jak najnowszy xkcd. Bardziej bezpieczne niż większość haseł, zwykle łatwiejsze do zapamiętania niż dobre, i często ponad 26 znaków, na które pozwala witryna.
David Thornley
0

Ani słowa słownikowego, ani jego trywialnej odmiany. Otóż ​​to. Pakiet dwóch słów ze słownika jest prawie nie do odnalezienia. Jednoliterowy zamiennik również znaku, który nie jest oczywistym zamiennikiem (0-O, 1-I, 5-S).

Ponadto, jeśli ograniczysz czas odpowiedzi - hasło zaakceptowane / odrzucone po 1 s, i nie są dozwolone dwie równoległe próby tego samego logowania - należy zakończyć (OK lub błąd), zanim spróbujesz ponownie, dowolna nieliterowa 6-literowa mała litera „nie” -specjalne hasło musi zostać zerwane przez 9 lat.

SF.
źródło
0

Złożoność wymagań dotyczących hasła powinna być zrównoważona z zawartością witryn. Bank powinien wymagać bardzo złożonego hasła (wielkie, małe, cyfry i znaki specjalne). Jeśli jednak treść jest trywialna, np. Zapisane wyszukiwania i numery śledzenia, wymóg dotyczący hasła powinien zostać złagodzony. Powinna wystarczyć minimalna długość 6 znaków. W przeciwnym razie po prostu zirytuje odbiorców i zniechęci do tworzenia loginu.

Jeson Martajaya
źródło