启用安全对话
使用安全对话来保护安全 Web Service 应用程序消息。
开始之前
必须已部署包含 Web Service 的应用程序。
关于此任务
结构化信息标准促进组织 (OASIS) Web Service 安全对话 (WS-SecureConversation) 草稿规范描述了在 SOAP 消息的发起方与接收方之间建立安全对话的方法。WS-SecureConversation 草稿规范还定义如何使用 OASIS Web Service 信任 (WS-Trust) 协议来创建安全上下文令牌 (SCT)。有关完整信息,请参阅 OASIS Web Service 安全对话规范。
WebSphere® Application Server 支持端点为 WS-SecureConversation 发布安全上下文令牌,从而在 SOAP 消息的发起方与接收方之间提供安全会话。
下图描述了创建安全上下文和使用基于会话的安全性所必需的流程。

- 客户机将对安全上下文令牌的 RequestSecurityToken (RST) 信任请求及其密钥(平均信息量和目标密钥大小)发送到应用程序端点并请求目标服务密钥。
通常,使用在引导策略中定义的非对称 Web Service Security 来保护此请求。
- RST 是由信任服务来处理的,如果请求基于安全策略是可信的,那么信任服务将使用 WS-Trust RequestSecurityTokenResponse (RSTR) 来返回安全上下文令牌和目标服务密钥。
通常,使用非对称 Web Service Security 来保护此请求。客户机根据引导策略来验证 RSTR 是否可信。
- 如果 RequestSecurityTokenResponse 是可信的,那么客户机将使用会话密钥来保护后续的应用程序消息(即,为这些消息签名和加密)。
会话密钥由安全上下文令牌的秘密派生而来,而安全上下文令牌是从在发起方与接收方之间交换的初始 WS-Trust RequestSecurityToken 和 RequestSecurityTokenResponse 消息中获得的。
- 规范定义如何根据初始秘密来派生密钥的算法。目标 Web Service 将根据在 SOAP 消息的安全性头中获得的元数据和初始秘密来计算派生密钥。
- 目标 Web Service 使用派生的密钥并根据应用程序安全策略来验证消息和对消息加密。
- 目标 Web Service 使用从私钥派生的密钥并根据应用程序安全策略为响应签名和对响应加密。
- 重复执行步骤 3 到步骤 6,直到完成消息交换过程为止。
在 WS-SecureConversation 规范中,安全上下文由 <wsc:SecurityContextToken> 安全性令牌表示。以下示例表示 <wsc:SecurityContextToken> 元素的声明语法。
<wsc:SecurityContextToken wsu:Id="..." ...>
<wsc:Identifier>...</wsc:Identifier>
<wsc:Instance>...</wsc:Instance>
...
</wsc:SecurityContextToken>
安全上下文令牌不支持通过使用密钥标识或密钥名称进行引用。所有引用都必须使用标识(指向 wsu:Id 属性)或指向 <wsc:Identifier> 元素的 <wsse:Reference>。
WebSphere Application Server 提供以下预配置的安全对话相关策略:
- SecureConveration 策略集遵循 WS-SecureConversation 和 WS-Security 规范,并提供一个策略集,此策略集启用了安全对话并使用派生自安全上下文令牌的密钥对应用程序消息进行签署和加密。
- Username SecureConversation 策略集遵循 WS-SecureConversation 和 WS-Security 规范并使用用户名令牌来添加认证。
- LTPA SecureConversation 策略遵循 WS-SecureConversation 和 WS-Security 规范并使用轻量级第三方认证 (LTPA) 令牌提供认证。
在本示例中,将使用缺省 SecureConversation 策略集、缺省 WS-Security 绑定和 TrustServiceSecurityDefault 绑定来实现启用安全对话的任务。缺省 SecureConversation 策略集具有应用程序策略 (symmetricBinding) 和引导策略 (asymmetricBinding)。应用程序策略用于保护应用程序消息,而引导策略用于保护 RequestSecurityToken (RST) 消息。
使用 TrustServiceSecurityDefault 系统策略和 TrustServiceSecurityDefault 绑定对发布安全上下文令牌的信任服务进行配置。信任策略负责保护 RequestSecurityTokenResponse (RSTR) 消息。如果修改了引导策略,那么必须修改信任策略以与这两种配置匹配。
在此处使用的 Web Service 安全性 (WS-Security) 缺省绑定包含样本密钥文件,并且在生产中使用前必须进行定制。对于生产环境,建议使用定制绑定。另请注意,如果通过选项使用开发模板创建服务器创建概要文件,那么可以跳过步骤 2 和步骤 3。
要配置安全对话、配置策略集以及对策略添加策略声明,请完成以下步骤:
过程
结果
下一步做什么
接下来,请检查示例方案以了解如何创建安全上下文令牌来保护安全对话。