To naprawdę bardziej dodatek do sprytnej odpowiedzi @ Briana. Czapki z głów również dla @Martijn Pieters za dodanie szczegółowych informacji o tym, jak brutalnie wymusić stare hasła w oparciu o bieżące, oraz dla maniaka @ratchet dla „dystansu hamującego”. Nie usuwam mojej odpowiedzi, ponieważ uważam, że stanowi ona ciekawe tło do tworzenia kopii zapasowych.
Najnowocześniejsze przechowywanie haseł wymaga użycia wielu rund silnego jednokierunkowego skrótu kryptograficznego (SHA-512 +) z unikalną solą (128 bitów +) dla każdego użytkownika. Ale nie kusz się, aby przechowywać dodatkowe informacje o każdym haśle. Im więcej informacji o każdym haśle będziesz przechowywać, tym bardziej podważasz bezpieczeństwo swojego algorytmu mieszającego.
Przykład
Zastanów się, jak łatwo można wymusić hasło, jeśli wiesz, że:
- Ma 7 znaków
- Znaki 3-5 są dużymi literami (4 to małe)
- 1 i 7 są liczbami
- 6 to symbol
Klawiatura amerykańska ma 95 znaków do wydrukowania, więc znajomość hasła o długości 7 znaków daje 95 ^ 7 = 69 883 729 610 000 = permutacje 7x10 ^ 13. Gdyby było naprawdę losowe, złamanie tego na pojedynczym procesorze 3Ghz zająłoby rok. Ale:
- Jest tylko 26 wielkich i 26 małych liter
- Jest tylko 10 cyfr dających 100 możliwości dla tych dwóch liczb
- Jest tylko 32 symboli
Tak (poprawione dzięki @Hellion):
26^4 (charcters 2-5 are known upper or lower-case)
x 100 (characters 1 & 7 are digits)
x 32 (character 6 is a symbol)
====
1,462,323,200 possible passwords.
To 50 000 razy łatwiejsze do złamania! Przechowywanie dobrych informacji w celu uniknięcia podobnych haseł w tym przypadku zabrało Ci złamanie 7-znakowego hasła z roku do kilku godzin. Dekodowanie wszystkich haseł na potężnym komputerze wieloprocesorowym z dobrą kartą wideo i odrobiną cierpliwości jest teraz bardzo wykonalne. Mam nadzieję, że ten prosty przykład pokazuje, że im bardziej sensownie możesz porównać podobne hasła, tym mniej bezpieczne będzie twoje haszowanie.
Znaczenie silnego mieszania
Bazy danych z hasłami są regularnie kradzione, z niesamowitymi włamaniami do wiadomości co miesiąc. Heck, w zeszłym miesiącu stan SC stracił numery ubezpieczenia społecznego wszystkich - ups! Ile jeszcze tych naruszeń jest objętych ochroną?
Myśl końcowa
Najbardziej przerażające jest dla mnie to, że ludzie wybierają to samo lub podobne hasło do wielu witryn, aby włamanie się do jednego umożliwiło atakującemu dostęp do nich wszystkich. Chciałbym zobaczyć sprawdzoną metodę zapobiegania tej sytuacji, choć uważam, że zapobieganie najczęstszym złym hasłom pomógłoby bardziej niż zapobieganie ponownemu użyciu przez użytkownika złego hasła w tej samej witrynie. Najlepsze, co mogę zasugerować, to ogólna polityka firmy dotycząca korzystania z bezpiecznego menedżera haseł, który generuje losowe hasła dla każdego z użytkowników i przechowuje je bezpiecznie.