Протокол доступа к дайджесту
Протокол доступа к дайджесту, указанный RFC 2617, реализуетсяпоставщиком поддержки безопасности microsoft Digest(SSP). Реализация состоит из набора функций контекста безопасности интерфейса поставщика поддержки безопасности Майкрософт (SSPI), к которым вызываются клиентские и серверные приложения:
- Установитеконтекст безопасностидля обмена сообщениями.
- Получение объектов данных, необходимых поставщику служб дайджеста, например учетных данных и дескрипторов контекста.
- Доступ к сообщениям целостности и механизмам конфиденциальности.
Проверка подлинности дайджест-доступа выполняется в парных транзакциях запросов и ответов, поступающих на сервере. Для успешной проверки подлинности дайджеста Требуется две пары запросов и ответов.
Если поставщик служб дайджеста используется для проверки подлинности HTTP, между первой и второй парой запросов и ответа не поддерживается подключение. Другими словами, сервер не ожидает второго запроса после отправки первого ответа.
На следующем рисунке показаны шаги, выполняемые по пути HTTP клиентом и сервером для завершения проверки подлинности с помощью службы "Дайджест SSP". Механизм SASL использует взаимную проверку подлинности, поэтому данные проверки подлинности отправляются обратно на конечный вызов сервера ASC клиенту, который проверяет, что клиент взаимодействует с правильным сервером.
протокола дайджеста доступа
Процесс начинается с клиента, запрашивающего ресурс, защищенный доступом, с сервера, отправив HTTP-запрос 1.
Сервер получает HTTP-запрос 1 и определяет, что ресурсу требуется информация о проверке подлинности, которая не была включена в запрос. Сервер создает задачу для клиента следующим образом:
- Сервер получает свои учетные данные путем вызова функции AcquireCredentialsHandle.
- Сервер создает вызов digest, вызвав функцию AcceptSecurityContext (General).
- Сервер отправляет заголовок WWW-Authenticate в качестве ответа на запрос клиента (показан как HTTP-ответ 1). Заголовок содержит вызов Digest и непрозрачную директиву, содержащую ссылку на частичный контекст безопасности, установленный для клиента. Заголовок отправляется с кодом состояния 401, указывающим, что запрос клиента создал ошибку несанкционированного доступа. Дополнительные сведения о вызове дайджеста см. в разделе Содержимое дайджест-вызовов и созданиезадачи дайджеста.
- Клиент получает HTTP-ответ 1, извлекает вызов дайджеста, отправленный сервером, и создает ответ на запрос дайджеста следующим образом:
- Учетные данные пользователя получаются путем вызова функции AcquireCredentialsHandle или интерактивного запроса пользователя на получение учетных данных.
- Сведения о вызове и учетных данных передаются в функцию InitializeSecurityContext (General), которая создает ответ на запрос дайджеста.
- Клиент отправляет заголовок авторизации, содержащий ответ на запрос на сервер (показано как HTTP-запрос 2). Дополнительные сведения об ответе на вызов дайджеста см. в разделе Содержимое ответа на вызовы дайджеста и созданиеответа на вызов дайджеста.
- Сервер получает HTTP-запрос 2, извлекает ответ на вызов, отправленный клиентом, и проверяет подлинность информации, вызвав функцию AcceptSecurityContext (General). Дополнительные сведения о процессе проверки подлинности см. в разделе начальной проверки подлинности с помощью microsoft Digest.
- Сервер отправляет HTTP-ответ 2 клиенту в качестве второго и окончательного ответа, требуемого протоколом дайджеста. Если проверка подлинности выполнена успешно, этот ответ содержит запрошенный ресурс.
Связанные разделы
-
содержимое ответа на вызов дайджеста