Hasło to odpowiedź na bardzo stare pytanie: czy jesteś jednym z nas?
Nie wymyśliła go informatyka. Polibiusz w II wieku p.n.e. opisuje, jak rzymska armia co noc przekazywała słowo zapisane na drewnianej tabliczce — tessera — która wędrowała od oddziału do oddziału i wracała do dowództwa. Kto je znał, był swój. Kto nie, nie był.
Dwa tysiące lat później robimy dokładnie to samo. Zmieniło się tylko to, kto pyta — i jak szybko może próbować zgadnąć odpowiedź.
1961 hasło wchodzi do komputera
W listopadzie 1961 roku MIT zaprezentował CTSS (Compatible Time-Sharing System) pod kierunkiem Fernanda Corbató. To był nowy pomysł: jeden bardzo drogi komputer, dzielony przez kilka osób naraz.
I wtedy pojawił się problem. Skoro maszyna należy do wszystkich, pliki każdego muszą należeć do niego. Komputer potrzebował sposobu, by wiedzieć, kto pisze. Rozwiązanie było najbardziej oczywiste i najbardziej rzymskie z możliwych: każdy użytkownik dostaje własne słowo.
Warto powiedzieć to precyzyjnie: Corbató nie wynalazł hasła. Wynalazł hasło na użytkownika w komputerze wielodostępnym, a to co innego. Sam, już w podeszłym wieku, powiedział, że to wszystko stało się „koszmarem“.
1962 pierwszy wyciek — i chodziło o czas maszyny
Rok później Allan Scherr, doktorant tego samego MIT, miał bardzo przyziemny problem: przydzielano mu cztery godziny komputera tygodniowo, a na doktorat potrzebował więcej.
Poprosił więc system o wydrukowanie pliku z hasłami. Tyle. Leżał tam, otwartym tekstem, i nikt nie pomyślał, że ktoś o niego poprosi. Z wydrukiem w ręku używał cudzych kont, żeby dalej pracować.
Ciekawy nie jest ten trik. Ciekawy jest motyw: pierwszego wycieku haseł w historii nie dokonał przestępca, tylko ktoś, kto chciał dalej pracować. Sześćdziesiąt lat później większość dziur w bezpieczeństwie wciąż bierze się z rozsądnych ludzi szukających drogi na skróty.
1979 ktoś zauważa, że w ogóle nie należy ich przechowywać
Przez prawie dwie dekady wiele systemów przechowywało hasła tak, jak były. Kto przeczytał plik, miał wszystko.
W 1979 roku Robert Morris i Ken Thompson opublikowali w Communications of the ACM artykuł „Password Security: A Case History“ o tym, co zrobili w Uniksie. Dwie idee, na których dziś wszystko stoi:
- Nie przechowuj hasła, przechowuj jego skrót. System nie musi wiedzieć, jakie jest twoje hasło; musi tylko móc sprawdzić, czy to, co przed chwilą wpisałeś, daje ten sam wynik.
- Sól: dodać do każdego hasła losową wartość przed policzeniem skrótu, żeby dwie osoby z tym samym hasłem nie miały tego samego skrótu i żeby nie dało się wyliczyć tablicy z góry i złamać wszystkich naraz.
Kiedy dziś mówimy, że serwis „nie powinien znać twojego hasła“, cytujemy artykuł z 1979 roku.
2003 reguły, których wszyscy się nauczyliśmy, i skąd się wzięły
W 2003 roku Bill Burr z amerykańskiego NIST napisał dokument, który zaczął rządzić tym, jak pół świata prosi o hasła: SP 800-63. Stamtąd wzięło się wszystko, co rozpoznajesz od razu:
Co najmniej jedna wielka litera, cyfra i symbol. Zmieniaj co 90 dni.
Brzmiało jak nauka. Nie było. Burr nie miał dobrych danych o prawdziwych hasłach — prawie nie istniały — więc oparł się na tym, co było, i rozumował ku temu, co wydawało się sensowne: więcej różnorodności znaków, więcej kombinacji, więcej bezpieczeństwa.
Problem w tym, że ludzie nie są generatorami losowymi. Poproś o wielką literę
— trafi na początek. Poproś o cyfrę — trafi na koniec. Poproś o symbol — będzie
to !. A jeśli wymusisz zmianę co trzy miesiące, Lato2024! stanie się
Jesien2024!.
Efektem było całe pokolenie haseł, które wyglądają na złożone, a są trywialne, i wyczerpani użytkownicy, którzy używają ich wszędzie, bo już nie dają rady.
2017 NIST się wycofuje, i Burr też
W 2017 roku NIST opublikował SP 800-63B i wycofał się z niemal wszystkiego:
- Długość liczy się bardziej niż złożoność.
- Żadnej wymuszonej rotacji, chyba że są przesłanki kompromitacji.
- Sprawdzać hasło wobec list wycieków, zamiast wymagać symboli.
W tym samym roku Burr powiedział Wall Street Journal, że żałuje dużej części tego, co napisał. To jedno z najuczciwszych sprostowań, jakie wydało bezpieczeństwo informatyczne — a wciąż tysiące formularzy żąda symbolu przez dokument, od którego odciął się jego własny autor.
Dlaczego to nie jest dawna historia
To wszystko ma bardzo konkretną konsekwencję i możesz ją zobaczyć tutaj.
Nasze własne sprawdzanie do niedawna działało na logice z
2003 roku: liczyło wielkie litery, cyfry i symbole. Dawało 92 % „Bardzo
silne“ hasłu Contraseña1! — dosłownie hiszpańskiemu słowu „hasło“ — i 0 %
„Bardzo słabe“ losowej frazie z pięciu słów, która jest nieporównanie lepsza.
Nagradzało dokładnie to, czego robić nie należy. Zmieniliśmy to: teraz szuka twojego hasła w słownikach słów, imion, miast i wzorców klawiatury i mówi, po jakim czasie naprawdę by padło.
I dlatego generator pokazuje ci bity entropii, a nie procenty. Procent nic nie znaczy. Bity znaczą: to ile razy musiałby spróbować ktoś, kto nic o tobie nie wie.
Co robić, w dwóch linijkach
- Długie zamiast pokręconego. Cztery czy pięć losowych słów bije
P@ssw0rdo wiele rzędów wielkości. - Inne wszędzie, i w menedżerze. To jedyna reguła z 2003 roku, która wciąż stoi — i ta, którą najbardziej zlekceważyliśmy.
Pytanie jest to samo, co w Rzymie II wieku: czy jesteś jednym z nas? Zmieniło się to, że pytający może teraz spróbować miliarda odpowiedzi na sekundę. Lepiej, żeby twojej nie było w słowniku.
Źródła: F. J. Corbató i CTSS (MIT, 1961) · własna relacja Allana Scherra o 1962 · R. Morris i K. Thompson, „Password Security: A Case History“, Communications of the ACM, 1979 · NIST SP 800-63 (2003) i SP 800-63B (2017) · wypowiedzi Billa Burra dla Wall Street Journal, sierpień 2017.