2013-02-24 8 views
5

Widziałem kilka postów na ten temat, ale nie widziałem koniecznej ostatecznej odpowiedzi. Dlatego też myślałem, że spróbuję powtórzyć pytanie w nowym kontekście (Departament Obrony).Złożoność hasła DoD: Użytkownicy nie mogą ponownie użyć żadnego z poprzednich haseł X

Według DISA "Application Security and Development STIG, V3R2", sekcja 3.1.24.2 Hasło złożoność i utrzymanie, DoD oprogramowania dla przedsiębiorstw ma dość trudny wytyczną hasłami:

  • hasła muszą wynosić co najmniej 15 postacie długie.

  • Hasła muszą zawierać mieszankę dużych liter, małych liter, cyfr i znaków specjalnych.

  • Kiedy hasło zostało zmienione, użytkownicy nie muszą być stanie używać informacji osobistych, takich jak nazwiska, numery telefonów, nazw kont lub słownika wyrazów.

  • Hasła muszą wygasnąć po 60 dniach.

  • Użytkownicy nie mogą mieć możliwości ponownego użycia żadnego z ich poprzednich 10 haseł.

  • Upewnij się, że aplikacja może wymagać, aby nowe hasła do konta różniły się od poprzedniego hasła o co najmniej cztery znaki podczas zmiany hasła.

  • Użytkownicy nie mogą zmieniać haseł więcej niż raz dziennie, z wyjątkiem przypadku administratora lub uprzywilejowanego użytkownika . Użytkownicy uprzywilejowani mogą być zmuszeni do zresetowania zapomnianych haseł użytkownika i możliwości zmiany haseł więcej niż raz dziennie.

Jak stwierdzono w NullUserException's post, dla dewelopera, aby rzeczywiście być w stanie sprawdzić na ostatni X ilości haseł (a także upewnić się, że nowe hasła różnią się od poprzedniego hasła [kula 6]), hasła musiałoby zostać zaszyfrowane za pomocą metody odwracalnej, zamiast hashowania hasła (które jest dużo bardziej niezabezpieczone, nawet jeśli używam algorytmów szyfrowania zatwierdzonych przez NSA). Proponowana odpowiedź wydawała się mieć sens, choć wydawało się, że istnieją pewne rozbieżności i argumenty, jak widać w Dan Vinton's post.

Domyślam się, że prawdziwe pytanie brzmi: czy ktoś był w stanie zaimplementować wszystkie te pozornie typowe ograniczenia złożoności hasła, nie zmniejszając w rzeczywistości bezpieczeństwa ich systemów??


Edit: Luka APP3320.7 (podpunkt 6) stwierdza: „Upewnij się, że aplikacja ma możliwość zażądania, aby nowe hasło konta różnią się od poprzedniego hasła przez co najmniej cztery znaki, gdy hasło zostało zmienione . " To doprowadziło mnie do przekonania, że ​​będę musiał uruchomić algorytm podobieństwa sznurków, taki jak Levenshtein, aby sprawdzić podobieństwo. Nie mogę tego zrobić na haszyszu/soli. Daj mi znać, jeśli się mylę?

+1

Te dwa hasła: "Hasła muszą wygasnąć po 60 dniach." oraz "Użytkownicy nie mogą ponownie używać żadnego z poprzednich 10 haseł". prowadzić do zapisywania haseł. Mniej bezpieczne .... To nie są systemy, które zwykle są najsłabszym punktem: ludzie są .... –

+4

Dlaczego zabraniając ponownego wykorzystywania poprzednich haseł, musisz zaszyfrować hasła odwracalne? Z pewnością, jeśli przechowujesz X poprzednich haszów/soli, to jest to wystarczająco proste, aby sprawdzić, czy proponowane nowe hasło pasuje do któregoś z tych –

+0

@FrederickCheung oddelegowany. Możesz użyć hashe do sprawdzenia, tak jak robi to logowanie. –

Odpowiedz

12

Wymagane odstępy między znakami dotyczą tylko (jednego) poprzedniego hasła, a nie 10 poprzednich. Zakładając, że narzędzie do ochrony hasłem wymaga wprowadzenia bieżącego hasła, a także nowego, po prostu sprawdź to; nie ma potrzeby przechowywania czegokolwiek. (Też zauważyłem na this answer do wpisu, o którym wspomniałeś.)

Wymóg niepasowania któregokolwiek z poprzednich 10 haseł, oczywiście, jest obsługiwany po prostu sprawdzając stare hashe.

+0

To ma sens. Nie mogę uwierzyć, że o tym nie myślałem, ponieważ jest wszędzie. Dziękuję za wejście i to spełni wymagania. Gdybym mógł zdobyć sto razy na wypełnienie mojego martwego mózgu o 2:30 nad ranem, zrobiłbym to. –

0

Używanie metod odwracalnych do generowania kluczy opartych na hasłach nie jest bezpieczną praktyką i NIE wolno Ci tego robić. Nie wolno również przechowywać informacji uwierzytelniających na podstawie zwykłego tekstu. Ponieważ będziesz przechowywał klucze (i być może sole, jeśli masz do czynienia z takim fetyszem), zachowywanie kopii 10 ostatnich kluczy i sprawdzenie nowo przedłożonych haseł jest banalne.

Powiązane problemy