Разрешено ли клиенту выбирать вызов (nonce) в дайджест-аутентификации HTTP? - PullRequest
1 голос
/ 09 февраля 2011

Дайджест-проверка подлинности выглядит как разновидность механизма запроса-ответа: случайная строка, которая смешивается с паролем (MD5 или чем-то) как клиентом, так и сервером, и только результат такого смешивания отправляется по сети.

Обычно запрос («nonce») выбирается сервером и отправляется клиенту. В статье Википедии по дайджест-аутентификации приведен пример "сеанса" - запрос ("nonce") выбирается сервером там.Я тестировал то же самое с IIS на моей машине - снова, вызов генерируется IIS.

Но в некоторых сообщениях , как этот вызов генерируется клиентом - клиент просто генерируетслучайная строка и отправляет запрос с запросом и продуктом пароля и этим вызовом.

Разрешено ли и принято ли последнее?Разрешено ли клиенту выбирать вызов («nonce»)?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

При дайджест-аутентификации HTTP сервер всегда генерирует одноразовый номер.

Однако HTTP-аутентификация является расширяемой, и приложения могут реализовывать другие методы аутентификации (помимо базовой и дайджест). В примере, на который вы ссылаетесь, клиент аутентифицируется с использованием WSSE , формы аутентификации для (в основном на основе SOAP) веб-сервисов. В WSSE клиент генерирует одноразовый номер.

1 голос
/ 09 февраля 2011

Схема Digest Access Authentication является только односторонней аутентификацией, когда клиент аутентифицируется на сервере, но не наоборот. Только сервер выдает запрос, на который клиент должен ответить правильно для аутентификации. Таким образом, только сервер знает, является ли клиент аутентичным, но клиент не знает, является ли сервер аутентичным.

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

Лучше всего было бы использовать взаимную аутентификацию .

...