面向服务的系统架构(Service-Oriented Architecture,SOA)通过松散耦合、可重用的服务作为基本元素构建分布式应用,它的开放性特征增强了信息系统的灵活性。同时,SOA的开放性也造成了基于SOA的信息系统的安全性问题。因此,我们设计基于SOA的分布式应用必须要充分考虑其所面临的安全威胁,设计相应的安全模式来避免或减少安全威胁。当前,SOA架构面临许多关键性安全问题,安全问题的重要性呈现逐步上升趋势,已成为制约SOA架构纵深应用的发展瓶颈。
1.SOA的应用现状
SOA是一种全新模式,它支持企业将业务整合为一系列相互衔接的服务或重复性业务任务,从而使企业能够高效、重复地利用现有技术。SOA可以更好地将IT 目标与业务目标达成一致,实现了业务灵活性,节省了成本。
SOA应用是一股不可阻挡的潮流,原因在于SOA的应用所能带来的信息系统建设的灵活性和开放性。SOA最受人关注的是对分布式、大规模、异构环境下信息系统的整合能力,提高业务系统的敏捷性。SOA能解决在异构环境下,企业多个信息系统的应用集成,即不同应用系统之间的互联互通和信息资源共享,使得企业的信息资源和业务可以更好地结合在一起。
根据Companies&Markets 公司的一份收费报告统计结果显示,SOA市场正处于应用需求的旺盛时期。导致SOA市场强劲增长的原因是因为云计算的兴起,对应用框架的需求越来越多,面向云计算的数据中心希望更多地整合和连接应用。SOA架构中基本组成元素是可重用的服务集合,而云计算强调一切资源皆以服务的形式面向用户。云计算和SOA是互补的,SOA能够将单一功能的云服务组合成能满足复杂业务需求的应用,云服务为SOA提供了大量的可供其集成的远端服务。因此,我们认为对SOA信息安全的深入研究对云计算安全也有着非常重要的借鉴意义。
2.SOA架构下的安全挑战
2.1 技术安全威胁挑战
2.1.1 SOA架构模式自身安全威胁
基于SOA的系统是开放的、分布式的、互连的,消息是服务与使用者之间传输数据的基本元素。我们可以控制服务内部的消息,也可以对服务使用者加以安全控制,但是对于服务与服务之间的空间缺少安全控制。Pat Helland 把这块空间称为“无人区”,特别是当消息是通过Internet 传输时,安全问题就显得尤其重要。在服务与服务之间的“无人区”上传输的消息易于受到威胁攻击。许多安全威胁都与一类被称为“中间人”的攻击有关。当服务或服务的使用者发出消息,攻击者可以通过监听整个线路,获取到消息或对之进行篡改。因此,SOA安全模式设计要充分考虑保护数据机密性、保护数据完整性、防止数据伪造和保证数据可用性。
2.1.2 外部恶意攻击引发的安全威胁
当攻击者发送给服务使用者恶意代码时,服务使用者应该对接受的信息进行正确判断。XML 拒绝服务攻击即是一个典型的恶意攻击。在这种类型的攻击中,攻击者在传输的消息中附加很多数字签名,服务使用者收到这类消息,解析器将对所有签名进行解析,导致相关服务负载过重,进而造成服务不可用。另一种常见的恶意攻击是XPath 注入攻击,有时甚至更为普通的SQL 注入攻击都可以对系统注入恶意参数,从而达到信息泄露或对服务中的数据执行有危害的操作。
2.1.3 多服务系统融合衍生的安全威胁
由于缺乏安全关键技术支持,在利用基于多个SOA平台共同构建应用系统时,将多个服务进行整合,必然提高整体系统的复杂性,进一步增加安全风险。
2.2 SOA安全管理需求
建立SOA安全标准及其测评体系是度量实施SOA架构系统安全能力的尺度,是构建基于SOA架构系统的重要参考。
2.2.1 对SOA安全标准和评测体系建设的需求
SOA安全标准不仅应支持用户描述其数据安全保护目标、指定其所属资产安全保护的范围和程度,更重要的是,应支持用户,尤其是企业用户的安全管理需求。搜集安全信息,分析查看系统日志信息、了解数据使用情况以及展开违法操作调查会牵涉到SOA架构平台服务提供者的核心数据或涉及到服务使用者的隐私数据,带来一定数据隐私保护问题。目前,SOA架构平台对接融合运作模式并不成熟,尚未形成行业标准,服务使用者用户与服务提供者之间的责权界定不清晰,因此,需要以安全标准形式将相关责权确定下来,明确指出服务信息范围、获取手段等,防止影响双方的权益。此外,我们要坚持可测量、可验证、可跟踪的原则制定安全标准。
2.2.2 对SOA安全监管的需求
由于SOA具有开放、透明和动态的特点,增加了对服务内容监管的难度。SOA的灵活性使得构建基于SOA架构的系统更加容易,服务所发布的内容在网络上跟踪管理难度大,对内容监管困难;多服务融合构建的系统存在跨区域、跨行业调用服务接口的可能,对服务封装的功能和数据的监管会涉及到多个部门,甚至多个行政区域。因此,当出现安全问题时,安全监管者往往难以判断问题出自哪里。
3.SOA三维信息安全空间体系模型设计
由上所述,不难得出以下结论,SOA信息安全不仅是技术问题,更是管理问题。信息安全是“三分技术,七分管理”的综合性工作,任何技术措施只能起到增强信息安全防范能力的作用,信息安全应该重视安全技术,更应该注重管理,只有管理到位,才能保障技术措施充分发挥作用。因此,为保障SOA信息安全,应该从安全技术、安全服务、安全机制等三个维度建立SOA的信息安全空间体系模型,并将其作为信息安全方案设计和评价的参考模型,如图1所示。
图1 SOA的三维信息安全空间体系
3.1 安全技术
3.1.1 数据加密和数字签名
加密和数字签名是确保数据安全性的基本方法。SOA中采用受保护消息模式,由一个用于提升原始消息安全性的部件组成,加解密用于解决数据隐私问题,加密保护的强度取决于加密算法的设计和对密钥的保护。数字签名用于解决数据完整性问题。由于大部分SOA架构下的消息是基于XML描述的,因此我们常用到XML 加密和 XML 签名这两个开发标准,上述两个标准都可以用来把安全加入到基于XML 的数据中去。XML 加密允许用户加密XML 文档中的具体元素。
3.1.2 访问控制
访问控制按照事先确定的规则决定服务请求者对服务的访问是否合法。当服务请求者试图非法使用一个未经授权的服务时,访问控制将拒绝该请求,并将这一事件报告给安全审计跟踪系统,审计跟踪系统将给出报警并记录日志档案。
3.1.3 数据完整性验证
在数据完整性方面,传统方式将海量的数据下载到客户端,从而带来大量的通信代价。远程数据完整性验证协议能够仅根据原始数据的一部分信息和数据的标识进行完整性验证,因此适用于SOA架构下的数据完整性验证。
3.1.4 认证技术
在SOA架构中认证主要有站点认证、报文认证、用户和进程认证等。在SOA架构的系统建设,将面临异构环境下不同平台的众多的用户,实现身份联合和单点登录可以支持服务之间更加方便地共享用户身份信息和认证服务,并减少重复认证带来的运行开销。
3.2 安全服务
SOA架构提供的是一种开放、透明的架构模式,在通过SOA进行异构系统整合时,服务使用者更希望直接面对的是SOA安全体系所提供的安全服务体系,而不是具体的底层技术。
3.2.1 实体认证服务
实体认证服务包括对等实体认证服务和数据源点认证服务。对等实体认证服务用于两个开放的SOA架构下构建的系统对接时,同等层中的实体建立链接或数据传输时,需要对服务提供者和服务使用者的合法性和有效性进行验证。数据源点认证服务用于确保数据发自真正的源点,防止假冒。
3.2.2 数据保密服务
数据保密服务包括多种保密服务,为了防止SOA架构下各系统之间的传输的消息数据被截获或被非法存取而泄密,提供密码加密保护。数据保密服务应该提供链接方式和无链接方式两种数据保密,同时也可对用户指定字段的数据进行保护。
3.2.3 数据完整性服务
数据完整性服务引入可信计算理念,通过建立一种特定的完整性度量机制,使计算平台运行时具备分辨可信程序代码与不可信程序代码的能力,从而对不可信的程序代码建立有效的防治方法和措施[7],用以防止非法实体通过SOA服务,对传输的数据进行修改、插入、删除以及在数据交换过程中的数据丢失。数据完整性服务更细分为:带恢复功能链接方式的数据完整性、不带恢复功能链接方式的数据完整性、选择字段链接方式的数据完整性、选择字段无链接方式的数据完整性、无链接方式的数据完整性。
3.2.4 禁止否认服务
禁止否认服务用以防止服务参与双方否认自己通过服务发送过数据的行为,或接收方在收到数据后否认自己收到过此数据或伪造接收数据的行为。由两种服务组成:不得否认发送和不得否认接收。
3.2.5 提供证据服务
管理人员能够通过该服务,以最小代价得到SOA架构下软硬件资源的使用情况,如获取日志数据、跟踪审计数据、动态实时更新审计数据等,了解资源的使用情况、安全情况,如有异常情况通过报警提示;能够提供事后的取证、分析服务,使用历史记录可以取得特定环境、时间段或基于其他特定系统参数下,主机、服务器和网络的使用信息,基于这些历史记录可以进行某些统计、分析操作;对于已经发生的系统破坏行为提供有效的追究证据。
3.3 安全机制
3.3.1 动态闭环的管理流程
根据SOA架构下的系统生命周期特点,建立从规划、建设、运行维护到结束的全过程安全管理机制,建立评估——响应——防护——评估的动态闭环的管理流程。
SOA架构下的系统处于不断的建设和调整中,新的安全漏洞总是不断地被发现,单纯的静态管理流程已不能满足要求,需要建立动态的、闭环的管理流程。动态、闭环的管理流程就是要通过安全评估和检测工具(如漏洞扫描、入侵检测等)及时了解存在的安全问题和安全隐患,据此制定安全建设规划和安全加固方案。
3.3.2 基于模型的评测机制
SOA软件的设计缺陷是运行错误的根源,但并非每一个缺陷都会产生错误,通过增加可信手段可以减少错误的发生,在SOA软件生命周期中的不同阶段,参考SOA软件系统可信性模型、Web 服务可靠性的阶段模型建立起安全度量和评测机制。
4.结束语
在互联网应用环境下,无论是SOA的服务提供者还是服务使用者,安全问题都是第一大问题。通过分析SOA面临的安全挑战,在充分考虑技术条件的同时,结合服务和机制等方面因素,设计SOA的三维信息安全空间体系模型。该模型在每个维度上的实施越丰富、越深入、越具体、越科学,则整个空间的安全性越好,因此在建设基于SOA的系统时,可以参考本文的安全模型评估信息系统的安全性,设计规划安全建设方案。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于SOA架构的信息安全研究
本文网址:http://www.toberp.com/html/consultation/10839512739.html