用消息交换增强ebXML的安全性(二)

日期: 2007-12-24 来源:TechTarget中国

  元素的一个直接子元素。
  
  <SenderDigitalEnvelope>参考所使用的加密机制。术语数字信封(digital envelope)源于消息层安全性事实,如ebXML里所用,一般来讲,使用快速的对称密钥(symmetric key)来加密有效载荷,然后依靠接收者的公钥来加密对称密钥,这样更有效率。从这个意义上来讲,原始对称密钥就是被另一个密钥给封住了。对于ebXML,数字信封的推荐机制是XML加密,但也可以被使用二进制机制如S/MIME和PGP/MIME。<SenderDigitalEnvelope>元素指定了协议类型、版本以及所用的加密算法。
  
  最后一个元素,<NamespaceSupported>,可以用来消除XML安全规范的不同版本之间的歧义,如XML签名和SAML。<NamespaceSupported>元素的作用是直接指定相应安全规范的名称空间(因而也指定了版本)。清单4给出了<SenderNonRepudiation>元素和<SenderDigitalEnvelope>元素的一个例子。
  
  清单4 安全策略元素示例
  
  <SenderNonRepudiation>
  <NonRepudiationProtocol>
  http://www.w3.org/2000/09/xmldsig#
  </NonRepudiationProtocol>
  
  <HashFunction>
  http://www.w3.org/2000/09/xmldsig#sha1
  </HashFunction>
  
  <SignatureAlgorithm>
  http://www.w3.org/2000/09/xmldsig#dsa-sha1
  </SignatureAlgorithm>
  
  <SigningCertificateRef certId="CompanyA_SigningCert"/>
  </SenderNonRepudiation>
  
  <SenderDigitalEnvelope>
  <DigitalEnvelopeProtocol version="2.0">
  S/MIME
  </DigitalEnvelopeProtocol>
  
  <EncryptionAlgorithm>
  DES-CBC
  </EncryptionAlgorithm>
  <SenderDigitalEnvelope>

  在清单4中的例子中,发送者支持消息层鉴权的XML签名,使用DSA算法和SHA-1哈希函数进行。对于数据私密性,则使用S/MIME v2.0机制,带有56位CBC模式的DES键。
  
  在这时看来,好像消息层安全机制所有必需信息都已经被指明了,但还有个问题,那就是如何把这些操作应用到ebMS消息。EbMS规范使用了一个含有几个组成部分的MIME信封。驱动程序包括一些场景,在其中ebMS消息的各个部分被加密或签名。这正是<Packaging>元素的工作。<Packaging>元素描述了需要被签名或被加密的ebMS消息部件,以及无需加密的应该留给别人去修改、更新或改变的部件。
  
  <Packaging>元素
  
  <Packaging>元素描述了ebMS消息的哪些部分要签名和加密,哪些部分不需要。
  
  查看<Packaging>元素是如何工作的。首先请查看ebMS消息的消息结构,它是根据带附件的SOAP协议(SwA)定义的。SwA的结构则是根据一套名为SOAP消息包的MIME包来定义的。每条SwA消息都是一个消息包的集合,主要SOAP有效载荷位于第一个MIME容器里。图2直观地展示了ebMS消息与应用层之间其他部分的关系。

  
  图2 ebMS

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • ebXML是否具有永恒的力量?

    我注意到最近不少支持ebMS如雨后春笋般出现。我猜想它具有连续的SOAP/WSDL通讯方面内置的可靠性功能的优势,但它确实有长期的支撑吗……

  • 用消息交换增强ebXML的安全性(一)

    本文是两篇有关ebXML安全性的文章中的第一篇,主要讨论消息层。如果需要了解对ebXML概念的一般性介绍,以及研究一些基于功能阶段实现普通ebXML交互的全部用例,请参看ebXML简介。本文将重点解释消息级别的安全性和ebXML消息传送(ebMS)的安全策略机制。

  • 理解 ebXML(四)

    ebXML 是一个由许多部分组成的大项目。在本文中,David Mertz 概述了这些部分是如何组合在一起的。这篇概述介绍了 ebXML 概念,然后稍微详细地讨论了商业过程的表示,这是 ebXML 实现的重要起点。两段短的代码样本演示了 ProcessSpecification DTD 和一个协作包。

  • 理解 ebXML(三)

    ebXML 是一个由许多部分组成的大项目。在本文中,David Mertz 概述了这些部分是如何组合在一起的。这篇概述介绍了 ebXML 概念,然后稍微详细地讨论了商业过程的表示,这是 ebXML 实现的重要起点。两段短的代码样本演示了 ProcessSpecification DTD 和一个协作包。