Большинство служб, программ и т. Д. Имеют различные проверки сложности пароля. Не углубляясь в efficacy of such checks, я подумал о той, которая могла бы быть интересной, но и потенциально проблематично проверить:Проверка сложности пароля: отличается от последних X-паролей
«Новый пароль должен быть Y
персонажи отличаются от последних X
паролей.»
Это помешает людям использовать пароли, такие как Password1!
, Password2!
и так далее. Но если это будет сделано, нельзя использовать hash ранее использованный пароль - они были бы в лучшем случае зашифрованы ... Правильно?
Для небольшого Y
и довольно короткий пароль, вы, вероятно, по-прежнему хранить хэш и BruteForce все Y
письмо вариации нового пароля, но это становится невозможным, как Y
и длина пароля растет.
Моя первоначальная идея заключается в следующем: с тех пор, как вы смените пароль, вы должны указать свой первоначальный пароль, хешировать новый пароль и хранить, а старый - в зашифрованном виде. Теперь это обратимо.
Так что если активный пароль всегда хэширован, есть ли лучший способ сделать это? А также имеет ли это на месте увеличить или уменьшить безопасность приложения?
, на мой взгляд, изменение паролей регулярно компрометирует безопасность, потому что вы не можете ожидать, что люди будут помнить 2000 разных паролей. По моему опыту они меняют его на что-то новое, а затем заходят в систему и меняют его обратно на старую фазу. –
Я никогда не видел случаев, когда люди не увеличивали свой пароль на один. Однако я видел моменты проверки личных данных пользователей и попытки угадать пароли из него и список самых популярных паролей. При этом, как мне кажется, этот вопрос лучше, чем мне кажется, на сайте безопасности. – Ali
Также id хотел бы добавить, что вы НИКОГДА НЕ сохраняете неподдерживаемые/соленые пароли в вашей базе данных –