W rzeczywistości ma to na celu zapobieganie atakom brutalnej siły przed próbowaniem milionów haseł na sekundę. Chodzi o to, aby ograniczyć szybkość sprawdzania haseł i istnieje szereg zasad, których należy przestrzegać.
- Udana para użytkownik / hasło powinna natychmiast zakończyć się sukcesem.
- Nie powinno być żadnego dostrzegalna różnica w przyczynach awarii, które mogą zostać wykryte.
Ten ostatni jest szczególnie ważny. Oznacza to brak pomocnych wiadomości, takich jak:
Your user name is correct but your password is wrong, please try again
lub:
Sorry, password wasn't long enough
Ani nawet różnicy w czasie odpowiedzi między przyczynami niepowodzenia „nieprawidłowego użytkownika i hasła” i „prawidłowego użytkownika, ale nieprawidłowego hasła”.
Każda awaria powinna zawierać dokładnie te same informacje, tekstowe i inne.
Niektóre systemy idą jeszcze dalej, zwiększając opóźnienie z każdą awarią lub zezwalając tylko na trzy awarie, a następnie mają ogromne opóźnienie, zanim pozwolą na ponowną próbę.