Microsoft Negotiate
Microsoft Negotiate 是 SSP (安全性支援提供者) ,可作為 安全性支援提供者介面 (SSPI) 和其他 SSP 之間的應用層。 當應用程式呼叫 SSPI 以登入網路時,可以指定 SSP 來處理要求。 如果應用程式指定 Negotiate,Negotiate 會分析要求,並挑選最佳 SSP 以根據客戶設定的安全性原則來處理要求。
目前,交涉安全性套件會在 Kerberos 與 NTLM之間選取。 交涉會選取 Kerberos,除非適用下列其中一項條件:
- 其中一個涉及驗證的系統無法使用它。
- 呼叫端應用程式未提供足夠的資訊來使用 Kerberos。
若要允許 Negotiate 選取 Kerberos 安全性提供者,用戶端應用程式必須提供下列其中一項:
- 服務 主體名稱 (SPN) 。
- 使用者主體名稱 (UPN) 。
- NetBIOS 帳戶名稱作為目標名稱。
否則,Negotiate 一律會選取 NTLM 安全性提供者。
使用 Negotiate 套件的伺服器能夠回應特別選取 Kerberos 或 NTLM 安全性提供者的用戶端應用程式。 不過,用戶端應用程式必須知道伺服器支援 Negotiate 套件,以使用 Negotiate 要求驗證。 不支援 Negotiate 的伺服器不一定會回應指定 Negotiate 作為 SSP 之用戶端的要求。
使用交涉套件的原因
- 允許系統使用最安全的可用通訊協定。
- 確保應用程式的向前相容性。
- 確保應用程式會根據客戶所設定的安全性原則來展示行為。