Шифрование пароля: PBKDF2 (используя sha512 x 1000) против Bcrypt
Я читал об инциденте с Gawker, и появилось несколько статей, касающихся только использования bcrypt для хэш-паролей, и я хочу убедиться, что мой механизм хэширования достаточно безопасен, чтобы избежать переключения на другой метод. В моем текущем приложении я выбрал PBKDF2 с реализация с использованием sha2-512 и минимум 1000 итераций.
могу ли я запросить мнения об использовании PBKDF2 vs Bcrypt и должен ли я реализовать перемены?
2 ответов
вы хорошо с PBKDF2, нет необходимости прыгать в bcrypt.
хотя рекомендация использовать 1000 итераций была сделана в 2000 году, теперь вы хотите гораздо больше.
кроме того, при использовании bcrypt:
также стоит отметить, что, хотя bcrypt сильнее PBKDF2 для большинства типов паролей, он отстает от длинных парольных фраз; это происходит из-за неспособности bcrypt использовать больше, чем первые 55 символов фразы при наших сметных расходов и NIST по . оценки энтропии парольной фразы предполагают, что 55-символьное ограничение bcrypt не вероятно, вызовут проблемы в настоящее время, разработчики систем, которые полагаются на bcrypt может быть хорошо рекомендовано либо обойти это ограничение (например," предварительно " парольную фразу, чтобы она вписывалась в ограничение 55 символов), либо предпринять шаги для запретить пользователям размещать слишком много энтропии пароля в 56-м и последующих символов (например, запрос пользователей веб-сайта на ввод пароля поле, в котором есть место только для 55 символов).
Что сказал, Есть также скрипт.
любые сравнения были бы неполными без таблицы из документа scrypt, упомянутого выше:
итерации рассчитывает на PBKDF2 с-с HMAC-SHA256 и там применяются 86,000 и 4,300,000.
комментарий (re: название):
- не используйте шифрование (обратимый) для хранения паролей, Если вы не должны.
- поскольку вы представили вариант хэширования (нереверсивный) в качестве альтернативы, я предполагаю, что вам не нужна обратимость.
мнения об использовании PBKDF2 vs Bcrypt и должен ли я реализовать a перемены?
мое мнение:
используйте PBKDF2 над Bcrypt. (У меня просто больше веры в ша, чем Blofish, без причины)
Что касается того, следует ли вам "реализовать изменение", я не знаю, о чем вы спрашиваете.
отредактировано, чтобы более четко отделить обсуждение шифрования / хэширования от указания моих предпочтений с алгоритмом w/r/T.