Jestem autorem strony generującej losowe hasła http://passwordcreator.org . Oto, czego nauczyłem się podczas tworzenia tej witryny na temat tworzenia bezpiecznych losowych haseł:
Losowe źródło
Większość generatorów liczb losowych na komputerach jest psuedorandom. Opierają się na algorytmach i nie są odpowiednie do generowania haseł. Zazwyczaj są one zaszczepione bieżącym czasem. Jeśli ta jedna informacja jest znana (lub można ją odgadnąć), możliwe jest odtworzenie ich wyników i zobaczenie wygenerowanych haseł.
Aby wygenerować hasło, należy użyć kryptograficznie bezpiecznego generatora liczb pseudolosowych (CPRNG) . Z Wikipedii dwa wymagania tego typu generatora liczb losowych to:
- biorąc pod uwagę pierwsze k bitów losowej sekwencji, nie ma algorytmu wielomianowego, który mógłby przewidzieć (k + 1) bit z prawdopodobieństwem sukcesu większym niż 50%.
- W przypadku ujawnienia części lub całości jej stanu (lub prawidłowego odgadnięcia) odtworzenie strumienia liczb losowych przed objawieniem powinno być niemożliwe. Ponadto, jeśli podczas działania istnieje wejście entropii, wykorzystanie wiedzy o stanie wejścia do prognozowania przyszłych warunków stanu CSPRNG powinno być niewykonalne.
Nowoczesne przeglądarki internetowe (z godnym uwagi wyjątkiem Internet Explorer) mają teraz dostępne w JavaScript JavaScript do szyfrowania, które ma kryptograficznie bezpieczny generator liczb losowych . Ułatwia to stronom takim jak moje generowanie haseł, które są unikalne i nie można ich zgadnąć na podstawie wiedzy o tym, kiedy i gdzie zostały wygenerowane.
Długość hasła
Częstym atakiem na hasła jest atakujący w celu uzyskania dostępu do bazy danych, w której przechowywane są zaszyfrowane (zaszyfrowane) hasła. Atakujący może następnie generować domysły, mieszać domysły za pomocą tego samego algorytmu haszującego i sprawdzać, czy dostaną jakieś dopasowania. Oto artykuł pokazujący, ile haseł jest podatnych na taki atak. Komputery są teraz na tyle potężne, że atakujący znają się na próbowaniu 100 miliardów haseł na sekundę. Tajne komputery agentów wojskowych i agencji szpiegowskich mogą być w stanie wykonywać większe zamówienia.
Z praktycznego punktu widzenia oznacza to, że hasło należy wybrać z puli kwintillionów możliwości. 96 znaków, które można wpisać na klawiaturze, może wygenerować kwadryliony możliwości przy użyciu ośmioznakowego hasła. Aby być bezpiecznym, hasła muszą być dziś dłuższe niż kiedykolwiek w przeszłości. Komputery staną się mocniejsze w przyszłości i możesz wybrać hasła, które są nawet dłuższe niż to, czego możesz potrzebować, aby czuć się dziś bezpiecznie, aby nie można było ich łatwo złamać w przyszłości. Polecam przynajmniej 10 dla losowych haseł opartych na 96 możliwych znakach, ale użycie długości 12 lub 14 byłoby znacznie lepsze dla przyszłego bezpieczeństwa.