Шифрование паролей: PBKDF2 (с использованием SHA512 x 1000) VS BCRYPT
-
09-10-2019 - |
Вопрос
Я читал о инциденте Gawker, и несколько статей обрезали только с использованием Bcrypt Для хеш-паролей, и я хочу убедиться, что мой механизм хеширования достаточно безопасен, чтобы избежать перехода на другой метод. В моей текущей заявке я выбрал PBKDF2. Реализация с использованием SHA2-512 и минимум 1000 итераций.
Могу ли я попросить мнения по использованию PBKDF2 VS BCRYPT и независимо от того, должен ли я реализовать изменения?
Решение
Вы хорошо с PBKDF2, не нужно прыгать в Bcrypt.
Хотя рекомендация по использованию 1000 итераций была сделана в 2000 году, теперь вы хотите гораздо больше.
Кроме того, вы должны взять больше заботиться при использовании BCRYPT:
Стоит также отметить, что в то время как BCRYPT сильнее, чем PBKDF2 для большинства типов паролей, он отстает от длительных пасфоров; Это результаты неспособности Bcrypt использовать больше, чем первые 55 символов парольной фразы, в то время как наши предполагаемые расходы и нист. Оценки энтропии парольной фразы показывают, что 55-символьное ограничение BCRYPT вряд ли вызовут проблемы в настоящее время, реализующие системы, которые полагаются на BCRYPT, могут быть хорошо рекомендуемым либо работать вокруг этого ограничения (например, «предпринимать» парольную фразу для Сделайте его в предел 55-символа) или предпринять шаги, чтобы предотвратить слишком много энтропии паролей в 56-м и последующих символах (например, задавая пользователям веб-сайта вводить свой пароль в окно ввода, которое имеет только пространство на 55 символов).
Что сказал, есть также разглагольствовать.
Любые сравнения были бы неполными без таблицы из бумаги Scrypt, упомянутой выше:
Учебные итерации для PBKDF2-HMAC-SHA256 используют 86 000 и 4 300 000.
Другие советы
Комментарий (Re: Название):
- Не используйте шифрование (обратимые) для хранения паролей, если вы не должны.
- Поскольку вы представили возможности хеширования (не обратимый) вариант в качестве альтернативы, я предполагаю, что вам не нужна обратимость.
Мнения по использованию PBKDF2 VS BCRYPT и независимо от того, следует ли реализовать изменения?
Мое мнение:
Используйте PBKDF2 над BCRYPT. (У меня просто есть больше веры в SHA, чем блеск, без причины)
Что касается того, следует ли вы «реализовать изменения», я не знаю, что вы спрашиваете.
Отредактировано для более четко отдельных дискуссий на шифрование / хеширование от указания моих предпочтений W / R / T алгоритм.