xmlns="http://www.w3.org/2001/04/xmlenc#"/>
[08] </Transform>
[09] <Transform Algorithm="
http://www.w3.org/TR/2000/ CR-xml-c14n-20001026"/>
[10] </Transforms>
[11] ...
[12] </Reference>
[13] </SignedInfo>
[14] <SignatureValue>...</SignatureValue>
[15] <Object>
[16] <order Id="order">
[17] <item>
[18] <title>XML and Java</title>
[19] <price>100.0</price>
[20] <quantity>1</quantity>
[21] </item>
[22] <EncryptedData Id="enc2"
xmlns="http://www.w3.org/2001/04/xmlenc#">...</EncryptedData>
[23] <EncryptedData Id="enc1"
xmlns="http://www.w3.org/2001/04/xmlenc#">...</EncryptedData>
[24] </order>
[25] </Object>
[26] </Signature>
第 1 行到 第 26 行的 Signature 元素现在包含前面的 order 元素(位于第 16 行到第 24 行),和以前的加密纯文本 cardinfo(显示在第 22 行这一行中)。有两个转换引用:解密(第 6 行到第 8 行)和规范化(第 9 行)。解密转换指示签名验证器解密除 DataRef 元素中第 7 行指定的数据之外的所有加密数据。解密了第 22 行中的 EncryptedData 元素之后,规范化 order 元素并且恰当地验证签名。
其它相关语言和规范
隐藏 XML 文档中的敏感信息、建立完整性以及认证这些文档的不同部分的来源主要通过遵循加密和签名规范中列出的步骤来处理的,在引用的 W3C 草案中描述该规范(请参阅参考资料)。另外,还有其它紧密相关的领域,例如认证用户或系统、标识授权级别和管理密钥,所有这些都与 XML 安全性相关。
SAML 是一个由 OASIS 驱动的模型,它尝试融合相互竞争的 AuthML 和 S2ML 规范,使认证和授权信息的互换便于进行。“可扩展访问控制标记语言”是与 SAML 紧密相关的,但它更着重于特定 XML 文档的上下文中的面向主题特权对象的安全性模型,它也由 OASIS 指导,又是被称为 XACML 或 XACL(即使在同一些文档中)。通过用 XACL 编写规则,策略制订者可以定义,对于特定 XML 文档和前面所述的情况中的相关事情,由谁来实施哪些访问特权。
W3C 委员会现在正在考虑 XKMS,它打算建立一个位于 XML 签名标准顶部的密钥管理协议。有了 SAML、XACL 和其它倡议,XKMS 是构成应用于 XML 文档的安全性这个大框架中的重要元素。有了它,可以立杆见影地极大简化认证和签名密钥的管理;它通过将数字证书处理功能、撤回状态检查和认证路径位置和验证从所涉及的应用程序分离来做到这点 — 例如,通过把密钥管理委托给因特网 Web 服务。
在满足使用的便利性、可靠性和强健性方面,XML 安全性还有很多路要走。但是目前,正在取得良好的进展。
参考资料
Jayanthi Suryanarayana 编写的 developerWorks 教程 SOAP 消息的数字签名解释了如何因安全性考虑而对您的 SOAP 消息进行数字签名和加密。
Doug Tidwell 著的“XML 安全性套件”:增加电子商务的安全性演示了一些 Web 安全性的基础,描述了“XML 安全性套件”的组件并给出了一些示例来演示“XML 安全性套件”中的技术如何增加 Web 贸易的安全性。
OASIS 联盟站点包括 The XML Cover Pages: XML and Encryption、Robin Cover 的有关这些活动的活动目录和有关出版物。该站点还有一份详细说明“安全性断言标记语言(SAML)”的草案文档。
W3C 工作草案 XML Encryption Requirements 列出了“XML 加密”的设计原则、范围和需求。它包括与加密语法、数据模型、格式、密码处理以及外部要求和协调相关的要求。
XML Encryption Syntax and Processing 详细说明了加密数据并以 XML 显示结果的过程。数据可以是任意数据(包括一份 XML 文档)、一个 XML 元素或 XML 元素内容。
XML-Signature Requirements 列出了设计“XML 数字签名”规范的设计原则、范围和要求。它包括与签名语法、数据模型、格式、密码处理以及外部要求和协调相关的要求。
XML-Signature Syntax and Processing 详细说明了 XML 数字签名处理规则和语法。无论数据在包括签名的 XML 中还是别的地方,XML 签名为任何类型的数据提供完整性、消息认证和/或签发者认证服务。
Decryption Transform for XML signature 提供了“解密转换”,即使在 XML 文档上执行签名和加密操作,它也启用 XML 签名验证。
XML Key Management Specification 详细说明了分发和注册公共密钥的协议,适于与 W3C 和“因特网工程任务小组(IETF)” 开发的 XML 签名[XML-SIG]的建议标准以及 XML 加密的预期伙伴标准一起使用。
在 IBM 安全性站点上查找最新的、与安全性相关的新闻和产品。
在 IBM WebSphere 3.x 服务器安全性模型中查看概述。