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 :
- Wybierz losowe słowo z dużej listy znaczących słów.
- Zdecyduj losowo, czy pierwsza litera ma być wielka, czy nie.
- 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ę).
- 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.