Share via


使用 Kerberos 進行相互驗證

相互驗證是一項安全性功能,用戶端進程必須向服務證明其身分識別,而且服務必須在透過用戶端/服務連線傳輸任何應用程式流量之前向客戶端證明其身分識別。

Active Directory 網域服務 和 Windows 支援服務主體名稱 (SPN),這是客戶端驗證服務之 Kerberos 機制中的重要元件。 SPN 是識別服務實例的唯一名稱,並與服務實例執行所在的登入帳戶相關聯。 SPN 的元件使得用戶端可以在沒有服務登入賬戶的情況下,為服務撰寫 SPN。 這可讓用戶端要求服務驗證其帳戶,即使用戶端沒有帳戶名稱也一樣。

本節包含下列概觀:

  • 使用 Kerberos 進行相互驗證。
  • 撰寫唯一的SPN。
  • 服務安裝程式如何在與服務實例相關聯的帳戶對象上註冊 SPN。
  • 用戶端應用程式如何使用服務實例的服務連接點 (SCP) 物件,Active Directory 網域服務 擷取要從中為服務撰寫 SPN 的數據。
  • 用戶端應用程式如何使用服務 SPN 搭配安全性支援提供者介面 (SSPI) 來驗證服務。
  • 使用 SCP 和 SSPI 執行相互驗證的 Windows Sockets 用戶端/服務應用程式的程式代碼範例。
  • RPC 用戶端/服務的程式代碼範例,會使用 RPC 名稱服務和 RPC 驗證來執行相互驗證。
  • Windows 套接字註冊和解析 (RnR) 服務如何使用 SPN 來執行相互驗證。

本節討論如何使用 Active Directory 網域 Service 進行相互驗證,特別是相互驗證中服務連接點和服務主體名稱的目的。 這不是如何使用 SSPI 進行相互驗證的完整討論,或 RPC 和 Windows Sockets 應用程式可用的驗證和安全性支援。

如需詳細資訊,請參閱