2、Web服务可靠性及SOAP层安全扩展
由富士通、日立、NEC、Oracle、Sonic软件和Sun等领先IT厂商宣布,它们将合作发布Web服务可靠性(Web Services Reliability)技术规范工作草案。这一WS-Reliability技术规范将通过提供一个更为可靠的传输基础设施,加快Web服务的采用,以适应企业界各种各样的应用需求。
WS-Reliability是一个针对开放的、可靠的Web服务讯息递交的技术规范,包括担保递交、复制讯息排除和讯息分类等,使各种Web服务之间得以进行更可靠的讯息传递。WS-Reliability基于SOAP协议,而不局限于基础传输协议。
自从SOAP规范从2001年发布以来,SOAP规范的加密性,认证和授权等安全机制一直受到人们的广泛关注。这三个方面对于任何的B2B来说都是很重要的 ,但SOAP标准在制定规范时并没有过多考虑SOAP 的安全性要求。因为SOAP一个很重要的设计目标就在于它的简单性,尽可能的利用已有的标准和协议来实现相应的功能。
SOAP安全的解决方案基于三个W3C的XML规范来实现:XML Digital Signature, XML encryption, and XML Key Management Services。SOAP层安全处于传输层和应用层之上,对SOAP层的安全性进行扩展,把关于安全的五个基本要求应用到整个的SOAP信息中,包括SOAP头以及SOAP体。同时,更多的安全措施也可结合SOAP层安全与传输层以及应用程序来共同解决。(如下图2)
图2 SOAP层安全扩展
1)SOAP 安全扩展: 数字签名 (Signature)
"SOAP Security Extensions: Digital Signature"最初设想是利用XML的数字签名(XML Digital Signature syntax [XML-Signature])对SOAP进行扩展,在SOAP的头元素中定义签名属性(<SOAP-SEC:Signature>)来实现。
2)安全性令牌(Security Token) -定义安全性令牌表示与安全性相关的信息(例如,X.509 证书、Kerberos 票据和认证者、来自 SIM 卡的移动设备安全性令牌、用户名等等)。
SOAP规范在SOAP 1.1的头元素里定义了XML Signature 的使用,数字签名经过加密算法计算后的值附加在数据对象后面,数据接受对象从签名中可以验证数据的来源和完整性。加密后的传送信息可避免数据接受者受到伪造信息的蒙骗。虽然数字签名了提供这些安全服务:信息源的证明--信息的接受者可以确定这条信息的发出者的身份;信息的完整性---信息的接受者可以确定这条信息发出后没有被纂改;不可抵赖性---事物中的任何一方事后都不能否认他的行为。但是:数字签名没有提供信息认证,恶意破坏者可以记录一个信息并反复发送(重复攻击),为了避免受这种类型的攻击,数字签名必须结合一定的方法来保证信息的唯一性,如:时间戳(time stamps)或nonces 等。签名的日期和时间都附加在消息上,并与消息一起签名。添加这些信息可以在中加入扩展元素实现。当数字签名用来验证发送方的标识时,发送者必须提供一个私有秘钥等等。SOAP信息也可以使用其他安全技术,更多的SOAP安全规范正在不断的完善之中,随着SOAP安全性的增强,SOAP技术会得到越来越广泛的应用。
3) UDDI安全:识别与授权
使用UDDI的发布API的关键原则是只允许被授权的用户进行发布或修改UDDI商业注册中心中的数据。每一个分布式的UDDI商业注册中心维护-张唯-的授权用户列表,并跟踪所有用户创建的businessEntity或tModel数据。只有信息的创建者才允许对该信息进行更改或删除。
每个UDDI商业注册中心的实例被称为一个操作入口站点(Operator Site),操作入口站点被允许定义他自己的用户授权机制,不过所有的签署协议的公共的UDDI注册中心操作入口站点都需要满足规定协议中定义的最小安全规范以提供类似的安全机制。
查看本文来源