Есть ли какое-либо преимущество в повторном -хешировании сохраненных паролей во время входа в систему?

Я занимаюсь обновлением нескольких проектов с использованием различных небезопасных/ужасно небезопасных хэшей паролей на основе MD5 -. Теперь я, по крайней мере, немного лучше информирован о лучших практиках, но мне все еще интересно, не делаю ли я что-то не так. Я не видел, чтобы конкретный процесс, который я реализую, использовался где-либо еще, но по крайней мере один пользователь SO, кажется, хочет сделать что-то подобное .В моем случае:

  • Хэши паролей генерируются с помощью bcrypt. (Поскольку правильными вариантами, похоже, являются bcrypt, scrypt или pbkdf2, а bcrypt был наиболее легко доступен для меня в PHP.)

  • Для каждого хэша используется разная случайная соль. (Чтобы злоумышленники не создали пользовательскую радужную таблицу, рассчитанную с помощью одной статической соли.)

  • Хэш, настройки алгоритма и соль хранятся вместе. (Так как это то, что функция шифрования PHP дает мне для хеш-значения.)

  • После успешного входа в систему хэш повторно -вычисляется с новой случайной солью.

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

Мои вопросы:

  1. Это пустая трата времени?

  2. Есть ли какие-либо опасности при этом?

10
задан Community 23 May 2017 в 12:13
поделиться