четверг, 12 ноября 2015 г.

Как хранятся пароли на сайтах

В Универе мы создавали каждый свой форум. При регистрации пользователя, для хранения пароля используется функция шифрования MD5. Она преобразует пароль пользователя в набор других символов.  Например MD5("Mypassword1")=FUFH38FJ.

Так вот, при регистрации, в базу данных сервиса падает именно последняя загогулина, но не сам пароль. Затем, при каждом входе, сайт берет введённый пароль, преобразует его в MD5 и сравнивает с тем,  что ранее было сохранено в базе. Если совпадает, то доступ открывается.

Вся фишка в том, что "прогнать" так пароль занимает лишь доли секунды. А вот в обратном направлении, практически невозможно. Поэтому, когда хакеры однажды взломали сервер хранения паролей (вроде 1Password), они ничего не смогли дальше с этими записями ничего сделать.

Более того, нас учили применять функцию MD5 насколько раз. То есть: преобразовать пароль, затем снова, и ещё раз и так далее. В таком случае, для взлома пароля, при нынешних пределах вычислительной мощности, для обратных преобразований из MD5 в изначальный пароль уйдёт столетия, если не тысячелетия (!).

P. S.: Хотя, квантовый компьютер взломал бы за пару секунд. Но он пока в теории и его ещё не построили.

Комментариев нет:

Отправить комментарий