как соль используется в процессе аутентификации? - PullRequest
2 голосов
/ 20 декабря 2011

Кто-нибудь знает, как соль используется в процессе аутентификации? хотя я искал через Интернет, но до сих пор не понимаю. кто-нибудь может помочь? большое спасибо!

1 Ответ

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

Обычно используется соленый хеш.Помимо великолепного звучания, он работает так ...

Один из способов зашифровать значение - создать механизм двустороннего шифрования, который использует секретный ключ для шифрования и дешифрования пароля.Это может быть проблематично, потому что, если кто-то получает секретный ключ, он может расшифровать все, что угодно.Например, если кто-то получает доступ к вашей базе данных и может расшифровать пароль одного пользователя, он может затем расшифровать пароль каждого пользователя.Плюс тот факт, что можно вообще дешифровать значения, может представлять угрозу безопасности.

Другой вариант - создать хеш.Это одностороннее шифрование, которое всегда дает один и тот же результат.Это может быть полезно, потому что это может устранить необходимость расшифровки значений, потому что для проверки пароля пользователя вы просто хешируете его и смотрите, соответствует ли оно хешированному значению в базе данных.Однако есть два недостатка: поскольку сам алгоритм хеширования обычно небезопасен, любой, имеющий одинаковый пароль, будет иметь одинаковое зашифрованное значение.Из-за этого, если вы можете получить пароль одного человека, вы можете легко определить, кто еще имеет такой же пароль.Кроме того, он может запускать весь словарь через алгоритм хеширования, чтобы определить, кто имеет слабый пароль.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...