基于策略的Web服务安全处理方法及系统

2018-04-12 16:20杨帆李文艳
电子元器件与信息技术 2018年7期
关键词:访问控制报文处理器

杨帆,李文艳

(1.北京航空航天大学 计算机学院,北京 100191;2.中国建设银行总行,北京 100033)

0 引言

面向服务的体系架构(Service Oriented Architecture,简称为SOA)已经成为分布式应用的一种流行的设计规范,并成为了网络环境下异构系统和资源进行互连和协作的高效解决方案,而服务是SOA架构的核心概念。面向服务的计算,其基本思想是将应用资源服务化,可通过服务描述文件,向潜在用户提供符合统一规范的良定义的接口,以便进行服务的发现、组合和调用,并实现松耦合的组织关系[1]。

当服务使用因特网作为通信手段,并且遵循因特网的相应标准规范时,服务为Web服务。由于Web服务的交互是基于公开的通信协议和交互机制,调用接口也是开放的,在实现便利性的同时,也因此带来了相应的安全问题。

1 Web服务安全现状

目前,Web服务面临的主要安全威胁可以分为以下四大类:

1.1 未经授权的非法访问

Web服务交互的数据,尤其是隐私、机密数据,被非授权用户进行非法访问的风险,例如非授权方通过截取Web服务的交互数据获取用户的银行账户信息。访问控制技术可以减少这方面的风险[2]。

1.2 未经授权的消息修改

未经授权的用户对消息中整个数据的删除和修改,或者针对性的对部分数据进行篡改、删除和注入附加信息。例如伪造信息、会话劫持、重放攻击。消息的加解密技术可以减少这方面的风险。

1.3 中间人攻击

攻击者攻占一个SOAP报文的传输中介,比如中介路由器,在参与方不知情的情况下,在Web服务的提供者和请求者之间通过传输中介对交互的报文信息进行截取或篡改。消息的数字签名技术可以减少这方面的风险。

1.4 拒绝服务攻击

攻击者通过发送大量无用的请求报文以占用大量资源,使得合法用户的合法服务请求报文无法及时解析。例如,短时间内发送大量的消息,尤其是含有解密或签名验证需求的安全报文,会在短时间内占用绝大多数的系统资源,将会严重的影响服务的可用性,甚至进而影响服务所在中间件系统的可用性。XML的预处理技术,即对接收到的XML报文进行分析处理,可以减少这种攻击造成的威胁[3]。传统的网络安全机制,比如路由器、防火墙、IP地址访问限制,以及使用SSL安全套接字层,只能在网络层保证Web服务安全。比如缺乏检查网络流量(例如SOAP报文中的XML格式文本)的内容,以及授权验证和访问控制决策的能力。

2 基于策略的安全处理办法

Web服务需要对报文进行加密和数字签名,以保证报文的机密性和完整性;同时需要了解请求者是谁,正在请求的信息是什么,以及正在请求什么特定服务或操作,以建立基于请求者、服务提供者、请求何种操作等情况采取基于策略的访问控制决策模型。安全策略管理器通过对Web服务对应的服务描述文档中安全策略标识的解析,通过策略树算法的处理完成安全策略的建模,并将其加载到内存中。

访问控制模块的策略决策点接收到上下文处理器发送的符合XACML请求格式的评估上下文后,根据本次请求的具体内容,主要包括主体、资源、操作和各种属性信息,在容器内提前部署的策略库中选择合适的策略。策略定位器负责查找与请求消息相对应的策略。策略中标明了服务的用户集,以及该用户集可进行的操作[4]。

策略评估的过程是从容器内的策略文档中获取与本次请求相关的策略,只有通过评估的策略,才能在决策过程中继续进行决策。策略决策点解析本次请求以及通过评估选择的与其适用的策略,通过对请求与策略中规则部分的解析,获得访问控制的授权结果。

具体处理流程可分为如下几个步骤:

(1)客户端发送的访问请求通过身份认证处理器到达策略执行点(PEP),身份认证处理器对报文中的用户标识信息等断言信息进行验证解析。

(2)策略执行点(PEP)对访问的请求SOAP报文进行分析,通过特征标签判断该请求报文的访问控制断言种类。请求中包括主体、资源、环境及行为的属性进行建模,并将相应数据发送给上下文处理器。

(3)策略信息点完成对系统容器内的访问控制策略文件的解析,将用户属性、环境属性和资源属性等信息传递给上下文处理器。

(4)上下文处理器将授权请求信息格式化,并发送给策略决策点。策略决策点通过上下文处理器传递的信息,套用规则集,进行访问控制决策,并将决策结果反馈给请求方。

3 应用实验

在信息系统的应用场景中,由于各分系统的软硬件环境的多样性和异构性,所以采用面向服务的软件体系结构,并实现以服务为核心的软件开发方式,提供服务化的软件集成手段和运行环境,可以屏蔽各终端应用环境的多样性,为应用系统的基于C++/DLL等各种服务或构件提供灵活的创建和重组,完成软件的服务或构件的封装、系统按需装配、系统部署、软件集成运行,支持应用系统的灵活部署和按任务动态集成[5]。

通过使用Loadrunner及SOAPUI软件,对平台容器中部署的安全服务进行调用测试。测试服务为信息系统中的海况历史数据查询服务。对Web服务中间件容器部署的安全服务进行稳定性测试,调用服务时长8小时,在100个线程并发访问采用128位密钥加密算法的接口为复杂数据类型的即时海况查询服务,测试的平均响应时间不超过500毫秒,访问控制错误率不超过万分之一[6]。

系统应用实验表明,基于策略的访问控制和消息的安全处理为信息系统的可靠性、安全性提供了保障,支持了SOA架构下Web服务的安全交互。

4 结论

随着网络技术的发展和远程控制、信息自动化等应用场景的推广,用户对安全性的要求将会越来越高。

本文从SOA体系架构背景出发,结合Web服务应用目前所面临的安全挑战,设计了策略树的构建算法,采用了将报文加密、数字签名及身份验证相结合的安全处理方式,提出了一种基于策略的Web服务安全处理办法。基于以上研究,完成了Web服务安全处理模块的系统实现,并在信息系统的应用场景中进行了安全处理模块的实际应用。

猜你喜欢
访问控制报文处理器
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
ATS与列车通信报文分析
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器