Поделиться через


Начальная проверка подлинности с использованием Microsoft Digest

Примечание

Начиная с Windows 11 22H2, Корпорация Майкрософт прекращает использование Microsoft Digest, также известного как wDigest. Мы будем продолжать поддерживать Microsoft Digest в поддерживаемых версиях Windows. Будущие версии Windows будут включать ограниченные возможности Microsoft Digest, и в конечном итоге Microsoft Digest больше не будет поддерживаться в Windows.

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

  • Исходный сервер получает запрос от клиента и выдает запрос, а затем получает ответ на запрос от клиента, который должен пройти проверку подлинности.
  • Сервер проверки подлинности получает сведения об авторизации от исходного сервера и выполняет проверку подлинности. Этот сервер обычно является контроллером домена, поддерживающим несколько исходных серверов.

Когда исходный сервер получает запрос с заголовком авторизации, содержащим ответ на дайджест-запрос, проверка подлинности выполняется следующим образом:

  • Удостоверение исходного сервера проверяется по отношению к серверу, закодированному в nonce запроса.
  • Проверяется метка времени, закодированная в nonce. Если срок действия nonce истек, а сведения об имени пользователя или пароле действительны, исходный сервер завершает проверку подлинности, выдавая новый запрос digest с устаревшей директивой true. Это означает, что только nonce был "устаревшим", и клиент может ответить на новый запрос, используя пароль, использованный в предыдущем ответе. Если клиент получает новый запрос после отправки ответа на устаревший запрос, клиент должен создать новый ответ на запрос.
  • При принудительном обнаружении воспроизведения директива nc (число nonce) проверяется по отношению к базе данных сеансов nonce, поддерживаемой сервером.
  • Сервер проверки подлинности идентифицируется и отправляется информация об авторизации клиента.
  • Сервер проверки подлинности проверяет удостоверение сервера, закодированного в nonce, по отношению к удостоверению исходного сервера.
  • Сервер проверки подлинности, являющийся контроллером домена, извлекает пароль пользователя.
  • Используя сведения об авторизации, пароль и идентификацию исходного сервера, сервер проверки подлинности вычисляет значение, которое клиент должен был предоставить в директиве ответа на запрос. Сервер проверки подлинности сравнивает вычисленное значение с ответом клиента, чтобы определить успешность или сбой проверки подлинности.

Если проверка подлинности выполнена успешно, контекст безопасности пользователя и ключ дайджест-сеанса возвращаются на исходный сервер. В случае сбоя проверки подлинности исходный сервер должен создать ответ об ошибке. После успешной проверки подлинности исходный сервер возвращает клиенту запрошенный ресурс.

Ключ дайджест-сеанса, возвращаемый сервером проверки подлинности, кэшируется на исходном сервере для использования при проверке подлинности будущих запросов. Дополнительные сведения см. в статье Проверка подлинности последующих запросов с помощью Microsoft Digest.