扩展保护

扩展保护是一种将外部安全通道(如 SSL)绑定到内部通道身份验证协议(如 Kerberos-APREQ 和 HTTP 标头身份验证)的机制。

RFC2743 中定义了扩展保护的概念。

扩展保护(如果可用)会在客户端上自动配置,但对于非默认方案,可能需要在服务器上进行配置。

支持的配置

使用 windows 集成身份验证协议(如WS_HTTP_HEADER_AUTH_SECURITY_BINDING 和 WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING)将WS_HTTP_CHANNEL_BINDING与安全绑定配合使用时,支持扩展保护。 它通过以下 安全属性进行配置:

可以采用以下涉及扩展保护的配置:

客户端

服务器

支持的平台

在操作系统中支持扩展保护的平台上支持扩展保护。 Windows 7 和 Windows Server 2008 R2 提供内置支持。 其他平台可能需要更新。

如果服务器的操作系统不提供此类支持,则客户端发送的任何扩展保护信息将被忽略。 因此,使用扩展保护的客户端可以与此类服务器通信,但安全优势会丢失。 在客户端上, WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDINGWS_SSL_TRANSPORT_SECURITY_BINDING 仅支持 Vista 及更高版本的扩展保护。

注意:不可用的扩展保护不会阻止使用任何特定配置。

互操作性

默认配置的服务器可以与 SOAP 客户端通信,无论它们是否使用扩展保护。 一个例外是 Windows XP 和 Windows Server 2003 WWSAPI 客户端,它们已更新以支持扩展保护并使用 WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDINGWS_SSL_TRANSPORT_SECURITY_BINDING。 若要支持此类客户端 WS_EXTENDED_PROTECTION_POLICY_NEVER 必须由服务器指定。 配置 了 WS_EXTENDED_PROTECTION_POLICY_ALWAYS 的服务器将拒绝来自不使用扩展保护的客户端的通信。 在客户端上, WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDINGWS_SSL_TRANSPORT_SECURITY_BINDING 结合使用将导致使用 Vista 和更高版本上的 HTTP 分块传输编码发送消息。 这可能会导致不支持分块传输的服务器出现互操作问题。

以下枚举/常量是扩展保护的一部分:

以下结构是扩展保护的一部分: