面向移动终端的安全中间件系统设计与实现

2012-09-20 08:19胡文平刘宴兵肖云鹏
关键词:中间件开发者加密

胡文平,刘宴兵,肖云鹏,叶 剑

(重庆邮电大学移动互联网安全实验室)

0 引言

安全中间件将信息安全技术同中间件技术相结合,通过提取共同的安全服务需求,对外提供简单统一的安全服务接口,从而有效地解决目前信息安全领域软件的交互能力差、开发难度大等问题。

然而,当传统安全中间件系统应用于移动终端存在开发周期长,且对可定制性、可扩展性支持不够等问题,对此,本文以可扩展的基础资源为依托,利用3G技术带来的高带宽优势,提出一种面向移动终端的安全中间件系统(security middleware system based on mobile terminal,SMSMT)。利用SMSMT所提供的高效处理能力以及异构终端屏蔽能力,提取软件开发过程中共同的安全服务需求并以具有跨平台的Web服务形式发布[1],从而形成中间件系统的基础能力,同时将终端资源消耗大的安全服务部署到系统基础资源层上并采取数据驱动形式进行管理,降低了模块间的耦合性,从而有效地解决了上述问题。

1 相关工作

目前安全中间件的研究主要包括环境安全中间件、网格中间件和移动终端安全中间件。环境安全中间件通过一种有效的访问控制和认证方法或对网络间的共享资源的保护或者提供网络间的平滑通信方式来进行普适环境下的安全保护,其方法比较复杂,扩展性低[2]。而网格中间件为用户提供网格环境下具有统一编程接口的虚拟机器,支持复杂应用问题的求解和广域网上各类资源的共享[3]。对于移动终端安全中间件研究主要集中在移动设备的资源发现、自愈能力、使用感知能力等方面[4]。

当前国外典型的安全中间件产品有Intel公司的CDSA(common data security architecture)架构和Entrust的Entrust/PKI产品。其中,CDSA包括安全应用层、安全模块层和内核层,它为开发人员提供了一个通用性很强的安全开发模式,但是由于其对资源的要求较高,在嵌入式设备或无线网络环境等资源有限的条件下难以运行。国内典型的安全中间件产品主要有东方通的TongSEC、上海华腾 TopSecure。然则这些安全中间件以函数库或者通过远程调用方式或者以分布式计算的方式与应用程序交互,应用程序与安全服务之间具有较强的紧耦合性,因而整个系统过于复杂不好维护。

2 关键技术

2.1 传统中间件系统

传统安全中间件的基本体系结构包括六大部分:应用程序、组件服务层、安全服务层、通用安全管理器、安全服务提供者和资源信息服务器[5]。其中,通用安全管理器是安全中间件核心部分,其根据用户进程的请求,调用各种安全服务提供者模块的相应服务函数并对用户进程做出响应,安全服务提供者实现了引擎和算法两个部分,提供一定安全服务能力的动态链接库及相关资料信息。在需要时被通用服务安全管理器加载,否则从内存中卸载。

2.2 元数据系统

元数据是关于数据的描述性信息,即关于数据模型的基本概念、基本关系、基本约束的语义[6-7]。元数据体系结构如图1所示,将基础硬件和软件资源通过虚拟化构成系统基础能力,通过组装再加工的方式生产的产品作为平台服务。

图1 元数据体系结构[8]Fig.1 Architecture of meta data

3 基于元数据的移动终端安全中间件系统设计

本文考虑到终端安全方法的多样性,因此将常用的加密、认证等基础安全防护措施视为SMSMT系统的基本安全能力,借用元数据驱动管理安全中间件系统,利用元数据将系统模块间的功能型强耦合关系转化为数据型弱耦合关系,最终通过服务发布引擎将服务和能力以标准化Web Service发布以供客户端调用,实现客户端对平台资源的透明访问。

3.1 SMSMT系统形式化定义

定义1 SMSMT系统安全能力。SMSMT系统中将任何基础硬件和基础安全软件资源作为安全能力。安全能力可用一个四元组表示为SecAbility=(SecAbName,SecAbDes,SecAbCallURL), 其 中,SecAbName表示安全能力名称,用于检索和唯一标记能力;SecAbDes用于对安全能力功能的简要描述;SecAbCallURL表示安全能力的具体调用地址,每个安全能力都必须有唯一的具体调用地址,以保证服务的可用性和确定性。

定义2 SMSMT安全服务。SMSMT依靠各种安全能力组合或者再生产的方式而得到的产品。安全服务可用一个五元组表示为SecService≐(SecServName,SecServDes,SecServInvokeURL,fcomp),其中,SecServName表示安全服务名称,具有唯一性;SecServDes用于对安全服务功能的简要描述;SecServInvokeURL表示安全服务的具体调用地址,每个安全能力都必须有唯一的具体调用地址以保证服务的可用性和确定性;fcomp表示该安全服务的组合方式。

定义3 TransMod = (π,σ,μ),其 中,TransMod集合表示安全服务或者安全能力组合类型;π表示能力与服务间的多对一映射,即一种安全能力以多种安全服务形式呈现;σ表示一对一映射,即一种能力只有一种服务形式;μ表示多对一映射,即一种服务由多个能力构成。

定义4 函数 fcomp=(input,output,mod),其中,fcomp表示服务或者能力组合方式;input表示输入的安全能力或者服务;output表示产生的期望服务;mod∈TransMod表示能力或者服务组合类型。

图2 安全能力及安全服务关系Fig.2 Relationship between security ability and service

根据定义1-4,SMSMT系统将安全资源作为能力和服务(如图2所示),其中,安全能力作为系统的元数据,具有不可分割性,而用户使用的安全服务是一种或多种能力映射或者是通过不同等级的服务组合而成,这样减少了软件开发过程中的重复度。我们在SMSMT通过设置开发者、用户两种角色,其中开发者利用平台安全能力进行软件开发并上传到SMSMT服务平台上,另外开发者可以开发安全能力,从而丰富SMSMT平台的基础能力,进一步实现安全服务的可扩展性。同时用户角色按需订购安全服务,若平台所有的多级服务中不存在该需求,用户可以发布该服务需求,再由开发者进行定制性开发。

3.2 SMSMT系统体系结构设计

根据SMSMT系统形式化定义,本文设计的面向移动终端的安全中间件系统SMSMT自上而下包括角色层、安全服务管理层、基础资源层如图3所示。

图3 面向移动终端的安全中间件系统Fig.3 Security middleware system based on mobile terminal

其中,角色层提供基于终端用户和开发者两种角色的功能模块,角色层提供包括服务需求发布和查询接口、平台服务信息查询和调用接口用于SMSMT与用户和开发者交互的接口。

安全服务管理层提供跨平台安全服务及服务信息查询并根据用户请求部署与之对应的安全应用服务于基础资源层,包括消息引擎、服务信息中心、开发工具等模块。

基础资源层根据安全服务管理层提供的安全服务信息元数据加载并运行对应的安全服务和能力。基础资源层主要有安全服务接口层模块、安全资源提供层模块等。

3.3 系统元数据设计

本文所提出的SMSMT系统利用元数据系统表征SMSMT的能力和服务,以及用户安全服务需求[9]。为了实现平台能力和服务的跨平台性,本文采用了基于XML的元数据文件格式,包括3种元数据信息:安全服务元数据、安全服务需求元数据以及安全能力元数据信息用于描述SMSMT各个模块对应的功能。其中,服务查询和需求发布接口用于用户获取平台安全服务元数据信息security_resource以及发布安全服务需求信息service_need_description;安全服务元数据信息 security_resource描述SMSMT安全服务对应功能,格式如下,

每个能力或服务都有系统唯一能力/服务标识符,这是在该能力或服务进入系统后向元数据引擎注册时由系统分配。能力/服务描述元数据加载位置标签下存放了单个能力或服务的元数据描述文件和元数据管理文件的路径。

安全服务需求元数据service_need_description用于描述用户不同的安全服务需求信息(格式如下)。其中,安全需求功能描述标签description用以说明用户具体的安全服务需求。

安全服务能力描述元数据sercurity_ability_description(格式见下)文件用于开发者向平台描述所开发的安全服务,除包含安全服务能力标识符等基本信息外,还包含了版本号标签用于控制能力版本信息、加载位置标签指示该能力产品在能力池中的实际位置、所需加载类库标签指示能力部分入口类、其他能力部件标签指示与其他能力部件的依赖关系。

4 SMSMT系统详细设计

4.1 角色层模块设计

角色层提供开发者和用户2种角色(见图3),它通过安全服务层进行通信返回相应的结果,2种角色的工作流程如图4所示。终端用户服务通过与消息引擎模块进行通信,利用安全服务控制中心查找安全能力元数据并获得SMSMT现有的安全能力描述元数据security_resource,另外,可以发布安全服务需求信息service_need_description并写入到服务信息中心模块中。

图4 基于SMSMT安全开发方案流程Fig.4 Specific process of security application based SMSMT

4.2 安全服务管理层模块设计

安全服务管理层模块是SMSMT的核心,包括开发者模块、安全开发控制中心、安全服务注册中心、应用程序编程接口。其中,开发工具模块提供开发者开发跨平台的应用类库并提供上传、下载、查询应用安全服务功能,开发者利用开发工具可以离线进行安全服务开发。服务信息查询和调用接口模块将开发者提供的Web服务搜索条件如服务类型、相关的约束条件等信息传递给安全服务中心,并将满足条件的服务配置信息形成Web服务集返回,以供开发者选择调用具体的安全服务,然后利用开发工具模块上传的安全服务和对应的安全服务描述元数据sercurity_ability_description。

另外应用程序编程接口模块采用WSDL(web services description language)协议的接口描述文件来公开系统提供的安全基础服务,它描述了安全基本能力和服务的特征信息、实现细节及调用方法的信息。由于WSDL对各种系统都通用,任意终端在安装XML(extensible markup language)解析器后就可以获取安全中间件系统所提供的安全服务详细信息,从而使得SMSMT提供的服务具有跨平台性。

4.3 基础资源层模块设计

基础资源层模块是SMSMT系统的安全能力和基本安全服务的具体实现,如图3所示,其中安全能力具体是一系列安全服务资源。基本安全服务则是由一系列安全接口来实现。在系统运行过程中,安全服务管理层中的控制中心模块根据开发者提供的安全服务描述元数据,将其写入到安全服务信息中心并更新安全服务目录中的安全服务元数据信息列表以供查询。同时该模块在验证开发者进行二次开发后的产品安全性后将自动分配资源池将其部署到基础资源层并且生成WSDL接口,同时更新安全服务信息列表。另外该模块同时接受终端用户的订购信息并提取安全服务描述元数据,找到对应安全服务并部署运行在基础资源层,最后将运行结果返回给用户同时生成系统日志文件。

5 系统实现及效果

为了验证本系统高效性,本文设计终端用户通过采用定制SMSMT系统加密服务和本地加密两种方式同时对不同大小的文件进行加密,通过测试终端的CPU使用情况以及加密成功时间进行对比分析。原型系统实验环境如下:5台服务器操作系统为ubuntu11.04,配置hadoop0.20构建分布式文件系统作为SMSMT基础资源层,采用Axis2作为Web服务容器,将SMSMT系统的相关安全能力和服务部署在其中,本实验采用SMSMT系统的安全能力之一-加密来进行验证。客户端测试用机使用安装有Android 2.2操作系统的三星移动终端,使用中国移动EDGE网络进行平台访问,运行效果如图5所示。

图5 两种加密方式Fig.5 Two kinds of encryption methods

由于加密时间取决于文件大小以及系统能力,图6给出了本地加密与基于SMSMT加密时间对比。从图6可知,虽然SMSMT系统性能要强于移动终端,但由于在SMSMT系统中,各种服务的使用需要终端与SMSMT交互而存在网络延迟,并且系统性能对于小文件的加密时间影响可以忽略不计,所以对于同样大小的文件加密,基于SMSMT的加密时间过长。从图7知,随着文件大小的增加,系统能力成为主要制约因素,在文件大小为3 MB时,运行本地加密方法终端的CPU占用率达到80%之上,并且在时间消耗增幅远远超过了后者,因此针对大文件的加密明显弱于基于SMSMT的加密服务。

另外SMSMT将安全基础资源作为Web Service发布,从而实现了无障碍地在不同移动终端上使用各种平台安全服务。同时SMSMT将资源消耗高的终端应用迁移到中间件平台上,很大程度上降低了终端应用的设备需求,有效地解决了终端设备能力受限的应用瓶颈。最后,利用网络将大量的资源进行整合形成资源池,通过设计用户和开发者角色并进行统一管理和调度,为用户提供了安全服务的随时获取、按需使用和弹性扩展,使得终端安全应用的部署更为轻松便捷,安全应用的迁移更加灵活。

6 结束语

本文提出了一种基于元数据的移动安全中间件系统,采用元数据实现用户按需订购及开发者动态开发安全服务,在解决移动安全中间件服务开发过程中的紧耦合性的同时形成可扩展的平台基础能力,最后基于SOA软件架构进行系统的实现。由于该系统的设计没有充分考虑到终端的能量消耗以及网络延迟因素对用户服务的满意度影响,这将是我们下一步研究的主要内容。

[1]李刚,孙红梅,李智.资源受限Web服务[J].计算机学报,2010,33(2):193-207.LI Gang,SUN Hong mei,LI Zhi.Web Service with Constraint Resource[J].The Journal of Computer,2010,33(2):193-207.

[2]AL-JAROODI J,AL-DHAHERI A,AL-ABDOULI F,et al.A Survey of Security Middleware for Pervasive and Ubiquitous Systems[C]//EUPS2009.Indianapolis,Indiana,USA:IEEE Computer Society Press,2009:188-193.

[3]XIE Rui.Grid security Research based on middleware[C]//Networking and Digital Society(ICNDS),2010 2nd International Conference on.Wenzhou:IEEE Press,2010:9-12.

[4]MATTHIAS B,SCHAHRAM D.Survey on context-aware systems[J].IJAHUC,2007,2(4):263 – 277.

[5]尚生建.安全中间件系统关键技术研究[M].成都:电子科技大学出版社,2006:6-10.SHANG Sheng-jian.The research about Key technology in Security middleware[M].Chengdu:The press of USESTC,2006:6-10.

[6]ANON P,KRISTINA L,LISE G.Growing a Tree in the Forest:Constructing Folksonomies by Integrating Structured Metadata[J].Computing Research Repository,2010,1005(5):949-958.

[7]GOVEDARICA M,BOSKOVIC D,PETROVACKI D,et al.Metadata Catalogues in Spatial Information Systems[J].Geodetski List,2010,64(4):313-334.

[8]SONG Jiangwang,MI zhengkun,CHENG Jizhen.Metadata and API based Environment Aware Content Delivery Architecture[J].The Journal of China Universities of Posts and Telecommunications,2006,13(1)40-43.

[9]王琼,杜承烈,蔡小斌.基于构件的中间件体系结构集成形式化研究[J].计算机科学,2010,37(8):165-167.WANG Qiong,DU Cheng-lie,CAI Xiao-bin.The Research about Integrates Formation in Middware based on Component[J].The Journal of Computer Science,2010,37(8):165-167.

猜你喜欢
中间件开发者加密
一种新型离散忆阻混沌系统及其图像加密应用
一种基于熵的混沌加密小波变换水印算法
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
认证加密的研究进展
栝楼产业开发者谢献忠
基于ECC加密的电子商务系统
中间件在高速公路领域的应用