本站小编为你精心准备了信息视域下旅游商务系统安全分析参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
引言
面向服务架构(service-orientedarchitecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务定义的接口联系起来。这些接口在设计时应该遵循“独立性”原则[1],即采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言。SOA采用Web服务实现,改善了SOA所面临的复杂性和接口多样性,Web服务被认为是新一代的应用集成技术,电子商务采用SOA的架构是比较适合的架构,既具有对信息的实时访问,减少了孤立系统间的数据复制,又增强了企业的灵活性,降低了复杂性,减少了集成系统的开销并且保证了系统的开放性[2-3]。但是这种基于服务的提供与调用方式同时也带来传统的安全方案难以解决的安全问题,如何在充分享受SOA所带来的松耦合、异构、分布式等灵活性的同时,保障系统的安全性是当前需要解决的问题。本文深入研究了系统的安全需求和安全技术,并在此基础上提出了基于SOA的旅游电子商务系统安全模型,该模型采用Web服务安全技术与现有安全技术相结合,保障了SOAP消息的端到端安全。
1安全需求分析
在旅游电子商务系统中,旅游者经常需要向企业的合作伙伴请求服务,如酒店预订服务、机票预订服务等,由此希望借助SOA的开放性、易于集成的优势,利用Web服务创建一个集吃、住、行、游、购、娱于一身的“一站式”旅游服务系统。随着越来越多的交易在网络上进行,网络攻击变得越来越复杂。由于SOA架构的开放性本质和Web服务被广泛用于企业之间的应用集成,使得安全边界由Intranet扩大到了Internet。由于开放网络环境的全球性、开放、无缝连通性、动态性和共享性使得任何人都可以自由地介入,因此会存在黑客攻击、搭线窃听、伪装、计算机病毒、信息泄露、信息丢失、篡改、销毁和软件漏洞的不安全因素[4],这无形中增加了网络安全的风险性,严重地影响着企业与合作伙伴之间建立可靠、安全的信任关系。一个安全的电子商务服务系统必须满足以下安全需求:机密性、身份验证、授权、完整性、不可否认性、保密性和可用性[1]。传统的安全解决方案中,采用SSL能够保证数据传输过程中的点对点的安全通信,但消息可能经过多个中间节点,会在端点处暴露消息内容,导致第三方的窃取或篡改,这样不能满足基于SOA的端到端的消息级安全,WS-Security定义了将XML加密、XML数字签名等安全机制嵌入到SOAP消息头中的标准方法,而SAML则定义了用来交换身份验证、授权和属性断言的一种格式,它无缝地映射到SOAP传输,在一定程度上弥补了WS-Security规范的不足。运用WS-Security和其他规范结合提供了对安全上下文的描述,可以跨越一个体系结构的各层传递。
2系统安全模型
构建全面的SOA企业安全架构必须采用和扩展现有的安全技术,在不同层次上实现其安全需求。组成任何的端到端的企业安全解决方案都需要用到以下3个安全层[5]:周边安全技术、中间层安全技术、后端安全技术。首先,可以通过防火墙、SSL、TLS、IPSec和HTTPS来实现周边安全,以便提供包括认证、授权、数据完整性、机密性等几个安全性功能。其次,使用基于SOAP消息的加密、数字签名、断言服务等Web服务安全技术来保障中间层安全。最后,通过DBMS提供统一的数据保护功能和硬件加密卡技术来保证后端数据库的安全可靠和正确有效,以保证数据的完整性和安全性。
图1描述了一个旅游电子商务系统的安全模型,主要由SOAP/XML防火墙、传统安全技术、SOAP消息安全处理服务、SOAP消息监控网关服务、合作服务提供者、身份管理服务几大部分构成,为服务请求者和提供者之间消息的传输提供了可靠的安全保障。
3安全性分析
3.1周边安全层
3.1.1SOAP/XML防火墙
传统的防火墙主要针对网络层提供安全保障,而在SOA中,Web服务主要部署在应用层,由于其本身的松散耦合、分布式等特点带来了一系列新的安全问题。传统防火墙不能对SOAP消息和有潜在威胁的XML文件进行区别,也不能检测出SOAP消息和XML文件流量,并且部分安全隐患来自传统防火墙所保护的企业网络内部。另外,SOAP通常使用HTTP或者SMTP服务,很容易绕过传统防火墙,以至于它无法阻止其对Web服务的非法访问和攻击,不能满足Web服务的安全需求。为此有必要在传统防火墙之后采用一台应用层面上的SOAP/XML防火墙[6-7],它将安全措施提升到应用层,负责验证SOAP/XML流量。SOAP/XML防火墙本身也是一种Web服务,它在允许服务请求方请求相关服务之前对传入的请求消息进行必要检查,然后再响应服务请求方的请求消息,在一定程度上确保用户的行为不会对系统产生伤害,为服务提供了良好的安全保障,从而提高了系统的可用性。
3.1.2传统安全技术
传统的安全技术主要集中在对网络层和传输层的保护。IPSec和传统防火墙限制了IP对服务的访问,保护数据完整性,但是无法检测SOAP消息安全性。SSL提供客户端与服务器之间的安全传输通道,提供了基于点到点的安全传输机制,保护数据的完整性、机密性,但是其无法保证端到端的消息安全,并且在对数据加密的时候只能对整个文档加密。
3.2中间层安全
3.2.1XKMS
XKMS建立在传统PKI系统之上,为系统提供安全服务的应用。由于PKI处理的问题很复杂,XKMS将复杂性转移到能够专门研究PKI管理的托管服务,通过XKMS服务访问PKI,屏蔽了底层PKI的复杂性。XKMS使得SAML、XML数字签名、XML加密更容易集成到应用中,它支持3种服务:契约服务注册密钥对、获取XKMS服务注册的公钥和验证密钥。XKMS主要由XKISS和XKRSS两个部分组成,XKISS用于定位所需公钥,并将这些密钥绑定到服务请求者,同时能够验证密钥是否有效。XKRSS允许XKMS服务请求者将它的公钥对和相关的绑定信息注册到XKMS信任服务提供者[3]。XKMS的认证流程如图2所示。
3.2.2SOAP消息安全处理服务
SOAP消息安全处理服务包括对SOAP消息的签名、加密等问题。此模块通过对SOAP消息加密实现了机密性,使得第三方无法得到通信之间传输的数据。通过时间戳和散列算法生成消息摘要,利用请求者认证书中的私钥按照WS-Security[8]规范对其进行SOAP消息签名,以保证消息的完整性,即使消息在传输过程中被篡改,这个消息也能被检测到。同时对SOAP消息进行数字签名也确保了消息的不可否认性。图3是对消息进行数字签名的流程图。
3.2.3SOAP消息监控网关
SOAP消息监控网关包括SOAP消息拦截器、SOAP消息检查器和SOAP消息路由器。该模块在一定程度上保证了系统免受拒绝服务式攻击,从而提高了系统的可用性。如图4所示,消息监控网关对每条SOAP消息进行监控,拦截服务请求方传来的SOAP消息,检查消息是否符合标准的XML格式,确保消息的惟一性和源主机的惟一性,然后根据服务契约管理水平检查该请求是否满足契约水平:若满足则将请求消息发送到服务提供方对消息进行处理;如果没有满足契约水平,消息监控网关则告知系统管理员有问题存在[9]。消息监控网关在一定程度上保证了SOAP消息的发送和接收安全,提高了服务的水平。
3.2.4身份管理服务
SOA的安全防御除了对人的防御外,更多地强调与合作伙伴之间的交互所带来的安全问题的防御,所以身份验证就不仅限于单一的安全控制域,如旅游者在请求机票预订服务过程中,可能会涉及要调用网上支付服务,这需要跨平台、跨企业的安全控制域的验证,以确保旅游者能够获取授权范围内的服务请求,而不能获取未授权范围内服务请求者和提供者之间传递的消息。
经过SOAP消息监控网关之后的服务请求消息,服务提供者要根据加密的消息进行身份验证,从而判断是否响应服务请求,而这个身份验证过程由身份管理服务模块来完成。身份管理服务模块主要由SSO、凭证令牌和断言服务3大模块构成。服务请求者发送服务请求时,系统使用断言服务为其创建一个SAML断言,通过凭证令牌将凭证封装至SAML断言的安全令牌中,然后将其发送给服务提供者,其中存放了权限信息,从而确保消息的授权访问,同时通过断言服务向联合身份验证DB发送验证请求,提供SOAP消息在传输过程中对用户身份的验证[9]。
3.3后端安全
后端安全用于保护后端数据库系统。中间层可能会在消息通信过程中需要访问某个数据库,数据库中大量数据集中存放,而且为许多用户所共享,从而使其安全问题更为突出。实现数据库安全的技术有多种,通过DBMS提供的统一的数据保护功能,采用存取控制技术和审计技术来保证后端系统的安全可靠和正确有效[10],同时又采用加密卡的硬件措施来保证数据加密、数据完整性、数字签名、访问控制等安全功能来保护数据库系统。
4结束语
SOA安全的实现实质上就是将Web服务安全技术与现有的安全技术结合起来保障SOAP消息的端到端安全,提供了消息层面上的机密性、完整性、授权、身份验证、不可否认性、可用性方面的安全需求。此模型不仅适用于旅游电子商务系统,也可用于SOA的网络环境下其他的应用系统。SOA目前虽然还处于发展阶段,SOA安全漏洞还不是很明显,SOA应用还存在着一定的风险,但以服务为核心的SOA在系统集成和系统灵活性方面有着无可比拟的优势,随着SOA的不断发展和应用,将使利用它开发的系统更加灵活和高效。