网络服务(Web Services)被誉为改变IT现状的新技术之一,将对企业内各项应用系统的整合产生深远的影响。它以独立于平台和语言的方式,实现了在互联网上利用标准协议进行远程数据交换。这个基于消息、通过HTTP发送的方法能够进行复杂的交互,包括经过多个节点的消息路由选择。但这也带来了安全问题。很多传统的面向连接的、点对点安全工具,在此情况下不太有用。网络服务需要一种端到端的安全解决方案,不管消息要经过多少节点,它都能适用。
由IBM、Microsoft和Verisign公司联合研究的WS-Security是一项建议中的安全标准格式,它以SOAP(简单对象接入协议)消息的方式传送与安全有关的信息。WS-Security是建立在W3C标准的、并为SOAP定制的加密和数字签名规范之上的。
在WS-Security之前,W3C已经开发了XML Signature和XML Encryption标准。 有了数字签名和加密,XML消息是保密的,未经授权是不能修改的。但是这些标准的功能对网络服务来说是不够的, 网络服务需要更多的安全功能。为此,WS-Security安全标准应运而生。
WS-Security定义了安全权标的XML结构,客户端可以利用安全权标声明身份或某些特权。WS-Security的权标包含了用户名、二进位和安全权标参照。声明可以是背书的或者不背书。背书的声明伴有证据,即受委托的第三方对此声明做担保。X.509证书就是背书声明的权标。 在此情况下,发证权威机构负责对拥有公开/私人密钥对的人进行身份担保。
另一方面,用户名加上口令或者没有口令,是一种无背书的声明,为了信任此用户名,需要做出某种规定。其中一个可能的规定就是包含口令,从而接收方可以对照本地数据库检查发送过来的口令。
有关WS-Security的很多细节仍有待制定。坚持标准并不能保证互用性,同时管理信托关系也是一项挑战。但是种种迹象表明,我们已经走上跨平台安全解决方案的正确道路,这将使业界增强信心,并更多地采用网络服务。