Ну, есть два типа атак на пароли:
- Злоумышленник может каким-то образом считывать ваши хэши паролей, которые хранятся в базе данных (SQL-инъекция или любой другой способ получить доступ к вашемусистема).Теперь злоумышленник хочет получить исходный пароль (поскольку хешированный не дает ему большого доступа).
- Злоумышленник многократно использует вашу регистрационную форму с разными паролями (перебор).
В случае, если он уже обошел вашу форму входа, ему все равно, сколько времени потребуется для одного входа в систему.Но его волнует, сколько времени потребуется, чтобы перебор пароля в его системе (ах).Таким образом, фактор работы просто усложняет взлом пароля, пробуя каждую комбинацию и хешируя ее по тому же алгоритму, что и ваша система.«повторное хеширование» пароля для увеличения продолжительности процесса входа в этом случае не поможет.
В случае 2, однако, он действительно заботится о том, сколько времени нужно для попытки пароля в вашей системе, потому что он должен сделать это много, чтобы получить правильный логин (плюс он, вероятно, должен догадатьсяимя пользователя, если он не может это выяснить).Атакующий должен быть очень тупым, потому что он оставит следы и потратит время.Вы можете сделать его жизнь более несчастной, заблокировав его IP после определенного количества неудачных входов в систему.Кроме того, вы можете добавить sleep
после каждого неверного входа (для режима сна не требуется столько ресурсов, как для интенсивной операции хэширования).