Схема аутентификации «Digest» |
|
Использование этой схемы в SIP практически полностью совпадает с применением ее в протоколе HTTP. Отличия состоят в следующем: URI может иметь как схему SIP, так и SIPS; при формировании значения nonce не может использоваться значение HTTP-заголовка Etag; невозможно применение операций буферизации, специфицированных для HTTP. Вызывающий пользователь Upletai желает установить с пользователем Dulphy сеанс связи и передает ему запрос INVITE. DAS, конфигурация которого предусматривает контроль доступа, не находит в сообщении заголовка Authorization и поэтому передает агенту пользователя Anton ответ с кодом 401 (Unauthorized). В заголовке WWW-Authenticate ответа будет находится запрос аутентификации, содержащий, как минимум, схему аутентификации - Digest, поле realm, указывающее область аутентификации - niits.ru - и уникальное значение в поле nonce. UAC формирует комбинацию, включающую в себя имя пользователя, пароль, полученное значение nonce и другие компоненты, и преобразует ее с помощью хэш-функции в отклик аутентификации. Значение отклика помещается в заголовок Authorization запроса INVITE и заново передается UAS. Сервер примет запрос, самостоятельно подсчитает значение отклика и сравнит его с указанным в сообщении. Если значение отклика окажется действительным, UAS приступит к обработке запроса. Рассмотрим состав заголовков, участвующих в процедуре аутентификации более подробно. В поле заголовка WWW-Authenticate содержится запрос аутентификации (challenge), который включаете себя наименование схемы (Digest) и компоненты - realm, domain, nonce, opaque, stale, algorithm, qop. При этом необходимыми для аутентификации являются только realm и nonce. |

