Почему использование хешированного пароля повышает безопасность? - PullRequest
2 голосов
/ 22 декабря 2011

Я провел некоторое исследование о безопасном хранении паролей в базе данных. Обычно рекомендуется использовать соль. Как объясняется в одном из ответов в Безопасный хэш и соль для паролей PHP , это меняет значение хэшей, делая пароль более сложным для компрометации.

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

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

Ответы [ 2 ]

4 голосов
/ 22 декабря 2011

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

, если ваш пользователь вводит пароль, скажем, длиной 6-8 символов.Хакер может иметь предварительно сгенерированные хеши для всех возможных строк длиной 6-8 символов, и он может вывести пароль, сравнив его с вашим хешем. (Сопоставляя ваш хеш со всеми предварительно сгенерированными хешами, он может получить набориз возможных кандидатов, если произойдет столкновение)

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

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

3 голосов
/ 22 декабря 2011

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

...