O zmienianiu hasła

Ciekawy tekst: Changing Passwords. Przyznam się, że ja nie zmieniam swoich haseł. No, przynajmniej nie wszystkie. Uważam, że w większości przypadków zysk z takiej praktyki nie uzasadnia jej uciążliwości. Tu nawet nie chodzi o pamiętanie zmienionego hasła, pamiętać nie muszę bo korzystam z KeePass. Zmiana kilkudziesięciu haseł trwa.

Okresowa zmiana hasła ma jednak trochę zalet. Tak, skraca czas przez jaki atakujący może korzystać z poznanego hasła, ogranicza również “sensowny czas” łamania hasła. Jeśli w danym systemie hasło musi być zmieniane co 30 dni, a symulacje/szacowania wskazują, że czas łamania typowego hasła jest dużo, dużo większy, wówczas bruteforce jest mało skuteczną/sensowną metodą ataku. Po prostu oczekiwany czas łamania hasła (hasha hasła) jest większy, niż czas jego życia.

Problem w tym, że teoria rozmija się z praktyką. Niestety, bardzo często nie jest tak, że hasło n+1 nie jest związane z hasłem n. Jeśli znajdujemy hasło Misiaczek1 , to z dużą szansą na sukces można próbować Misiaczek2 , Misiaczek3 , (...). W efekcie system może i spełnia jakieś wymagania czy dobre praktyki, zysk z ich stosowania jest jednak mały... Trochę lepiej sytuacja mogłaby się przedstawiać, gdyby poza sprawdzeniem, czy hasło spełnia odpowiednie polityki co do złożoności hasła, oraz czy jest inne niż n ostatnich haseł sprawdzać jeszcze, czy różni się od nich, przynajmniej od ostatniego, w sposób wystarczający. Do takiego sprawdzenia można wykorzystać nawet edit distance.

Wymaganie okresowej zmiany hasła może dać jeszcze jeden pozytywny “efekt uboczny”. Może spowodować, że hasła w różnych serwisach będą różne. Jeśli przy zmianie hasła sprawdzane będzie “podobieństwo” do poprzedniego, jest szansa, że hasła w różnych serwisach będą z czasem różne. Choć równie dobrze może wystąpić taka sekwencja zmiany hasła: Misiaczek1 – > AdminJestGupi1 –> Misiaczek2. I wracamy do punktu wyjścia. Niestety, ciężko jest uchronić użytkownika przed strzeleniem sobie z łuku w kolano jeśli on bardzo tego chce...

Oczywiście są takie sytuacje, w których hasło po prostu trzeba zmienić. Zacytuję Schneiera:

So in general: you don't need to regularly change the password to your computer or online financial accounts (including the accounts at retail sites); definitely not for low-security accounts. You should change your corporate login password occasionally, and you need to take a good hard look at your friends, relatives, and paparazzi before deciding how often to change your Facebook password. But if you break up with someone you've shared a computer with, change them all.

Oczywiście hasło/hasła trzeba zmienić również wtedy, gdy pojawią się informacje, że hasła wyciekły.

Zastanawiam się też nad jedną rzeczą. Skoro użytkownicy mają taki problem z wymyślaniem unikanych, mocnych haseł, może dobrym pomysłem jest robienie tego za nich? Są algorytmy służące do generowania (stosunkowo) łatwych do zapamiętania haseł. W procesie rejestracji konta i przy zmianie hasła użytkownik mógłby otrzymać kilka(dziesiąt) haseł do wyboru, z których wybrałby jedną sugestię. Ciekawy jestem z jakim przyjęciem użytkowników spotkałby się taki system. Dla ilu użytkowników brak możliwości ustawienia swojego Misiaczka1 byłby krańcowo traumatycznym przeżyciem.

Oryginał tego wpisu dostępny jest pod adresem O zmienianiu hasła

Autor: Paweł Goleń