顾 鑫, 程 鑫
(1.湖北省标准化研究院,湖北 武汉 430061;2.武汉理工大学 机电学院,湖北 武汉 430070)
随着世界经济全球化的加剧和信息技术的不断发展,移动终端逐渐成为人们日常生活中不可或缺一部分,而开放的互联网络环境增加了网络对象间数据交互的复杂度和失信率,因此移动终端的相关安全问题显得尤为重要。
目前,国内外对安全可信方面的研究已取得了一些的研究成果,但在移动终端可信方面的研究还比较滞后。在系统的可信度方面,参考文献[1]为可用化评估准则DBench提出了一个高级体系构架,但没有联系具体的应用背景;参考文献[2]从系统的可信性方面探讨了软件的体系结构;参考文献[3]从软件组件的角度来研究可信软件体系结构,提出了基于组件的容错软件结构以满足高可信应用的要求;参考文献[4]则在COTS(Commercial Off-The-Shelf)软件组件的基础上通过一种有效的系统方法来构建可信系统。在共享数据硬件设计方面,参考文献[5]设计了共享内存模型,实现多个处理器之间的高速数据传输,但该结构在处理器数目增多时会异常复杂;MPI的分布式内存结构虽然适合并行计算系统,但需专门设计数据通信层来处理数据传输,编程模型复杂[6]。因此,如何在高计算性能下实现对复杂网络环境中移动终端的安全约束,是移动可信终端安全亟待解决的关键问题。
综上分析,移动可信终端的研究还存在以下问题:(1)没有一种有效的移动终端可信服务的描述规范以及可信服务验证机制;(2)移动终端硬件层面的数据交互设计中,缺乏高速数据传输的数据可信框架,底层数据的可信性得不到保障。本文基于已有研究成果[7-8],提出了一种基于可信的移动终端安全数据交互方案,从底层的硬件设计和上层的接入认证方案两个层面对移动终端进行了安全性设计。
移动可信终端的设计分为两部分:(1)着重于网络应用服务的接入安全,使移动可信终端在复杂的网络环境中能有效地鉴别可信域端口,实现自可信验证与双向可信验证;(2)侧重于底层可信度量,采用TPM为核心部件,在系统中提供完整性度量、安全存储、可信报告以及密码服务等功能,确保移动可信终端的自身可信。终端的结构如图1所示。
图1 移动可信终端结构
由于移动终端往往处于高度动态变化、不确定因素众多的环境中,需要有效的网络体系及其动态控制方法保证端到端的数据可信传递,使网络具有较强的容错性和稳定性。本文提出的可信框架针对性地描述了面向服务的端到端的可信服务层,保证数据服务在网络传输中数据动作的规范性、安全性和稳定性,如图2所示。
图2 可信框架
可信认证方案中,假定移动终端的用户持有终端使用权口令和移动网络运营商颁发的全球用户身份模块(USIM),其支持对网络的认证,并包含密码运算和存储用户的数字证书以及敏感信息等功能。由于移动可信终端基于TPM模块,所以在方案中还应包含有自己的私钥、证书 TPMCert、与生物采集设备 BI(如指纹采集、瞳孔识别等)共享的密钥Keyshare。MT是代表自行开发的移动平台,NAT是网络接入端口。可信认证方案步骤如图3所示。
(1)USIM→MT:r1,USIMID,PR1
MT在接通电源时刻需要进行自身平台完整性校验。USIM模块首先向MT发送随机数 r1、USIM的身份标识USIMID和平台验证请求PR1。
(2)MT→BI:r2,TPMID,PR2
MT在接收到USIM的平台验证请求后,通过I/O总线向BI发送随机数,TPM的身份标识TPMID以及BI的验证请求PR2。
图3 认证方案
(3)BI→MT:EACBI
式中||为级联符号。BI在收到PR2后,计算BI完整信息的Hash值 BIHash,并利用Keyshare对收到的随机数r2进行加密,最后通过式(1)计算 BI认证码 EACBI,随后 BI通过总线将EACBI发还给MT进行验证。
式中:ρw为水的密度,kg/m3;vi为断面流速,m/s;xi、xj为距离,m;ρ为压力,N;fi为质量力,m/s2;v为流体运动的黏滞系数。
(4)MT→USIM:r3,TPMCert,TPMSig,ER
MT收到EACBI,利用自身产生的随机数 r2结合预存的 BIHash按照式(1)计算出校验认证码 EACBI′。若 EACBI≠EACBI′,则表明 BI信息不完整,校验终止;反之则继续验证。当BI信息验证通过后,MT产生随机数r3,并利用自己的私钥TPMSK对自身的PCR值、操作事务记录ER和r3按照式(2)进行签名后,连同TPMCert一起发送给USIM。
(5)USIM→NAT:TS,r1,r3,TPMCertID,NAI,ER,TPMSig,EACTPMID
USIM将证书TPMCert送入移动网络接入端进行验证,需要借助时间戳TS、TPMCertID和密钥KeyAU来验证整个移动终端平台的合法性。若已经拥有验证过的TPMCert,则直接校验签名TPMSig的合法性。如果签名校验失败,则终止认证过程;反之则提示用户输入用户口令,获取权限来控制MT。
(6)NAT→TPMNAT:r1′,NATID,PR1′,EACNAT
NAT也需要进行自身平台完整性校验。首先计算完整信息的Hash值NATHash,将自身产生的随机数r1′、NAT的身份标识NATID、平台验证请求PR1′和利用共享密钥算出的EACNAT一同发给TPM进行平台完整性验证。其中EACNAT的计算方法与式(1)类似。
(7)TPMNAT→NAT:r1′,NATID,PR1′,EACNAT
TPMNAT利用式(1)算出EAC′NAT验证是否与接收到的EACNAT相同。若不同,则表明网络接入端平台不可信,不允许接入;反之,则将赋予NAT权力对接入的移动终端进行证书验证,并更新操作事务记录ERNAT。
(8)NAT→USIM:EACNAT,AS
NAT获得TPM验证结果,若平台验证失败,则发送结果至USIM,通知网络接口不可接入;若验证成功,则NAT根据收到的用户身份网络标识恢复出KeyAU,根据式(3)校验EACTPMID的合法性。NAT利用 TPMCertID获取合法的TPMCert,并检验 TPMSig,最后利用式(4)算出认证码。其中AS包含的是 NAT平台自身、TPMSig以及 TPMCert的验证结果。
(9)USIM→MT
USIM端得到证书验证结果,若验证结果失败,则同步骤(5),通过TPM校验用户的口令,获取权限来控制接入网络的MT。
根据图1的设计结构,底层采用可信TPM芯片,从移动终端加电到系统内核载入,可信根都会按照固定顺序链式传递,过程的关键代码都经过完整性验证。同时利用DSP结合分布式内存储存机制,提供了终端底层高性能数据访问通道。基于TPM可信芯片的自定义内部总线的分布式存储区结构如图4所示。
图4 分布式存储区结构
DSP0为主控CPU,负责对移动可信平台的可信启动和检测、外部设备的管理以及操作系统的加载运行。其他DSP为辅CPU,主要实现对移动通信的管理、外接SIM接口和其他功能。分布式存储区及内部总线控制器都在FPGA中实现,各分布式存储区之间的数据拷贝是透明的,减少了DSP用于数据传输的开销。
(1)分布式存储空间与访问
设计中,FPGA负责各分布式存储区存储空间分配,划分成16个4 KB的区间,分配给不同的DSP。DSP采用异步方式访问其本地存储区,可访问不同速度的异步器件[6]。读、写访问时序如图5所示。
(2)内部总线消息传递
内部总线提供16位地址总线、32位数据总线及2个控制信号,采用非复用的同步广播方式的总线型拓扑结构,其传输规范如下:①总线主节点唯一对应DSP0,从节点对应辅DSP;②主节点提供总线控制信号,且基于同一内部时钟的触发,数据传输过程中不需涉及握手;③通过地址线来寻址数据发送方。地址高4位对应DSP的编号为数据发送方,其余为接收方。
图5 读、写访问时序
(3)存储区数据一致性
当内部总线数据传输执行时,为避免内部总线数据读写与DSP读写之间的冲突,采用图6所示的存储区一致性模型和同步策略。
图6 存储区数据一致性模型
图7 内部总线数据传输波形
本文设计了移动可信终端的原型实验平台,图7是SignalTapII在移动可信终端执行完可信启动后捕获到的内部总线传输波形部分截图(采样时钟频率为125MHz,采样深度是128)。图中表明在多处理器并行的架构设计下,依然有较高的数据传输速率(10 M×32 b/s),在可信的基础上保证了移动终端的数据交互,在一定程度上提高了移动终端的计算性能,可靠性高。
在可信认证方案方面,与TPM标准方案进行了对比,本方案在密码运算量和处理效率两个方面占有较大优势,尤其是方案中的网络接入端的自身可信验证,让移动可信终端对网络接入端的默认可信转向验证可信,大大提高了移动终端的安全性。
本文提出的移动可信终端设计方案底层基于TPM芯片,建立高性能的消息传递机制和数据一致性模型;同时提出中间件层服务相隔离思想,设计了网络可信认证方案,在一定程度上解决了移动终端的安全问题。同时,该方案也有不足之处,本存储机制针对特殊应用,仅需进行静态源和目的地址的数据传输,扩展性有待提高。
[1]ZHU J,MAURO J,PRAMANICK I.R3-A framework for availability benchmarking[C].In:proc.Int.Conf.on Dependable Systems and Networks(DSN 2003),San Francisco,CA,USA,2003:86-87.
[2]SARIDAKIS T,ISSARNY V.Developing dependable systems using software architecture[C].Proc.1st Working IFIP Conference on Software Architecture,1999:83-104.
[3]GUERRA P A D C,RUBIRA C,LEMOS R D.A faulttolerant software architecture for component-based systems[C].Architecting Dependable Systems,LNCS,2003,2677:129-149.
[4]GUERRA P A D C,RUBIRA C M F,ROMANOVSKY A,et al.A dependable architecture for COTS-based software systems using protective wrappers[C].Architecting Dependable Systems II,LNCS,2004,3069:147-170,.
[5]Yan Luxin,Zhang Tianxu,Zhong Sheng.A DSP/FPGA-based parallel architecture for real-time image processing[C].Proc.of 6th World Congress on Control and Automation,Dalian,China,2006:10022-10025.
[6]HURWITZ J G,Feng Wuchun.Analyzing MPI performance over 10-gigabit ethernet[J].Journal of Parallel and Distributed Computing,2005,65(10):1253-1260.
[7]Gu Xin,Xu Zhengquan,Xiong Lizhi,et al.The security analysis of data re-encryption model in cloud services[C].Source:Proceedings-2013 International Conference on Computational and Information Sciences,ICCIS 2013,2013:98-101.
[8]Gu Xin,Xu Zhengquan,Wang Tao,et al.Trusted service application framework on mobile network[C].Source:Proceedings-IEEE 9th International Conference on Ubiquitous Intelligence and Computing and IEEE 9th International Conference on Autonomic and Trusted Computing,UIC-ATC 2012,2012:979-984.