文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.016
中文引用格式: 李曉策,潘曉中,陳飛,等. 一種可信移動(dòng)平臺(tái)的多組件證明方案[J].電子技術(shù)應(yīng)用,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 引言
遠(yuǎn)程證明是可信計(jì)算的關(guān)鍵技術(shù),是平臺(tái)信任進(jìn)行擴(kuò)展以及可信鏈接建立的重要過(guò)程。自從提出以來(lái),遠(yuǎn)程證明技術(shù)在TPM芯片基礎(chǔ)之上建立了相對(duì)完善的證明體系和眾多證明方法,但是移動(dòng)平臺(tái)對(duì)成本、空間的限制等原因使其難以配置TPM芯片。針對(duì)這個(gè)問(wèn)題,文獻(xiàn)[1,2]提出了以安全芯片、智能卡等作為可信依據(jù)的解決方案,但是這些解決方案必須在有限空間的移動(dòng)平臺(tái)中增加一個(gè)智能卡,致使成本太高,不太可能被商業(yè)公司應(yīng)用。為了保證移動(dòng)平臺(tái)的安全,可信計(jì)算組織發(fā)布了移動(dòng)可信模塊(Mobile Trusted Module,MTM)規(guī)范[3],一些可信移動(dòng)平臺(tái)(Trusted Mobile Platform,TMP)結(jié)合MTM的研究也取得了一些進(jìn)展,但由于同樣依賴(lài)額外的硬件芯片,設(shè)備生產(chǎn)商興趣不大,MTM并沒(méi)有得到廣泛的應(yīng)用。針對(duì)這一問(wèn)題,當(dāng)前芯片生產(chǎn)商等處于基礎(chǔ)地位的參與方相繼提出了一些安全解決方案,包括Intel TXT(Trusted eXecution Technology)、AMD SVE(Secure Virtual Machine)、ARM TrustZone等,它們能夠更加方便地建立可信執(zhí)行環(huán)境并提供新的思路。其中移動(dòng)平臺(tái)使用最廣泛的ARM處理器在ARM 1176及以后的Cortex-A系列中均支持TrustZone技術(shù),相比于MTM,使用TrustZone技術(shù)研究移動(dòng)平臺(tái)的可信證明技術(shù)得到更廣泛的研究和支持。
本文在討論移動(dòng)平臺(tái)證明效率問(wèn)題基礎(chǔ)上,提出了基于TrustZone的改進(jìn)方案。
1 預(yù)備知識(shí)
(1)雙線性對(duì):設(shè)G1和G2是階為素?cái)?shù)p的乘法循環(huán)群,g是G1的一個(gè)生成元。雙線性對(duì)是滿(mǎn)足下列性質(zhì)的一個(gè)映射e:G1×G1→G2:
①雙線性性:對(duì)任意的a,b∈Zp,有e(ga,gb)=e(g,g)ab;
②非退化性:e(g,g)≠1;
③可計(jì)算性:對(duì)所有的u,v∈G1,存在有效的算法計(jì)算e(u,v)。
(2)CDH假設(shè)(計(jì)算性Diffie-Hellman假設(shè)):給定(g,ga,gb)∈G1,其中a,b∈Zp為未知整數(shù),沒(méi)有多項(xiàng)式,時(shí)間算法C至少以概率ε計(jì)算gab。
2 移動(dòng)證明存在的問(wèn)題
現(xiàn)有的研究成果[4,5]考慮到基于TrustZone技術(shù)提供的可信執(zhí)行環(huán)境(TEE)無(wú)法單獨(dú)實(shí)現(xiàn)信任鏈的完整建立,需要在TrustZone中生成信任根。文獻(xiàn)[6]提出了使用PUF技術(shù)在ARM TrustZone中建立信任根的具體方法。本文方案使用PUF技術(shù)生成設(shè)備密鑰,使可信執(zhí)行環(huán)境擁有身份標(biāo)識(shí)的功能。
基于屬性的證明隱私保護(hù)能力與配置-屬性映射有關(guān)[7]。遠(yuǎn)程證明通常使用群體簽名來(lái)構(gòu)建映射關(guān)系,在經(jīng)典的證明協(xié)議中,采用了CL簽名構(gòu)建映射,之后又提出了基于雙線性對(duì)的證明方案[8]。但是類(lèi)似雙線性對(duì)的運(yùn)算在移動(dòng)平臺(tái)的運(yùn)行效率將大大降低。圖1是對(duì)不同數(shù)量的組件使用環(huán)簽名方案[9]進(jìn)行屬性證明,在ARM平臺(tái)和x86平臺(tái)消耗時(shí)間的比較。
實(shí)驗(yàn)時(shí)ARM處理器主頻為553 MHz,Intel處理器主頻為2.3 GHz,相差4倍。而運(yùn)算消耗時(shí)間相差遠(yuǎn)不止4倍,這是ARM的設(shè)計(jì)結(jié)構(gòu)決定的。當(dāng)組件數(shù)量增加時(shí),進(jìn)行一次簽名所需要的時(shí)間為數(shù)秒,而且會(huì)隨組件數(shù)量增加而繼續(xù)增大,嚴(yán)重影響了系統(tǒng)的正常運(yùn)行。
針對(duì)多個(gè)組件在移動(dòng)平臺(tái)證明效率低的問(wèn)題,采用超遞增序列對(duì)多個(gè)組件屬性進(jìn)行聚合,再對(duì)聚合結(jié)果進(jìn)行證明的方法,提出了一種適用于移動(dòng)平臺(tái)的多組件證明方案,提高移動(dòng)平臺(tái)上大數(shù)量組件的證明效率。
3 證明方案描述
3.1 方案定義
各參與方為權(quán)威機(jī)構(gòu)CA、用戶(hù)平臺(tái)(證明平臺(tái))、服務(wù)提供者。設(shè)服務(wù)提供者要求證明的安全屬性p由組件(c1,c2,…,cd)組成,要求證明平臺(tái)證明其擁有相關(guān)安全組件。
證明時(shí),通過(guò)證明代理(Attestation Controller,AC)來(lái)確保只有證明相關(guān)的進(jìn)程可以訪問(wèn)證明服務(wù)。證明代理的工作類(lèi)似于SeCReT[10],分為工作在REE內(nèi)核中的REE證明代理(RAC)和工作在TEE中的TEE證明代理(TAC)兩部分。RAC通過(guò)TTBR(Translation Table Base Register)來(lái)標(biāo)識(shí)證明進(jìn)程并為通過(guò)Hash驗(yàn)證的進(jìn)程建立證明會(huì)話(huà)密鑰(Attestation Session Key,ASK)。持有ASK的證明進(jìn)程向RAC提交證明報(bào)告后,RAC使用共享空間的方式傳遞待簽名組件、證明要求以及簽名消息M等信息組成的證明數(shù)據(jù)塊給TAC,TAC在TEE中計(jì)算簽名并返回結(jié)果。驗(yàn)證時(shí),首先由權(quán)威機(jī)構(gòu)驗(yàn)證其是否滿(mǎn)足安全要求,并將結(jié)果發(fā)送給服務(wù)提供者。若滿(mǎn)足要求,服務(wù)提供者驗(yàn)證消息M的簽名,簽名正確,則消息M可信。
證明平臺(tái)的證明過(guò)程如圖2。
3.2 方案建立
系統(tǒng)加載時(shí)使用PUF建立系統(tǒng)ek,并使用ek生成AIK。認(rèn)證中心對(duì)于屬性p,平臺(tái)參與證明組件集為CS,CS中元素個(gè)數(shù)為d。
3.3 證明流程
(1)建立會(huì)話(huà):建立會(huì)話(huà)是證明平臺(tái)在收到證明請(qǐng)求時(shí),由證明進(jìn)程建立與RAC的會(huì)話(huà),并提交證明相關(guān)信息。RAC驗(yàn)證證明進(jìn)程后采用共享內(nèi)存的方式向TAC提交相關(guān)信息。
(4)平臺(tái)簽名:計(jì)算平臺(tái)簽名σp=(SignAIK(σ),σ,C),將簽名結(jié)果返回RCA。
(5)RCA將簽名以及消息M提交給權(quán)威機(jī)構(gòu)CA,CA驗(yàn)證平臺(tái)簽名σp,并進(jìn)行組件簽名與消息M的驗(yàn)證,根據(jù)序列和算法C計(jì)算各個(gè)參與簽名組件,驗(yàn)證是否滿(mǎn)足安全性要求。若不滿(mǎn)足,則終止驗(yàn)證;若滿(mǎn)足,則計(jì)算cp=H2(C),m=H2(cp||M),驗(yàn)證簽名:
驗(yàn)證成功,則平臺(tái)滿(mǎn)足安全性要求,消息M可信。
4 方案分析
4.1 安全性證明
(1)簽名正確性
式(1)成立條件主要基于雙線性映射的性質(zhì):
(2)不可偽造性
定理 如果CDH問(wèn)題在G1上成立,則在隨機(jī)預(yù)言機(jī)模型下,本文方案在選擇消息攻擊下是不可偽造的。
證明:假設(shè)存在敵手找到算法C能夠以概率ε攻擊本文方案,可以偽造出能夠通過(guò)驗(yàn)證的組件簽名,則可通過(guò)下列模擬過(guò)程來(lái)使用算法C解決CDH問(wèn)題。
方案建立模擬:選擇隨機(jī)的(g,gx,gy),系統(tǒng)建立時(shí),令g1=gx,g2=gy。
H3模擬:輸入詢(xún)問(wèn)的度量值χ,若為重復(fù)詢(xún)問(wèn),則返回之前結(jié)果;否則,若滿(mǎn)足安全性要求的χ,隨機(jī)選擇i∈Zk,返回ai∈Q;不滿(mǎn)足安全性要求的χ,隨機(jī)選擇i,j∈Zk,返回|ai-aj|。
H1模擬:對(duì)于輸入的ai,若為重復(fù)詢(xún)問(wèn),則返回之前結(jié)果,否則,若ai∈Q,隨機(jī)選擇β∈Zp,回答H1(ai)=gβ;若aiQ,隨機(jī)選擇β,γ∈Zp,回答H1(ai)=g-βgγ。
4.2 性能分析
與同樣基于雙線性對(duì)的證明方案[8]以及使用基于屬性的環(huán)簽名ABRS-1[9]構(gòu)建遠(yuǎn)程證明方案進(jìn)行性能比較,當(dāng)G1上元素長(zhǎng)度為512 bit、G2上元素長(zhǎng)度為1 024 bit、Zp元素長(zhǎng)度為160 bit、Q中元素長(zhǎng)度為160 bit、平臺(tái)簽名長(zhǎng)度512 bit時(shí),分別對(duì)d個(gè)數(shù)量的組件進(jìn)行簽名驗(yàn)證,其運(yùn)算量以及簽名長(zhǎng)度如表1。
本文方案結(jié)合遠(yuǎn)程證明中組件屬性證明的特點(diǎn),對(duì)簽名的組件首先映射到超遞增序列上,再計(jì)算其序列和,并對(duì)序列和進(jìn)行屬性簽名,大大簡(jiǎn)化了簽名過(guò)程。由于組件的度量以及轉(zhuǎn)化被設(shè)計(jì)成與次序無(wú)關(guān)的,在實(shí)際應(yīng)用時(shí)可以并行運(yùn)算,實(shí)現(xiàn)快速度量,更加適合移動(dòng)平臺(tái)。超遞增序列可由貪心算法快速計(jì)算出唯一解,所以可以在驗(yàn)證時(shí)完整地恢復(fù)出簽名組件,在對(duì)多個(gè)組件進(jìn)行證明的同時(shí)使證明效率明顯提升。
5 實(shí)現(xiàn)與分析
對(duì)本方案的關(guān)鍵步驟進(jìn)行了實(shí)現(xiàn),并與ABRS-1進(jìn)行了對(duì)比,發(fā)現(xiàn)在遠(yuǎn)程證明的應(yīng)用場(chǎng)景下,本文方案具有更高的效率。主要在配置Samsung S3C6410 CPU的海天雄CES-EDU6410教學(xué)平臺(tái)以及QEMU提供的具有TrustZone功能的ARM模擬器下進(jìn)行實(shí)驗(yàn)。實(shí)現(xiàn)中選擇的雙線運(yùn)算為PBC庫(kù)中的Type A、lq(512)、lr(160)曲線,基于OP-TEE系統(tǒng)進(jìn)行開(kāi)發(fā),分別對(duì)各階段可行性及效率進(jìn)行驗(yàn)證,在ARM平臺(tái)實(shí)現(xiàn)了關(guān)鍵步驟,并對(duì)其執(zhí)行情況進(jìn)行了對(duì)比,實(shí)驗(yàn)環(huán)境如表2。
實(shí)現(xiàn)中,分別假設(shè)構(gòu)成所證明的安全屬性的組件數(shù)量為2、5、8、11,對(duì)方案進(jìn)行測(cè)試對(duì)比。圖3顯示了ARM平臺(tái)上簽名過(guò)程與ABRS-1的簽名所用時(shí)間對(duì)比。
實(shí)驗(yàn)結(jié)果表明,本文方案在組件數(shù)量較多時(shí),相比于屬性環(huán)簽名方案,效率提升明顯。
6 總結(jié)
本文結(jié)合當(dāng)前應(yīng)用廣泛的ARM移動(dòng)設(shè)備及其TrustZone技術(shù),提出一種基于可信移動(dòng)設(shè)備的多組件證明方案,并在隨機(jī)預(yù)言機(jī)模型下證明了安全性。采用證明代理處理TEE與REE的通信,建立安全信道防止惡意進(jìn)程訪問(wèn)TEE資源。在OP-TEE基礎(chǔ)上實(shí)現(xiàn)了方案的主要步驟,并進(jìn)行了分析。實(shí)驗(yàn)結(jié)果表明,方案能夠在具有TrustZone功能的通用ARM處理器上正常運(yùn)行,驗(yàn)證效率高,簽名效率與組件數(shù)量無(wú)關(guān),組件數(shù)量較多時(shí)簽名效率提升尤為明顯。
本文只討論了隨機(jī)預(yù)言機(jī)模型下的證明方案,下一步研究?jī)?nèi)容是標(biāo)準(zhǔn)模型下的證明方法。
參考文獻(xiàn)
[1] 趙波,張煥國(guó),李晶,等.可信PDA計(jì)算平臺(tái)系統(tǒng)結(jié)構(gòu)與安全機(jī)制[J].計(jì)算機(jī)學(xué)報(bào),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] 楊波,馮登國(guó),秦宇,等.基于可信移動(dòng)平臺(tái)的直接匿名證明方案研究[J].計(jì)算機(jī)研究與發(fā)展,2014,51(7):1436-1445.
[5] 張倩穎,馮登國(guó),趙世軍.基于可信芯片的平臺(tái)身份證明方案研究[J].通信學(xué)報(bào),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] 李尚杰,賀也平,劉冬梅,等.基于屬性的遠(yuǎn)程證明的隱私性分析[J].通信學(xué)報(bào),2009,30(11A):146-152.
[8] 馮登國(guó),秦宇.一種基于TCM的屬性證明協(xié)議[J].中國(guó)科學(xué):F輯信息科學(xué),2010,40(2):189-199.
[9] 陳少真,王文強(qiáng),彭書(shū)娟.高效的基于屬性的環(huán)簽名方案[J].計(jì)算機(jī)研究與發(fā)展,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.