開始就支援
擴充保護是將 SSL 等外部安全通道系結至內部通道驗證通訊協議的機制,例如 Kerberos-APREQ 和 HTTP 標頭驗證。
擴充保護的概念定義於 RFC2743。
當可用時,擴充保護會在用戶端上自動設定,但可能需要在伺服器上設定非預設案例。
支援的設定
使用 windows 整合式驗證通訊協定,例如WS_HTTP_HEADER_AUTH_SECURITY_BINDING和WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING,搭配安全性系結使用WS_HTTP_CHANNEL_BINDING時,支援擴充保護。 它會透過下列 安全性屬性進行設定:
- WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY
- WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO
- WS_SECURITY_PROPERTY_SERVICE_IDENTITIES
下列涉及擴充保護的組態是可能的:
用戶端
- WS_SSL_TRANSPORT_SECURITY_BINDING會與WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING或WS_HTTP_HEADER_AUTH_SECURITY_BINDING搭配使用。 在此設定中,驗證系結會透過自動從SSL連線擷取的擴充保護令牌系結至SSL連線。
- 未使用 SSL,且已設定WS_HTTP_HEADER_AUTH_SECURITY_BINDING。 驗證系結會透過伺服器主體名稱 (SPN) 系結,此名稱會自動由 WS_ENDPOINT_ADDRESS決定。
伺服器
- WS_SSL_TRANSPORT_SECURITY_BINDING會與WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING或WS_HTTP_HEADER_AUTH_SECURITY_BINDING搭配使用。 在此設定中,驗證系結會透過從SSL連線擷取並自動驗證的擴充保護令牌系結至SSL連線。
- 未使用 SSL,且已設定WS_HTTP_HEADER_AUTH_SECURITY_BINDING。 驗證系結是透過伺服器主體名稱 (SPN) 系結,必須透過 WS_SECURITY_PROPERTY_SERVICE_IDENTITIES 提供。 收到訊息時,會擷取 SPN 並驗證,以符合所提供的服務名稱。 不提供SPN相當於設定 WS_EXTENDED_PROTECTION_POLICY_NEVER。
- 未使用 SSL,WS_EXTENDED_PROTECTION_SCENARIO_BOUND_SERVER指定且使用WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING。 在此設定中,不得設定WS_SECURITY_PROPERTY_SERVICE_IDENTITIES。 除了 Kerberos 通訊協定的一部分之外,不會執行 SPN 檢查。
- 已指定WS_EXTENDED_PROTECTION_SCENARIO_TERMINATED_SSL,並使用WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING或WS_HTTP_HEADER_AUTH_SECURITY_BINDING。 必須設定WS_SECURITY_PROPERTY_SERVICE_IDENTITIES。
支援的平台
在操作系統中支援擴充保護的平臺上支援它。 Windows 7 和 Windows Server 2008 R2 提供內建支援。 其他平臺可能需要更新。
如果伺服器的操作系統未提供這類支援,則會忽略用戶端傳送的任何擴充保護資訊。 因此,使用擴充保護的用戶端可以與這類伺服器通訊,但安全性權益會遺失。 在用戶端上, WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING 與 WS_SSL_TRANSPORT_SECURITY_BINDING 只支援 Vista 和更新版本上的擴充保護。
注意:無法使用擴充保護不會防止使用任何特定的組態。
互通性
不論其是否使用擴充保護,預設設定的伺服器都可以與SOAP客戶端通訊。 其中一個例外狀況是 Windows XP 和 Windows Server 2003 WWSAPI 用戶端,這些用戶端已更新以支援擴充保護,並使用WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING和WS_SSL_TRANSPORT_SECURITY_BINDING。 若要支援這類用戶端 WS_EXTENDED_PROTECTION_POLICY_NEVER 必須由伺服器指定。 使用 WS_EXTENDED_PROTECTION_POLICY_ALWAYS 設定的伺服器 將會拒絕未使用擴充保護之客戶端的通訊。 在用戶端上, WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING 結合 WS_SSL_TRANSPORT_SECURITY_BINDING 會導致訊息使用 Vista 和更新版本上的 HTTP 區塊傳輸編碼傳送。 這可能會導致不支援區塊傳輸的伺服器發生 Interop 問題。
下列列舉/常數是擴充保護的一部分:
下列結構是擴充保護的一部分: