2009-10-31 2 views
1

Я нашел много сообщений о хешировании у клиента, но никто из них не ответил на мой вопрос.Вопрос о логистике хеширования у клиента

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

Нормальная процедура проверки достоверности пароля .. 1) пользователь вводит имя пользователя и пароль 2) Восстановление соли на основе имени пользователя 3) хэш пароля и соли 4) проверить хэш против дб

Если это все происходит на сервере, это не имеет большого значения, но это становится сложным, если вы находитесь на клиенте. 2) должен был бы быть обратным вызовом на сервер, сохраняя при этом пароль где-нибудь (без отправки его), так что .. ajax? Это лучший способ или я что-то упускаю?

Заранее благодарен!

ответ

4

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

Вы хотите отправить реальный пароль через SSL.

+2

Что касается хэшированного пароля, это не совсем так. Обычный способ работы с ним с использованием «nonce», например, HTTP Digest Auth, например. http://en.wikipedia.org/wiki/Cryptographic_nonce –

1

В качестве более безопасной альтернативы отправке незашифрованных хэшей или паролей по незащищенному каналу (но еще менее безопасному, чем SSL), вы можете посмотреть Digest Authentification.

Как указано выше, отправка хэша по небезопасному каналу все равно позволит кому-то еще войти в систему как пользователь.

Смежные вопросы