快捷搜索:

将 WebSphere Web 服务安全任务分流到 IBM WebSphere D

简介

2002 年,来自 IBM 的一个小组和来自 Microsoft 的一个团队合营撰写了一份文档,该文档描述了 XML 安然技巧规范的一个阶段性展示,其目的是对 Web 办事的各类安然场景供给支持。如今,大年夜多半人都邑批准,这个客栈的根基是稳固的。SOAP 和 WS-Security 是公认的和已实现的标准。WS-Policy 和 WS-Trust 也已经分手成为 W3C / OASIS 中的标准,它们是 Web 办事安然情况中的公共特点。这个 Web 办事模型旨在向 SOA 利用法度榜样开拓职员供给一套公共安然办事,以便自力使用或在一个复合利用法度榜样中使用,而不是让每个利用法度榜样/办事自己实现安然性。这个路线图的其他两个组件 —— WS-SecureConversation 和 WS-Security Policies—— 近来已经被标准化。WS-Secure Conversation 描述若何建立会话密匙、衍生密匙和单消息密匙(per-message keys),以便通信双方能够在一个长光阴运行的事务或会话中安然地交流,从而对每个消息的安然性进行优化。Secure Conversation 旨在支持在 WS-Security 和 WS-Trust 之长进行长光阴的交流。这个路线图文档定义了 Secure Conversation(Enabling Federation、Supporting Validation Services、Delegation 和 Access Control)支持的一套场景,WebSphere DataPower 开拓和领域组织在文档中描述的事情证清楚明了它的真实性。

WS-Privacy、WS-Federation 和 WS-Authorization 已经蒙受到了市场竞争,竞争来自与 Single Sign On 的办理规划相关的一系列立异,以及 Liberty/SAML 之类的以身份为中间的编程模型。别的,Web 利用法度榜样从静态 Web 页面持续向带有动态内容的基于 REST 和 AJAX 的造访模式蜕变,这也鼓励 Web/cloud 开拓职员去探索其他安然策略,比如 OAuth 和 OpenID。这个 Web 办事模型旨在向 SOA 利用法度榜样开拓职员供给一套公共安然办事以便自力使用或在一个复合利用法度榜样中使用,而不是让每个利用法度榜样/办事都经由过程 API 对自身的安然进行编码。然则,仍旧有许多针对开拓职员的 API 和策略,跟着对社会收集 Web 利用法度榜样的持续需求,“Web 利用法度榜样” 模式 vs “Web 办事” 模式之间的选择仍将继承下去。

近来,这个路线图的另外两个组件 ——WS-SecureConversation 和 WS-Security Policies—— 已经被标准化。WS-Secure Conversation 描述若何建立会话密匙、衍生密匙和单消息密匙,以便通信双方能够在一个长光阴运行的事务或会话中安然地交流,从而对每个消息的安然性进行优化。 Secure Conversation 旨在容许 Web 办事描述一个办事若何根据基础 WS-Security 和 WS-Trust 规范中定义的安然令牌发送和互换机制的观点安然地互换高低文(某些关于安然属性和相关数据的声明的聚拢)。应用这些机制,一个 Web 办事能够支持一个长光阴进行的交流,并可能将这个 “会话” 层叠到一个现有的 http 传输级其余协议上。这容许一个长光阴运行的会话应用对称密码操作在一个已建立的会话时代保护消息。对称密码操作比标准的纰谬称密码操作更有效。

有许多场景必要 Secure Conversation 的安然功能。这个路线图定义了一组由 Secure Conversation 支持的场景:

支持联合

支持验证办事

代理

造访节制

Secure Conversation 的用例

以下用例基于 Rene 的 Kiessling、Manuel Rohmann、Matt McLarty 和 Gari Singh 的技巧和营业输入。 本文将探索这样一个场景:在 WebSphere DataPower 的 STS(充当 Service Provider(SP)的一个代理)和 Microsoft Identify Provider(IdP)之间已建立起相信,以便为一个 Federated Secure Conversation 供给方便的实现。对付 WebSphere DataPower,这展示了若何应用 WebSphere DataPower 的策略框架和一个应用 Microsoft 的 wsFederationHttpBinding 的 Microsoft 客户机来实现一个客户场景。WebSphere DataPower SOA 设备也用于对必要安然会话的 Web 办事实施安然策略。这个场景在以下情况中实现:

图 1. 一个安然会话历程中的消息互换

图片看不清楚?请点击这里查看原图(大年夜图)。

步骤 1. 设置设置设备摆设摆设客户机

对付这个客户机(WCF),必要一个对应的 app.config:

清单 1. 设置设置设备摆设摆设客户机的 app.config

realm="" />

只支持 “enforce” 模式

不支持令牌的 “更新”

两个字段被添加到 Web Service Proxy,以对 EncryptedKeySHA1 KeyIdentifier 供给更多的支持并保留解密后的密匙。

WSProxy > Proxy Settings > “EncryptedKeySHA1 Cache Lifetime” 和 “Preserve EncryptedKey Chain”。这个 GUI 如 图 2 所示。

图 2. 3.7.3 GUI 更新

EncryptedKeySHA1 Cache:缓存生命周期(以秒为单位),表示缓存解密后的 “Encrypted Key” 必要多长光阴。应用 EncyrptedKeySHA1 Key Identifier 天生一个相应和解密受到 EncryptedKeySHA1 Key Identifier 保护的未来流量都必要这个缓存。

Preserve EncryptedKey Chain:默认环境下,DataPower 将在解密后删除密匙内容。将这个选项设置为 “on” 将保留密匙内容以备将来操作所需。例如,假如哀求消息应用相同的密匙内容签署和加密,当消息被解密后,必要相同的密匙内容来验证消息的署名。

一个新的策略参数。Additional Transform Action During BootstrapPolicy 被添加以容许 Bootstrap 历程时代的定制转换。在这个参数中指定的任何样式表将在 STS RST 动作停止时、RSTR 动作履行之前被履行(拜见 图 3)。

图 3. 3.7.3 策略参数

WebSphere DataPower 3.7.3 版包孕了一个新的模板来处置惩罚这个用例。这个模板位于 ///policies/templates/dotnet/wsp-sp-1-2-wsFederationHttpBinding.xml,设置设置设备摆设摆设办事以应用这个绑定的历程将鄙人面先容。

设置设置设备摆设摆设 SOA 设备以处置惩罚 wsFederationHttpBinding

将从 Microsoft 导出的密匙内容上传到 WebSphere DataPower SOA 设备 Control Panel > Keys 和 Certicates Management > [Keys][Certificates][Crypto Profile > Identification Credentials][Crypto Profile > Validation Credentials] Keys : datapower [from the key material specified in app.config -> " section"] Certificates : datapower [from the key material specified in app.config -> " section"] Identification Credentials : datapower [created with the key and certificate above] [optional] Validation Credentials : sts [from the key material that the Identifier Provider used to sign the SAML 1.1]

对付 WS-Proxy,假如输入信息的 soap:Body 被加密,WSProxy 将在其分发到适当的 wsdl:operation 之前解密这个 soap:Body。有两种措施来指定解密密匙:

1. WSProxy > Proxy Settings > Decrypt Key

2. 创建一个 “Identification Credential” 来关联公共密匙和私有密匙(这是首选措施,我们将对这个用例应用这种措施)。

图 4. 加密证书列表

图 5. 加密密匙列表

图 6. 身份凭据

图 7. 验证凭据

应用来自步骤 3 的 WSDL 创建一个 WSProxy。

创建一个 WS-Policy Parameter Set,secpol-param

—— Microsoft 的 wsFederationHttpBinding 应用,WS-Security Policy 1.1,http://schemas.xmlsoap.org/ws/2005/07/ securitypolicy,而 ws2007FederationHttpBinding 应用 http://docs.oasis-open.org/ws-sz-ws-securitypolicy/200702。这个名称暗示这个安然策略名称空间是 1.2 版;然则,它应用 1.1 版的名称空间并影响这个 Security Policy Parameter 与 WS-Security Policy 关联的要领。是以两组 Policy Parameters 是为两个名称空间 Security Policy 1.1 和 Security Policy 1.2 定义的。

—— 设置了 3 个参数,Interoperable with、WS-SecureConversation Version 和 Verification Valcred。

选择 “Enforce” 为 “WS-Policy Enforcement Mode”

单击 “Next”

图 8. 策略参数

图片看不清楚?请点击这里查看原图(大年夜图)。

图 9. Web 办事代理 WSDLs

您可能还会对下面的文章感兴趣: