Шифрование паролей: PBKDF2 (с использованием SHA512 x 1000) VS BCRYPT

StackOverflow https://stackoverflow.com/questions/4433216

Вопрос

Я читал о инциденте 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 [PDF

Что сказал, есть также разглагольствовать.

Любые сравнения были бы неполными без таблицы из бумаги Scrypt, упомянутой выше:

Estimated cost of hardware to crack a password in 1 year.

Учебные итерации для PBKDF2-HMAC-SHA256 используют 86 000 и 4 300 000.

Другие советы

Комментарий (Re: Название):

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

Мнения по использованию PBKDF2 VS BCRYPT и независимо от того, следует ли реализовать изменения?

Мое мнение:

Используйте PBKDF2 над BCRYPT. (У меня просто есть больше веры в SHA, чем блеск, без причины)

Что касается того, следует ли вы «реализовать изменения», я не знаю, что вы спрашиваете.

Отредактировано для более четко отдельных дискуссий на шифрование / хеширование от указания моих предпочтений W / R / T алгоритм.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top