Проверка силы пароля: по сравнению с предыдущими паролями

Время от времени я сталкиваюсь с приложениями, которые заставляют вас менять пароли время от времени. Почти повсеместно у них есть это странное требование для нового пароля: он должен быть "значительно" отличается от вашего предыдущего пароля.

Хотя сначала это звучит логично, я думаю следующее: как они это делают? Сохраняют ли они мои пароли в текстовом виде? Я бы принял ответ, который они делают, если бы не тот факт, что это виды приложений, которые притворяются, что заботятся о безопасности так сильно, что заставляют вас менять свой пароль, если он истек! Microsoft Exchange - один из примеров этого.

Я не очень хорошо разбираюсь в криптографических и хеш-функциях, поэтому мой вопрос таков: возможно ли применять такую ​​политику без сохранения паролей в виде обычного текста?

Вы знаете, как эта политика реализуется в реальных приложениях?

ОБНОВЛЕНИЕ: пример. Недавно я изменил свой пароль Microsoft Exchange. Я использую только веб-доступ, поэтому он может быть немного другим - я понятия не имею. Поэтому он заставляет меня менять свой пароль. То, что я иногда делаю, это изменить его на что-то новое, а затем изменить его почти сразу. Причудливая часть состоит в том, что из-за этого я не позволил мне даже изменить ее. Я попробовал изменить его немного, добавив письмо перед ним или изменив один символ - не повезло, он жаловался.

Ответы

Ответ 1

С типичным хэшем, лучше всего вы можете увидеть, совпадает ли новый пароль с предыдущими. Вы можете разбить пароль на несколько хэшей, чтобы получить более гибкое сравнение, например 3 хэша:

  • Только альфа-символы
  • Только числовые символы
  • Все остальные символы

Можно, например, потребовать, чтобы все хеши были изменены, чтобы их можно было принять, чтобы пользователи не меняли свой пароль только с SecretPassword01 на SecretPassword02.

Криптографический эксперт может весить здесь, если это можно сделать безопасным, как один хэш.

ПРИМЕЧАНИЕ, что это не безопасно, как один хеш, поэтому перед тем, как вы это сделаете, убедитесь, что вы действительно сделали свое исследование.

Ответ 2

При смене пароля вам обычно просят старую подтвердить вашу личность. Тогда тривиально сравнить старый и новый, чтобы увидеть, насколько они отличаются. TBH Я не знаю, как сравнивать с несколькими предыдущими паролями, не сохраняя их, но все равно попадая на территорию смешной политики.