Temat doboru haseł jest tematem bardzo trudnym i też różne osoby mają różne na ten temat zdania. Postaram się wobec tego moim liberalnym, a jednak paranoicznym okiem spojrzeć na tę sprawę.
Proszę pamiętać, że poniższy tekst jest jedynie moją opinią i w dodatku jedną z wielu możliwych. Nawet jeżeli ktoś radzi inaczej, nie znaczy, że on lub ja nie mamy racji. Podejść do bezpieczeństwa haseł może być przecież wiele.
Jak często zmieniać hasła?
W dawnym i nieobowiązującym już od 25 maja 2018 roku rozporządzeniu było powiedziane wprost, że hasło powinno być zmieniane nie rzadziej niż co 30 dni i kropka. Tylko, że to rozporządzenie weszło w życie w 2004 roku! Wydaje się, że ówczesny pomysł zorientowany był na jeden centralny system informatyczny, do którego logujemy się tak, jak wchodzimy do swojego pomieszczenia w pracy i już. Codziennie lub prawie codziennie, regularnie, ciągle. Mamy jedno hasło, posługujemy się nim nieustannie i zmiana co miesiąc nie jest jakaś mocno kłopotliwa.
Obecnie jednak mamy raczej do czynienia z wieloma rozproszonymi systemami, do których musimy się ciągle logować. Nie są one ze sobą połączone, do niektórych z nich zaglądamy rzadko, czasami jeden raz w roku (jak do systemów deklaracji PIT). Do tego część haseł to np. hasła używane nie przez człowieka, a maszyny (np. hasło do udostępnionego w sieci katalogu, do którego maszyna kserograficzna wrzuca skany).
Dobrze więc, że to rozporządzenie przestało obowiązywać. Nie znaczy to jednak, że można zaprzestać zmian haseł! Po prostu sztywne określenie 30 dni jest błędne. Czasami hasło powinno być zmieniane codziennie, a czasami co pół roku. To powinno wynikać z analizy systemu i ryzyka ataku, a nie bezrefleksyjnego zapisu w rozporządzeniu czy nawet w polityce bezpieczeństwa.
Dlatego uważam, że właściwe postępowanie z hasłami należy rozpocząć od określenia jakie hasła i do jakich systemów funkcjonują oraz jakie jest ryzyko w każdym z przypadków. Popatrzmy na przykładach najlepiej mi znanych:
- System do tworzenia i wysyłania deklaracji PIT.
Używany raz do roku, baza dokumentów zapisana na dysku. W tym wypadku zmiana hasła co miesiąc nie polepsza bezpieczeństwa. Jeżeli ktoś wykradł bazę, to i tak kolejne zmiany nic nie wnoszą. Myślę, że spokojnie można ograniczyć zmianę hasła do corocznej zmiany przy okazji dokonywania rozliczeń. - System księgowy lub księgowo-płacowy na lokalnym serwerze, sieć dostępna tylko dla zaufanych pracowników.
Częsta (a więc i comiesięczna) zmiana hasła spowoduje tylko to, że hasło będzie dobierane w sposób schematyczny (typu Styczeń 2019 albo Anna01/02/03) lub będzie zapisywane gdzieś w niekoniecznie chronionym miejscu. Dlatego myślę, że zmiana co kwartał lub nawet pół roku w tym wypadku będzie wystarczająca. - Konto w systemie operacyjnym, na które ksero składuje skanowane dokumenty.
Tu zmiana hasła spowoduje, że konieczna będzie również rekonfiguracja ksera. Dlatego istnieje spory nacisk na to, żeby to hasło się nie zmieniało. Należy jednak sprawdzić – czy sieć dostępna jest tylko dla urządzeń zaufanych (o podziale sieci można przeczytać tu: Szkoło! Zadbaj o swoją sieć!) i wprowadzić procedury usuwania starych skanów z tak udostępnionego maszynom repozytorium. - Konto w systemie operacyjnym, które udostępnia dane księgowe/płacowe do innych stanowisk.
W tym przypadku niemożliwe są procedury czyszczenia repozytorium, więc poza obowiązkowym zablokowaniem dostępu do sieci niezaufanym urządzeniom, należy jednak wprowadzić powiedzmy cokwartalną zmianę hasła. - e-dziennik wykorzystywany przez nauczyciela w klasach i może w domu.
Ryzyko podejrzenia hasła przez uczniów jest bardzo duże. Tym większe, im mniej obyty komputerowo jest nauczyciel. W tym wypadku zmieniałbym hasło co 30 dni, zgodnie z dawną zasadą. I oczywiście częściej, o ile tylko pojawi się podejrzenie, że ktoś hasło poznał. - Inne systemy chmurowe, takie jak SIO, e-Sekretariat itp.
Może nie są narażone tak bardzo na podejrzenie hasła, ale nadal obstawałbym około 30 dniach, z uwagi na dostępność Online i możliwe próby złamania z zewnątrz. - Hasła do plików typu ZIP, PDF, DOC, XLS
(czytaj: Szyfrowane pliki ZIP lub Szyfrowane PDF-y lub Szyfrowanie plików Word, Excel, Writer i Calc).
W ich przypadku problem jest taki, że jeśli przestępca ukradnie taki plik, to ma nieskończenie wiele prób złamania hasła. Może też podpatrzeć gdzieś hasło, podsłuchać albo wyłudzić. Może na różne sposoby próbować to hasło pokonać i jeśli mu to się uda, to będzie miał nieskończony dostęp do starych i kolejnych plików. Dlatego należy bardzo dokładnie przemyśleć, jakie dane i gdzie w ten sposób są zabezpieczane i dokonywać zmiany na tyle często aby ewentualne skutki przejęcia danych były akceptowane. Ale też i na tyle rzadko, żeby nie okazało się, że dla ułatwienia sobie życia, ludzie przesyłają hasło e-mailem razem z zaszyfrowanym plikiem.
Oczywiście każdy musi przemyśleć temat osobiście. Zbyt rzadka zmiana hasła to oczywiście obniżenie bezpieczeństwa, ale zbyt częsta również, bo użytkownicy mają tendencję do ich zapisywania albo tworzenia haseł różniących się tylko numerkiem. Dlatego wskazany jest rozsądek.
Awaryjna zmiana hasła
Oczywiście planowe zmiany hasła, ustalone w polityce, poprzedzone analizą przypadku, to wytyczne w sytuacjach typowych. Jeżeli jednak pojawia się jakiekolwiek podejrzenie wycieku hasła, należy dokonać zmiany natychmiast.
Usiadłem kiedyś na schodach jednej ze szkół czekając na Dyrektora i zalogowałem się do banku. Po chwili jednak zauważyłem, że nade mną wisi kamera z monitoringu. Choć szansa na to, że akurat ktoś, kto ma dostęp do nagrań, je sobie odtworzy i odczyta moje hasło, jest bardzo niewielka, to jednak moje hasło się nagrało! Szybko więc wyszedłem z zasięgu kamery i dokonałem zmiany.
Dobór hasła
Szkół dobierania haseł jest kilka. Ja przedstawię moją, stosowaną przeze mnie z powodzeniem od lat.
Jedno czy wiele haseł?
Zdecydowanie wiele haseł. Stosowanie jednego hasła do wielu systemów jest bardzo kuszące, jednak zdecydowanie niebezpieczne. Wyciek takiego hasła kompromituje wszystkie systemy na raz! Z drugiej strony, należy się zastanowić jakie to są systemy. Jeżeli mamy konta na 3 publicznych forach dla księgowych oraz na portalu z opiniami prawnymi oraz jeszcze na portalu ze śmiesznymi zdjęciami, to w moim odczuciu bezpieczniej mieć jedno hasło niż ogarniać temat pamiętania 5 haseł do 5 systemów, do których włamanie nie wydaje się jakoś mocno niebezpieczne.
Co innego jednak gdy posługujemy się systemem bankowym, płacowym, sekretariatem szkolnym czy SIO. Zgromadzone tam dane stanowią realną wartość i stosowanie jednego hasła jest zdecydowanie złym pomysłem.
8 znaków i tyle?
W rozporządzeniu był nakaz, aby hasło miało co najmniej 8 znaków, małe i duże litery, cyfry lub znak specjalny. No i zazwyczaj traktowano ten zapis tworząc ośmioznakowe hasła, najlepiej z losowych literek, np. takie: k&yjY8a%. Tylko kto zapamięta takie hasło? Kto je płynnie wpisze? Zwłaszcza jeśli za 30 dni ma ono ulec zmianie na sY7&!0)w.
Jaka jest moja propozycja? Otóż ja stosuję długie hasła, hasła po 20-30 znaków. Brzmi przerażająco? No tak, jeżeli sobie wyobrazimy hasło w rodzaju WYD-)=mS;P{;*\%Z^{L-%+7YZhde}n, to zapewne pada blady strach. Jednak zamiast tego, proponuję hasło w rodzaju KaczkaBiegaPoTrawie15% albo ToPrzerażająceSIO89$ albo KochamKrystynęZKsięgowości78@. Zdecydowanie wygodniej i zapamiętać i wpisać, nawet w porównaniu do ośmioznakowego k&yjY8a%.
Czy hasło jest złe, jeśli zawiera słowa?
No i właśnie, tu się pojawia często zarzut, że hasło z prawdziwymi wyrazami ze słownika jest łatwe do złamania, bo można próbować atak słownikowy, czyli kolejne próby wyrazów ze słownika. Tylko, że to nie takie proste. Załóżmy bardzo wygodnie dla atakującego, że ma on zaszyfrowany plik, ma nieskończenie wiele prób, a moje hasło to: KaczkaBiegaPoTrawie. Oczywiście atakujący nie wie jakie mam hasło, ale wie, że używam wyrazów. Załóżmy, że w języku polskim jest około 10 tysięcy wyrazów.
- Wersja pierwsza, atakujący wie, że są 4 wyrazy. Mamy więc 10 tysięcy * 10 tysięcy * 10 tysięcy * 10 tysięcy możliwości ułożenia 4 dowolnych słów ze słownika 10 tysięcy słów. Czyli 10 tysięcy do potęgi czwartej. Czyli 10000000000000000 możliwości.
- Skąd jednak atakujący ma wiedzieć, że są 4 wyrazy? Może jest ich inna liczba? Musi więc sprawdzić 10 tysięcy haseł na wypadek, gdybym miał 1 wyraz w haśle. Następnie 10 tysięcy * 10 tysięcy na wypadek dwóch. Potem 10 tysięcy * 10 tysięcy * 10 tysięcy na wypadek 3. I na koniec 10 tysięcy * 10 tysięcy * 10 tysięcy * 10 tysięcy możliwości ułożenia 4 dowolnych słów ze słownika 10 tysięcy słów. Czyli 10 tysięcy do potęgi 10. A więc możliwości jest: 10000000000000000000000000000000000000000.
- Ale zaraz zaraz, przecież jeszcze duże litery. Przecież nie muszą być w każdym wyrazie, ani zawsze na pierwszej pozycji. Jeśli więc nie będziemy regularnie stosować zasady Duża Na Początku, tylko np. zrobimy KaczkaBiegaPoTrawiE, liczba możliwości rośnie tak bardzo, że nie podejmuję się tego liczyć 🙂 Każdą z literek w haśle trzeba by próbować na 2 sposoby. Czyli każde z utworzonych 10000000000000000000000000000000000000000 haseł może występować w wielu wariantach. Dla matematyków – wariantów jest 2 do potęgi równej liczbie znaków, czyli np. 2 do potęgi 20 wynosi 1048576.
- Ale zaraz zaraz, przecież proponowałem początkowo KaczkaBiegaPoTrawie15% a nie samo KaczkaBiegaPoTrawie, jak potem uwzględniłem w obliczeniach. Więc nieobliczalna dla już liczba z samymi literami i wyrazami staje się jeszcze większa, bo należy wstawić tam jeszcze cyfry i znaki specjalne. I kto powiedział, że na samym końcu? Przecież hasło to może być Kaczek15MamNaPodwórku!
Tak więc, pomimo pozornego łatwego złamania hasła z wyrazów, nie jest to takie proste. I raczej atakujący będzie stosował inne metody, takie jak choćby socjotechnikę, czyli wyłudzenie hasła od użytkownika albo tzw. keyloggery, czyli szkodliwe programy wyłapujące hasło wpisywane przez użytkownika.
Nie stosujmy łatwych schematów
Choć zachęcam do tworzenia łatwych do zapamiętania haseł, to jednak ta łatwość musi być jedynie dla użytkownika, a nie atakującego. Jeżeli nasze hasło będzie w schemacie KaczkaBiegaPoTrawie15!, KaczkaBiegaPoTrawie16!, KaczkaBiegaPoTrawie17! to będzie ono i tak lepsze niż Styczeń2019! ale nadal złe. Schemat dobierania haseł powinien być niełatwy do odgadnięcia.
Nadal ciężko zapamiętać
Pomimo stosowania zapamiętywalnych haseł, nadal mamy ich za dużo. Co w takiej sytuacji? Coraz modniejsze są tzw. portfele na hasła, czyli programy komputerowe, w których jedno skomplikowane hasło zabezpiecza wiele haseł do różnych systemów. Na ten temat napiszę oddzielny artykuł, teraz jednak wspominam, że istnieje taka możliwość.
Na pewno nie powinno się notować haseł w widocznym i dostępnym dla kogokolwiek innego miejscu.
A co, jeżeli trzeba podać hasło?
We wzorcowym informatycznym świecie hasło powinno być znane tylko użytkownikowi. Jednak 20 lat mojej kariery jako serwisanta w małych jednostkach pokazuje, że tak się nie da. Nieraz muszę się zalogować na cudze konto, bo tylko tak da się mu udzielić pomocy. W takim wypadku należy zrobić wszystko, żeby jednak osoba serwisująca nie poznała bezpośrednio hasła. Czyli wpisywać je samodzielnie i nadzorować pracę serwisu, a jeśli konieczne jest jednak podanie tego hasła, to najlepiej przed podaniem serwisowi zmienić na tymczasowe i takie, które nie ujawnia naszej polityki nadawania haseł, ale nadal bezpieczne.
Konsultuj politykę haseł
Idealnie byłoby, gdyby polityka haseł została dobrze opracowana przez specjalistów i zawierała jasne wytyczne co do tego jak dobierać hasła oraz do jakich systemów kiedy je zmieniać. Taką politykę powinien opracowywać Inspektor we współpracy z Informatykiem. Przemyślana lista systemów wraz z zasadami i możliwie maksymalną automatyzacją tego, to dobry pomysł.
Co jeszcze?
- Podkast Łukasza Jachowicza na temat haseł i ich niedawnego wycieku: https://www.trzyminuty.com/2019/01/jak-sie-nie-dac-wlamywaczom/
- Artykuł Niebezpiecznika o programach do zapamiętywania haseł: https://niebezpiecznik.pl/post/keepass-jak-zaczac-swoja-przygode-z-managerem-hasel/