“深度服务 深度安全”之SOA的安全服务

互联网 | 编辑: 杨剑锋 2008-12-19 18:06:00转载-投稿

卫士通信息产业股份有限公司 吴鸿钟 博士

面向服务的架构(SOA)是一种松耦合服务模式,通过标准化的接口来联系各种形式的服务,无论服务置于何地,均能通过一种便捷而统一的方式实现相关功能,这对信息资源的二次利用和服务模式的二次重整具有极大的作用。
 
SOA面临的安全问题

在具体技术上,SOA是通过XML/SOAP等几种系列的标准化技术来实现的。但是围绕SOA的安全问题一直没有彻底解决的方法,其原因在于:

1、 不同信任域的信任关系的转移和认同

业务流程可能由不同厂商的基于异构平台的多种服务组合而成,每个服务都具有各自独立的安全域。这些安全域可能由不同企业的不同部门负责管理和维护,这要求必须在SOA架构范围内建立统一的信任体系,然而这种努力确实难度极大的。

2、 不同应用服务统一、重用和共享的安全性

SOA具备来自异构系统的多样性,要求建立一个统一的安全基础设施和标准。但是目前情况是不同的应用系统有不同的认证、授权模式,协调和统一的难度大。

3、SOA强调设备与设备的交互,而大多数IT安全性都是基于人与设备的交互

传统的安全防御对象主要是针对人,而SOA更多地强调了设备与设备的交互,即所谓服务的互操作性,如何应对来自合作伙伴或第三方服务交互请求的威胁(大多数情况下,这些请求被人恶意利用和操纵),将是SOA安全防御的一项重要课题。身份验证和授权在这个环境中变得更加富于挑战性。在未受保护的SOA中,想要阻止Web服务的未授权使用实际上是不可能的。未授权用户可以非常轻松地访问Web服务,而Web服务往往不具备跟踪谁在使用它们或者谁被允许使用它们的固有毛病。

4、其它方面的安全问题

SOA整套架构在应用层与表示层的隔离上做得不完美,这会导致未来阶段,新的代理程序很容易寻找和利用SOA的安全漏洞;僵尸网络工具准确找到应用中的安全漏洞的概率很大,而且准确性比现在的工具高得多。

总之,SOA的应用毕竟处于起始阶段,安全性还存在许多的问题。

SOA的相关安全标准

为了应对上述问题,OASIS制定了一系列技术标准,这些标准包括:

WS-Security。 描述如何将XML加密(XML Encryption)和XML签名(XML Signature)应用于SOAP文档或信息。

WS-SecurityPolicy。 对哪些人被允许访问某个服务以及访问方式做出规定,并对认证方式的类型和/或所需要的加密等级做出限制。他是Web服务策略(WS-Policy)的子集,以更为通用的方式对服务的能力和限制进行描述。此标准由国际商业机器公司(IBM)和微软公司(Microsoft)共同开发,并于2007年7月正式确立。

WS-SecureConversation。 是按照WS-Security标准,实施WS-SecurityPolicy中所描述的策略的方法。此标准于2007年3月通过审批,Actional公司、BEA Systems、思科公司、CA公司、利基网络公司(Layer 7 Networks)、Oracle、Reactivity公司、RSA等其他厂商也都表示支持此标准。

WS-Trust应用WS-Security标准传输密码、数字证书以及安全性断言标记语言(SAML)断言等安全标识。XML密钥管理规范 (XKMS)和SAML有部分相同之处。

WS-Federation 根据WS-SecurityPolicy中描述的服务规则,应用WS-Trust中提到的被传输的安全标识,通过Web服务的认证。相较SAML,他的主要优势在于,Windows支持这一标准。

上述标准中需重点关注WS-Security和SAML。

SOA的安全解决之道

1、 在服务模块前通过SOAP解析器来解决安全问题

著名的Hugh Taylor, Eric Pulier在《松散耦合的SOA环境中的安全性》一文中提到了这种方法。

2、 整合信任源

不同的信任源有不同的信任基础,比如通过用户名+口令、证书、生物识别,需要整合上述信任基础,统一到一个完整的信任库中,通过Security Assertion标签完成信任基础的定义并明确导向。基于目前的现状,建议整合到CA平台上,目前的问题是CA的认证比较复杂,规模和流量对SOA的影响颇大,面向政府的SOA架构可能没有太多问题,但是对于大型系统(如客票系统)可能就有问题,未来是否能够应用南湘浩的CPK?

3、 相关产品

SOA 安全网关:网关为进入企业的XML流量提供了一个代理,并运用安全策略来确保某种形式的请求与验证。主要作用是对SOAP进行解析,如果SOAP中涉及encrypt标签,需指向专门的SOAP加解密设备来完成。

SOA安全平台:主要提供验证和授权方面的安全支撑。

 SOA反病毒邮件网关,目前能够针对SOAP病毒的反病毒邮件网关还比较少,需要增加特定的SOAP协议支持才能对SOAP病毒进行防范。

SOA的安全服务咨询要点

卫士通在前期项目中涉及到了SOA的安全架构问题,其咨询要点是:

1、 分析SOA中对信息安全性要求

包括了信息机密性、完整性和可用性需求,通过制定表格把信息敏感性确定下来。

2、 具体描述SOA中的标签

通过信息的敏感性分别定义不同的SOAP安全标签,如、等内容。

3、 部署统一的SOA信任域

不同应用系统有不同的信任对象和信任方式,统一纳入到CA系统中进行信任是必要的也是可行的。

后记

卫士通深度服务的概念包括了三点,一是全生命周期的服务;二是深入到应用的服务;三是纵深防御的服务。而深度安全包括了两个方面;一是显性的安全;二是隐性的安全(详情请见吴鸿钟博士前期发表的《深度服务 深度安全》一文),而本文对SOA的服务咨询,提供的是深入到应用的服务,达到了一种隐性的安全。

 

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑