Pytanie:
XKCD # 936: Krótkie, złożone hasło czy długie hasło słownikowe?
Billy ONeal
2011-08-11 02:38:03 UTC
view on stackexchange narkive permalink

Jak dokładny jest ten komiks XKCD z 10 sierpnia 2011 r.?

linked and maintained alt-text

Zawsze byłem zwolennikiem długiej, a nie skomplikowane hasła, ale większość osób zajmujących się bezpieczeństwem (przynajmniej tych, z którymi rozmawiałem) jest przeciwko mnie w tej kwestii. Jednak analiza XKCD wydaje mi się trafna.

Czy coś mi brakuje, czy też brzmi analiza tego fotela?

Uwaga praktyczna: wcześniej korzystałem z [Diceware] (http://www.diceware.com), aby pomóc mi wybrać losowe słowa. Okazało się, że bardzo łatwo pamiętam 5 słów. Przeturlałem się kilka razy, aby znaleźć sekwencję, którą miło było powiedzieć (w mojej głowie), ale niekoniecznie miała sens.
Nowe najpopularniejsze hasła: `onetwothreefour`` passwordpasswordpasswordpassword` `teenagemutantninjaturtles`
Myślę, że komentatorzy poruszyli już wszystkie te kwestie, ale dla przypomnienia, oto pewne rozwinięcie autora komiksu, Randalla Munroe: http://ask.metafilter.com/193052/Oh-Randall-you-do-confound -me-so # 2779020
Sprawia, że ​​zastanawiasz się, dlaczego niektóre banki ograniczają twoje hasło do 6 lub 7 znaków.
@LotusNotes Mine wymaga dokładnie PIĘCIU! A każde głupie forum wymaga> 8 znaków, duże + małe litery + cyfry + znaki interpunkcyjne ...
Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/30763/discussion-on-question-by-billy-oneal-xkcd-936-short-complex-password-or-long) .
W teście empirycznym hasła nie wydają się pomagać tak bardzo, jak sądziłby XKCD: [dl.acm.org/citation.cfm?id=2335356.2335366](http://dl.acm.org/citation.cfm ? id = 2335356.2335366)
@wbt Interesujące. Szkoda, że ​​hasła, z którymi porównali, miały tylko 5-6 znaków. Byłoby interesujące zobaczyć podobne porównanie z rzeczywistymi zabezpieczeniami.
Po kolejnych 5 latach zostało to ostatecznie uwzględnione w [oficjalnych wytycznych dotyczących uwierzytelniania NIST] (https://nakedsecurity.sophos.com/2016/08/18/nists-new-password-rules-what-you-need-wiedzieć/).
23 odpowiedzi:
#1
+1498
AviD
2011-08-11 14:14:01 UTC
view on stackexchange narkive permalink

Myślę, że najważniejszą częścią tego komiksu, nawet jeśli miałoby to być błędne obliczenia matematyczne ( nie), jest wizualne podkreślenie, że są dwa równie ważne aspekty wyboru silne hasło (a właściwie ogólnie zasady dotyczące haseł):

  • Trudność do odgadnięcia
  • Trudność do zapamiętania

Lub innymi słowy:

  • Aspekt komputera
  • Aspekt ludzki

Zbyt często przy omawianiu złożonych haseł, silnych zasad, wygaśnięcie itp. (i ogólnie rzecz biorąc - wszystkie zabezpieczenia), zwykle zbytnio koncentrujemy się na aspektach komputerowych i pomijamy aspekty ludzkie.

Szczególnie jeśli chodzi o haseł (i podwójnie, zwłaszcza dla przeciętnych użytkowników ), aspekt ludzki powinien być często nadrzędnym problemem.
Na przykład, jak często ścisła polityka złożoności haseł wymuszana przez IT (na przykład ta pokazane w XKCD), skutkuje tym, że użytkownik zapisuje swoje hasło i przykleja je do swojego sc reen ? Jest to bezpośredni skutek zbytniego skupiania się na aspekcie komputerowym kosztem aspektu ludzkiego.

I myślę, że to jest głównym przesłaniem mędrca XKCD - tak, łatwe do odgadnięcia jest złe, ale trudne do zapamiętania jest równie dobre.
I ta zasada jest słuszna. Powinniśmy o tym pamiętać częściej, czyli Reguła użyteczności AviD :

Bezpieczeństwo kosztem użyteczności odbywa się kosztem bezpieczeństwa.

Twój ostatni cytat zasługuje na tysiąc głosów pozytywnych.
Aby uzyskać dogłębną analizę matematyki stojącej za xkcd, zobacz [odpowiedź Thomasa] (http://security.stackexchange.com/a/6096/33) poniżej. Jego odpowiedź pokazuje, dlaczego xkcd poprawnie obliczył matematykę, co jest doskonałym uzupełnieniem tego, dlaczego tak naprawdę nie ma to znaczenia.
zapisanie hasła nie stanowi większego problemu. ludzie okradają cię z gotówki, biżuterii, lekkich i ogrodzonych rzeczy (laptopy, tablety ...), ale nie dbają o hasło w postu na twoim biurku. Zwłaszcza, że ​​a / nie mają loginu i b / nie wiedzą, z jaką usługą jest powiązany.
@njzk2 Brzmi to bardzo jak fraza, którą ludzie przechowują swoje hasła na biurku - używaliby jej, aby się uspokoić, oszukując się, myśląc, że są bezpieczni. Gdyby mój dom został okradziony, byłbym bardziej zaniepokojony posiadaniem mojego hasła bankowego przez złodziei niż utratą gotówki, biżuterii itp .; zwłaszcza jeśli dowiem się o włamaniu dopiero pod koniec dnia w domu. Jedynym zdalnie potencjalnie możliwym do obrony uzasadnieniem przechowywania haseł na kartkach pocztowych jest to, że są to hasła do czegoś nieistotnego, więc nie ma nic wielkiego, jeśli ktoś je ukradnie.
@SantiBailors posiadający losową sekwencję słów na jakiejś kartce papieru jest daleki od zapewnienia dostępu do czegokolwiek. może być wskazówką, może być hasłem, może być nieaktualne, może być przekształceniem hasła, a nawet wtedy nie wiesz, do którego konta należy, ani jaka jest nazwa użytkownika.
@njzk2 Tak, może to być wiele rzeczy, ale rzeczy, które interesują złodzieja, są bardzo nieliczne, więc złodziej prawdopodobnie da np. Twoja bankowość internetowa kilka ujęć z tym hasłem. A inne rzeczy, które ukradli z twojego domu, prawdopodobnie zdradzą, jaki jest twój bank, z którego łatwo jest dowiedzieć się, jakich nazw użytkowników używa ten system, a jeśli nie używa standardowych nazw użytkowników (np. Mój używa mojego numer ubezpieczenia społecznego), wówczas nazwa użytkownika będzie prawdopodobnie zapisana na tej samej kartce samoprzylepnej. Mówię tylko, że jeśli zapiszę swoje hasła, nie zostawię ich na biurku.
@SantiBailors zgodził się, że nie jest to dobra praktyka. Ale myślę, że dla kogoś, kto miałby trudności z zapamiętaniem dobrego hasła, lepiej jest wybrać coś trywialnego, na przykład imię swojego psa.
Uogólniłbym „trudność zapamiętania” na „trudność w użyciu”, która zawiera zarówno „trudność do zapamiętania”, jak i „trudność wejścia”.
Dobry cytat!Pamiętaj, żebym używał go na wewnętrznej stronie informacyjnej firmy (ze źródłowym adresem URL)?
@johanvdPluijm, proszę!Doceniłbym atrybucję lub nazwałbym regułę jej właściwą nazwą :-)
@AviD: Umieściłem to również w raporcie ze stażu na temat świadomości bezpieczeństwa informacji: „Inne kluczowe aspekty to trafność i użyteczność:„ Bezpieczeństwo kosztem użyteczności odbywa się kosztem bezpieczeństwa ”(AviD, 2011)”.Proszę bardzo.Poprawiłem użycie tego źródła na podstawie liczby głosów za.Teraz jesteś częścią ograniczonej liczby osób, które odważę się przytoczyć w moim raporcie ze stażu (+/- 30 atm)
Kolejną rzeczą, która sprawia, że metoda zszywania baterii jest lepsza (dzięki obserwacji AviD na temat użyteczności), jest rosnąca liczba urządzeń mobilnych.Na klawiaturze mobilnej metoda `` leetspeak '' wymaga dużo dziobania i przesuwania tabeli symboli tam iz powrotem, podczas gdy metoda zszywania baterii może być wpisana znacznie łatwiej, przy mniejszym ryzyku błędu.Spróbuj samodzielnie określić, jak szybko możesz wprowadzić dowolne przykładowe hasło na klawiaturze ekranowej iPhone'a.
nie jestem pewien, czy to jest dla mnie jasne.po której jesteś stronie?
Jedna zaleta haseł, które są kompletnym bełkotem: jeśli ktoś spojrzy na jedno z nich na ekranie, nie można go zapamiętać bez dużej ilości pracy.
Dla przypomnienia, zasada użyteczności AviD jest podobna do „I Hate You Maxim 2” Rogera G. Johnstona: im bardziej dana technologia powoduje kłopoty lub denerwuje pracowników ochrony, tym mniej skuteczna będzie.Te i inne inteligentne maksymy bezpieczeństwa można znaleźć w [tym pliku PDF] (http://www-personal.umich.edu/~rsc/Security/security_maxims.pdf).
#2
+526
Thomas Pornin
2011-08-11 02:54:22 UTC
view on stackexchange narkive permalink

Oto dokładne wyjaśnienie matematyki w tym komiksie:

Małe okienka w komiksie reprezentują entropię w skali logarytmicznej, czyli „bity”. Każde pudełko oznacza jeden dodatkowy bit entropii. Entropia jest miarą średniego kosztu trafienia właściwego hasła w ataku brute force. Zakładamy, że atakujący zna dokładną metodę generowania hasła, w tym rozkłady prawdopodobieństwa dla losowych wyborów w metodzie. Entropia n bitów oznacza, że ​​napastnik średnio wypróbuje hasło 2n-1 , zanim znajdzie właściwe. Kiedy losowe wybory są prawdopodobne , masz n bitów entropii, gdy istnieje 2n możliwych haseł, które oznacza, że ​​napastnik spróbuje średnio połowy z nich. Definicja kosztu średniego jest bardziej ogólna, ponieważ obejmuje przypadki, w których losowe wybory podejmowane podczas procesu generowania hasła (ten, który zwykle występuje w głowie użytkownika) są nie jednolite. Poniżej zobaczymy przykład.

Celem używania „bitów” jest to, że sumują się. Jeśli masz dwie połówki hasła, które generujesz niezależnie od siebie, jedną z 10 bitami entropii, a drugą z 12 bitami, to całkowita entropia wynosi 22 bity. Gdybyśmy mieli użyć skali nielogarytmicznej, musielibyśmy pomnożyć: 210 jednolite wybory dla pierwszej połowy i 2 12 sup> jednolite wybory dla drugiej połowy to 2 10 · 2 12 = 2 22 jednolite wybory. Dodatki są łatwiejsze do przedstawienia graficznie za pomocą małych pudełek, dlatego używamy bitów.

Biorąc to pod uwagę, zobaczmy dwie metody opisane w komiksie. Zaczniemy od drugiej, która jest łatwiejsza do przeanalizowania.

Metoda „prawidłowego konia”

Proces generowania haseł dla tej metody jest następujący: weź podaną (publiczną) listę 2048 słów (podobno popularnych słów, łatwych do zapamiętania). Wybierz cztery losowe słowa z tej listy, jednolicie i niezależnie od siebie: wybierz losowo jedno słowo, a następnie wybierz ponownie losowo słowo (które może być takie samo jak pierwsze słowo) i tak dalej dla trzeciego, a następnie czwartego słowa. Połącz wszystkie cztery słowa razem i voila! masz swoje hasło.

Każde wybrane losowo słowo jest warte 11 bitów, ponieważ 2 11 = 2048 , a co najważniejsze, każde słowo jest zaznaczone jednolicie (wszystkie 2048 słów ma takie samo prawdopodobieństwo 1/2048 wybrania) i niezależnie od innych słów (nie wybierasz słowa tak, aby pasowało lub nie -dopasuje poprzednie słowa, a zwłaszcza nie odrzucasz słowa, jeśli jest to ten sam wybór, co poprzednie słowo). Ponieważ ludzie wcale nie są dobrzy w dokonywaniu przypadkowych wyborów w głowie, musimy założyć, że losowy wybór słów odbywa się za pomocą fizycznego urządzenia (kostki, rzutki monetą, komputery ...).

całkowita entropia wynosi wtedy 44 bity, co odpowiada 44 ramkom w komiksie.

Metoda „trubadora”

W tym przypadku zasady są bardziej złożone :

  1. Wybierz losowe słowo z dużej listy znaczących słów.
  2. Zdecyduj losowo, czy pierwsza litera ma być wielka, czy nie.
  3. W przypadku liter, które kwalifikują się do „tradycyjnych podstawień”, zastosuj lub nie zastosuj zamiany (zdecyduj losowo dla każdej litery). Te tradycyjne podstawienia mogą być na przykład: „o” -> „0”, „a” -> „4”, „i” -> „!”, „E” -> „3”, „l” -> „1” (reguły zawierają powszechnie znaną, wyczerpującą listę).
  4. Dołącz znak interpunkcyjny i cyfrę.

Komiks ocenia losowe słowo na 16 bitów, co oznacza jednolity wybór na liście 65536 słów (lub niejednolity na dłuższej liście). W języku angielskim jest więcej słów niż to, podobno około 228000, ale niektóre z nich są bardzo długie lub bardzo krótkie, inne są tak rzadkie, że ludzie w ogóle ich nie pamiętają. Wydaje się, że „16 bitów” jest prawdopodobną liczbą.

Duże litery lub ich brak pierwsza litera to nominalnie 1 bit entropii (dwie możliwości). Jeśli użytkownik dokona tego wyboru w swojej głowie, będzie to równowaga między poczuciem bezpieczeństwa użytkownika („wielkie litery są oczywiście bezpieczniejsze!”) A lenistwem użytkownika („małe litery są łatwiejsze do wpisania”) . Tam znowu „1 bit” jest wiarygodny.

„Tradycyjne podstawienia” są bardziej złożone, ponieważ liczba dopuszczalnych liter zależy od słowa bazowego; tutaj trzy litery, stąd 3 bity entropii. Inne słowa mogą mieć inne liczby, ale wydaje się prawdopodobne, że średnio znajdziemy około 3 odpowiednich liter. Zależy to od listy „tradycyjnych podstawień”, które zakłada się, że są daną konwencją.

Dla dodatkowego znaku interpunkcyjnego i cyfry, komiks daje 1 bit, aby wybrać, który jest pierwszy (cyfra lub znak interpunkcyjny), a następnie 4 bity na znak i 3 bity na cyfrę. Liczba cyfr zasługuje na wyjaśnienie: dzieje się tak, ponieważ ludzie, gdy proszeni są o wybranie losowej cyfry, wcale nie są jednorodni; cyfra „1” będzie miała około 5 do 10 razy większe szanse na wybranie niż „0”. Wśród czynników psychologicznych „0” ma złą konotację (pustka, mrok, śmierć), podczas gdy „1” jest postrzegane pozytywnie (zwycięzca, mistrz, czołówka). W południowych Chinach „8” jest bardzo popularne, ponieważ słowo „ósemka” wymawia się tak samo, jak słowo „szczęście”; i podobnie, „4” jest pomijane z powodu homofonii ze słowem oznaczającym „śmierć”. Atakujący najpierw spróbuje hasła, w których cyfra to „1”, co pozwoli mu skorzystać z niejednorodności wyborów użytkownika.

Jeśli wybór cyfry nie jest dokonywany przez ludzki mózg, ale przez bezstronne urządzenie, otrzymamy 3,32 bitów entropii, a nie 3 bity. Ale to wystarczająco blisko dla celów ilustracyjnych (całkiem rozumiem, że Randall Munroe nie chciał rysować częściowych ramek).

Cztery bity interpunkcji są nieco zaniżone; w ASCII są 32 znaki interpunkcyjne, wszystkie stosunkowo łatwe do wpisania na zwykłej klawiaturze. Oznaczałoby to 5 bitów, a nie 4. Znowu, jeśli znak zostanie wybrany przez człowieka, to niektóre znaki będą bardziej powszechne niż inne, ponieważ ludzie rzadko myślą o „#” lub „|” jako „interpunkcja”.

Całkowita suma 28 bitów jest więc prawie właściwa, chociaż zależy to od dokładnych szczegółów niektórych losowych wyborów oraz listy „tradycyjnych podstawień” (co wpływa na średnią liczbę kwalifikujących się listów). Z hasłem wygenerowanym komputerowo możemy liczyć na około 30 bitów. To wciąż mało w odniesieniu do 44 bitów metody „prawidłowego konia”.

Stosowalność

Powyższe akapity pokazują, że matematyka w komiksie jest poprawne (przynajmniej z precyzją, jakiej można się spodziewać w takich warunkach - to komiks internetowy , a nie artykuł naukowy ). Nadal wymaga spełnienia następujących warunków:

  • Atakujący zna „metodę generowania hasła”. To jest ta część, w którą @Jeff nie wierzy. Ale to ma sens. W dużych organizacjach pracownicy ochrony publikują takie wytyczne dotyczące generowania haseł. Nawet jeśli tego nie robią, ludzie mają Google i współpracowników i zwykle używają jednego z kilkunastu zestawów reguł. Komiks zawiera postanowienia dotyczące tego: „Możesz dodać kilka dodatkowych bitów, aby uwzględnić fakt, że jest to tylko jeden z kilku popularnych formatów”.

    Podsumowanie: nawet jeśli zachowasz swoją metodę ” sekret ”, to nie będzie ta tajemnica, ponieważ będziesz mniej lub bardziej świadomie postępować zgodnie z„ klasyczną ”metodą, a nie ma ich zbyt wiele.

  • Losowe wybory są losowe i jednolite . Trudno to osiągnąć w przypadku użytkowników. Musisz ich przekonać, aby użyli urządzenia zapewniającego dobrą losowość (moneta, a nie mózg), i aby zaakceptowali wynik. To jest sedno mojej oryginalnej odpowiedzi (przedstawionej poniżej). Jeśli użytkownicy zmienią wybory, choćby przez wygenerowanie innego hasła, jeśli to, które otrzymali „nie zadowala ich”, to odchodzą od przypadkowej jednorodności, a entropię można tylko obniżyć (maksymalną entropię osiąga się przy równomiernej będzie lepiej, ale możesz być znacznie gorszy).

Prawidłowa odpowiedź to oczywiście odpowiedź @AviD. Matematyka w komiksie jest poprawna, ale ważne jest, aby dobre hasło było zarówno trudne do odgadnięcia, jak i łatwe do zapamiętania. Głównym przesłaniem komiksu jest pokazanie, że wspólne „zasady generowania haseł” zawodzą w obu punktach: utrudniają zapamiętanie haseł, które nie są jednak takie trudne do odgadnięcia.

Ilustruje również niepowodzenie ludzkich umysłów w ocenie bezpieczeństwa. „Tr0ub4dor&3” wygląda bardziej losowo niż „correcthorsebatterystaple”; a te same umysły dadzą dobre punkty temu drugiemu tylko z powodu złego powodu, tj. powszechnego (ale błędnego) przekonania, że ​​ długość hasła czyni siłę . To nie. Hasło nie jest silne, ponieważ jest długie; jest silny, ponieważ zawiera dużo losowości (wszystkie bity entropii, o których rozmawialiśmy przez cały czas). Dodatkowa długość tylko pozwala na większą siłę, dając więcej miejsca na przypadkowość; w szczególności, pozwalając na „delikatną” przypadkowość, którą łatwo zapamiętać, jak w przypadku elektrycznego konia. Z drugiej strony bardzo krótkie hasło jest z konieczności słabe, ponieważ entropii jest tylko tyle, że można zmieścić 5 znaków.

Zwróć uwagę, że „trudne do odgadnięcia” i „łatwe do zapamiętania” nie obejmują wszystkiego, co jest do powiedzenia na temat generowania haseł; jest też „łatwy w użyciu”, co zwykle oznacza „łatwy do wpisania”. Długie hasła są problemem w smartfonach, ale hasła z cyframi i znakami interpunkcyjnymi oraz różną wielkością liter są prawdopodobnie jeszcze gorsze.


Oryginalna odpowiedź:

Komiks zakłada, że ​​wybór losowego „wspólnego” słowa daje entropię około 11 bitów - co oznacza, że ​​istnieje około 2000 wspólnych słów. To jest wiarygodna liczba. Rzecz w tym, żeby mieć naprawdę losowy wybór. Na przykład następujące działania:

  • wybierz losowo cztery słowa, a następnie zapamiętaj je w najbardziej sensownej kolejności;
  • jeśli te cztery słowa wydają się zbyt trudne do zapamiętania, złom je i wybierz cztery inne;
  • zastąp jedno ze słów imieniem piłkarza (napastnik nigdy tego nie zgadnie!);

... wszystko zmniejszyć entropię. Nie jest łatwo nakłonić użytkowników do używania prawdziwej losowości i zaakceptowania wyniku .

Ci sami użytkownicy prawdopodobnie będą narzekać na kłopoty związane z wpisywaniem długiego hasła (jeśli wpisywanie dotyczy smartfona, muszę powiedzieć, że całkiem je rozumiem). Niezadowolony użytkownik nigdy nie jest dobrą rzeczą, ponieważ zacznie szukać środków zaradczych, które ułatwią mu życie, takich jak przechowywanie hasła w pliku i „wpisywanie” go w paście copy&paste. Użytkownicy często potrafią być w ten sposób zaskakująco kreatywni. Dlatego długie hasła mają tendencję do odwrotnego działania, jeśli chodzi o bezpieczeństwo.

Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/30766/discussion-on-answer-by-thomas-pornin-xkcd-936-short-complex-password-or-long) .
Jedną z kluczowych rzeczy, których moim zdaniem brakuje w tej odpowiedzi, jest wzmianka o atakach słownikowych.Dla każdego obeznanego w tej materii może być oczywiste, że ataki słownikowe są uwzględniane w obliczaniu entropii, ale za każdym razem, gdy słyszę, jak ktoś krytykuje ten pasek xkcd, to na tej podstawie, że autor rozważa tylko ataki brutalnej siły i że jest to prawdziwyatakujący może użyć bardziej wyrafinowanego ataku słownikowego.Myślenie w tym miejscu jest błędne, ale myślę, że ataki słownikowe wymagają wzmianki tylko po to, aby powiedzieć „nie” osobom mającym negatywne nastawienie i wyjaśnić zamieszanie tutaj.
Błąd tutaj: ciąg 4 losowo wybranych słów z twojego słownika ... jest również ciągiem znaków wybranym z 26-literowego alfabetu ... i jego entropię również należy zobaczyć w tym względzie.Stąd całkowita liczba liter w ciągu musi być taka, aby nie zmniejszały entropii, jak widać z punktu widzenia „Word”.
@Score_Under Wręcz przeciwnie, ta odpowiedź zakłada atak słownikowy, podobnie jak komiks.
Uwielbiam sposób, w jaki ty i AviD łączyliście się ze swoimi odpowiedziami.
@NH [Zdarza się.] (Https://xkcd.com/978/)
@ARi Korzystając ze wspomnianej metody brute force i zakładając, że używasz co najmniej czterech 5-literowych słów, druga metoda miałaby co najmniej [112,4 bitów] (https://www.wolframalpha.com/input/?i=log2 ((5 * 4)% 5E26)) entropii.(Jak pokazano, użycie ataku słownikowego zmniejsza go do 44 bitów). Oczywiście wszystko to zakłada, że osoba atakująca zna długość hasła, co jest nieco optymistyczne.
@Score_Under Metoda brutalnej siły została opisana powyżej.(Odkryłem to przez przypadek.)
@ARi czy na pewno jest to „ciąg znaków wybranych z alfabetu”, który zwiększy jego entropię?czy to nie jest specjalnie NIE to?Wiem, co masz na myśli: to ciąg znaków, ale nie jest to ciąg * losowych * znaków.Siła nie wynosi 26 ^ 25.
„entropii jest tylko tyle, ile można zmieścić w 5 znakach”.- Unicode definiuje> 100k znaków, nadając znakowi podobną entropię do słowa ze słownika angielskiego (~ 17 bitów).5 znaków losowego Unicode ma większą entropię (~ 85 bitów) niż 6 słów Diceware (~ 78 bitów).Jednak trudniejsze do wprowadzenia na niektórych urządzeniach.
@LukeSawczak Dokładnie!To właśnie mówi Score_Under ... Proszę po prostu użyć wyrażenia „atak słownikowy”, aby było jeszcze bardziej zrozumiałe.Naprawdę łatwo jest błędnie pomyśleć, że obliczenia są oparte na brutalnym wymuszaniu znak po znaku.
WRT co do smartfona, twierdzę, że hasło typu `` poprawny koń '' będzie łatwiejsze do wprowadzenia niż hasło trubadura, ponieważ * nie musisz ciągle przełączać między małymi, wielkimi, literami, cyframi i symbolami co drugą literę *.Dodatkowo, znacznie zmniejsza to ryzyko błędów punktowych, ponieważ są to słowa, które umiesz przeliterować, dzięki czemu pamięć mięśniowa prawidłowo wykryje błędy, które popełnisz, nawet jeśli nie widzisz, co piszesz.
Czy „trubador” nie pisze się na „nasz”?czy zatem „ou” do „o” jest substytucją?jeśli nie, to 1 litera została usunięta i nie została uwzględniona.
#3
+248
Jeff Atwood
2011-08-11 04:34:29 UTC
view on stackexchange narkive permalink

Dwa hasła oparte na narzędziu rumkin.com do sprawdzania siły haseł:

  • Długość: 11
  • Siła: Rozsądne - to hasło jest dość bezpieczne pod względem kryptograficznym i doświadczeni hakerzy mogą potrzebować dużej mocy obliczeniowej, aby je złamać. (W dużym stopniu zależy od implementacji!)
  • Entropia: 51,8 bitów
  • Rozmiar zestawu znaków: 72 znaki

i

poprawna klamra do baterii dla koni

  • Długość: 28
  • Siła: Mocne - to hasło jest zwykle wystarczająco dobry, aby bezpiecznie chronić poufne informacje, takie jak rekordy finansowe.
  • Entropia: 104,2 bity
  • Rozmiar zestawu znaków: 27 znaków

Z pewnością prawdą jest, że długość, przy czym wszystkie inne rzeczy są równe, zwykle tworzy bardzo silne hasła - i widzimy to tutaj potwierdzone.

Nawet jeśli wszystkie pojedyncze znaki są ograniczone do [az] , wykładnik występujący w wyrażeniu „dodaliśmy kolejną małą literę, więc pomnóż go przez 26 ponownie ” ma tendencję do dominowania wyników.

Innymi słowy, 72 11 < 27 28 .

Co nie jest jasno opisane:

  1. Czy te hasła muszą być wprowadzane ręcznie? A a jeśli tak, to jak trudne jest mechaniczne wprowadzenie każdej litery hasła? Na klawiaturze jest to łatwe, ale na smartfonie lub konsoli ... nie tak bardzo.

  2. Jak łatwo jest zapamiętać te hasła?

  3. Jak zaawansowane są ataki na hasło? Innymi słowy, czy faktycznie będą próbować wspólnych schematów, takich jak „słowa słownikowe oddzielone spacjami”, „całe zdanie ze znakami interpunkcyjnymi” lub „podstawienie leet-speak numb3r”, jak sugeruje xkcd? Co najważniejsze, w ten sposób XKCD uzasadnia przecięcie entropii pierwszego hasła o połowę!

Punkt 3 jest prawie bez odpowiedzi i osobiście uważam, że w praktyce jest wysoce nieprawdopodobny. Spodziewam się, że zdobycie nisko wiszącego owocu będzie brutalną siłą, a resztę zignoruje. Jeśli nie ma żadnego nisko wiszącego owocu hasła (i och, jest zawsze ), po prostu przejdą do następnej potencjalnej usługi dla ofiary.

Dlatego mówię rysunek jest materialnie dokładny pod względem matematycznym, ale boskie predykcyjne ataki haseł, które implikuje, są w dużej mierze mitem. Co oznacza, IMHO, że te konkretne dwa hasła są w pewnym sensie praniem w praktyce i zapewniają podobny poziom ochrony.

@Jeff, ta odpowiedź jest błędna. Polegasz na rumpkin do oszacowania entropii hasła, ale szacunki Rumpkina są najwyraźniej fałszywe. Spójrz ponownie na komiks xkcd: wizualnie przedstawia uzasadnienie oszacowania entropii (to właśnie robią małe pudełka). Szacunki entropii xkcd wydają mi się dobre, a twoje oszacowania entropii wyglądają źle (zbyt optymistycznie). Całkowicie nie zgadzam się z twoim wnioskiem i nie wiem, skąd go masz.
Komentarze nie służą do rozszerzonej dyskusji; ta rozmowa została [przeniesiona do czatu] (http://chat.stackexchange.com/rooms/30767/discussion-on-answer-by-jeff-atwood-xkcd-936-short-complex-password-or-long- re).
#4
+73
nealmcb
2011-08-11 04:28:31 UTC
view on stackexchange narkive permalink

Zgadzam się, że długość jest często lepsza niż złożoność. Ale myślę, że mniej kontrowersji dotyczy tego, a bardziej tego, ile entropii chcesz mieć. Komiks mówi, że „prawdopodobny atak” to 1000 prób na sekundę:

„Prawdopodobny atak na słabą zdalną usługę internetową. Tak, złamanie skradzionego hasha jest szybsze, ale nie jest to średnia użytkownik powinien się martwić „

Ale widzę większą zgodność co do tego, że operatorzy witryn internetowych nie mogą z czasem zabezpieczyć swoich baz danych skrótów przed atakującymi, więc powinniśmy zaprojektować hasła i algorytmy wyznaczania wartości skrótu wytrzymać kradzież skrótów do ataku offline. Atak offline może być masowy, jak opisano w sekcji Jak bezpiecznie haszować hasła?

To jeszcze bardziej utrudnia problem, a witryny powinny naprawdę szukać innych opcji oprócz wymagania od użytkowników zapamiętać własne hasła do każdej witryny internetowej, np przez OpenID i OAuth. W ten sposób użytkownik może uzyskać jedną dobrą metodę uwierzytelniania (być może nawet z użyciem tokena sprzętowego) i wykorzystać ją do dostępu do sieci.

Ale dobre haszowanie hasła można również wykonać za pomocą dobrych algorytmów, nieco dłuższej i narzędzia bookmarkletów. Skorzystaj z technik opisanych w powyższym pytaniu na serwerze (np. Bcrypt, scrypt lub PBKDF2) oraz porady na Czy istnieje metoda generowania haseł specyficznych dla witryny, które można wykonać we własnej głowie? w sprawie korzystania z SuperGenPass (lub SuperChromePass) po stronie użytkownika / klienta.

ciekawe, co oznacza, że ​​z punktu widzenia użytkownika wybór hasła jest prawie - poza uszkodzeniem mózgu typu „Hasło1” - nieistotny!
Racja, to zależy od tego, jakie jest zagrożenie. Mogę po prostu zacząć pisać ryzyko = zagrożenie x podatność x ekspozycja na każde pytanie. A dla Thomasa są to wielowymiarowe operacje na wielu iloczynach, a ja zakładam prawoskrętny układ współrzędnych w przestrzeni euklidesowej.
@jeff Wcale nie. Główne hasło używane w supergenpass powinno nadal być dobre i powinieneś także używać ich hasła „stealth” oraz więcej niż 10-znakowych haseł za pośrednictwem ich opcji „niestandardowej”, we własnym fragmencie javascript. Ponieważ jak zwykle zakładasz, że atakujący może spróbować haseł opartych na supergenprzeście, np. być może dlatego, że wiedzą, że go używasz. Ale użytkownik musi tylko zapamiętać jedno dobre hasło.
Nie potrzebujesz silnego hasła do strony internetowej. Po prostu wymuś milisekundowe opóźnienie `2 ^ prób` między dwiema kolejnymi próbami logowania lub zablokuj hasło po 10 błędnych próbach. Wystarczy 10000 różnych haseł, aby zapewnić odpowiednią ochronę, jeśli tylko musimy chronić witrynę internetową.
@Elazar Leibovich: Opisany atak (offline) jest przeprowadzany na zhakowaną bazę danych; nie będzie to ograniczone Twoimi opóźnieniami. Ponadto wprowadzasz metodę DDOS.
@MSalter, Jeśli obawiasz się, że Twoja baza danych zostanie raz na jakiś czas zagrożona, zmuś użytkowników do zmiany hasła co miesiąc. Jeśli użyją bardzo krótkiego hasła, nie będzie im to przeszkadzać. bcrypt może również pomóc chronić hasła nawet o niskiej entropii. BTW, jeśli twoja baza danych wycieka zbyt często, odwrócenie skrótów jest najmniejszym zmartwieniem użytkowników ...
@Elazar Miałem dostęp do wszelkiego rodzaju baz danych podczas moich różnych prac. W większości z nich nikt by nie zauważył, gdybym zrzucił kopię do pliku i wyszedł z nim, odwrócił te krótkie, nieistotne hasła, których użytkownicy z łatwością używali ponownie w innych witrynach, a następnie przeszedł stamtąd. Naruszenie bazy danych przez podmiot zewnętrzny nie jest jedynym powodem poprawnego haszowania haseł lub wybrania przez użytkowników silnych haseł.
@Ninefingers,, ale jeśli nikt nie zauważy, że zrzucasz tabelę użytkowników, nikt nie zauważy, że zmieniłeś hash użytkownika na kilka godzin, ani nie zrzucił jego danych osobowych. Tak długo, jak działa tam kret - Twoje dane są zagrożone. Gdy przestaniesz tam pracować - użytkownik zmieni swoje hasło. Jak już wspomniano, odwrócenie dobrego schematu mieszania jest nietrywialne. Niezależnie od słabych haseł.
@elazar Ignorujesz niedogodności dla użytkownika wynikające z częstych zmian haseł i szkód wyrządzonych w ciągu pół miesiąca, w którym atakujący ma dostęp do konta użytkownika, nie mówiąc już o dłuższym czasie, w którym atakujący ma dostęp do innych kont, w których użytkownik ponownie użył hasła. Unikanie haseł lub redukcja liczby unikalnych haseł, z którymi użytkownik musi się zmierzyć, może pomóc na wiele sposobów, w tym pozwolić mu skoncentrować się na jednym lub kilku naprawdę dobrych.
`` @nealmcb @elazar to nie tylko wygoda. Jeśli zezwalasz na słabe lub silne hasła, ludzie używają haseł we wzorcach, takich jak `` całkowicie nie zgadniesz tego 01`, a następnie `całkowicie nie zgadniesz 02`. Ponadto, jeśli dodatkowe usługi nie nakładają takich samych ograniczeń, mają na nie wpływ. Dlatego dobre haszowanie jest krytyczne - plan jest taki, jeśli baza danych jest już zagrożona. Chociaż masz rację, jeśli faktycznie doświadczasz częstych kompromisów, prawdopodobnie masz większe problemy.
@elazar - zgodnie z punktem nealmcb. Zajrzyj na http://security.stackexchange.com/q/4704/665, w którym omówiono zalety i wady krótkich / długich okresów ważności hasła.
Nadal będziemy musieli znosić uszkodzenia plecionek w postaci skrótów NTLM w dającej się przewidzieć przyszłości. Które są trywialnie wykrywalne w środowisku LAN. Wszystko w imię wstecznej kompatybilności!
#5
+67
Chris Cudmore
2011-08-11 21:32:03 UTC
view on stackexchange narkive permalink

Myślę, że większość odpowiedzi tutaj nie ma sensu. Ostatnia klatka mówi o łatwości zapamiętywania. Prawidłowe zszywanie baterii konia (wpisane z pamięci !!) eliminuje fundamentalne zagrożenie bezpieczeństwa hasłem - notatka Post-IT.

Używając pierwszego hasła, mam notatkę Post-IT w portfelu (jeśli jestem sprytny) lub w szufladzie biurka (jeśli jestem głupi), co stanowi ogromne zagrożenie bezpieczeństwa.

Załóżmy, że opcja wyrażenia hasła jest tak bezpieczna, jak opcja ukrytego słowa bazowego, więc już mi jest lepiej, ponieważ wyeliminowałem ludzki błąd przechowywania haseł.

Nawet gdybym zapisał frazę hasła, nie wyglądałoby to jak hasło. Może to być lista zakupów - syrop z mleka chlebowego i jajek. Ale 5t4ck3xCh4ng3 to oczywiście hasło. Gdybym się z tym spotkał, byłaby to pierwsza rzecz, jakiej bym spróbował.

Mam problem z dziwną kolejnością słów. Zabawne jest to, że myślę, że KOŃCOWA ramka z obrazem „Koń: To podstawa baterii. Ja: Dobrze!” jest jeszcze prostsze i łatwiejsze do zapamiętania, ponieważ tak będzie wyglądać rzeczywiste zdanie. I dużo silniejszy ...
Może powinniśmy po prostu wprowadzić hasła graficzne, w których musisz narysować zszywkę konia i baterii w ostatecznym obrazie klatki. ;-)
Absolutnie, jak powiedziałem również w mojej odpowiedzi - bezpieczeństwo hasła nie polega * tylko * na entropii, chodzi o aspekt ludzki i to, jak użytkownik go pamięta (lub nie). Entropia jest absolutnie ważna, ale to nie koniec historii.
Post-it z bardzo złożonym hasłem z pewnością przebije zapamiętanie złego hasła. Zwykle chronisz się przed zdalnymi atakami, a nie ktoś skradający się po Twoim biurku (jest to problem z bezpieczeństwem biura). Ponadto, dzięki post-itowi możesz łatwo ukryć hasło lub nieznacznie je zmienić („każde 1 to 2”, albo hasło to tylko połowa tego, co jest napisane itp.), Aby uczynić je bezużytecznym dla nikogo innego. Zbytnio upraszczasz. (Poza tym właśnie zdałem sobie sprawę, ile to ma lat, przepraszam, ale nadal myślę, że to dotyczy)
6 lat później z pamięci - „Prawidłowe zszywki do baterii dla koni”.(Przewiń w górę i sprawdź - TAK!)
@pzkpfw Zakładasz, że zdalny atakujący jest bardziej prawdopodobny.Jakie są jednak szanse, że osoba atakująca zdalnie będzie bardziej zainteresowana Twoim hasłem niż (powiedzmy) urażony współpracownik?
@jpaugh chodzi o to, że jeśli chodzi o bezpieczeństwo, dobrze znanym aksjomatem jest, że „fizyczny dostęp = koniec gry”.Ochrona przed współpracownikami wiąże się z zupełnie innym zestawem procedur (zabezpieczenia fizyczne, sejfy, zamki itp.) - ze względu na prostotę dyskusje na temat haseł powinny koncentrować się na zdalnych atakujących, ponieważ zwykle hasła mają chronić przed nimi.Nie oznacza to, że ataki zdalne są jedynymi istniejącymi atakami, ale jest to bardzo szeroka dyskusja.
@pzkpfw Używanie postów to fundamentalna zmiana z „czegoś, co wiesz” na „coś, co masz”.Łamie 2FA.
#6
+53
Misha
2011-09-02 02:25:00 UTC
view on stackexchange narkive permalink

Aby dodać do doskonałej odpowiedzi Avida, inne kluczowe przesłania komiksu to:

  • odpowiednim sposobem obliczenia entropii algorytmu generowania hasła jest obliczyć entropię swoich danych wejściowych, a nie obliczać pozornej entropii swoich wyników (jak robią to rumkin.com, grc.com itp.)
  • drobne zmiany algorytmu, takie jak podstawienia „1337-5p34k” i „przed / append punct & cyfry "dodają mniej entropii niż sądzi większość użytkowników (lub sysadminów)
  • (bardziej subtelnie) entropia hasła zależy od rozmiaru listy słów (i liczby słów), a nie od liczby znaków, ale nadal może zapewnić łatwo dostateczna entropia, aby chronić przed atakami siłowymi "uwzględniającymi algorytm generowania"

Do tych wiadomości możemy chcieć dodać:

  • jako użytkownik możesz ' t ogólnie kontroluj, czy operator strony internetowej używa salting, bcrypt / scrypt / PBKDF2, zachowuje bezpieczne skróty haseł, a nawet czy haszuje hasła w pierwszej kolejności - więc prawdopodobnie powinieneś wybrać passwo rds, które mają znaczenie, ponieważ nie mają (np. zakładaj 10 ^ 9 zgadnięć na sekundę podczas określania rozmiaru haseł / fraz, nie używaj ponownie haseł i nie używaj prostych technik „dołączania nazwy witryny”) - co prawdopodobnie sprawia, że ​​używanie LastPass / KeePass / hashpass jest nieuniknione
  • długie i skomplikowane słowa nie dodają wiele do entropii, chyba że użyjesz więcej niż kilku z nich (w języku angielskim jest tylko ~ 500 000 słów, czyli tylko 19 bitów - tylko 8 bitów więcej niż słowo z listy 2048 słów Randalla )
  • "losowe słowa" muszą być naprawdę przypadkowe, aby to zadziałało - wybranie tekstów piosenek / cytatów filmowych / wersetów biblijnych daje znacznie niższą entropię (np. nawet przy całkowicie przypadkowym wyborze jest tylko 700 000 słów w Biblii, więc jest tylko ok. 4 mln fraz biblijnych składających się z 5–10 słów, czyli tylko 22 bity entropii)
Czy zastanawiałeś się, czy Biblia zawiera potencjalnie dziesiątki różnych tłumaczeń? King James, NIV, New American Standard, Strong's Concordance, lista jest długa. A to tylko angielski. Przypuśćmy, że jakiś Amerykanin znał kilka wersetów w języku klingońskim (z odpowiednimi akcentami, jeśli to stosowne). Interesująca jest również druga strona medalu. Biblioteki do łamania haseł mogą stać się repozytoriami (nie w porządku) całej wiedzy, ponieważ prace semestralne, wiadomości i wszystko inne zostanie uwzględnione.
@killermist.[To już istnieje.] (Https://libraryofbabel.info/bookmark.cgi?vodqkovajzfg,.p.oxnd182) (Wyszukaj klingon pod linkiem)
#7
+48
dr jimbob
2011-08-11 10:10:26 UTC
view on stackexchange narkive permalink

Uwielbiam xkcd i zgadzam się z jego podstawowym punktem - frazy hasła świetnie nadają się do dodawania entropii, ale myślę, że nisko osadził entropię pierwszego hasła.

Przejdźmy przez to:

  • Losowe słowo ze słownika. xkcd: 16 bitów, Me: 16 bitów. Losowe słowo ze słownika zawierającego ~ 65000 słów to lg (65000) ~ 16. Bardzo rozsądne
  • Dodawanie wielkich liter. xkcd: 1 bit, Me: 0 bitów (dotyczy wspólnych podstawień). 1 bit oznacza, że ​​jest tam lub nie ma - co wydaje się bardzo niskie ze względu na złożoność dodaną przez dodanie wielkich liter do hasła - generalnie, gdy wielkie litery w haśle jest w losowym miejscu lub przychodzi mi do głowy wiele innych możliwych schematów kapitalizacji ostatnią literę zaczynać wielką literą). Zamierzam pogrupować to z typowymi podstawieniami.
  • Typowe podstawienia. xkcd: 3 bity, Me: 13 bitów. Tylko 8 opcji dla zastąpień leet speak, nawet jeśli są używane tylko czasami? Potrafię wymyślić średnio ~ 2 sposoby na zmianę każdej litery (np. A na @ , 4 ; b na 8 , 6 ; c do (, [, < ) i dodaj oryginał lub wielką literę, a następnie 9 liter hasło, zwiększyłem entropię o 18 (lg (4 ** 9) = 18), jeśli losowo wybiorę każdą literę do zmiany lub nie. Jest to jednak za wysokie dla tego hasła. Bardziej rozsądnym podejściem byłoby powiedz, że losowo wybrałem powiedzmy 4 litery do "typowych podstawień" do (jedna z dwóch opcji leet plus wielkie litery dla trzech opcji dla każdej zastępowanej litery). Następnie dostaje się do lg (nCr (9,4) 3 * 4) ~ 13 bitów.

  • Dodanie na końcu dwóch losowych znaków „&3”. xkcd: 8 bitów, Me: 15 bitów. Rozważam to jako dwa znaki w jednym z ~ 4 miejsc (powiedz przed słowem, jeden przed i jeden po, oba po lub oba uderzenia w środku słowa). Pozwolę również, aby te dwie dodane litery zawierały znaki inne niż specjalne. Zakładając więc słownik 88 znaków (56 znaków + 10 cyfr plus 32 symbole) dodajesz lg (4 * 80 ** 2) ~ 15 bitów entropii.

Więc mam obliczenie jako nie 16 + 2 + 2 + 8 = 28 bitów entropii, ale 16 + 13 + 15 = 44 bity bardzo podobne do jego hasło.

Nie sądzę również, aby 3 dni przy 1000 prób na sekundę były w żaden sposób „łatwe” do odgadnięcia ani prawdopodobnym mechanizmem ataku. Zdalna usługa sieciowa powinna wykryć i spowolnić użytkownika próbującego więcej niż 10000 domysłów w ciągu dnia dla dowolnego konkretnego użytkownika.

O wiele bardziej prawdopodobne są inne ataki (np. rejestratory kluczy na komputerach publicznych, złośliwy administrator w usłudze rejestrujący hasła i ponownie ich wykorzystujący, podsłuchiwanie, jeśli protokół ssl nie jest używany, w jakiś sposób uzyskuje dostęp do serwera (np. SQL wtrysk; włamać się do serwerowni; itp.)).

Używam hasła, gdy jest to konieczne - np. silne szyfrowanie (a nie 44-bitowe bardziej jak 80-bitowe - zwykle 8-wyrazowe hasło diceware plus dwie lub trzy modyfikacje - np. błędnie przeliteruj słowo lub zamień słowo na słowo inne niż diceware zaczynające się od tych samych dwóch liter; np. jeśli masz „jogurt”, możesz zamienić je na „yomama”). W przypadku stron internetowych (bez pieniędzy lub uprawnień bezpieczeństwa), nie obchodzą mnie trywialne hasła, które są zwykle używane.

Zauważyłem, że w przypadku często używanych haseł znacznie lepiej radzę sobie z wpisywaniem haseł, niż we wpisywaniu własnych haseł (które stają się irytujące, gdy trzeba kilkakrotnie wprowadzić zdanie o długości ~ 50 znaków). Również w przypadku haseł często wolę znaleźć przypadkowe zdanie (np. Losowy tekst piosenki - od piosenki, której nikt nie kojarzy z tobą, która nie jest szczególnie znacząca) i wymyślić hasło na podstawie słów (jak czasami używaj pierwszej litery; ostatnia litera; lub zamień słowo na symbol; itp.). Na przykład. L ^ # g&B9y3r z „Załaduj broń i weź swój” z Smells Like Teen Spirit.


TL; DR : Randall ma rację, jeśli (a) załóżmy, że możesz sprawdzać hasła z prędkością 1000 / s przez trzy dni bez spowolnienia i (b) możesz przyjąć wiele założeń dotyczących hasła: skonstruowane na podstawie rzadkiego słowa słownikowego, które jest pisane wielkimi literami, ma kilka zastąpień leet zamiast niektórych powszechnie podstawianych liter i ma na końcu dodany symbol i numer. Jeśli tylko nieznacznie uogólnisz dozwolone podstawienia (tak jak ja) i znaki dodane na końcu, otrzymasz podobną entropię do hasła.

Podsumowując, oba są prawdopodobnie bezpieczne w większości zastosowań przy niskim poziomie zagrożenia. Jesteś znacznie bardziej podatny na inne exploity, z czym Randall prawdopodobnie zgodziłby się [538] [ 792]. Ogólnie rzecz biorąc, wymagania dotyczące hasła, takie jak górny / dolny / symbol / liczba, są dobre, o ile dozwolone są również długie hasła o wysokiej entropii. Wymuś dodatkową złożoność w przypadku krótszych haseł, ale pozwól, aby wszystkie litery były mniejsze niż ~ 20 znaków. Niektórzy użytkownicy wybierają kiepskie hasła tak samo, jak wybierają kiepskie hasła (np. „To jest zabawne”, co jest idiotycznie określane jako absurdalnie bezpieczne tutaj lub używając imienia dziecka lub nazwy ulubionej drużyny sportowej). Wymaganie znaków specjalnych może sprawić, że jego odgadnięcie będzie nietrywialne (powiedzmy 100-1000 razy - zmiana hasła z 10 prawdopodobnych domysłów na 10000 jest bardzo znacząca). Oczywiście nie zapobiegnie to żadnemu botowi w słabej usłudze internetowej, która pozwala na tysiące błędnych prób logowania na sekundę, ale wymusza dodanie skromnego poziomu bezpieczeństwa, który utrudniłby wysiłki w witrynach, które ograniczają złe loginy lub przed prostym ręcznym zgadywaniem hasło. Trochę tak, jak standardowy 5-pinowy zamek do domu jest zasadniczo niepewny, ponieważ każdy może nauczyć się go otwierać w ciągu kilku minut (lub rozbić szybę); Jednak w praktyce zamykanie drzwi jest dobre, ponieważ zapewnia pewne bezpieczeństwo przed prostymi, którzy nie mają pod ręką narzędzi (a wybijanie okien wiąże się z niebezpieczeństwem ostrzegania innych).

„Zdalna usługa sieciowa powinna wykryć i spowolnić użytkownika podejmującego ponad 10000 zgadnięć w ciągu dnia dla dowolnego konkretnego użytkownika”. <- Zwróć uwagę, że pasek mówi „niezabezpieczona usługa internetowa”. Oczywiście bezpieczna usługa internetowa spowalnia wszystko. Nie wszystkie usługi sieciowe są jednak bezpieczne.
komiks mówi, że wszystkie te rzeczy, które mogłyby zwiększyć entropię, są wykonywane przez użytkowników głupio (tylko pierwszą literę wielką; użyj słowa i dodaj tylko losową liczbę i symbol na końcu itp.).
@DanBeale: Jeśli nie ufasz użytkownikom, że utworzą hasło w odpowiednio losowy sposób, jak możesz ufać, że utworzą hasło w odpowiednio losowy sposób? „To jest zabawne”, „Wpuść mnie” lub „Puszyste jest puszyste”.
@Billy ONeal: Czytałem niezabezpieczoną część usługi sieciowej, ale uważam, że jest to nieistotne. Większość usług, do których warto się włamać (banki, główne konta e-mail, główny sprzedawca (amazon) itp.) Powinna ograniczać podstawowe logowanie. http://stackoverflow.com/questions/549/the-definitive-guide-to-forms-based-website-authentication/477578#477578 Niezabezpieczone usługi sieciowe nie będą; ale z drugiej strony prawdopodobnie i tak nie powinieneś podawać żadnych informacji niezabezpieczonym usługom sieciowym - mogą one przechowywać twoje hasło w postaci zwykłego tekstu na komputerze ze znanymi dobrze znanymi exploitami, których złamanie zajęłoby komuś znacznie mniej niż 3 dni.
@Billy ONeal: O ile nie zrobiłeś czegoś, co uczyni cię konkretnym celem, nikt nie wyda 300 milionów prób przez Internet, aby uzyskać hasło do logowania. Po kilku minutach prób przejdą do kolejnej nazwy użytkownika, próbując zdobyć nisko wiszące owoce. (O ile oczywiście nie jest to hakowanie offline; w takim przypadku 28-bitowe i 44-bitowe są niebezpieczne dla jakichkolwiek prawdziwych prób).
@dr jimbob: Nie. Widzimy na tej samej stronie użytkownika, który mówi, że generuje hasło do diceware, ale rzuca kilka razy, aby uzyskać łatwiejsze do zapamiętania hasło. A więc i: generuj frazy i drukuj je na 50-dolarowych banknotach ii: badaj przy użyciu prawdziwych ludzi, sprawdzając, ile razy rzucą się, by zdobyć przepustkę do gry w kości, której użyją, i jak mały jest „prawdziwy” słownik, byłoby dobrą rzeczą.
@DanBeale Myślę, że chodzi o to, że (niektórzy) użytkownicy zawsze będą robić minimum wymagane od nich, a usługi, które zmuszają użytkowników do używania „silnego” hasła z co najmniej jedną cyfrą, jedną wielką literą, jednym znakiem interpunkcyjnym itp. Są w rzeczywistości przynoszą efekt przeciwny do zamierzonego (chociaż wyglądają naprawdę dobrze dla kierownictwa!)
@RoundTower - witamy w SecuritySE! Zgadzam się; Powiedziałem to samo w innym komentarzu powyżej. Polityka wymuszania „silnych” haseł jest w niektórych przypadkach zbliżona do teatru bezpieczeństwa.
#8
+36
DanBeale
2011-08-11 15:12:43 UTC
view on stackexchange narkive permalink

Patrząc na komiks XKCD i przykłady prawdziwych haseł, widzimy, że większość użytkowników ma hasła znacznie słabsze niż w przykładzie XKCD.

Grupa użytkowników zrobi dokładnie tak, jak pierwszy panel mówi - wezmą słowo ze słownika, zamienią pierwszą literę wielką literą, dokonają delikatnego podstawienia, a następnie dodadzą liczbę i symbol na końcu. To bardzo złe, zwłaszcza jeśli ponownie używają tego hasła (ponieważ uważają, że jest silne) lub jeśli ich konto ma uprawnienia.

Jak wspomniano w komentarzach, Diceware to dobry sposób na wygenerowanie hasła. Chciałbym zobaczyć łatwą do odczytania wersję formalnej analizy Diceware. (Podejrzewam, że nawet jeśli napastnik ma twój słownik i wie, że twoje hasło ma 5 lub 6 słów, to Diceware jest lepsze niż kilka innych systemów generowania haseł.

Ale niezależnie od hasła, które ma, wiele można przekonać użytkowników do zmiany jej na znaną wartość:

http://passwordresearch.com/stories/story72.html

W trakcie ocenę bezpieczeństwa komputera audytorzy byli w stanie przekonać 35 menedżerów i pracowników IRS do podania im nazwy użytkownika i zmiany hasła do znanej wartości. Audytorzy udawali personel informatyczny IRS usiłujący naprawić problem z siecią.

cytat blokowy>
stara dobra inżynieria społeczna ... wieczny hack. http://www.codinghorror.com/blog/2007/05/phishing-the-forever-hack.html
Entropia w zasadzie mierzy liczbę możliwych haseł dozwolonych przez schemat użyty do wygenerowania hasła. Robisz to, biorąc logarytm o podstawie 2 z liczby haseł dozwolonych przez twój schemat. Jeśli twój schemat dopuszcza ~ 2 ^ 10 = 1024 haseł, ma 10-bitową entropię; każdy dodatkowy bit podwaja liczbę dozwolonych haseł i podwaja czas na odgadnięcie brutalnej siły. Ok, więc jeśli twoje hasło do diceware jest generowane przez rzucanie 5 sześciościennymi kostkami (słownik ma 6 ^ 5 = 7776 słów), to każde słowo dodaje 13 bitów entropii (log (6 ^ 5) / log (2) = 12,9 ). Stąd 4 słowa byłyby 52-bitowe.
A jeśli masz więcej pytań: http://world.std.com/~reinhold/ensionalwarefaq.html
Nie jestem pewien, dlaczego chcesz „formalnej” analizy Diceware. Koncepcja jest prosta i działa. Nie potrzeba wyszukanej matematyki. Jego słownik zawiera prawie 8000 (= 2 ^ 13) słów, więc losowe czterowyrazowe hasło ma około 52 bity entropii (tj. Istnieje około 2 ^ 52 możliwych takich haseł, wszystkie równie prawdopodobne; tj. Atakujący musiałby spróbuj około 2 ^ 52 prób, aby znaleźć swoje hasło).
@D.W. Diceware jest dobry, ale użytkownicy są biedni. Na tej stronie jest komentarz od kogoś, kto mówi, że rzucił więcej niż jeden raz, aby uzyskać niezapomniane hasło. Tak więc, jeśli wyrażenia podane użytkownikom są w porządku, ale co się stanie, jeśli użytkownicy będą mogli sami używać diceware? Ile przerzutów? Które słowa z diceware są najmniej / najbardziej popularne?
Przydatną analizą byłoby sprawdzenie, ile z tych 2 ^ 52 haseł jest zawsze porzucanych przez użytkowników jako trudnych do zapamiętania. To może znacznie zmniejszyć przestrzeń.
@DanBeale, kilkakrotne ponowne toczenie nie szkodzi znacząco entropii. (Jeśli przerzucisz maksymalnie 4 razy, spadek entropii wynosi co najwyżej 2 bity, z 52 do 50 bitów. Nic wielkiego.) Ogólnie rzecz biorąc, praktyka przewijania w celu znalezienia niezapomnianego hasła jest prawdopodobnie pozytywne, ponieważ sprawia, że ​​hasła są łatwiejsze do zapamiętania, a tym samym zwiększa prawdopodobieństwo, że użytkownicy będą używać / nadal używać schematu Diceware. Jak mówisz, największym wyzwaniem jest użyteczność; do tego potrzebne jest badanie użyteczności, a nie formalna analiza matematyczna.
@D.W. - dzięki za informację. Pocieszające jest wiedzieć, że jeden lub dwa przerzuty są w porządku.
@DanBeale: nawet powtórne 16-krotne zmniejszenie entropii o 4 bity, z 52 do 48. Wciąż jesteś o kilka rzędów wielkości lepsze niż hasła l33t-speak.
#9
+35
wisty
2011-08-11 19:22:24 UTC
view on stackexchange narkive permalink

Problem jest nadal, niestety, ludzki.

Czy popychanie użytkowników do haseł alfanumerycznych i interpunkcyjnych będzie bezpieczniejsze, czy też dłuższe hasła?

Jeśli powiesz im hasło alfa + cyfry, napiszą swoje imię + urodziny. Jeśli powiesz im, aby używali również interpunkcji, zastąpią „a” „@” lub czymś podobnie przewidywalnym.

Jeśli powiesz im „użyj czterech prostych słów”, napiszą „i kocham moją matkę ”,„ kocham twoją matkę ”,„ dzięki Bogu jest piątek ”lub coś innego banalnie przewidywalnego.

Po prostu nie możesz wygrać. Zaletą haseł składających się z czterech słów jest to, że mogą je zapamiętać, więc jeśli zamierzasz zmusić użytkowników do posiadania silnych haseł (które generujesz), to przynajmniej wygrali ” Nie trzeba zapisywać tego na karteczce samoprzylepnej, wysyłać do siebie e-mailem hasła lub robić coś innego głupiego.

Ale przegapiłeś to, że komiks xkcd prawdopodobnie zalecał wygenerowanie losowego czterowyrazowego hasła dla użytkownika poprzez losowe próbkowanie ze słownika zawierającego 2048 słów, a nie * prośbę o wybranie czterech dowolnych słów. Może nie było to oczywiste, jeśli nie znasz historii tej dziedziny, ale podstawowa idea była już wcześniej dyskutowana przez kryptologów.
#10
+30
Mike Hamburg
2011-08-12 01:02:13 UTC
view on stackexchange narkive permalink

Randall w większości ma rację. Kilka dodatków:

Oczywiście musisz losowo wybierać słowa. Klasyczną metodą jest Diceware, która polega na rzucaniu 5k6, dając prawie 13 bitów entropii na słowo, ale słowa są bardziej niejasne.

W języku angielskim może być 2048 popularnych słów, ale nie ma ich 2048 krótkie popularne słowa w języku angielskim. Lista Diceware (która ma 6 ^ 5 = 7776 słów poniżej 6 liter) zawiera trochę niejasnych rzeczy, plus imiona, liczby mnogie, kombinacje dwuliterowe, kombinacje dwucyfrowe, 19xx, itd., I nie sądzę najwyższy kwartał byłby znacznie lepszy. Jeśli weźmiesz tylko 2 tys. Najpopularniejszych słów w języku angielskim, otrzymasz takie rzeczy, jak „mnożenie”, które jest nieco długie jako część 4-wyrazowego hasła. Więc chciałbym zobaczyć listę sugerowanych słów Randalla.

Istnieje bardziej oczywista odmiana haseł typu "Tr0ub4dor&3" niż tych z Diceware, więc w praktyce ta pierwsza będzie miała kilka bitów entropii więcej . Z mojego doświadczenia wynika również, że hasła typu „Tr0ub4dor&3” nie są tak trudne do zapamiętania, jeśli używasz ich często. W przeszłości wygenerowałem kilka haseł za pomocą strings / dev / urandom i nie miałem problemu z używaniem ich jako haseł logowania. Dziś jednak nie mogłem powiedzieć, które litery są pisane wielkimi literami. Z drugiej strony nie jestem pewien, czy mógłbym recytować niektóre z moich haseł do Diceware bez mylenia homofonów, liczby mnogiej itp.

Jeśli baza danych haseł zostanie skradziona, wzmacniacz, taki jak PBKDF2, dodałby słowo lub więcej do efektywnej długości jednego z tych haseł, ale wiele witryn go nie używa. 5 słów + jedno dla wzmocnienia dałoby około 66 bitów, co prawdopodobnie jest zbyt duże na tęczowy stół. To sprawia, że ​​jesteś poza zasięgiem przypadkowych napastników, więc jeśli nie masz na koncie czegoś naprawdę ważnego, wszystko powinno być w porządku.

Podsumowując, hasła typu Diceware są idealne do rzeczy, które wpisujesz okazjonalnie, ale niekoniecznie codziennie. Jeśli używasz hasła codziennie, to Diceware będzie działać, ale hasło strings / dev / urandom będzie krótsze i i tak powinieneś być w stanie je zapamiętać. Jeśli logujesz się rzadko, wybierz hasło w dowolny sposób, wrzuć je do swojego menedżera haseł (którego powinieneś używać również w przypadku częściej używanych haseł) i zapomnij.

Jeśli site ma jakieś dziwne ograniczenie, takie jak „brak spacji, przynajmniej jedna duża litera i przynajmniej jedna cyfra”, a następnie połącz słowa razem z 5-tkami między nimi i pierwszą literą zamknij pierwszą literę. To traci entropię epsilon dla Diceware i żadnej dla schematu Randalla.

Myślę, że przeceniasz zdolność przeciętnego człowieka do zapamiętywania przypadkowych danych.
W swojej bazie danych haseł i tak powinieneś użyć soli, więc tęczowe tablice na nic się nie przydadzą.
Przykładowe wyjście argumentu `strings -n 10 / dev / urandom` zawiera takie rzeczy jak` t! AF | r) WlB`, `<^ p! * P, gvv` i` -WAWkG;]%> (`. Are you * naprawdę * twierdząc, że * pamiętasz * którekolwiek z nich? „Prawidłowe piwo podstawowe z baterii końskiej” brzmi dla mnie jak zwycięzca i nadal ma mniej więcej taką samą entropię.
[Mnemonic lista słów] (https://github.com/jasimmonsv/Mnemonic-Word-List) zawiera 1626 słów (entropia: 10,66 bitów / słowo) o średniej długości 5,76 znaków (4-7 znaków / słowo). Wszystkie słowa są prawdziwe, rozpoznawalne na całym świecie i różne pod względem fonetycznym. Jako osoba, dla której angielski nie jest językiem ojczystym, wydaje mi się, że są one łatwe do zrozumienia. O Diceware: Używam metody Diceware z fińską listą słów do generowania haseł, które wpisuję wiele razy dziennie w pracy (długość nie stanowi dla mnie problemu). Fińska lista słów jest znacznie lepsza niż oryginał, ponieważ wszystkie słowa są prawdziwe i jest o wiele mniej dziwnych.
#11
+28
sarnold
2011-08-12 12:51:40 UTC
view on stackexchange narkive permalink

Narzędzie Openwall Linux pwqgen generuje hasła z określoną ilością entropii właśnie w tych liniach.

Jednak zamiast używać spacji do oddzielania słów, zamiast tego używane są znaki interpunkcyjne i cyfry. Oto dziesięć przykładów z 49 bitami entropii:

  Cruise! Locus! Frametehran! Commit6churchSeller7Fire3singSalt&Render4exportForget7Driver = WypróbowanoGreat5Noun + Khakihale8Clung&doseEgo $ Clinech $ w = kod5  trudniejsze do odczytania bez spacji, ale przez lata, kiedy korzystałem z haseł generowanych za pomocą tego narzędzia, nie znalazłem interpunkcji jako trudnej do zapamiętania. 
Dzięki za wskazówkę! Ale myślę, że masz tam literówkę. Domyślam się, że podajesz listę z 44 bitami entropii, a nie 64. Zaczyna generować 4-wyrazowe frazy na 48 bitach. I dla przypomnienia, przez `for i in {26..81}; do echo -n $ i ""; pwqgen losowo = $ i; done`: Na 26 bitach ma 2 frazy słowne, na 27 dodaje separatory interpunkcyjne, na 31 ma 3 frazy, z interpunkcją na 40, na 48 ma 4 frazy, z interpunkcją na 53, na 65 przesuwa się do 5 fraz, z interpunkcją na poziomie 66, aż do 81 bitów. Wydaje się tam trochę dziwne.
[Kod źródłowy passwdqc] (http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/passwdqc/passwdqc/) ujawnia ** mały słownik 4096 słów **, co oznacza prawdziwą entropię bitową tych Przykłady "64-bitowych" to ** w rzeczywistości 49,8 bitów **: `log₂ (⟨4096 × 2⟩ × 42 × ⟨4096 × 2⟩ × 42 × ⟨4096 × 2⟩)` (2x dla pierwszej litery o przypadkowej wielkości, 42 drukowalne znaki nieliterowe na klawiaturze en_US). [Diceware] (http://world.std.com/~reinhold/ designers.html) to 7776 słów, a standardowy słownik to 100 tysięcy słów. passwdqc wymagałoby 155 tys. słów na 64 bity entropii. Zobacz także moją [pw entropy table] (https://security.stackexchange.com/a/93628/42391).
@AdamKatz, yikes. Zawsze zakładałem, że w moim systemie używany jest `/ usr / share / dict / words`, czyli ~ 100k słów, co dałoby ~ 60 bitów entropii dla tego formatu. Poprawię swoją odpowiedź. Dzięki.
#12
+23
nullnvoid
2011-08-11 05:10:36 UTC
view on stackexchange narkive permalink

Nie jestem ekspertem ds. bezpieczeństwa, ale myślę, że tu jest błąd.

Komiks zdaje się wskazywać, że zwiększając długość hasła, zwiększysz złożoność.

W rzeczywistości złożoność czterowyrazowego hasła jest znacznie zmniejszona. Zasadniczo zamieniłeś 8-11 częściowo losowo wybranych znaków na 4 losowo wybrane słowa. Długość hasła jest mniej ważna niż liczba słów . Wystarczy, że atakujący spróbuje różnych kombinacji słów ze słownika. Używane słowa mogą być dość powszechne, jeśli mają zostać zapamiętane, i prawdopodobnie będą krótkie, jeśli trzeba je wpisać.

Ataki słownikowe są już wykorzystywane z doskonałym skutkiem. Zwykle nie używamy 260 000 słów. Znamy tylko około 12 000 do 20 000 słów. Spośród nich zwykle używamy mniej niż 8 000. Nie wyobrażam sobie, aby zwykli użytkownicy utworzyli hasła zawierające długie i skomplikowane słowa do wpisania, co dodatkowo ogranicza podzbiór możliwych słów. Zakładając, że każdy miałby zacząć używać tej metody doboru hasła, wtedy ataki słownikowe stałyby się o wiele bardziej skuteczne.

Teraz połączenie tych dwóch może być bezpieczniejsze, chociaż przeczy to celowi ćwiczenia .

Ataki słownikowe są już wykorzystywane z doskonałym skutkiem. Chodziło o to, że długość nie jest miarą złożoności tego systemu. W każdym razie nie używamy zwykle 260 000 słów. Znamy tylko około 12 000 do 20 000 słów. Spośród nich zwykle używamy mniej niż 8000. Nie wyobrażam sobie, aby zwykli użytkownicy utworzyli hasła zawierające długie i skomplikowane słowa do wpisania, co dodatkowo ogranicza podzbiór używanych słów.
Dla słowa słownikowego zakłada się 11 bitów entropii. To przekłada się na 2000 słów, znacznie mniej niż 8K, o których wspomniałeś wcześniej. A więc argument nadal się utrzymywał.
Ta odpowiedź ignoruje liczby używane w analizie XKCD i dlatego jest całkowicie nieuzasadniona!
* „komiks wydaje się wskazywać, że zwiększając długość hasła, zwiększysz złożoność” * - Nie, w ogóle nie o tym mówi komiks. Przeczytaj jeszcze raz, tym razem dokładniej.
Myślę, że mylisz „złożoność” i „entropię”. Sednem komiksu jest to, że hasło * obniża * złożoność, oferując jednocześnie wyższą * entropię *. Złożoność wpływa na ludzi, a nie na komputery - podczas gdy entropia zapobiega brutalności.
Całkowicie zgadzam się z tą odpowiedzią. Gdyby powszechną praktyką było stosowanie dłuższych haseł składających się z dłuższych słów, metody ataków słownikowych można by łatwo zoptymalizować pod tym kątem.
Masz do wyboru 96 ^ NumOfChars lub 7776 ^ NumOfWords. (7776 to rozmiar słownika Diceware.) 96 ^ 11 == dobry, ale trudny do zapamiętania. 7776 ^ 6 == lepsze i łatwiejsze do zapamiętania.
Z pewnością nie jestem ekspertem w tej dziedzinie i nie spotkałem się wcześniej z Entropią. Zauważam, że wiele osób mówi: „Myślę, że 11 bitów entropii na słowo brzmi właściwie”, ale nie zauważyłem, aby ktokolwiek rozwinął sposób, w jaki to zostało obliczone. Czy ktoś ma dobry artykuł wprowadzający do obliczania entropii? Przyjrzałem się kilku, które były przeznaczone dla studentów matematyki.
nullnvoid, Słownik zawierający 2048 słów zawiera, no cóż, 2048 = 2 ^ 11 słów. Jeśli wybierzesz jeden losowo, to jest 2 ^ 11 możliwości. Zatem 11 bitów entropii. Atakujący musiałby spróbować około 2 ^ 11 prób, aby znaleźć twoje słowo (średnio 2 ^ 10, w najgorszym przypadku 2 ^ 11). Więcej szczegółów na temat obliczeń entropii można znaleźć w innych odpowiedziach i komentarzach na tej stronie.
@DanBeale Dlaczego „7776 ^ 6” jest „lepsze”? Czy nie jest „96 ^ 11 - 7776 ^ 6 = -214691526415214947860480> 0”?
@kizzx2 - tak. 96 ^ 11 jest mniejsze niż 7776 ^ 6. Tak więc losowe hasło składające się z 11 liter, wybrane z 96 różnych znaków, będzie trudne w użyciu, ale całkiem dobre; podczas gdy losowe hasło składające się z 6 słów (wybrane z listy 7776 słów) będzie łatwe w użyciu i silniejsze.
@nullnvoid Rzecz w tym, że podzbiór 10 000 słów * które * znasz różni się od zbioru, który * ja * znam. To diagram Venna - a biorąc pod uwagę, że oboje często odwiedzamy tę witrynę, prawdopodobnie nakłada się więcej niż w przypadku dwóch losowo wybranych osób - ale to nie to samo. W scenariuszu, z którym tutaj pracujemy, zakłada się, że atakujący nie wie nic o konkretnym celu.
@AviD Inną rzeczą, której plakat z odpowiedziami zdawał się przeoczyć, jest to, że narzędzia do sprawdzania haseł tak naprawdę (o ile nie są to FUBAR) nie zapewniają „zbyt krótkich” lub „zbyt długich” informacji zwrotnych, a zamiast tego dostarczają po prostu „Nie”.
#13
+19
PearsonArtPhoto
2011-08-11 04:06:02 UTC
view on stackexchange narkive permalink

Czytając komentarz, mam kilka przemyśleń.

  1. Licznik entropii hasła jest oceniany jako dość niski. Przynajmniej powinieneś dodać kolejne 1-3 bity na podstawienia znaków. W tym przykładzie wygląda na to, że znana jest dokładna formuła, co wydaje się trochę nieprawdopodobne.
  2. Licznik entropii dłuższego hasła wydaje mi się poprawny.
  3. Słowo bazowe wydaje się bądź „Troubador”, jeśli poprawnie odszyfrowuję typowe podstawienia. Nie sądzę, że jest to powszechne słowo, więc ograniczenie entropii słowa słownikowego do tylko 11 bitów entropii jest nieco niskie. Domyślam się, że nadal byłby w słowniku, ale powinien zostać rozszerzony do co najmniej 15-bitowej entropii lub do wyboru 32 tys. Słów. Wydaje się, że jest to poziom, na jakim byłby przy użyciu ataku słownikowego.

Prawdą jest, że zasadniczo długie hasło złożone z przypadkowych słów jest co najmniej tak samo dobre jak hasło jako krótkie hasło z większą liczbą znaków, ale słowa muszą być losowe. Jeśli zaczniesz cytować dobrze znaną frazę, a nawet cokolwiek, co może być zdaniem lub jego częścią, poważnie ograniczy to entropię.

Komiks xkcd zakłada, że ​​istnieje około 8 powszechnie używanych podstawień, których atakujący musiałby spróbować (3 bity entropii). Wydaje się, że argumentujesz, że istnieje około 128–256 powszechnie używanych podstawień, których atakujący prawdopodobnie musiałby spróbować (7-8 bitów entropii). Gdzie jest twoje uzasadnienie? Osobiście uważam, że oszacowanie xkcd jest lepsze niż twoje.
Uzasadnieniem jest to, że możesz ich użyć lub nie. Jeśli czasami podstawisz 0 zamiast o, to jest to 1 bit podstawienia. Jeśli możesz użyć na przykład * i -, to jest to 2 bity podstawienia za każdym razem, gdy znajdziesz taki znak, ponieważ istnieją cztery kombinacje. Myślę, że 1-2 po refleksji jest dokładniejsze, dając 4-5 bitów zamiast 3.
Zakładasz, że każde hasło ma 8 różnych liter, z których każda zapewnia niezależną możliwość zamiany. W przypadku większości haseł spodziewam się, że tak nie będzie.
Punkt 1: Jeśli założysz, że atakujący nie będzie w stanie odgadnąć Twojego schematu hasła, możesz rzeczywiście wzmocnić zakładaną siłę hasła.Jednakże, a) napastnicy są lepsi w odgadywaniu schematów niż w ich wymyślaniu;b) obowiązkowe zasady dotyczące haseł ułatwiają odgadywanie schematów;c) musiałbyś również zapytać, czy atakujący zna dokładną długość i słownik hasła, więc to też staje się silniejsze. W punkcie 3: Randall faktycznie przyznał „Troubadour” 16 bitów entropii za to, że jest to rzadkie słowo, w porównaniu z zaledwie 11 bitami za „pospolite słowa”.
#14
+18
WBT
2015-11-02 19:30:51 UTC
view on stackexchange narkive permalink

W teście empirycznym hasła nie wydają się pomagać tak bardzo, jak sądziłby XKCD: dl.acm.org/citation.cfm?id=2335356.2335366

Użytkownicy zwykle tworzą hasła, które są łatwe do odgadnięcia, podczas gdy hasła przypisane do systemu są zwykle trudne do zapamiętania. Od dziesięcioleci sugerowano, że frazy hasła, oddzielone spacjami zestawy słów w języku naturalnym, zarówno jako bezpieczne, jak i użyteczne. W badaniu internetowym, w którym wzięło udział 1476 uczestników, zbadaliśmy użyteczność 3 i 4-wyrazowych haseł przypisanych do systemu w porównaniu z hasłami przypisanymi do systemu, składającymi się z 5 do 6 losowych znaków i 8-znakowych haseł nadawanych przez system. Wbrew oczekiwaniom hasła przypisane do systemu działały podobnie jak hasła przypisane do systemu o podobnej entropii we wszystkich zbadanych przez nas metrykach użyteczności. Hasła i hasła były zapominane w podobnym tempie, co prowadziło do podobnego poziomu trudności i irytacji użytkownika, i oba zostały zapisane przez większość uczestników. Jednak wprowadzenie haseł zajęło uczestnikom znacznie więcej czasu i wydaje się, że wymagają korekty błędów, aby zapobiec błędom przy wprowadzaniu. Wydaje się, że użyteczność hasła nie wzrosła, gdy zmniejszyliśmy słownik, z którego wybierano słowa, zmniejszyliśmy liczbę słów w haśle lub pozwoliliśmy użytkownikom zmieniać kolejność słów.

[Pełna, bezpłatna wersja] (https://www.ece.cmu.edu/~lbauer/papers/2012/soups2012-passphrases.pdf) jest dostępna na ich stronie.
#15
+17
Cyberherbalist
2011-08-12 01:49:56 UTC
view on stackexchange narkive permalink

Wiele odpowiedzi na to pytanie prowadzi do oczywistego wniosku, że nawet jeśli poprosisz użytkowników o użycie kilku słów oddzielonych spacjami w celu zwiększenia czytelności, zbyt wielu użytkowników wybierze słowa w „banalnych” frazach, np. „kocham moją mamę” które, gdyby crackerzy zdawali sobie sprawę, że takie proste zwroty są w powszechnym użyciu, zostałyby szybko złamane. Zakładam, że niektórzy crackerzy mogą już to robić - w końcu nie są głupi! Ale nie wszystko jest stracone.

Zbyt wiele witryn internetowych, z którymi się loguję, wymaga ode mnie skomplikowania hasła (używanie języka leetspeakish i innych wymagań dotyczących kombinacji wielkich / małych liter, cyfr i symboli). Wymuszają, aby moje hasła były trudne do zapamiętania.

Co by się stało, gdyby zamiast wymagać złożoności, przeprowadzono sprawdzenie poprawności hasła, które najpierw sprawdziło rozpoznany słownik haseł, a gdy atak słownikowy zostałby wyeliminowany jako problem, obliczyć siłę przeciwko brutalnemu atakowi i wymagać tylko, aby hasło było w stanie powstrzymać brutalny atak przez bilion lat? W takim przypadku Tr0ub4dor&3 nie przejdzie - kalkulator przestrzeni wyszukiwania Steve'a Gibsona pod adresem https://www.grc.com/haystack.htm mówi, że może być brutalnie wymuszony tylko w ciągu 1,83 miliarda stuleci, ale „trzymaj wino dobrze zimne” może wytrzymać przez 1,43 miliarda bilionów stuleci.

To, co chcę tutaj powiedzieć, to zaprzestanie zmuszania użytkowników do wymyślania dziwacznych kombinacji znaków i sprawdzenie ich haseł w słownikach ataki siłowe. Myślę, że w rezultacie bezpieczeństwo mogłoby się tylko poprawić.

Lub po prostu zmusić ludzi do korzystania z narzędzi takich jak Keepass - doskonale spełnia swoje zadanie.
Witamy w securitySE! Kusi mnie -1, żeby wspomnieć o GRC. Ale masz rację.
Heh. A co dokładnie jest nie tak z GRC? :-)
@Cyberherbalist, witamy na [security.se]! Niestety Steve Gibson jest uznawany za nieświadomego i szarlatana, przynajmniej według [attrition.org] (http://attrition.org/errata/charlatan/steve_gibson/) ...
@AviD - późno wracając do tego, ale nawet Matka Teresa ma hejterów. Gibson może nie spełniać standardów niektórych ludzi, ale jego praca faktycznie pomogła mi kilka razy. SpinRite zaoszczędził mi pieniądze raz, kiedy to się liczyło. Niestety, w końcu każdy jest przestarzały i przestarzały.
@Cyberherbalist Nie chodzi o to, żeby mieć hejterów, ale o bycie lepszym marketerem niż cokolwiek innego, nawet jeśli nie rozumie słów, które powtarza z kontekstu lub w ogóle wymyśla. Ale tutaj naprawdę nie ma miejsca na dyskusję o jego wiedzy ...
@AviD: Zgoda, to nie jest to miejsce. Zaznaczę, że nie rozpaliłem ognia. Ale wystarczy już powiedzieć.
#16
+14
user93353
2013-06-12 09:29:03 UTC
view on stackexchange narkive permalink

Bruce Scheiner uwielbia długie hasła, ale od wielu lat zwraca również uwagę na praktyczne trudności związane z długimi hasłami. Hasła nie są wyświetlane na ekranie podczas ich wpisywania. Na każdej literze na ekranie wyświetlana jest gwiazdka lub duża czarna kropka. Nawet podczas wpisywania haseł składających się z 7-8 znaków czasami zastanawiasz się w środku, czy wpisałeś je poprawnie. Więc cofasz wszystko i zaczynasz od nowa. Czasami zapominamy, gdzie jesteśmy w środku hasła & policzyć liczbę znaków już wpisanych i porównać je mentalnie z hasłem, aby dowiedzieć się, gdzie jesteśmy. Byłoby to jeszcze trudniejsze do zrobienia z długim hasłem, gdyby nie było powtarzane. Myślę, że długie hasła pojawią się dopiero po skutecznym rozwiązaniu tego problemu.

Używam „prostych” haseł (jak tylko małe litery, rzeczywiste słowa) wyłącznie od kilku lat. Chociaż wprowadzam różne co najmniej 6 razy dziennie, nie muszę cofać całego hasła z powodu literówki częściej niż raz w tygodniu. Jestem dość pewny, że dotyczy to każdego, kto regularnie pisze na klawiaturze ...
Musiałem zmienić hasło do Wi-Fi, ponieważ wpisywanie go na iPhonie było zbyt skomplikowane!
Zastanawiam się, jakie konsekwencje dla bezpieczeństwa miałoby sprawdzenie logiki wprowadzania hasła, aby sprawdzić, czy jakieś słowo nie jest zduplikowane, a jeśli hasło nie działa, wypróbowanie hasła, które wynikałoby z wykreślenia zduplikowanego słowa i czegokolwiek między duplikatami ? Czyli „poprawna podstawa baterii dla konia batteru” zostanie zamieniona na „prawidłową podstawę baterii konia”?
#17
+12
RobIII
2011-08-11 05:10:15 UTC
view on stackexchange narkive permalink

Zgadzam się z Jeffem Atwoodem. Wziąłem także a (nie ) angielski słownik, który mam tutaj w MSSQL, zawierający 266 166 słów (a także 160 086 niemieckich i 138 946 holenderskich słów) i wybrałem losowy wybór 10 słów dla każdego języka.

Oto wyniki dla języka angielskiego:

  1. sprytny
  2. wolframinium
  3. muth
  4. niewulkaniczny
  5. sprzecznie
  6. desperadoizm
  7. nienaturalny
  8. ulokowalność
  9. rekondensacja
  10. Remi

Teraz weź dowolną kombinację dowolnych słów, która da ci wystarczającą entropię i jesteś gotowy do pracy. Ale jak możesz zobaczyć na tym przykładzie, nie jest łatwo zrobić coś łatwego do zapamiętania z tego słowa jumbo. Więc entropia spada, gdy próbujesz stworzyć „zrozumiałe (niepoprawne lub logiczne) zdania”.

Ze względu na kompletność (losowe) wyniki dla języka niemieckiego i holenderskiego :

niemiecki:

  1. torlos
  2. Realisierung
  3. hinterhaeltigsten
  4. anbruellend
  5. Orthograpie
  6. vielsilbigen
  7. lebensfaehig
  8. drang
  9. festgeklebtes
  10. Bauernfuehrer
  11. ol >

    holenderski:

    1. spats
    2. bijstander
    3. Abcoude
    4. vergunningsaanvraag
    5. schade- eis
    6. ammoniakuitstoot
    7. onsentimenteel
    8. ebstand
    9. radiaalband
    10. profielschets
To nie ma argumentu technicznego i źle rozumie propozycję xkcd. Propozycja xkcd * nie * polega na losowym wybieraniu 4 słów ze słownika zawierającego 200 000 słów. Zamiast tego należy wybrać losowo 4 słowa z mniejszego słownika zawierającego 2000 najczęściej używanych słów. Jeśli będziesz postępować zgodnie z zaleceniami xkcd * faktycznie *, przekonasz się, że wynikowe hasła są łatwiejsze do zapamiętania.
Większość słów sugerowanych dla języka niemieckiego i tak nie jest częścią prawdziwego słownika. Przez „prawdziwy” mam na myśli rodzaj słownika, o którym myślą zwykli ludzie, a nie ten używany przez oprogramowanie do sprawdzania pisowni i łamania haseł.
„Bezbarwne zielone pomysły śpią wściekle”. Chomsky.
@TRiG: To kombinacja, którą mam na swoim bagażu!
Właściwie „ortografia” powinna brzmieć „ortografia”. (Nie jestem pewien, czy wpisałeś to błędnie lub czy Twój słownik zawiera już ten błąd).
Zgodziliśmy się więc: Niemcy potrzebują dwóch słów, reszta z nas czterech? :)
@D.W. „_Raczej jest to wybranie losowo 4 słów z mniejszego słownika zawierającego 2000 najpopularniejszych słów ._” Nie widzę tego nigdzie w komiksie ani w „podpowiedzi” w oryginalnym komiksie xkcd? Ponadto: jak czy mniejszy słownik poprawia entropię (o której mówi komiks)?
@PaŭloEbermann Nie mam pojęcia; wszystkie słowa pochodzą z jakiejś przypadkowej bazy danych „Dictionary”, którą miałem w pobliżu. Mój komentarz nie dotyczy jednak doskonałej pisowni, ale nie „po prostu” możliwości tworzenia łatwych do zapamiętania „zdań” (niezależnie od wszelkich literówek, które mogłem popełnić).
Przepraszam za mój komentarz, to było trochę zabawne, że tak naprawdę źle przeliterowałeś słowo „poprawna pisownia”. Tak naprawdę nie ma to związku z bezpieczeństwem twojego systemu (chociaż poprawne hasła będą łatwiejsze do zapamiętania, jak sądzę).
@user3992, jest trochę subtelny. Musisz uważnie przeczytać komiks xkcd i zapoznać się z literaturą dotyczącą bezpieczeństwa i wcześniejszą pracą w tej dziedzinie (np. Diceware). Wskazówki dotyczące omawiania komiksu xkcd: 1. Jeden panel mówi „cztery losowe popularne słowa”. 2. Następny panel mówi "44 bity entropii", co oznacza 11 bitów entropii na słowo - co z kolei sugeruje, że powinieneś wybrać losowo każde słowo ze słownika zawierającego około 2000 popularnych słów. (Nie jest to słownik zawierający 266 000 słów; to byłyby 72 bity entropii, a nie 44, jak podano w komiksie).
@D.W. Ach, to było TAK subtelne, że przegapiłem to! Dziękuję za zwrócenie uwagi!
@RobIII zauważa również, że „o czym jest komiks” NIE jest * tylko * poprawą entropii, chodzi o kompromis między zwiększoną entropią a zapamiętywalnością (użytecznością) - a typowe rozwiązanie to kompromis wstecz.
#18
+8
Jeff
2012-01-12 20:45:45 UTC
view on stackexchange narkive permalink

Też się nad tym zastanawiałem i chciałbym analizować to nie z filozoficznego punktu widzenia (jeśli użytkownicy zapisują swoje hasła, staje się to czymś, co masz zamiast czegoś, co znasz ... 2-czynnik staje się 1 czynnik), ale z matematycznego i naukowego punktu widzenia.

Niedawno pobrałem oprogramowanie do łamania haseł GPU. Chciałbym złamać oba te hasła za pomocą tego (ponieważ jest to moja nowa zabawka) i określić, które jest lepsze.

Dla hipotezy chciałbym również wyrzucić możliwą odmianę - atakujący może wiedzieć, że używasz tylko słów ze słownika i nie narzucasz symboli i liczb (zmniejszając spację).

Scenariusz 1

  - Atakujący wie, że użyłeś tylko słów ze słownika. (Spacja kluczowa = 26 liter + 26 wielkich liter + 1 spacja = 53). - Wymagane hasło musi mieć 4 słowa słownikowe o minimalnej łącznej liczbie 20 znaków. 

Scenariusz 2 b>

  - Tak samo jak w scenariuszu 1, z wyjątkiem tego, że atakujący nie wie, że używane są tylko słowa ze słownika (zwiększa się spacja).  

W stosunku do 2 grup kontrolnych, w których losowe hasła składają się z 2 cyfr, 2 znaków specjalnych i mają 16 znaków.

Czy byłby to odpowiedni test? Jeśli nie, daj mi znać, a zmodyfikuję parametry.

Niezbyt odpowiedni test; ponieważ pierwsze losowe hasło wybierane przez GPU może być hasłem. Istnieje tutaj charakter probabilistyczny, który należałoby wziąć pod uwagę, aby to zadziałało.
Wydaje mi się, że bardziej odpowiednim "testem" byłoby pokazanie, który jest dłuższy za pomocą matematyki?
Nie rozumiem, skąd masz te wymagania dotyczące długości. Dla mnie nie wyglądają rozsądnie. (Efekt losowości można łatwo kontrolować, powtarzając test kilka razy.)
#19
+7
Dick99999
2013-10-15 18:13:18 UTC
view on stackexchange narkive permalink

Komiks XKCD nie przedstawia jednoznacznie, że hasła mogą zawierać symbole separatorów między słowami. Naturalnym wyborem jest dodanie tego samego symbolu między wszystkimi słowami. Jeśli aplikacja ma opcję pokazania hasła, frazę można łatwo zmienić na czerwono. Teoretycznie dodaje 5 bitów siły, obniżonych do 4 bitów, zobacz Metoda „trubadora” wyjaśnienia matematyki w tym komiksie

Dokładne obniżenie oceny zależy również od tego, jak łatwo atakujący powinien odgadnąć symbol lub najpierw wypróbować określone symbole separatora. Dlatego używam 3 różnych zestawów symboli do obliczenia tego rodzaju wzmocnienia. Zestaw1: 13 symboli z liczb-symboli iPhone'a, 31 symboli dla wszystkich i specjalny zestaw 3, dla często używanych symboli separatora: spacja - _

Do obliczeń używam następującego wzoru ( Notacja Excela, tylko jeśli używany jest symbol separatora):

siła = >> patrz poniżej dla uproszczenia = log (NumWordsInCurrentDict * ((sepaClassSize ^ (SepratorLen) +1) * (NumWordsInCurrentDict) ^ ( nWordInPhrase-1)), 2)

4 słowa Diceware mają następujące zalety: Brak separatora: 51,7 bitów; Separator spacji: 53,3 bity; i separator ze wszystkich 31 symboli, takich jak ^: 56,7 bitów

============= edit en edit2: zapomniałem dziennika 2, naprawiono

uproszczona formuła dla powyższego to: log (((sepaClassSize + 1) ^ SepratorLen) * (NumWordsInCurrentDict ^ numWordsInPhrase), 2)

Komiks XKCD przedstawia szerokie możliwości modyfikacji / zamiany haseł. Strona główna hasła Diceware wspomina o specjalnej modyfikacji, której nie ma w części frazy komiksu: wstaw tylko 1 losową literę tylko w jednym ze słów wybranej frazy. To dodałoby kolejne 10 bitów entropii. (Zobacz sekcję „Opcjonalne rzeczy, których tak naprawdę nie musisz wiedzieć”).

#20
+5
Alois Mahdal
2015-07-25 05:01:44 UTC
view on stackexchange narkive permalink

Wydaje się, że większość zgadza się z tym, że w matematyce metoda Horse jest lepsza - w jakim stopniu wydaje się ona dotyczyć głównie ograniczeń, takich jak jednolitość wyborów lub określenie „łatwe do zapamiętania” lub „łatwe do wpisania”.

W porządku, ale nauczę Cię magicznej sztuczki, jak sprawić, by te ograniczenia były „trochę” mniej istotne:

  1. Użyj metody Horse jako platformy do tworzenia nowych fraz. Użyj poprawnie losowej metody, aby wybrać słowa. To może dać ci trudne słowa, których nigdy nie słyszałeś i które mogą być trudne do zapamiętania, ale ...

To za ślepe podążanie za metodą Horse. Magiczna sztuczka polega na tym, że na tym nie koniec . Jeśli nie jesteś desperacko nudną i mało kreatywną osobą, kolejne kroki mogą odnieść wielką korzyść.

  1. Wykorzystaj swój mózg.

    Chodzi mi o to, żeby Twój mózg nie tylko myślał, wypuścił za Ciebie zupełnie nowe słowa lub zupełnie nowe metody zniekształcenia już istniejących.

    Możesz ( lub nawet zachęcamy) do zastąpienia niektórych słów we frazach tymi.

    Ta zasada dotyczy również wszystkiego, co piszę od teraz: po prostu idź i zmieniaj metody dowolnie;)

  2. Skorzystaj z innych swoich języków.

    Większość z nas zna więcej niż jeden język. Wymieszaj je według własnego uznania.

    (Szczególnym przypadkiem może być użycie innego układu klawiatury używanego w Twoim kraju. Na przykład w układzie czeskim litery ze znakami diakrytycznymi mają wspólne klawisze z cyframi --- wiersz nad częścią alfabetyczną. W rzeczywistości tworzy to mapowanie liter i cyfr, które mogą uzupełniać lub zastępować „tradycyjny” L33T. Zastanów się, jak możesz z tego skorzystać.

  3. Wymyśl własne metody.

    ... jak dalej zniekształcać frazę. Możesz ponownie użyć metody dla nowych haseł, wszystko zależy od tego, jak złożona metoda zostanie utworzona --- bardziej złożona, bardziej wielokrotnego użytku, ale nie przesadzaj :)

  4. Spraw, aby ten proces był przyjemny!

    Generowanie hasła nie musi być nudne. Właściwie, zabawniej robisz to, tym bardziej prawdopodobne jest, że faktycznie zapamiętasz hasło.

    Ale nie zrozum mnie źle: nie rób tego śmiesznym kosztem wyjątkowości. zabawne, które jest zabawne tylko dla ciebie (zapytaj swój mózg).

    (Och i nie rób tego zbyt śmiesznie - nie chcesz chichotać i rumienić się za każdym razem, gdy wpisujesz hasło;))

Jeśli zrobisz to dobrze, każdy fragment powyższego da metodzie Horse wielką przewagę.

Ludzkie mózgi są silnie nastawione na przypadkowość i wzorce, a my po prostu strasznie jesteśmy w tworzeniu lub weryfikowaniu losowości. Więc nie, nakłonienie człowieka do wybrania własnych, arbitralnych słów nie poprawi entropii prawdziwie losowego hasła.
#21
-4
fwgx
2011-08-11 18:19:29 UTC
view on stackexchange narkive permalink

Myślę, że jest tu problem z komiksem XKCD. Zakłada brutalny atak na twoje hasło. Jeśli wybrałeś jedno słowo ze słownika, możesz po prostu zaatakować je słownikowo, to jest dane. Możesz także brutalnie wymusić 8-znakowe słowo w krótkim czasie. Tak czy inaczej jest to łatwe.

Zwiększenie liczby słów zwiększa entropię, ale jeśli zmienisz sposób ataku, nie będzie to tak dobre, jak atak brutalnej siły. tzn. jeśli Twój cracker podejrzewa, że ​​używasz wielu słów słownikowych, po prostu użyje słów ze słownika połączonych ze sobą i nie zrobi w ogóle ataku siłowego.

Nawet jeśli osoba atakująca dokładnie wie, której listy słów użyłeś, znalezienie słów, których użyłeś i w jakiej kolejności, wymaga ogromnej ilości pracy. Przy 2000 słów w słowniku i 4 słowach, to 2000 ^ 4 = 1,6 * 10 ^ 12 permutacji do sprawdzenia. To 1,6 biliona (USA)! Więcej słów i / lub większy słownik daje jeszcze lepsze szanse. Więcej informacji można znaleźć pod adresem http://world.std.com/~reinhold/atiblewarefaq.html#someoneknows
Brakuje Ci sensu komiksu, nie liczy się entropii dla całej długości hasła, ale tylko dla każdego słowa.
2000 ^ 4 permutacji jest trywialnych przy użyciu procesorów graficznych, które potrafią * 10 miliardów * kluczy MD5 na sekundę. Jeśli atakujący zna słownik, a hasło składa się z 4 połączonych małych liter, maksymalny czas złamania zostanie skrócony do zaledwie 1600 sekund!
@Andy, to był mój punkt widzenia. Jeśli podejrzewasz, że hasło składa się z wielu słów, nie musisz wykonywać pełnego ataku brutalnej siły, zaczynając od „aaaaaaaaaaaaaaaaaaaaaaaaa”, „aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”, „aaaaaaaaaaaaaaaaaaaaaaaaaab” itd., Wystarczy wybrać ze słownika. OK, więc wciąż jest sporo możliwości, ale to o wiele mniej niż wszystkie możliwe kombinacje liter.
Tak, jakakolwiek znajomość hasła znacznie zmniejsza jego bezpieczeństwo. 4 słowa ze słownika zawierającego 2000 słów to w rzeczywistości czterocyfrowa liczba w bazie 2000. Nawet jeśli są to „133t3d”, jest to równie niepewne.
@Andy, przeczytaj komiks. Jak stwierdza komiks: „... 1000 prób na sekundę. (Prawdopodobny atak na słabą usługę sieciową. Tak, złamanie skradzionego skrótu jest szybsze, ale nie jest tym, czym powinien się martwić przeciętny użytkownik)”. Randall Munro już przewidział i odrzucili Twój komentarz dotyczący łamania skradzionych hash haseł w trybie offline.
DW, dziękuję za przypomnienie, chociaż myślę, że nawet 1000 domysłów na sekundę jest optymistyczne i zostałoby szybko zauważone i zaporowe, a przynajmniej powinno. Kombinacje 2000 ^ 4 powinny być więcej niż wystarczające przy tej częstotliwości, nawet jeśli znany jest schemat hasła.
„Tak, złamanie skradzionego hasha jest szybsze, ale nie o to powinien się martwić przeciętny użytkownik”. Może w '11 to było trafne, ale nie dzisiaj.
Jeśli masz słownik zawierający 30 000 słów, każde dodatkowe losowe słowo dodałoby entropię 14,9 bitów. Pięć słów (5 x 14,9 = 74 bity) wystarczyłoby dla konta offline. Trzy słowa wystarczą, aby założyć konto online, na którym można wykryć siłę uderzenia.
#22
-5
yelvington
2011-08-11 05:56:09 UTC
view on stackexchange narkive permalink

Całkowicie źle. Tu działa coś więcej niż matematyka. Istoty ludzkie tworzące hasła z ludzkiego języka! = Boty tworzące losowe ciągi znaków z wiader znaków. Jeśli zaczniesz od tego założenia, entropia jest radykalnie zmniejszona jako czynnik w czasie niezbędnym do złamania hasła. Jak powiedział Don Corleone, wielki filozof: myślcie jak ludzie, którzy są wokół was.

Jeśli przeczytasz komiks XKCD, zauważysz, że sugeruje on losowe wybranie popularnych słów ze słownika (np. Z bota). Entropia nadal istnieje, ponieważ są wybierane losowo z zestawu tysięcy możliwości. Tak się składa, że ​​są to możliwości, które ludzie potrafią dobrze rozpoznać.
Tak, system XKCD będzie tak samo słaby jak inne podejścia, jeśli pozwolisz użytkownikom wybrać hasło. Jeśli * wygenerujesz * hasło dla użytkowników (czasami robi to korporacyjne IT), podejście XKCD jest świetne, ponieważ użytkownik będzie bardziej prawdopodobne, że je zapamięta.
#23
-8
Andreas
2011-08-12 06:11:10 UTC
view on stackexchange narkive permalink

Jak już niektórzy stwierdzili (nie zamierzam tego powtarzać), zależy to od mechanizmu ataków siłowych i ataków słownikowych.

Po pierwsze, najlepszy sposób powstrzymanie atakującego przed atakiem to przede wszystkim zabranie celu. Żaden z moich serwerów nie ma uruchomionego SSH na porcie 22, a logowanie roota jest najczęściej dezaktywowane w konfiguracji sshd. Ale to tylko przykład. Nie podawaj nazwy użytkownika, a zaoszczędzisz sobie wielu kłopotów.

To najprostsza matematyka: unikaj ataków innych osób, ukrywając się :)

A więc reszta: ci, którzy faktycznie odgadną nazwę użytkownika, i znajdą twoją usługę, spróbują bardzo typowych ataków siłowych. Krótkie hasła to zawsze zły pomysł, ponieważ słownik nie jest potrzebny. Przełączanie między wszystkimi kombinacjami alfanumerycznymi, zarówno małymi, jak i dużymi, oraz pospolita „sól”, taka jak przecinki, średniki itd., Zajęłoby kilka dni. Opierając się na własnym doświadczeniu (miałem starą konfigurację maszyny rutującej OpenBSD, ale hasło dostawcy Internetu uległo zmianie i nie miałem fizycznego dostępu do maszyny). Okazało się, że hasło to [Imię] [Nazwisko] [Numer] jakiejś gwiazdy.

Byłem ciekawy, więc wypróbowałem różne narzędzia do łamania zabezpieczeń. W przypadku opartego na nazwie złamania tego samego hasła zajęło tylko sześć godzin. Chyba chodziło o przełączanie się między popularnymi kombinacjami nazwa / liczba.

Sztuczka z tymi brutalnymi atakami polega na tym, aby wiedzieć, z czym masz do czynienia. Hasło oparte na czymś osobistym, które jest zaszyfrowane Twoją własną metodą, jest nadal zabezpieczone przed większością ataków słownikowych i można je odgadnąć jedynie za pomocą prostego ataku siłowego, którego przejście przez wszystkie możliwości zajęłoby lata.

Podaj przykład: nazywam się Andreas, więc moje hasło jest trochę bezpieczne.

MyN4me, A-> PwKndSf

Według Rumkina jest to trochę bezpieczne :) Entropia 87,1-bitowa. Łał. Nieźle jak na pierwszą próbę. Właściwie to pamiętam i większość mechanizmów nie będzie próbowała „odgadnąć” tego rodzaju hasła, ponieważ nie ma to żadnego sensu dla żadnego z systemów.

Albo jest krótkie i złożone, jak L5q3CR , -F - co jest trochę trudne do zapamiętania, ale łatwe do odgadnięcia lub składa się z odmian faktycznie istniejących słów. Pomaganie sobie w zapamiętywaniu rzeczy lub wybieranie czegoś naprawdę prostego lub powszechnego to ludzka słabość.

Wiem, to trochę nie na temat, ale: jeśli nie chcesz zostać ofiara ataku siłowego, najpierw zamknij większość drzwi lub jeszcze lepiej: usuń / ukryj drzwi :)

  • nie oferuj mechanizmów logowania, których oczekują crackerzy, jeśli możesz .
  • chroń usługi sieciowe za pomocą uwierzytelniania klienta
  • jeśli jesteś totalnie paranoikiem, filtruj dostęp do swojej usługi również według adresu IP
  • bezpieczny i całkowicie paranoiczna konfiguracja: (to jest niesprawiedliwe dla crackerów :))) po nieudanej próbie podania hasła, przez następne 5 sekund każda następna próba dla tego samego użytkownika (nawet poprawnego) również się nie powiedzie.

Jeśli komuś uda się to wszystko obejść, i tak masz do czynienia z profesjonalistami :) ale chroń swoje hasło, robiąc coś ludzkiego, czego nikt się nie spodziewa i żaden komputer nie może odgadnąć ani przewidzieć: rób swoje, tylko pamiętaj że twoja własna sprawa musi trwać długo ugh, aby uniknąć prostych ataków i przez większość czasu trzymać się z dala od słownika. Użyj czegoś, co ma sens tylko w TWOIM mózgu i umieść w nim kilka znaków specjalnych.

W przypadku crackera szybki sposób odgadnięcia hasła jest oferowany tylko wtedy, gdy robisz coś przewidywalnego, na przykład użyj czegoś krótkiego, to łatwe do zapamiętania lub coś, co składa się z popularnych słów lub kombinacji liter, które można znaleźć w słownikach.

Trzymaj się z daleka od tych, a możesz nawet trzymać się obliczeń Rumkinsa.

Niestety rumkin nie jest wiarygodnym sędzią siły hasła.
Ja się nie chowam. Moje porty ssh są na 22. Jeśli komuś nie uda się zalogować na którekolwiek konto 10 razy w ciągu 5 minut, jego adres IP zostaje zablokowany za pomocą iptables, a do usługodawcy internetowego wysyłana jest wiadomość z ostrzeżeniem o zainfekowanej maszynie w sieci.
Korekta: ** najgorszym ** sposobem na powstrzymanie atakującego przed atakiem jest przede wszystkim zabranie celu. Przeniesienie serwera do innego portu tylko trochę wyczyści twoje logi, uchroni cię tylko przed atakującymi, którzy szukają najniżej wiszących owoców i nie dostaną się do rozsądnie bezpiecznego (wszystkie zastosowane łaty bezpieczeństwa, bez rażąco głupich haseł) system mimo wszystko.
Gratulacje, właśnie wymyśliłeś Security by Obscurity :). I zdegradował podstawowe zabezpieczenia (blokady czasowe) do królestwa całkowicie paranoicznych ...
Ktoś powinien napisać narzędzie, które może wykryć, na którym porcie używasz ssh! ;) Przepraszamy za warkoczyki.
@rox0r: już istnieje, nazywa się „nmap”
@HubertKario Ktoś powinien ci powiedzieć, co znaczy snark, albo, hm, sarkastyczny.


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...