使用 Microsoft Digest 進行初始驗證

注意

從 Windows 11 22H2 開始,Microsoft 即將淘汰 Microsoft Digest,也稱為 wDigest。 我們將在支援的 Windows 版本上繼續支援 Microsoft Digest。 未來的 Windows 版本將包含 Microsoft Digest 的有限功能,最後 Windows 將不再支援 Microsoft Digest。

當伺服器收到來自用戶端的挑戰回應時,就會進行初始驗證。 驗證挑戰回應通常牽涉到至少兩部伺服器:

  • 原始伺服器— 接收來自用戶端的要求併發出挑戰,然後接收必須驗證之用戶端的挑戰回應。
  • 驗證服務器— 會從原始伺服器接收授權資訊,並執行驗證。 此伺服器通常是支援多個原始伺服器的網域控制站。

當原始伺服器收到包含摘要式挑戰回應的授權標頭要求時,驗證會繼續進行,如下所示:

  • 系統會針對在挑戰的 nonce 中編碼的伺服器,檢查原始伺服器的身分識別。
  • 系統會檢查 nonce 中編碼的時間戳記。 如果 nonce 已過期,且使用者名稱/密碼資訊有效,則原始伺服器會發出新的 Digest 挑戰,並將過時指示詞設定為 「true」 來結束驗證。 這表示只有 nonce 是「過時」,而且用戶端可以使用先前回應中使用的密碼來回應新的挑戰。 如果用戶端在傳送過時挑戰的挑戰回應之後收到新的挑戰,用戶端必須產生新的挑戰回應。
  • 如果強制執行重新執行偵測,nc 指示詞 (nonce 計數) 會針對伺服器維護的 nonce 會話資料庫進行檢查。
  • 驗證服務器會識別並傳送用戶端的授權資訊。
  • 驗證服務器會根據原始伺服器的身分識別,檢查以 nonce 編碼的伺服器身分識別。
  • 驗證服務器是網域控制站,會擷取使用者的密碼。
  • 使用授權資訊、密碼和原始伺服器識別,驗證服務器會計算用戶端應該在挑戰回應回應回應指示詞中提供的值。 驗證服務器會將計算值與用戶端的回應進行比較,以判斷驗證的成功或失敗。

如果驗證成功,則會將使用者 的安全性內容 和摘要 工作階段金鑰 傳回至原始伺服器。 如果驗證失敗,則原始伺服器必須產生錯誤回應。 成功驗證之後,原始伺服器會將要求的資源傳回給用戶端。

驗證服務器所傳回的摘要工作階段金鑰會由原始伺服器快取,以用於驗證未來的要求。 如需詳細資訊,請參閱 使用 Microsoft Digest 驗證後續要求