Как стать автором
Обновить

Так ли безопасно хранение пароля в виде хеша

Разработка веб-сайтов
Практически любой, даже начинающий разработчик, скажет вам, что пароли в базе надо хранить только в виде хеша (например md5). Это обеспечит их сохранность и увеличит безопасность системы в целом. Так ли это на самом деле?
В действительности нет, не так. Безопасность, да и сохранность, конечно повысится, но не очень сильно. В интернете уже давно есть базы хешей многих паролей. Трехминутный поиск только по Яндексу вывел меня на следующие сайты — MD5decrypter (568 002 хешей) и Insidepro (10 148 884 хешей). Уже не мало, ведь так? А это только открытые проекты и только по md5. Я думаю у любой серьезной хакерской группы есть свои базы, благо, с наличием бот-сетей распределенные вычисления перестают быть проблемой.
Кто-нибудь самый догадливый предложит, а давайте к пользовательскому паролю добавлять свой секретный длинный префикс. Ну или делать, например, md5 от md5. Взломщик никогда об этом не догадается и пароль не подберет.
Не поможет. В действительности при взломе хеша нам важен не оригинальный пароль, а поиск коллизии. Ведь неважно введем мы пароль 76854 или Fhndkts если md5(’76854′) будет совпадать с md5(’наша_секретная_строка’.’Fhndkts’).

Единственная проблема, что вариантов хешей все таки очень много и они будут занимать очень большое место в базе данных. да и поиск по ним потребует очень длительного времени.
Однако и эта проблема решается при помощи Rainbow Tables. Используя их мы на несколько порядков уменьшаем размер хранимой базы и скорость поиска пароля. Более подробно об этом можно почитать здесь и здесь. Для построение таких таблиц также нужны распределенные вычисления. И такие проекты есть — Rainbowcrack.com. Размах впечатляет — 2,628 таблиц, 102,080,000,000 цепочек (в каждой цепочке примерно 1000-1500 паролей), 1.49 Тб данных. Есть также российский подобный проект, но пока добились они намного меньшего.
Вот и как теперь хранить пароль?
denis.boltikov.ru
Теги:md5hashsecurityхакервзломподбор пароляденис болтиков
Хабы: Разработка веб-сайтов
Всего голосов 31: ↑16 и ↓15 +1
Просмотры6.7K

Похожие публикации

Веб-дизайнер
от 40 000 ₽Территория РостаМожно удаленно
Junior разработчик веб (remote)
от 1 000 до 1 500 $Nitka Technologies, Inc.Можно удаленно
Веб-дизайнер
от 80 000 ₽Синергия-ИнфоМоскваМожно удаленно
Веб-дизайнер
от 40 000 до 60 000 ₽uKit GroupМожно удаленно
Веб-разработчик
от 50 000 до 60 000 ₽CharltonsМожно удаленно

Лучшие публикации за сутки