基本安全概要文件一致性技巧
Web Service 互操作性组织 (WS-I) 基本安全概要文件 (BSP) 1.0 通过对一组非专有 Web Service 规范进行说明和扩展,促进了互操作性。WebSphere® Application Server Web Service 安全性提供了配置选项来确保可以启用 BSP 建议和安全性注意事项以确保互操作性。遵循这些建议的程度就是衡量所配置应用程序与基本安全概要文件 (BSP) 一致程度的标准。
支持应用程序与基本安全概要文件 (BSP) 保持一致是 WebSphere Application Server V9.0 的新增功能。有关基本安全概要文件的更多信息,请参阅 Web Service 互操作性组织 (WS-I) 基本安全概要文件 (BSP):基本安全概要文件 V1.0。
可以通过使用预定义的关键字列表或 XPath 表达式来与 BSP 保持一致。关键字和 XPath 表达式都是在部署描述符配置文件中指定的,并且都是使用组装工具配置的。
基本安全概要文件建议
- 不要使用原始 XPath 变换 http://www.w3.org/TR/1999/REC-xpath-19991116
从 SIGNATURE 元素中的 ds:Reference 引用 SECURE_ENVELOPE 中的元素,而该元素未包含标识属性类型时,必须使用 XPath 过滤器 2.0 变换 http://www.w3.org/2002/06/xmldsig-filter2 来引用该元素。
SIGNATURE 元素中的任何 ds:Transform/@Algorithm 属性都必须具有下列其中一个值:- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/2002/06/xmldsig-filter2
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
- http://www.w3.org/2000/09/xmldsig#enveloped-signature
- http://docs.oasis-open.org/wss/2004/XX/oasis-2004XX-wss-swa-profile-1.0#Attachment-Content-Only-Transform
- http://docs.oasis-open.org/wss/2004/XX/oasis-2004XX-wss-swa-profile-1.0#Attachment-Complete-Transform
- 不要使用 http://www.w3.org/2000/09/xmldsig#dsa-sha1 签名算法。
SIGNATURE 中任何基于对称密钥的 ds:SignatureMethod/@Algorithm 元素都必须具有下列其中一个值:
- 不要对需要加密的消息部件指定 digestvalue 关键字。而是,请使用 signature 关键字。
如果 SIGNATURE 元素中的 ds:DigestValue 元素值需要进行加密,那么必须对整个父元素 ds:Signature 进行加密。在 SIGNATURE 的后代中,不能有任何 xenc:EncryptedData 元素。
- 不要使用 KEYNAME 密钥信息类型
KEYNAME 引用可能具有二义性,要与 BSP 保持一致,不能使用 KEYNAME。
SECURITY_TOKEN_REFERENCE 不能使用密钥名来引用 SECURITY_TOKEN。ENCRYPTED_KEY 中 ds:KeyInfo 元素的子元素必须是 SECURITY_TOKEN_REFERENCE 或 ds:MgmtData 元素。对加密密钥使用 KEYNAME 密钥信息类型将导致 ds:KeyInfo 元素带有 KeyName 子元素,要与 BSP 保持一致,不允许这样做。
- 不要使用 http://www.w3.org/2001/04/xmlenc#aes192-cbc 位数据加密算法。
ENCRYPTED_DATA 元素中的任何 xenc:EncryptionMethod/@Algorithm 属性都必须具有下列其中一个值:
- 不要使用高级加密标准 (AES) 密钥回绕 (aes192):http://www.w3.org/2001/04/xmlenc#kw-aes192 密钥加密算法。
当用于密钥回绕时,ENCRYPTED_KEY 元素中的任何 xenc:EncryptionMethod/@Algorithm 属性都必须具有下列其中一个值:
BSP 一致性配置选项
- 配置签名中的 ds:Transforms 元素时,必须包括变换列表来作为它的最后一个子元素:http://www.w3.org/2001/10/xml-exc-c14n# 或 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform。
- 对 Username 标记添加 wsse:Nonce 或 wsse:Created 元素以防重放。添加该元素后,请对 Username 标记进行签名以防无法检测到这些字段的改变;否则,可能会发生重放。