Получи случайную криптовалюту за регистрацию!

​Про хранение паролей в виде хэшей Большинство сетевых ресурс | Время IT | IT Time

Про хранение паролей в виде хэшей

Большинство сетевых ресурсов, выполняющих идентификацию и аутентификацию пользователей, хранят у себя какой-либо признак (секрет) для аутентификации. Например, пароль пользователя.

Хранить пароли в открытом виде – совсем уж моветон, поэтому чаще всего хранят хэши паролей.

При входе на ресурс пользователь вводит свой логин и пароль, а на серверной стороне выполняется поиск указанного логина в базе и вычисление хэша от введённого пароля. Если хэш в базе совпадает с вычисленным, то пользователь проходит аутентификацию.

Вся эта нехитрая схема представлена на рисунке ниже.

Хорошие сетевые ресурсы хранят не просто хэши паролей пользователей, но и дополняют их солью (Salt), перцем (Pepper) или тем и другим одновременно.

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

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

Перец работает аналогично соли, но в отличие от последней является константой, т.е некоторой общей битовой последовательностью, которая добавляется к паролю каждого пользователя. Важно, чтобы перец не хранился нигде в базе данных в открытом виде.

Кроме того, иногда операция взятия хэша проводится несколько раз: сначала строится хэш для пароля пользователя, затем хэш от этого хэша и т.д. Такой подход также повышает степень защищенности пароля при его хранении.

#ИБ #термин