摘要:对于任何应用程序来说,保护信息访问的安全都是最基本的要求。由于按SOA原则而构造实现的服务、应用程序以及跨组织操作所具有的松耦合特性,这种环境往往更加容易暴露现有安全实现的弱点或局限性,因此缺乏良好的编程模型将严重威胁Web服务的安全。 |
目前主要的XML安全标准包括:XML加密、XML签名语法和处理、数字签名和XML密钥管理规范(XML Key Management Specification,XKMS)等。值得一提的是,现有的XML安全标准已经可以实现对XML文档进行有选择的签名处理,而这在以前是不可能做到的,要么整个文档被签名,要么根本不签名。
下面我将重点介绍XML加密和XML签名。它们已经由W3C发布为标准,可以用来把安全加入到基于XML的数据中去。
XML加密是用来把原始的XML数据通过密码依次加密,从而让数据能够在请求者和服务端之间以一种模糊的方式传输。密码仅由请求者和服务端掌握,这就能保证即使是在传输的过程中有数据被截取,窃取者也只能看到一堆毫无意义的字符串,从而防止敏感信息泄露。
另一方面,XML签名则用来防止XML文档的被非法篡改。通过使用XML签名,一个服务供应商可以提供给任何的服务消费者——以一种确定的方式来检测XML的有效负载是否相对于它原来的方式或者原来的状态发生了改变。
需要特别指出的是,XML加密和XML签名适用于任何的XML类型的文档。意识到这一点是很重要的,因为它们不仅仅可以用来保护服务交互的有效负载的交换,同样的它们也可以用来保护类似WSDL这种契约,这些文档也是基于XML的,并且也是SOA中的一个重要组成部分。
同样,市场上也出现了专门解决这类问题的产品,称为XML安全网关。类似传统的防火墙,企业可以把它部署在网络边界上,从而对所有进出的XML数据进行保护。XML安全网关遵循包括XML和WS-Security在内的行业标准,对XML数据进行验证、加密、签名以及认证,来提供安全的基于XML的Web服务通信。此外,它还可提供防火墙功能和访问控制功能。有些产品还可以与网络管理软件集成,帮助企业降低IT管理成本,并解决依从性需求。
XML通信协议消耗大量带宽,引发安全问题
与传统的二进制通信协议相比,XML最高可以消耗高达50倍的带宽,这不仅会导致交互系统性能下降,而且会为分布式拒绝服务攻击提供可趁之机。因此,未经优化的XML通信将导致严重的安全问题。
为了解决这类问题,市场上已出现了专门的XML加速器。利用基于64位平台架构的语法分析器,该设备可以用来加速XML/SOAP的解析、XML模式的确认、XPath的处理以及XSLT的功能转换。据公开的产品测试报告称,这种XML加速器能够达到每秒处理1万多条XML消息的能力。
缺乏良好的编程模型严重威胁企业安全
对于任何应用程序来说,保护信息访问的安全都是最基本的要求。由于按SOA原则而构造实现的服务、应用程序以及跨组织操作所具有的松耦合特性,这种环境往往更加容易暴露现有安全实现的弱点或局限性,因此缺乏良好的编程模型将严重威胁Web服务的安全。
责任编辑:honey