2012-06-21 5 views
0

Многие сайты в эти дни взломаны и хеши паролей украдены. Даже крупные сайты, такие как LinkedIn, не сохраняли свои пароли в безопасности (только md5).Каков наилучший способ безопасного хранения пароля (хэши)

Теперь мой вопрос, что является достаточно надежным способом для хэш-пароля?

В настоящее время я использую это:

sha512(sha512(sha512(password) + salt)); 

Это достаточно безопасно?

+2

ли это на самом деле должен быть свежий вопрос HTTP:? //stackoverflow.com/search д = лучший + пароль + магазин – Cheekysoft

ответ

0

Да, это более чем достаточно безопасно. Лично я думаю, что последний звонок sha512 бесполезен, но я знаю, что мнения различаются.

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

0

Это зависит от вашей соли. Вы создаете уникальную соль для каждого пользователя? Соль не является постоянной, если каждый пароль хэшируется с той же солью, что вы тратите свое время.

Я бы рекомендовал использовать Bcrypt вместо sha512/соли подход, это гораздо труднее грубой силы: http://krebsonsecurity.com/2012/06/how-companies-can-beef-up-password-security/

0

Использование соли, как вы используете в настоящее время является очень хорошим для повышения безопасности, я настоятельно рекомендую использовать случайных соль для каждого пользователя. ИМХО, тем больше времени у вас будет пароль пользователя hash (вы можете повысить безопасность, добавляя соль перед хэшированием каждый раз), тем больше она будет безопасной. Я использую для цикла с 256 повторениями для хеш-пароля, который может считаться защищенным от грубой силы в течение следующей группы лет.

немного не по теме, но я рекомендую также позаботиться о сессии угона (например, регенерирующих SSIDs и т.д ...)

1
hash_hmac('sha512', $data , $key); 

было бы здорово. Лучше использовать по меньшей мере 60 символов для $ key в качестве соли.

1

Трудно сказать, какой из них лучше, но безопасная ставка - это алгоритм BCrypt.

BCrypt - не лучший алгоритм; однако этого достаточно для большинства случаев использования, и так же легко реализовать, если не проще, чем основной метод хеш-солей. Что отличает BCrypt друг от друга, так это то, что вместо более типичного алгоритма SHA- * он использует алгоритм Blowfish, который имеет преимущество в том, что он намного медленнее параллельно. Поскольку пользователи регистрируются в режиме «один раз», это делает его намного сложнее для злоумышленников, которые будут проверять многочисленные пароли, чтобы побить алгоритм.

Подробнее здесь: http://davismj.me/blog/bcrypt/

Смежные вопросы