Jak powstają hasła
Każdy znak jest losowany niezależnie i z równym prawdopodobieństwem z puli znaków, na które pozwolisz. Losowość pochodzi z kryptograficznego generatora przeglądarki, crypto.getRandomValues, który korzysta ze źródła entropii systemu operacyjnego.
Jeden szczegół ma większe znaczenie, niż się wydaje. Losowa liczba 32-bitowa sprowadzona do zakresu operacją reszty z dzielenia jest lekko przechylona w stronę pierwszych znaków puli, ponieważ 2³² nie jest dokładną wielokrotnością rozmiaru puli. Generator odrzuca tych kilka wartości, które powodowałyby takie przekłamanie, i losuje ponownie, więc każdy znak naprawdę ma taką samą szansę.
Pule wyglądają tak:
- Małe litery
a-z: 26 znaków. - Wielkie litery
A-Z: 26 znaków. - Cyfry
0-9: 10 znaków. - Symbole: 27 znaków,
!@#$%^&*()-_=+[]{};:,.<>?/~.
Po włączeniu wszystkiego pula liczy 89 znaków. Opcja „Bez podobnych (Il1O0)” usuwa I, l, 1, O i 0, zostawiając 84.
Hasła istnieją tylko na stronie. Zmiana dowolnej opcji od razu tworzy nowy zestaw, a nic nie jest zapisywane ani wysyłane.
Jak czytać wartość entropii
Entropia to liczba bitów, które atakujący musi odgadnąć. Dla losowego hasła to długość pomnożona przez log₂ rozmiaru puli. Każdy dodatkowy bit podwaja pracę.
Kilka konkretnych wartości ze wskaźnika:
- 4 cyfry, czyli PIN: 13 bitów.
- 8 małych liter: 38 bitów, ocena „Słabe”.
- 12 znaków ze wszystkich zestawów: 78 bitów, „Silne”.
- 16 znaków ze wszystkich zestawów: 104 bity, „Doskonałe”.
- 20 znaków ze wszystkich zestawów: 130 bitów.
Oceny zmieniają się przy 40, 64 i 100 bitach. Dla porównania załóżmy, że atakujący wykradł bazę haseł i sprawdza 10 miliardów prób na sekundę przeciwko szybkiej funkcji skrótu. Hasło 40-bitowe pada średnio w niecałe dwie minuty. Hasło 64-bitowe wymaga dziesięcioleci. Hasło 80-bitowe — ponad miliona lat.
Długość jest warta więcej niż różnorodność. Dodanie symboli do 16-znakowego hasła powiększa pulę z 62 do 89 znaków i daje około 8 bitów; dodanie do tego samego hasła czterech kolejnych znaków daje około 26 bitów.
Wartość zakłada, że hasło zostało wygenerowane losowo, co tutaj jest prawdą. Nie mówi nic o hasłach wymyślanych samodzielnie, w których wzorce, imiona i daty sprawiają, że rzeczywista entropia jest znacznie niższa.
Gdy strona odrzuca hasło
Znaki są wybierane niezależnie, więc hasło nie ma gwarancji, że zawiera co najmniej jeden znak każdego włączonego typu. Przy wszystkich czterech zestawach 16-znakowe hasło nie zawiera cyfry w około 15% przypadków; brak wielkiej litery lub symbolu zdarza się w znacznie mniej niż 1% przypadków. Jeśli strona wymaga cyfry, po prostu wybierz inne hasło z partii: ustaw „Ile” na 5 lub 10 i weź to, które spełnia zasady.
Inne częste powody odrzucenia:
- Za długie. Niektóre banki i starsze systemy ograniczają długość do 12, 16 lub 20 znaków. Przesuń suwak, aby się zmieścić.
- Zabronione symbole. Znaki takie jak
<,>,;czy/bywają blokowane. Wygeneruj kilka haseł i wybierz takie bez nich albo wyłącz symbole i dodaj 3–4 znaki długości, aby nadrobić utraconą entropię. - Wpisywane ręcznie. W przypadku kluczy Wi-Fi albo kodów, które się dyktuje lub wpisuje pilotem do telewizora, włącz „Bez podobnych (Il1O0)” i rozważ rezygnację z symboli.
Jak dobrze korzystać z wygenerowanych haseł
Silne hasło pomaga tylko wtedy, gdy każde jest unikalne. To ponowne użycie sprawia, że wyciek z jednej strony daje dostęp do Twojej poczty i banku.
- Przechowuj wygenerowane hasła w menedżerze haseł, a nie w pliku tekstowym czy aplikacji do notatek.
- Dla hasła głównego i konta e-mail używaj 20 lub więcej znaków, bo one otwierają dostęp do wszystkiego innego.
- Skopiowany tekst może zostać w historii schowka na urządzeniu; wyczyść ją, jeśli z komputera korzystają też inni.
- Hasło, które trzeba komuś przekazać, na przykład chroniące archiwum utworzone narzędziem Stwórz archiwum ZIP, wyślij innym kanałem niż sam plik.
Jeśli chcesz przekazać gościom hasło do Wi-Fi, wydrukowany kod z Generatora kodów QR oszczędzi im wpisywania.