文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.10.016
中文引用格式: 李晓策,潘晓中,陈飞,等. 一种可信移动平台的多组件证明方案[J].电子技术应用,2016,42(10):65-68.
英文引用格式: Li Xiaoce,Pan Xiaozhong,Chen Fei,et al. Multi-component attestation scheme on trusted mobile platform[J].Application of Electronic Technique,2016,42(10):65-68.
0 引言
远程证明是可信计算的关键技术,是平台信任进行扩展以及可信链接建立的重要过程。自从提出以来,远程证明技术在TPM芯片基础之上建立了相对完善的证明体系和众多证明方法,但是移动平台对成本、空间的限制等原因使其难以配置TPM芯片。针对这个问题,文献[1,2]提出了以安全芯片、智能卡等作为可信依据的解决方案,但是这些解决方案必须在有限空间的移动平台中增加一个智能卡,致使成本太高,不太可能被商业公司应用。为了保证移动平台的安全,可信计算组织发布了移动可信模块(Mobile Trusted Module,MTM)规范[3],一些可信移动平台(Trusted Mobile Platform,TMP)结合MTM的研究也取得了一些进展,但由于同样依赖额外的硬件芯片,设备生产商兴趣不大,MTM并没有得到广泛的应用。针对这一问题,当前芯片生产商等处于基础地位的参与方相继提出了一些安全解决方案,包括Intel TXT(Trusted eXecution Technology)、AMD SVE(Secure Virtual Machine)、ARM TrustZone等,它们能够更加方便地建立可信执行环境并提供新的思路。其中移动平台使用最广泛的ARM处理器在ARM 1176及以后的Cortex-A系列中均支持TrustZone技术,相比于MTM,使用TrustZone技术研究移动平台的可信证明技术得到更广泛的研究和支持。
本文在讨论移动平台证明效率问题基础上,提出了基于TrustZone的改进方案。
1 预备知识
(1)双线性对:设G1和G2是阶为素数p的乘法循环群,g是G1的一个生成元。双线性对是满足下列性质的一个映射e:G1×G1→G2:
①双线性性:对任意的a,b∈Zp,有e(ga,gb)=e(g,g)ab;
②非退化性:e(g,g)≠1;
③可计算性:对所有的u,v∈G1,存在有效的算法计算e(u,v)。
(2)CDH假设(计算性Diffie-Hellman假设):给定(g,ga,gb)∈G1,其中a,b∈Zp为未知整数,没有多项式,时间算法C至少以概率ε计算gab。
2 移动证明存在的问题
现有的研究成果[4,5]考虑到基于TrustZone技术提供的可信执行环境(TEE)无法单独实现信任链的完整建立,需要在TrustZone中生成信任根。文献[6]提出了使用PUF技术在ARM TrustZone中建立信任根的具体方法。本文方案使用PUF技术生成设备密钥,使可信执行环境拥有身份标识的功能。
基于属性的证明隐私保护能力与配置-属性映射有关[7]。远程证明通常使用群体签名来构建映射关系,在经典的证明协议中,采用了CL签名构建映射,之后又提出了基于双线性对的证明方案[8]。但是类似双线性对的运算在移动平台的运行效率将大大降低。图1是对不同数量的组件使用环签名方案[9]进行属性证明,在ARM平台和x86平台消耗时间的比较。
实验时ARM处理器主频为553 MHz,Intel处理器主频为2.3 GHz,相差4倍。而运算消耗时间相差远不止4倍,这是ARM的设计结构决定的。当组件数量增加时,进行一次签名所需要的时间为数秒,而且会随组件数量增加而继续增大,严重影响了系统的正常运行。
针对多个组件在移动平台证明效率低的问题,采用超递增序列对多个组件属性进行聚合,再对聚合结果进行证明的方法,提出了一种适用于移动平台的多组件证明方案,提高移动平台上大数量组件的证明效率。
3 证明方案描述
3.1 方案定义
各参与方为权威机构CA、用户平台(证明平台)、服务提供者。设服务提供者要求证明的安全属性p由组件(c1,c2,…,cd)组成,要求证明平台证明其拥有相关安全组件。
证明时,通过证明代理(Attestation Controller,AC)来确保只有证明相关的进程可以访问证明服务。证明代理的工作类似于SeCReT[10],分为工作在REE内核中的REE证明代理(RAC)和工作在TEE中的TEE证明代理(TAC)两部分。RAC通过TTBR(Translation Table Base Register)来标识证明进程并为通过Hash验证的进程建立证明会话密钥(Attestation Session Key,ASK)。持有ASK的证明进程向RAC提交证明报告后,RAC使用共享空间的方式传递待签名组件、证明要求以及签名消息M等信息组成的证明数据块给TAC,TAC在TEE中计算签名并返回结果。验证时,首先由权威机构验证其是否满足安全要求,并将结果发送给服务提供者。若满足要求,服务提供者验证消息M的签名,签名正确,则消息M可信。
证明平台的证明过程如图2。
3.2 方案建立
系统加载时使用PUF建立系统ek,并使用ek生成AIK。认证中心对于属性p,平台参与证明组件集为CS,CS中元素个数为d。
3.3 证明流程
(1)建立会话:建立会话是证明平台在收到证明请求时,由证明进程建立与RAC的会话,并提交证明相关信息。RAC验证证明进程后采用共享内存的方式向TAC提交相关信息。
(4)平台签名:计算平台签名σp=(SignAIK(σ),σ,C),将签名结果返回RCA。
(5)RCA将签名以及消息M提交给权威机构CA,CA验证平台签名σp,并进行组件签名与消息M的验证,根据序列和算法C计算各个参与签名组件,验证是否满足安全性要求。若不满足,则终止验证;若满足,则计算cp=H2(C),m=H2(cp||M),验证签名:
验证成功,则平台满足安全性要求,消息M可信。
4 方案分析
4.1 安全性证明
(1)签名正确性
式(1)成立条件主要基于双线性映射的性质:
(2)不可伪造性
定理 如果CDH问题在G1上成立,则在随机预言机模型下,本文方案在选择消息攻击下是不可伪造的。
证明:假设存在敌手找到算法C能够以概率ε攻击本文方案,可以伪造出能够通过验证的组件签名,则可通过下列模拟过程来使用算法C解决CDH问题。
方案建立模拟:选择随机的(g,gx,gy),系统建立时,令g1=gx,g2=gy。
H3模拟:输入询问的度量值χ,若为重复询问,则返回之前结果;否则,若满足安全性要求的χ,随机选择i∈Zk,返回ai∈Q;不满足安全性要求的χ,随机选择i,j∈Zk,返回|ai-aj|。
H1模拟:对于输入的ai,若为重复询问,则返回之前结果,否则,若ai∈Q,随机选择β∈Zp,回答H1(ai)=gβ;若aiQ,随机选择β,γ∈Zp,回答H1(ai)=g-βgγ。
4.2 性能分析
与同样基于双线性对的证明方案[8]以及使用基于属性的环签名ABRS-1[9]构建远程证明方案进行性能比较,当G1上元素长度为512 bit、G2上元素长度为1 024 bit、Zp元素长度为160 bit、Q中元素长度为160 bit、平台签名长度512 bit时,分别对d个数量的组件进行签名验证,其运算量以及签名长度如表1。
本文方案结合远程证明中组件属性证明的特点,对签名的组件首先映射到超递增序列上,再计算其序列和,并对序列和进行属性签名,大大简化了签名过程。由于组件的度量以及转化被设计成与次序无关的,在实际应用时可以并行运算,实现快速度量,更加适合移动平台。超递增序列可由贪心算法快速计算出唯一解,所以可以在验证时完整地恢复出签名组件,在对多个组件进行证明的同时使证明效率明显提升。
5 实现与分析
对本方案的关键步骤进行了实现,并与ABRS-1进行了对比,发现在远程证明的应用场景下,本文方案具有更高的效率。主要在配置Samsung S3C6410 CPU的海天雄CES-EDU6410教学平台以及QEMU提供的具有TrustZone功能的ARM模拟器下进行实验。实现中选择的双线运算为PBC库中的Type A、lq(512)、lr(160)曲线,基于OP-TEE系统进行开发,分别对各阶段可行性及效率进行验证,在ARM平台实现了关键步骤,并对其执行情况进行了对比,实验环境如表2。
实现中,分别假设构成所证明的安全属性的组件数量为2、5、8、11,对方案进行测试对比。图3显示了ARM平台上签名过程与ABRS-1的签名所用时间对比。
实验结果表明,本文方案在组件数量较多时,相比于属性环签名方案,效率提升明显。
6 总结
本文结合当前应用广泛的ARM移动设备及其TrustZone技术,提出一种基于可信移动设备的多组件证明方案,并在随机预言机模型下证明了安全性。采用证明代理处理TEE与REE的通信,建立安全信道防止恶意进程访问TEE资源。在OP-TEE基础上实现了方案的主要步骤,并进行了分析。实验结果表明,方案能够在具有TrustZone功能的通用ARM处理器上正常运行,验证效率高,签名效率与组件数量无关,组件数量较多时签名效率提升尤为明显。
本文只讨论了随机预言机模型下的证明方案,下一步研究内容是标准模型下的证明方法。
参考文献
[1] 赵波,张焕国,李晶,等.可信PDA计算平台系统结构与安全机制[J].计算机学报,2010,33(1):82-91.
[2] DIETRICH K.An integrated architecture for trusted computing for java enabled embedded devices[C].Proceedings of the 2007 ACM Workshop on Scalable Trusted Computing.New York:ACM Press,2007:2-6.
[3] Trusted Computing Group.TCG mobile trusted module specification version 1.0[EB/OL].(2007)[2016].https://www.trustedcomputinggroup.org.
[4] 杨波,冯登国,秦宇,等.基于可信移动平台的直接匿名证明方案研究[J].计算机研究与发展,2014,51(7):1436-1445.
[5] 张倩颖,冯登国,赵世军.基于可信芯片的平台身份证明方案研究[J].通信学报,2014,35(8):95-106.
[6] ZHAO S J,ZHANG Q Y,HU G Y,et al.Providing root of trust for arm trustzone using on-chip sram[C].Proceedings of the 4th International Workshop on Trustworthy Embedded Devices.ACM,2014:25-36.
[7] 李尚杰,贺也平,刘冬梅,等.基于属性的远程证明的隐私性分析[J].通信学报,2009,30(11A):146-152.
[8] 冯登国,秦宇.一种基于TCM的属性证明协议[J].中国科学:F辑信息科学,2010,40(2):189-199.
[9] 陈少真,王文强,彭书娟.高效的基于属性的环签名方案[J].计算机研究与发展,2010,47(12):2075-2082.
[10] JANG J,KONG S,KIM M,et al.SeCReT:Secure channel between rich execution environment and trusted execution environment[C].Proc.of 2015 Network and Distributed System Security Symposium(NDSS′15).Internet Society,2015.