Pytanie:
Z jakich powodów technicznych należy mieć małe maksymalne długości haseł?
enderland
2013-03-31 02:30:37 UTC
view on stackexchange narkive permalink

Zawsze się zastanawiałem, dlaczego tak wiele witryn ma bardzo rygorystyczne ograniczenia dotyczące długości hasła (dokładnie 8 znaków, do 8 znaków itp.). Zwykle są to banki lub inne witryny, w których naprawdę zależy mi na ich bezpieczeństwie.

Rozumiem, że większość ludzi wybiera krótkie hasła, takie jak „hasło” i „123456”, ale czy są jakieś techniczne powody, aby to wymusić? Korzystając z aplikacji takiej jak 1Password, prawie wszystkie moje hasła to coś w rodzaju fx9 @ # ^ L; UyC4 @ mE3<P] uzt lub innych losowo generowanych długich ciągów, których prawdopodobnie nie można odgadnąć.

  • Czy istnieją konkretne powody, dla których witryny internetowe narzucają ścisłe ograniczenia długości haseł (bardziej jak 8 lub 10, rozumiem, dlaczego 100000000 może stanowić problem ...)?
Muszę dodać, że bezpiecznym hasłem może być też „poprawna podstawa baterii konia”. Nie ma ku temu powodu i mogę tylko powiedzieć, abyś skontaktował się z witrynami, które nadal stosują tę zasadę.
@s4uadmin Nie, „correcthorsebatterystaple” nie jest bezpieczne, ponieważ jest tak szeroko znane i prawdopodobnie pojawi się w ataku słownikowym. Próbowałeś też użyć tego hasła w DropBox?
@AlvinWong Uważam, że s4uadmin dostarczył dobrze znanego przykładu, a nie sugestii, że ktoś rzeczywiście wybrał „poprawny element baterii dla konia” jako swoje własne dosłowne hasło.
-1
@s4uadmin: Nigdy nie słyszałeś o ataku słownikowym, co?
@AlvinWong, z kodu źródłowego javascript Dropbox, to jest wschodnie jajko: `if (pwd == 'correcthorsebatterystaple' || pwd == 'Tr0ub4dour & 3' || pwd == 'Tr0ub4dor & 3') {// easteregg [...]`
Mehrdad, atak słownikowy nie zadziała tutaj. Chyba że twój słownik zawiera takie słowa jak Correcthorsebatterystaple
Nie zapominając, że hakerzy mają teraz `` prawidłową zszywkę dla konia '' jako * pierwszy * wpis na ich listach brutalnej siły :)
Nie chcę przez to powiedzieć, że popieram ten pomysł, ale poproszono mnie o użycie hasła, które jest łatwe do zapamiętania, ponieważ zapisanie go stanowi zagrożenie dla bezpieczeństwa. Może to być techniczny / ludzki powód, dla którego powinny być krótkie. Nie zgadzam się, ponieważ zanim ktoś zdobędzie Twoje zapisane hasło lub dokument tekstowy, w którym mógłbyś je zapisać, Twoje środki bezpieczeństwa już zawiodły.
Zapytałem o to jedną z takich instytucji, która ma krótką maksymalną długość hasła, rok temu. Ich odpowiedź do mnie: „Oceniając to za pomocą naszego systemu zarządzania ryzykiem, ustalono, że maksymalnie 10-znakowe hasło będzie wystarczające”.
W podobny sposób, dlaczego witryna miałaby ograniczać typy znaków, których można użyć w haśle, na przykład brak interpunkcji `! @ #%". `Itd ...?
Moja hipoteza: ponieważ hasło jest przechowywane w postaci zwykłego tekstu w kolumnie bazy danych typu „varchar (10)”
@Ryan "Lista brutalnej siły" ... Więc przynajmniej muszą wcześniej wypróbować listę słów (słownik).:-RE
Moja uczelnia ma maksymalnie 16 znaków długości hasła.Więc kiedy przyjechałem, stworzyłem 16-znakowe hasło.Potem próbowałem zalogować się do ich VPS, ale to nie zadziałało (po prostu umarł za każdym razem, bez błędu).To nie mogło tego zrozumieć przez wieki.W końcu okazało się, że router Cisco, którego używali do VPS, obsługiwał tylko 12-znakowe hasło ... Więc mój efektywny górny limit to teraz 12 znaków, jeśli chcę używać VPS.
Właśnie wypróbowałem „poprawne końskiebatterystaple” jako hasło w Dropbox i faktycznie pozwoliło mi się zarejestrować.Smutny.
Czternaście odpowiedzi:
Tom Leek
2013-03-31 02:48:46 UTC
view on stackexchange narkive permalink

Weź pięć szympansów. Umieść je w dużej klatce. Zawieś banany na dachu klatki. Zapewnij szympansom drabinę. ALE dodaj także do bananów czujnik zbliżeniowy, aby gdy szympans zbliżył się do banana, uruchomione zostały węże wodne, a cała klatka była dokładnie przemoczona.

Wkrótce szympansy dowiedzą się, że banany i drabina najlepiej ignorować.

Teraz usuń jednego szympansa i zastąp go nowym. Ten szympans nic nie wie o wężach. Widzi banana, zauważa drabinę, a ponieważ jest mądrym naczelnym, wyobraża sobie, że nadepnie po drabinie, aby dosięgnąć bananów. Następnie zręcznie chwyta drabinę ... a cztery inne szympansy rzucają się na niego i biją go prosto. Wkrótce uczy się ignorować drabinę.

Następnie usuń kolejnego szympansa i zastąp go nowym. Scenariusz pojawia się ponownie; kiedy chwyta drabinę, zostaje poturbowany przez cztery szympansy - tak, łącznie z poprzednim „świeżym” szympansem. Zintegrował pojęcie „nie będziesz dotykać drabiny”.

Powtarzaj. Po kilku operacjach masz pięć szympansów, które są gotowe uderzyć każdego szympansa, który odważyłby się dotknąć drabiny - i żaden z nich nie wie dlaczego.


Początkowo jakiś programista gdzieś pracował w starym systemie uniksowym z poprzedniego wieku, który używał starej „krypty” opartej na DES, w rzeczywistości funkcji haszującej hasła pochodzącej z szyfru blokowego DES. W tej funkcji haszującej używa się tylko pierwszych ośmiu znaków hasła (i tylko 7 młodszych bitów każdego znaku). Kolejne znaki są ignorowane. To banan.

Internet jest pełen szympansów.

Aha, i myślałem, że niedźwiedzie przejmują internety ...
Ta historia też mi się podoba; nigdy nie pozwól, aby fakty stanęły na drodze dobrej opowieści o moralności: http://skeptics.stackexchange.com/questions/6828/was-the-experiment-with-five-monkeys-a-ladder-a-banana-and- a-water-spray-condu :)
kilka szympansów zostało skrzywdzonych podczas udzielania tej odpowiedzi. (przy okazji, uwielbiałem wyjaśnienie!)
Czy istnieją dowody na to, że to rzeczywiście jest przyczyna? Na przykład. czy ktoś faktycznie zapytał kogoś, kto zaprojektował system z maksymalną długością hasła, dlaczego zrobił to w ten sposób?
Jednak z natury odpowiedzi, twórca szympansa nie powinien już tam być.
Proste rozwiązanie ... pozwól mi ustawić hasło na dowolne hasło i po prostu je skrócić, gdy je prześlę. Przynajmniej daj mi złudzenie, że faktycznie wybieram hasło. Z drugiej strony nie mogłeś wymusić liczb i dziwnych zasad dotyczących postaci (moim zdaniem dobra rzecz)
@Joe, który podważa moje zaufanie do usługi. Nigdy nie przechowuj moich haseł w postaci zwykłego tekstu. Czy byłbyś szczęśliwy, widząc to? http://thenextweb.com/microsoft/2012/09/21/this-ridiculous-microsoft-longer-accepts-long-passwords-shortens/
Obcinanie @kush po przesłaniu nie zapobiega haszowaniu, chociaż haszowanie usuwa punkt obcinania po przesłaniu.
.. To jest banan ... Powiedziałbym bardziej, że DES-crypt używając pierwszych 8 znaków to wąż wodny. Aby Twoja historia była kompletna, powinieneś usunąć węże wodne i zobaczyć, kto odważy się ponownie rzucić wyzwanie ...
Innymi słowy, nowoczesne algorytmy zaimplementowano prawidłowo i nie ma absolutnie żadnego powodu dla maksymalnego limitu hasła, poza tym, aby nie było całkowicie szalone (zobaczmy, powiedzmy, hasło o długości 1 MB?). Stare skróty LANMAN systemu Windows NT miały podobne problemy, ponieważ składały się maksymalnie z 14 znaków, które są podzielone na hasła 2x 7 znaków i haszowane bez zmiany kodu.
Dlatego nie powinieneś dokumentować „jak”, ale dlaczego. Dotyczy to wszystkich zasad.
Jestem z @LarsH. Czy jesteśmy pewni, że wszystko to można faktycznie prześledzić wstecz do funkcji krypty?
@LarsH & Kevin, co ?! Czy faktycznie _ myślisz_? Nie, nie, nie, powinieneś na ślepo zagłosować za i zgodzić się. To trochę ironiczne, widzisz, nie dostaniesz na to odpowiedzi, oczekuje się, że będziesz zachowywał się podobnie jak szympansy w samej odpowiedzi.
@LarsH: Pewnego dnia zapytałem szympansa (pomoc techniczna poziomu 2 do resetowania haseł, przez telefon), dlaczego hasła muszą mieć 6 cyfr i nie więcej (bez listu), wygenerowane przez system i wysłane pocztą papierową bez śledzenia. Odpowiedź brzmiała: „Jesteśmy bankiem i nie możemy ryzykować”. Oddałem banana.
Możesz nawet zdjąć węże wodne, a szympansy nadal będą bić każdego, kto dotknie drabiny.
"To jest banan." Co to za banan, fakt, że funkcja `crypt ()` ignorowała jakiekolwiek znaki po pierwszych 8? Wydaje się, że nie pasuje to do analogii, w której banan jest nagrodą, którą każdy widzi, jest pożądany, ale które szympansy nauczyły się zgodnie z tradycją, a której nie powinny. Wydaje mi się, że banan to coś w rodzaju „wyższego bezpieczeństwa poprzez zezwolenie na dłuższe hasła”. Ograniczeniem starszej metody `crypt ()` może być raczej * wąż wodny * niż banan. (Zgodność między analogią a rzeczywistością jest oczywiście hipotetyczna).
@PPC Anegdotyczne dowody FTW !!
Jak jednak szympansy dostają się do rurek?
O mój Boże, sieć jest pełna szympansów. Dla przypomnienia, obecnie pracuję nad projektem usunięcia limitu 8 znaków na hasła dla klienta, który ma ponad 40 000 użytkowników i wiele aplikacji. Sprawy nie są tak proste, jak wielu z was chciałoby myśleć. Tak, limit crypt () jest podstawowym powodem ograniczenia do 8 znaków. Crypt był wymagany do obsługi starszych aplikacji. Limit 8 znaków miał sens, gdy został pierwotnie nałożony (procesor, sieć, prędkość we / wy).
Utworzyłem swoje konto na tej stronie tylko po to, aby zagłosować za Twoją odpowiedź. Niesamowite wyjaśnienie! Pan jest prawdziwym geniuszem !!
b..ale myślałem, że mój bank ogranicza mnie do 8 znaków dla mojej ochrony
@LeoKing To jest security.stackexchange, więc ludzie nie zatrzymują się tylko na 666, ale dążą do [Strong Primes] (https://en.wikipedia.org/wiki/Strong_prime).
Trafne: http://skeptics.stackexchange.com/questions/6828/was-the-experiment-with-five-monkeys-a-ladder-a-banana-and-a-water-spray-condu
Coś podobnego do tego, jak działa religia.Wywołał u mnie uśmiech.Dzięki za niesamowitą analogię.
+1;Ostatnim razem, gdy słyszałem to wyjaśnienie, kończyło się ono słowami „To właśnie nazywamy„ polityką firmy ”.
Polynomial
2013-03-31 02:49:54 UTC
view on stackexchange narkive permalink

Te ograniczenia są często wprowadzane z różnych powodów:

  • Interakcja ze starszymi systemami, które nie obsługują długich haseł.
  • Konwencja (tj. „zawsze zrobiłem to w ten sposób ”)
  • Prosta naiwność lub ignorancja.

Jeśli chodzi o bezpieczeństwo, nie ma potrzeby ograniczania długości hasła. I tak powinny być zaszyfrowane przy użyciu KDF, takiego jak bcrypt. Aby poprawić wydajność, warto ustawić bardzo duży limit (np. 512 znaków) na długość hasła, aby nikt nie wysłał Ci hasła o rozmiarze 1 MB i nie wykonał zadania serwera przez 10 sekund podczas obliczania skrótu.

Warto wiedzieć, że długość hasła nie będzie miała większego wpływu na dobre funkcje haszowania haseł. W przypadku PBKDF2 używanego z HMAC hasłem jest HMAC _key_, więc przy zastosowaniu HMAC jest najpierw normalizowane do wartości nie dłuższej niż jeden blok wewnętrzny (zwykle 64 bajty). Aby uzyskać 10 sekund dodatkowej pracy procesora z powodu bardzo długiego hasła, hasło to powinno mieć około 1,5 GB długości, a nie tylko megabajt.
Tak, prawdopodobnie zrobi to z przepustowością na długo przed procesorem
Nie ma funkcji haszującej, która zabezpieczałaby hasło takie jak `asdfhjkl`.
@Kaz Nikt nie powiedział, że tak.
@Kaz A co, jeśli to posolisz?
@Polynomial bcrypt miałby tylko długość hasła, która miałaby wpływ na czas procesora w pierwszej iteracji IIRC, a następnie jest to tylko pojedynczy hash 1 MB danych (twój serwer wolno haszuje 1 MB?). Myślę, że problemem jest przepustowość.
@JoePhilllips: Salting nie poprawia z natury bezpieczeństwa hasła, chroni jedynie przed atakami offline. Nawet wtedy hasło takie jak „asdfhjkl”, składające się tylko z ośmiu znaków, jest całkiem możliwe do złamania, o ile znasz sól. Salting nie pomaga w ogóle pojedynczemu hasłu, ale ogromnie chroni całą bazę danych, uniemożliwiając sprawdzenie pojedynczego zestawu haseł w jednej iteracji - potrzebujesz sprawdzenia dla każdego użytkownika. Poszczególne hasła są nadal słabe i podatne na złamanie, ale tylko wtedy, gdy są wystarczająco ważne, aby przeszkadzać w kierowaniu.
w kontekście haseł z serii Mega i Giga, dlaczego nie użyć po prostu plików jako haseł? Wydaje mi się, że jest używany w niektórych miejscach (truecrypt też to robi)
Każdy znak w wyrażeniu hasła wnosi pewną entropię do skrótu. Ale jeśli hash jest ostatecznie jakimś N-bitowym ciągiem, to jest zbyteczne, jeśli fraza hasła ma znacznie więcej niż N bitów entropii. Zróbmy śmieszny przykład. Powiedzmy, że hash ma 16 bitów szerokości i używasz jednomegabajtowego hasła. Cracker może znaleźć bardzo krótką kombinację znaków, która generuje ten sam hash i dlatego zastępuje jednomegabajtowe hasło. Zwroty powyżej pewnej długości hasła zdecydowanie maleją w odniesieniu do siły funkcji haszującej.
@Kaz: Twoje stwierdzenie „Każdy znak w wyrażeniu hasła wnosi pewną entropię do skrótu” nie zawsze jest prawdziwe: z powodu ataków słownikowych „poprawne zszywanie baterii konia” jest (mniej złym) hasłem niż dodanie ostatniego E
@PPC Jakość hasła! = Entropia hasła. Entropia jest miarą czysto statystyczną.
Co - żadnych szympansów ?!
Możesz dodać „Nasi klienci są zbyt głupi, by zapamiętać długie hasła” do listy powodów. Nie żeby byli głupi, po prostu tak postrzegani.
„Jeśli chodzi o bezpieczeństwo, nie ma potrzeby ograniczania długości haseł. I tak powinny one być zaszyfrowane przy użyciu KDF, takiego jak bcrypt”. Zauważ, że bcrypt ma górną granicę 72 znaków; po prostu ignoruje wszystko poza tym.
SztupY
2013-03-31 02:52:09 UTC
view on stackexchange narkive permalink
  1. Jeśli przechowują go w postaci zwykłego tekstu lub zaszyfrowanego tekstu jawnego, to prawdopodobnie jest to maksymalna wartość, jaką można przechowywać w bazie danych. Z drugiej strony należy jak najdalej od tych witryn.
  2. Aby uniknąć ataków DOS. Dzieje się tak zwykle wtedy, gdy mają one bardzo wysoki limit, np. 512 lub 1024 bajtów.
  3. Aby zachować zgodność z przepisami, które są faktycznie tworzone przez ludzi, którzy nie wiedzą nic o bezpieczeństwie IT.
  4. Z powodów starszych, jak wskazał Tom Leek

Przy okazji. oto (historyczna) lista witryn o wysokim rankingu, które mają maksymalne długości haseł:

http://web.archive.org/web/20130907182806/https://defuse.ca/password- policy-hall-of-shame.htm

Na tej podstawie: im dłuższe hasło, tym droższe haszowanie. To okropny argument, ponieważ haszowanie 128 znaków za pomocą [PBKDF2] (https://en.wikipedia.org/wiki/PBKDF2) powinno mieć tylko znikomy koszt w porównaniu z haszowaniem 8 znaków, anulując każdy [DoS] (https: // en.wikipedia.org/wiki/Denial_of_service_attack) ryzyko (już od długości pw). Jeszcze gorzej byłoby przechowywać hasło w postaci zwykłego tekstu, chociaż może to budzić obawy dotyczące przechowywania. Jestem zwolennikiem ograniczenia długości hasła, ale nie widzę powodu, dla którego ten limit byłby mniejszy niż sto.
Na marginesie warto zauważyć, że wszystkie hasła mają ograniczoną długość.Nawet jeśli formularz dopuszcza nieograniczoną liczbę znaków, serwer WWW prawie na pewno ma skonfigurowany maksymalny rozmiar ładunku POST.Nawet jeśli serwer sieciowy nie jest skonfigurowany do odrzucania żądań, w końcu w przeglądarce i / lub komputerze zabraknie pamięci do przechowywania hasła.Jasne, większość zwykłych ludzi nie będzie próbowała wpisywać mega-długich haseł, ale - zwłaszcza w przypadku celu o dużej wartości, takiego jak bank - warty uwagi programista powinien być w stanie powiedzieć, jaki jest ten limit i co się dziejezostaje trafiony.
Luc
2013-03-31 18:45:27 UTC
view on stackexchange narkive permalink

Zadałem to pytanie na Bol.com, jednym z największych sklepów internetowych w Holandii. Ich odpowiedzią było zapobieżenie zalewaniu e-mailami pomocy technicznej o zapomnianych hasłach. Następnie z zaciekawieniem zignorowali moje zapytanie dotyczące funkcji resetowania hasła, które po prostu wysyła ci e-mail z linkiem resetowania, gdy zapomniałeś hasła.

Doszedłem do wniosku, że najprawdopodobniej jest to decyzja zespołu zarządzającego. Alternatywnie może być tak, że nie haszują haseł i używają tego, aby zapobiec zalaniu bazy danych (nawet jeśli możesz mieć dłuższą nazwę użytkownika, więc wydaje się to mało prawdopodobne). Nie odpowiedzieli też na pytanie, czy haszują hasła (można by pomyśleć, że jeśli wszystko jest w porządku, nie byłoby powodu, aby nie odpowiadać).

Mój supermarket (zakupy online) podsuwa tę samą wymówkę. Całkowicie absurdalne i jasno zrealizowane przez kogoś, kto nie ma pojęcia o bezpieczeństwie.
Wygląda na to, że niektóre z tych szympansów dostały pracę w Bol.com :-)
Haha, w zasadzie to samo dla niemieckiej firmy Telekom: D
MDR
2013-03-31 03:56:48 UTC
view on stackexchange narkive permalink

Chciałbym zacytować próbę ograniczenia problemów związanych z obsługą klienta.

Im większe i bardziej złożone hasła, tym większe prawdopodobieństwo, że klient wprowadzi nieprawidłowe hasło, zostanie zablokowany, a następnie skontaktuje się z obsługą klienta, zajmując czas tej osoby.

To niesamowite, jak wiele osób nie jest w stanie dokładnie wpisać normalnego, słabego hasła, nie mówiąc już o haśle, które jest o kilka znaków dłuższe lub musiało mieć dodatkowy znak lub 2 wprowadzone ze względu na złożoność.

Być może OT, ale długie hasła niekoniecznie są gwarantowanym prawdziwym środkiem bezpieczeństwa, ponieważ w dzisiejszych czasach hasła są wprost kradzione na dość powszechnej podstawie.

Nieudane próby logowania i śledzenie odległości geograficznej od normalnego użycia logowania to znacznie dokładniejsze wskaźniki. jeśli adres IP należący do kraju o znanym profilu hakerskim / ataku loguje się do amerykańskiego banku i ten login nigdy nie był używany z tej lokalizacji .....

Wiele znanych miejsc, takich jak SF / banki generalnie mają bardzo małą liczbę nieudanych prób logowania, co skutkuje blokadami całego systemu. Niektóre, takie jak SF, posuwają się nawet do przydzielania indywidualnych adresów IP, co oznacza, że ​​nie można zalogować się z nowego adresu IP bez autoryzacji.

To może być myślenie, ale IMHO ten sposób myślenia jest głęboko wadliwy. Po co wybierać opcję używania długich, bezpiecznych haseł, ponieważ niektórzy użytkownicy wolą krótkie? Resetowanie hasła zwykle nie obejmuje interwencji obsługi klienta. Ponadto, jeśli hasła * mogą * zostać „od razu skradzione” (np. Są przechowywane w postaci zwykłego tekstu), to robisz to całkowicie źle.
Z mojego doświadczenia wynika, że ​​klienci, którzy nie wpisują / nie pamiętają poprawnie swojego hasła, blokują obsługę klienta za pośrednictwem poczty e-mail i telefonu. Mówiąc o kradzieży haseł, mam na myśli miliony zombie komputerów z trojanami / kluczami nasłuchującymi oraz liczne próby phishingu. Firma Symantec kilka lat temu opublikowała # na temat liczby skradzionych haseł.
@MDR: Jeśli nie wolno im używać dłuższych / silniejszych haseł, ich hasła można łatwo złamać i ponownie przyjdą do obsługi klienta. I dlaczego użytkownicy mieliby przychodzić do obsługi klienta, jeśli ** zapomną ** swoje hasło, ** jeśli ** Twój serwis internetowy oferuje funkcję ** zapomniałem hasła **.
Dobre odpowiedzi, ale aby zadowolić elektorat „użytkowników, którzy wymyślą długie hasła, nawet jeśli mogą mieć krótkie, a następnie zapomną o nich i zadzwonią zamiast resetowania hasła”, wykluczasz „użytkowników, którzy używają długich haseł w menedżerze haseł ”. Poddanie się głupcom niekończące się, bezsensowne zadanie, więc lepiej edukować grupę zapominalską i umożliwić grupie rozsądnej. To właśnie IMHO, dlaczego małe ograniczenia długości hasła są głęboko błędnym pomysłem.
@SaiManojKumarYadlapati:, jeśli hasło można wymusić brutalnie, w systemie jest usterka. Co więcej, jeśli hasło może zostać skradzione za pomocą keyloggera / komputera zombie, co zdarza się bardzo regularnie, i uzyskuje się dostęp do „krytycznych” informacji, oznacza to również wadę systemu.
@Anthony: Dobrze, ale to, co uważam za punkt teoretyczny. Wiem, że nasza firma zatrudnia kilka osób do „relacji z klientami”. Wiem, że dwa główne powody, dla których klienci dzwonią do nas lub wysyłają e-maile, które nie są związane z konkretnymi problemami biznesowymi, są związane z logowaniem. Powód nr 1 to „zarejestrowano się przy użyciu niewłaściwego adresu e-mail”. Powodem nr 2 jest to, że nie mogą wpisać swojego hasła / nie pamiętają hasła. I chociaż w 100% zgadzam się z tym, co mówisz, moje doświadczenie zawodowe (bez żadnej skali dużego banku) pokazuje, że ta kwestia może kosztować właściciela firmy pieniądze.
@MDR: Blokady całego systemu i indywidualne przydzielanie adresów IP itp. Nie są funkcjami, ale karą dla prawdziwych użytkowników, gdy ktoś próbuje złamać ich konto. Przepraszam, że straciłem połączenie internetowe przed uzupełnieniem mojego komentarza.
Meh. „Hasła nie mogą być bezpieczne, ponieważ użytkownicy są zbyt głupi” to narada rozpaczy. Szokujący widok tego w banku.
Jeszcze jedno pytanie: wspieranie użytkowników kosztuje. Wiemy to. Ale czy wiesz na pewno, że twoje koszty wzrosną, jeśli zezwolisz na dłuższe hasła, czy to tylko przesąd? Jakie są dowody? To, co robisz, to obniżanie (być może) codziennych kosztów, ale także zwiększanie szans, które mogą znacznie stracić na loterii hakerów, jeśli przenikniesz do bazy hasła. Masz oszczędności (być może), ale musisz je porównać z innymi kosztami, albo jest to fałszywa ekonomia.
Poruszyłem wszystkie te problemy w komentarzach w tekście.
Z pewnością nie byłoby jednak potrzeby zmniejszania maksymalnego rozmiaru. Po prostu nie ustalaj minimum. Ludzie, którzy używają dłuższych haseł, prawdopodobnie byliby w stanie je lepiej zapamiętać (np. Używając menedżera haseł lub jakiegoś wzoru). Wyobrażam sobie, że osoby z krótszymi hasłami mają krótsze hasła, aby lepiej je zapamiętać (co jednak czyni ich bardzo podatnymi na ataki siłowe).
Nie rozumiem, jak zmuszanie użytkowników do nieużywania zapadającego w pamięć hasła, które wymyślili, ułatwi zapamiętanie haseł.
user2228243
2013-03-31 05:16:25 UTC
view on stackexchange narkive permalink

„Interakcja ze starszymi systemami, które nie obsługują długich haseł”. jak wspomniano powyżej, jest to powód, dla którego jedna firma, w której pracowałem, wymusiła maksymalną długość hasła.

W ramach odmiany „grupa porusza się tak szybko, jak jej najwolniejszy członek”, stosowanie wielu systemów użytkownicy musieli mieć dostęp do korzystania z tych samych danych logowania, co oznaczało, że wszelkie ograniczenia jednego z tych systemów musiałyby zostać zastosowane do wszystkich kont.

Więc jeśli jedna aplikacja nie Jeśli nie ^, to wszystkie hasła do wszystkich systemów nie mogą mieć znaku ^. Jeśli jeden program nie lubił haseł> 8 znaków, wszystkie konta musiały mieć hasła < 9 znaków. Tak więc w złożonym środowisku, takim jak BigCo, w którym pracowałem, może to obejmować kilkanaście lub dwa tuziny różnych programów; LCD był tym, co każdy dostał.

Używali też IE6.

Rozradowałem się z twoim ostatnim zdaniem.
Grupa z powolnymi członkami naprawdę potrzebuje lwa z tyłu, aby utrzymać motywację.
czy zabezpieczenia IE6 liczą się jak lew w tyle?
@SargeBorsch Bardziej ogólne stwierdzenie utrzymuje, że liczy się jako „x” w „y” dla niektórych wartości „x, y”.
@TobiaTesan Uwielbiam twój komentarz
Omer van Kloeten
2013-03-31 12:30:28 UTC
view on stackexchange narkive permalink

Inną możliwością, którą chciałbym się zająć, jest to, że hasła są czasami ograniczone przez długość pola używanego do ich zapisania, gdy są zapisywane jako zwykły tekst. Jeśli twoim polem jest VARCHAR (32), możesz zapisać maksymalnie 32 znaki.

Jednak oznacza to coś jeszcze gorszego - że hasło jest zapisywane w postaci zwykłego tekstu. Dlatego właśnie akceptujemy tego rodzaju przestępstwa jako (nieistotne) dowody na stronie plaintextoffenders.com.

To. Gdyby haszowali hasła, wszystkie miałyby taką samą długość. Dlatego jeśli witryna mówi „maksymalna długość X znaków”, zakładam, że albo 1) przechowuje zwykły tekst, albo 2) używa bezcelowej weryfikacji. # 1 wydaje się bardziej prawdopodobny.
Czy w wiadomości e-mail pokazane jest hasło, które potwierdza, że przechowuje je w postaci zwykłego tekstu?Czy nie mogliby zaszyfrować i zapisać tego po wysłaniu e-maila?Nie mówię, że są oczywiście, i myślę, że wysłanie hasła w e-mailu jest prawdopodobnie niepewne z innego powodu, ale przynajmniej nie wydaje się to ostatecznym dowodem.
E-mail jest z definicji niebezpiecznym medium, więc jest to niewskazane.Nie wspominając już o tym, że ludzie nigdy nie mogą usunąć wiadomości e-mail, a każdy, kto ma dostęp do ich skrzynki pocztowej, może po prostu wyszukać słowo „hasło” i uzyskać natychmiastowy dostęp do swojego konta.
dr jimbob
2013-03-31 04:22:25 UTC
view on stackexchange narkive permalink

Limit długości hasła jest rozsądny, o ile ten limit nadal pozwala na stosowanie silnych haseł; np. limit nie jest mniejszy niż 64 znaki. Głośny limit podczas ustawiania hasła jest znacznie lepszy niż ciche obcinanie hasła.

Jeśli aplikacja ostatecznie przechowuje hasło z 128-bitowym hashem (miejmy nadzieję, że zaszyfrowane i rozciągnięte na klucz), nie ma korzyści z dłuższego zezwalania na hasła niż ~ 64 znaków. Np. W przypadku hasła diceware z 5 znakowymi słowami i spacjami między nimi, 64-znakowe hasło pozwala na 10 słów, które miałyby entropię większą niż 128 bitów.

Deweloper może potencjalnie martwić się wstrzyknięciem SQL lub ataki z przepełnieniem bufora wstrzykiwane przez pole hasła - oczywiście, aby zapobiec tym atakom, należy użyć standardowych metod: zawsze używaj parametrów związanych z SQL (w przeciwieństwie do manipulacji na ciągach znaków do konstruowania zapytań) i zawsze poprawnie ograniczaj sprawdzaj ciągi znaków (prawdopodobnie za pomocą bezpiecznego programowania języki lub bezpieczne biblioteki z wbudowanymi zabezpieczeniami). Musisz się martwić tymi atakami na wszystkie dane wejściowe użytkownika; nie jest to unikalne dla pola hasła, więc ochrona uzyskana przez maksymalny rozmiar hasła jest prawdopodobnie pomijalna.

Mogą istnieć również styczne przyczyny ograniczeń. Bank, który wydaje użytkownikom karty bankomatowe z kodem PIN (osobisty numer identyfikacyjny), może zmusić użytkowników do korzystania z kodów PIN o długości od 4 do 10 cyfr. Zezwolenie użytkownikowi na ustawienie i używanie 50-cyfrowego kodu PIN prawdopodobnie przyniosłoby w praktyce niewielki wzrost bezpieczeństwa w porównaniu z 8-cyfrowym kodem PIN - gdy atakujący potrzebuje zarówno karty bankomatowej użytkownika (która nie została wywołana jako skradziona), należy użyć monitorowanego Bankomat i zostaje zablokowany po 4 błędnych próbach. 50-cyfrowy kod PIN może być droższy pod względem kosztów ludzkich dla Twojego banku, ponieważ byłby on częściej zapomniany / wprowadzany nieprawidłowo - może skłonić pracownika do zbadania sprawy (np. Sprawdzenia wideo z bankomatu i porównania z poprzednimi udanymi transakcjami) lub pracownik przeprowadza klienta przez koniecznie długi mechanizm resetowania hasła (np. mechanizm resetowania musi być kosztowny, aby nie był najsłabszym ogniwem). Cały ten proces może prowadzić do złej jakości obsługi klienta, której bank chce uniknąć.

Steamstore ma limit 63 znaków.Myślę, że aby uniknąć przepełnień długich / całkowitych .
Joseph Scott
2013-03-31 10:38:59 UTC
view on stackexchange narkive permalink

Jak już inni zauważyli, głównym powodem, dla którego pojawia się 8 lub mniej znaków, jest radzenie sobie ze starszymi systemami, które nie obsługują niczego dłuższego.

Następnie jest ogólnie dobry pomysł wyznaczanie górnej granicy tego, co jest rozsądne. Powiedzmy, że jest to 500 znaków. Nie byłoby nierozsądne sądzić, że ktoś, kto poda hasło dłuższe niż 500 znaków, może nie być dobry.

Ale nawet jeśli używasz obecnie zalecanego systemu haszowania haseł, nadal istnieją ograniczenia. Bcrypt, który jest szeroko stosowany iz tego, co mogę powiedzieć, ogólnie uważany za dobrą / silną opcję haszowania haseł, obsługuje tylko pierwsze 72 znaki. Wszystko, co przekracza 72 znaki, zostaje wyrzucone. Jeśli moje hasło ma 100 znaków, a twoje 150, jeśli zaczyna się tymi samymi 72 znakami, bcrypt uzna je za takie same.

Biorąc pod uwagę ten konkretny limit w bcrypt, jeśli używasz bcrypt, możesz chcieć wymuszaj limit 72 znaków, aby upewnić się, że wszystkie unikalne hasła są faktycznie uznawane za unikalne przez Twój system uwierzytelniania.

`aby upewnić się, że wszystkie unikalne hasła są faktycznie uznawane za unikalne przez system uwierzytelniania .` Przepraszamy, ale nie możesz. Dlatego używamy silnych kryptograficznie hashów.
Nie sądzę, aby istniał jakikolwiek powód do egzekwowania zasady, że każdy użytkownik powinien mieć unikalne hasło.Dwóch różnych użytkowników może mieć to samo hasło.Jedyną wadą wyrzucania przez bcrypt wszystkiego poza pierwszymi 72 znakami jest to, że każdy, kto próbuje złamać hasło, musi tylko wypróbować ciągi o maksymalnej długości = 72, czyli nawet jeśli ustawię hasło o długości 100 znaków, dodatkowe 28 znaków nie dajemi dodatkowe zabezpieczenie.
sharp12345
2013-04-03 00:03:34 UTC
view on stackexchange narkive permalink

Wiele witryn uważa, że ​​długie hasło nie jest potrzebne, ponieważ istnieje ochrona typu brute force (np. ograniczenie liczby prób logowania na adres IP), która nie ma większego znaczenia między długimi a krótkimi hasłami. W obu przypadkach zajęłoby to lat, aby wypróbować wszystkie możliwe kombinacje.

Jedynym zaleceniem byłoby użycie losowych znaków (! @ # $% ^ & * -_ = + / \ '") długich z AZ 0-9.

W zależności od RDBMS, niektóre z tych dodatkowych znaków mogą być użyte do wstrzyknięć SQL i miejmy nadzieję, że zostaną pominięte podczas oczyszczania parametrów wejściowych, więc nie polecałbym ich użycia bez wspominania, że ​​dozwolone znaki mogą się różnić i powinny być używane z Uwaga.
Joachim Wagner
2015-07-30 15:32:40 UTC
view on stackexchange narkive permalink

Kolejnym powodem jest projekt interfejsu użytkownika i ogólne wrażenia użytkownika: dla wielu użytkowników nie jest oczywiste, co się dzieje, gdy widoczna długość pola wejściowego zostaje osiągnięta, gdy każdy znak jest wyświetlany jako gwiazda lub duża kropka. Może to zmylić użytkowników i wywołać negatywne emocje (mniejsze prawdopodobieństwo, że coś kupią, wrócą lub polecą witrynę znajomemu). Możliwe są rozwiązania techniczne, ale po prostu łatwiej jest ograniczyć długość, np. do 20 znaków, aby kursor nigdy nie doszedł do końca pola wprowadzania.

Daniel Miessler
2013-03-31 10:03:43 UTC
view on stackexchange narkive permalink

Powiedziałbym, że są trzy główne powody:

  1. Starsze systemy nie obsługujące znaków specjalnych
  2. Pragnienie obniżenia narzutu wsparcia i korzystania z systemu poprzez faktyczne zapamiętanie haseł użytkowników. Innymi słowy, jeśli pozwolisz użytkownikom tworzyć i używać haseł, których nie pamiętają, to zrobią to, w wyniku czego albo cię tym zdenerwują, albo przestaną korzystać z witryny z powodu kłopotów
  3. Programiści nie chcąc martwić się parsowaniem znaków specjalnych pochodzących od niezaufanych użytkowników, co może być potencjalnie niebezpieczne

W przeszłości głównym powodem był prawdopodobnie brak zdolności do obsługiwać hasła (nr 1), a dziś jest to prawdopodobnie brak chęci ich obsługi - głównie od nr 2, ale częściowo od nr 3.

Christophe Franco
2013-03-31 10:20:44 UTC
view on stackexchange narkive permalink

Z dodatkowymi ograniczeniami (ogólnie akceptowane są tylko liczby), może być również motywowane faktem, że umożliwia (lub może zezwalać, jeśli zajdzie taka potrzeba) na wprowadzenie hasła przez jakiś interfejs o ograniczonej pojemności ... / p>

Właśnie dlatego wiele banków ustanowiło takie ograniczenia dla haseł dostępu do sieci, aby umożliwić dostęp przez starsze systemy, które mają tylko klawiatury numeryczne (bankomaty, telefony ...)

HopefullyHelpful
2015-07-30 21:34:06 UTC
view on stackexchange narkive permalink

Wszystkie znane mi witryny banków mają system podobny do kodu PIN, który blokuje Twoje konto po 3 nieudanych próbach podania hasła. Oznacza to, że długie hasła przyniosłyby skutki odwrotne do zamierzonych, ponieważ łatwiej je pomylić lub zapomnieć, zwłaszcza, że ​​ich nie widać (a gdybyś je widział, bezpieczeństwo byłoby jeszcze gorsze).

Jeśli weźmiesz np. . system pinów dla smartfonów, w którym wpisujesz 4 cyfry, szanse na odgadnięcie go w ciągu 3 prób wynoszą 0,03%. Przy 8 cyfrach szanse na prawidłowe odgadnięcie (jeśli sekwencja jest generowana losowo i nie jest wybierana głupio) stają się tak małe, że gdybyś spróbował odgadnąć hasła 7 miliardów ludzi, zgadłbyś tylko średnio tylko 209 haseł poprawnie. Jeśli dozwolone są znaki i / lub znaki specjalne, szanse na zgadnięcie będą jeszcze mniejsze, pomnożone odpowiednio przez współczynnik 1 ^ -4 lub 1 ^ -6.

Nawet jeśli użytkownicy mogą wybierać hasła i wybierz je w sposób pół-predykcyjny, w ciągu 3 prób nie da się złamać żadnego konkretnego konta, a Twoja średnia nie poprawiłaby się zbytnio, nawet gdybyś miał dużo danych, jak wszystkie urodziny w rodzinie i imiona wszystkich w rodzinie i każdym przyjacielu danej osoby. Jest mało prawdopodobne, że będziesz mieć wiarygodną i wyczerpującą listę tego rodzaju dla dużej populacji.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...