信任服务
WebSphere® Application Server 提供的安全性令牌服务称为信任服务。WebSphere Application Server 信任服务使用 Web Services Trust (WS-Trust) 安全消息传递机制来定义安全性令牌分发、交换和验证的附加扩展。
Web Services Trust (WS-Trust) 是一种 OASIS 标准,通过定义请求/响应协议来支持安全性令牌互操作性。此协议允许 SOAP 参与者(例如,Web Service 客户机)请求对另一参与者交换特定安全性令牌的一些可信权限。
WebSphere Application Server 不提供全部的安全性令牌服务,因而不能实现 WS-Trust 草稿规范中的所有内容。WebSphere Application Server 的 WS-Trust 支持主要是为安全对话建立安全上下文令牌。WebSphere Application Server 支持 WS-Trust OASIS 标准 V1.3(2007 年 3 月 19 日发布)中描述的许多安全性功能。
第三方 WS-Trust 客户机
WebSphere Application Server 不提供 WS-Trust 客户机实现。您可以选择使用启用 WS-Trust 的第三方客户机,但如果这样做,WebSphere Application Server 不支持第三方启用信任客户机。使用信任客户机可使这些 SOAP 消息的生成以及响应的处理更方便,但该客户机不是必需的。
WebSphere Application Server 关注于对 Web Services Secure Conversation (WS-SecureConversation) 的安全上下文令牌的分发、更新及取消。
必须遵守 WS-Trust 规范才能请求信任服务。此规范包括使用 Web Service 寻址 (WS-Addressing) 头。WS-Addressing 头在 2004 年 8 月或 2005 年 8 月发布的规范中指定。根据规范,SOAP 主体必须包含单个 RequestSecurityToken (RST) 元素。 此元素可以包含子元素,如在 WS-Trust 和 WS-SecureConversation 规范中定义那样。
可以使用在策略集中定义的引导策略保护 WS-Trust SOAP 消息。引导安全策略在发起方与应用程序服务之间建立通信的过程中调用。对应用程序服务以外的服务的初始请求通过使用引导策略来保护。这些初始请求通常包含一个或多个安全性令牌服务 (STS)(例如 WebSphere Application Server 信任服务)请求。请求的示例是获取 WS-SecureConversation 所需的安全上下文令牌。发起方是发起原始请求的角色,在大多数情况下,它是客户机。客户机引导策略集必须对应于对端点发出和更新附加的策略集的信任服务。对端点取消和验证附加策略集的信任服务必须对应于客户机的应用程序策略集。
Websphere Application Server 提供了两种方法来保护为信任服务定义的 SOAP 消息。一种方法是使用在策略集中定义的引导策略。另一种方法是使用 Web Service 安全性 API (WSS API)。应用程序可使用 WSS API 来获取基于 API 的程序化 WS-SecureConversation 的安全上下文令牌。
对于安全对话,当信任服务生成和处理新的(第二个)请求时,将会暂挂来自客户机的对端点服务的请求。将使用第二个请求返回的安全上下文令牌来派生用于与服务进行安全通信的密钥。
高级信任服务功能
下表包含了 WebSphere Application Server 当前支持的 WS-Trust 相关功能。该列表不是详尽列表,它只着重于高级功能。
- 处理 WS-Trust 协议消息的每台 WebSphere Application Server 上都嵌入了信任服务组件,且该组件可用。
- 通信的完成借助于 RequestSecurityToken (RST)、RequestSecurityTokenCollection (RSTC)、RequestSecurityTokenResponse
(RSTR) 和 RequestSecurityTokenResponseCollection (RSTRC)。注: 可对外部安全性令牌服务(信任服务)发出 RST 请求。但是,存在以下限制:必须由 WebSphere Application Server 信任服务提供 WS-SecureConversation 所需的安全上下文令牌。
- 每个 WS-Trust 操作(发出、取消、验证和更新)的安全策略。
- 对特定 URL 发出令牌的预先配置的安全上下文令牌提供程序。
- 令牌提供程序的特定于令牌的参数(例如截止时间)的规范。
- WS-SecureConversation 的安全上下文令牌。
- 在集群环境和非集群环境中对安全上下文令牌的高速缓存支持。如果请求满足安全性需求,那么 WebSphere Application Server 在收到请求时分发安全上下文令牌。但是,WebSphere Application Server 提供的 WS-SecureConversation 只处理由 WebSphere Application Server 分发的安全上下文令牌。
- 请注意,WebSphere Application Server 信任服务只支持安全上下文令牌。
- 信任服务同时支持 WS-Addressing 的提交规范 (2004/08) 和最终规范 (2005/08) 版本。
- 信任服务使用名为 TrustServiceSecurityDefault 的缺省策略集,其中包括 WS-Security 和 WS-Addressing,并为分发和更新操作提供缺省安全性。
- 信任服务使用名为 TrustServiceSymmetricDefault 的第二个缺省策略集,其中包括 WS-Security 和 WS-Addressing,并为取消和验证操作提供缺省安全性。
不受支持的信任服务功能
- 不支持任何协商和交换协议。
- 当前未提供对其他令牌类型的立即可用的支持;只支持安全上下文令牌。
- 不支持 WS-SecurityPolicySet 中的任何 Trust10 规范。
- 不支持任意的 RequestSecurityTokenResponse (RSTR)。
- 不能对外部安全性令牌服务 (STS) 发出请求安全性令牌 (RST) 请求以建立安全对话;当前只支持嵌入式信任服务。
- 不接受包含在 RST 中的策略请求。
- 不支持修正令牌(修正操作)功能。
- 不支持用于访问令牌服务的专用外部端点;当前只支持嵌入式信任服务。
- 信任服务不支持包含 EncryptedKey 的 Entropy 元素。
- 不支持委派和转发。
- 不支持 OnBehalfOf 元素。
- 不支持密钥交换令牌 (KET) 绑定。
信任服务操作
作为端点的 WebSphere Application Server 特别支持信任服务功能,以分发 WS-SecureConversation 的安全上下文令牌。发出令牌支持当前仅限于安全上下文令牌。还存在用于为信任服务定义策略以发出、取消、验证或更新令牌的信任策略管理。
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Cancel
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Validate
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Renew
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT/Cancel
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT/Renew
对安全上下文令牌发出操作的入站 RST 必须包含 Entropy 元素。Entropy 元素必须包含 BinarySecret。信任服务不支持包含 EncryptedKey 的 Entropy 元素。
注意,信任服务不支持任意的 RSTR 操作。另外,WebSphere Application Server 不支持修正令牌的功能。另请参阅标题为“不支持的信任服务功能”的章节。
与信任策略集相关的文件
用于发出和更新的缺省信任服务策略集为 TrustServiceSecurityDefault。可为每个服务端点 URL 设置相应的策略集和绑定。