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