李宏宇,付東來(lái)
(1. 山西省財(cái)稅專(zhuān)科學(xué)校網(wǎng)絡(luò)中心,太原 03002 4;2. 中北大學(xué)電子與計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,太原 03005 1)
一種改進(jìn)的組簽名平臺(tái)配置遠(yuǎn)程證明機(jī)制
李宏宇1,付東來(lái)2
(1. 山西省財(cái)稅專(zhuān)科學(xué)校網(wǎng)絡(luò)中心,太原 03002 4;2. 中北大學(xué)電子與計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,太原 03005 1)
針對(duì)遠(yuǎn)程證明效率低、隱私保護(hù)能力及可伸縮性差的問(wèn)題,提出一種基于可動(dòng)態(tài)調(diào)整的非平衡Merkle哈希樹(shù)的平臺(tái)配置遠(yuǎn)程證明機(jī)制。借鑒Merkle哈希樹(shù)遠(yuǎn)程證明方案,考慮可信實(shí)體完整性度量值被請(qǐng)求的概率,綜合利用組簽名技術(shù)和動(dòng)態(tài)Huffman
樹(shù)構(gòu)造算法的優(yōu)勢(shì),不僅能大幅減少可信實(shí)體度量日志的存儲(chǔ)空間,屏蔽具體的可信實(shí)體的哈希值,而且縮短認(rèn)證路徑長(zhǎng)度。給出具體的軟件分發(fā)算法、完整性度量和驗(yàn)證算法,并從驗(yàn)證效率、隱私保護(hù)和可伸縮性3個(gè)方面分析算法的優(yōu)勢(shì)。分析結(jié)果表明,該機(jī)制可提高遠(yuǎn)程證明算法的效率、隱私保護(hù)能力及可伸縮性。
可信計(jì)算;遠(yuǎn)程證明;組簽名;Merkle Hash樹(shù);隱私保護(hù);可伸縮性
遠(yuǎn)程證明是通過(guò)遠(yuǎn)程機(jī)制驗(yàn)證平臺(tái)是否可信的過(guò)程。根據(jù)證明內(nèi)容的不同,可以將遠(yuǎn)程證明分為平臺(tái)身份證明和平臺(tái)配置證明2種證明機(jī)制。在平臺(tái)配置證明方面,可信計(jì)算組織提出了基于二進(jìn)制的遠(yuǎn)程證明方法。隱私泄露、可伸縮性差、通信和管理負(fù)載大等問(wèn)題已經(jīng)成為限制二進(jìn)制遠(yuǎn)程證明方法進(jìn)一步發(fā)展的主要瓶頸。因此,本文針對(duì)二進(jìn)制平臺(tái)配置證明方法存在的這些問(wèn)題展開(kāi)研究。
首先,在二進(jìn)制平臺(tái)配置證明方法中,終端平臺(tái)為了獲得遠(yuǎn)程平臺(tái)的信任,需要提供所有的平臺(tái)配置信息,包括操作系統(tǒng)和應(yīng)用軟件。顯然,這可能使得終端平臺(tái)的安全漏洞信息在無(wú)意中泄露出去,成為黑客的攻擊目標(biāo)。其次,大量的應(yīng)用軟件及系統(tǒng)軟件使得度量參考列表及度量日志列表的可伸縮性成為該方法的主要瓶頸。據(jù)統(tǒng)計(jì)[1],一次典型的Windows安裝過(guò)程,需要從400萬(wàn)個(gè)已知的驅(qū)動(dòng)集中裝載2 000多個(gè)驅(qū)動(dòng)程序,而且驅(qū)動(dòng)程序的數(shù)量仍在以每天4 000個(gè)的速度快速增長(zhǎng)。如果再加上大量的第三方應(yīng)用軟件,由度量參考列表和度量日志列表引發(fā)的可伸縮性問(wèn)題將變得更加嚴(yán)重。最后由度量日志列表引發(fā)的通信和管理負(fù)載問(wèn)題也是影響該方法進(jìn)一步發(fā)展的障礙之一。
完整性度量架構(gòu)IMA[2-3]是較早的一個(gè)完整的二進(jìn)制平臺(tái)配置證明方案的實(shí)現(xiàn),它的主要缺陷是驗(yàn)證效率低且為靜態(tài)度量。隨后針對(duì)IMA的不足,研究人員分別提出基于軟件分組的度量機(jī)制[4]和基于Merkle樹(shù)的度量機(jī)制RAMT[5]。這2種度量機(jī)制都屬于靜態(tài)度量機(jī)制,無(wú)法保證可信實(shí)體在運(yùn)行過(guò)程中的可信。為此,一些國(guó)內(nèi)外學(xué)者分別提出了一些動(dòng)態(tài)度量機(jī)制[6-8]。但上述2種機(jī)制不是相互排斥,而是相互補(bǔ)充、相互借鑒、相互促進(jìn)的關(guān)系。
在以上研究成果的基礎(chǔ)上,設(shè)計(jì)了一種可動(dòng)態(tài)調(diào)整的非平衡的Merkle哈希樹(shù)存儲(chǔ)被度量的可信實(shí)體完整性哈希的方法。Merkle 哈希樹(shù)最早用于解決公鑰基礎(chǔ)設(shè)施領(lǐng)域中的證書(shū)問(wèn)題。由于通過(guò)Merkle哈希樹(shù)的根節(jié)點(diǎn)的哈希能夠保證全部葉子節(jié)點(diǎn)的完整性,因此只要根節(jié)點(diǎn)的哈希能夠被可靠的保存,就能利用最小的可信空間存儲(chǔ)大量的不可信空間的數(shù)據(jù)。
在可信計(jì)算領(lǐng)域,文獻(xiàn)[5]提出了使用Merkle哈希樹(shù)存儲(chǔ)可信實(shí)體的完整性哈希的遠(yuǎn)程證明方案。然而,在有些應(yīng)用場(chǎng)景中,即部分葉子節(jié)點(diǎn)被查詢(xún)的頻率高于其他葉子節(jié)點(diǎn)時(shí),不平衡的Merkle哈希樹(shù)的性能會(huì)優(yōu)于平衡的Merkle哈希樹(shù),即葉子節(jié)點(diǎn)的平均查詢(xún)路徑要短。在密鑰管理領(lǐng)域中,研究人員為了克服靜態(tài)Huffman樹(shù)的不足,提出了一種基于自適應(yīng)的Huffman樹(shù)組密鑰更新方案[9]。在可信計(jì)算領(lǐng)域,文獻(xiàn)[10]考慮了部分可信實(shí)體的完整性哈希值被請(qǐng)求的頻率可能會(huì)高于其他可信實(shí)體的應(yīng)用場(chǎng)景,但當(dāng)可信實(shí)體被請(qǐng)求的頻率動(dòng)態(tài)變化時(shí)該算法顯得無(wú)能為力。為了改善這種情況,又構(gòu)造了動(dòng)態(tài)Huffman樹(shù)平臺(tái)配置遠(yuǎn)程證明算法[11],但隨著用戶(hù)計(jì)算機(jī)軟件的不斷增長(zhǎng),Huffman樹(shù)的體積也會(huì)不斷膨脹,最終可能導(dǎo)致完整性度量與驗(yàn)證效率的降低?;诖?,本文利用組簽名算法[12],對(duì)可信實(shí)體的哈希值采用基于組的管理方式,在RAMT方案的基礎(chǔ)上,構(gòu)造一種基于可動(dòng)態(tài)調(diào)整的非平衡Merkle哈希樹(shù)的平臺(tái)配置遠(yuǎn)程證明機(jī)制。
2.1 體系結(jié)構(gòu)
GSRAMT的體系結(jié)構(gòu)如圖1所示。盡管GSRAMT的體系結(jié)構(gòu)與RAMT和IMA方案的體系結(jié)構(gòu)極其相似,但因?yàn)闃?shù)為非平衡Merkle哈希樹(shù)且樹(shù)中結(jié)點(diǎn)所存儲(chǔ)的是可信實(shí)體組的公鑰的哈希值,所以在可信實(shí)體的完整性度量、驗(yàn)證及TPM的使用等方面存在很大的差異。
圖1 G SRAMT的體系結(jié)構(gòu)
2.2 符號(hào)的定義
為了敘述方便,定義以下符號(hào):
(1)軟件組:表示屬于同一軟件分組的軟件集合,記為:
(2)軟件組集:由軟件組SG構(gòu)成的集合,記為:
(3)樹(shù)中節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu):
id:當(dāng)node為葉子節(jié)點(diǎn)時(shí)用于標(biāo)識(shí)可信實(shí)體,當(dāng)node為中間節(jié)點(diǎn)時(shí)該值取空,即沒(méi)有任何意義,當(dāng)取值為NYN時(shí)表示新節(jié)點(diǎn)的插入位置。
weight:表示節(jié)點(diǎn)的權(quán)重,此處定義為相應(yīng)可信實(shí)體的完整性值被請(qǐng)求的次數(shù)(實(shí)際上很容易被歸一化為概率值)。
number:節(jié)點(diǎn)的編號(hào)。
block:表示塊號(hào),即相同權(quán)重節(jié)點(diǎn)的組編號(hào)。
hvalue:當(dāng)節(jié)點(diǎn)為葉子節(jié)點(diǎn)時(shí)表示可信實(shí)體的散列值,當(dāng)節(jié)點(diǎn)為中間節(jié)點(diǎn)時(shí)表示其所有孩子節(jié)點(diǎn)散列值連接后的再散列值。
lchild, rchild, parent:分別表示當(dāng)前節(jié)點(diǎn)的左孩子、右孩子和父親節(jié)點(diǎn)。
(4)組密鑰生成算法:
其中,κ是一個(gè)安全輸入?yún)?shù);n表示組中成員的個(gè)數(shù);gpk是組公共密鑰;gmsk是組管理秘密密鑰;gsk表示一個(gè)長(zhǎng)度為n的簽名密鑰向量,成員i被分配簽名密鑰gsk[ i]。
(5)組簽名算法:
成員i輸入消息m和自己的簽名密鑰gsk[ i],即可獲得消息m在簽名密鑰gsk[ i]作用下的簽名。
(6)組簽名驗(yàn)證算法:
輸入給定的消息、組公共密鑰和消息的簽名,僅當(dāng)σ是m的簽名時(shí)返回1,否則算法返回0。
(7)公開(kāi)簽名者身份算法:
輸入給定的消息、消息的簽名和組管理秘密密鑰,僅當(dāng)σ是m的簽名時(shí)返回i,否則返回⊥。
(8)組加入算法:
輸入成員信息,算法在成功執(zhí)行后,組成員會(huì)獲得組成員證書(shū)和組成員簽名密鑰。
2.3 軟件分發(fā)算法
算法1軟件分發(fā)算法
Step1 令i=1,對(duì)SGi∈SGS執(zhí)行組密鑰生成算法GKG:(1κ,1l)→(gpk, gmsk, gsk ),獲得一對(duì)組公共密鑰、組管理密鑰、組成員簽名密鑰矢量,同時(shí)將gpk寫(xiě)入可信實(shí)體完整性度量值參考列表RML。
Step2 令j=1,對(duì)stj∈SGi首先執(zhí)行組加入算法Join: (j)→{certj, gsk[ j ]},然后執(zhí)行mj=SHA-1×(stj),最后執(zhí)行組簽名算法GSig:(gsk[ j], mj)→σj(mj),σj(mj) 和gpk隨stj發(fā)布。
Step3 令j++,當(dāng)j≤l時(shí),循環(huán)執(zhí)行組加入算法Join: (j)→{certj,gsk[ j ]},然后執(zhí)行mj=SHA-1×(stj),最后執(zhí)行組簽名算法GSig:(gsk[ j],mj)→σj(mj),σj(mj)隨stj一起發(fā)布。
Step4 令i++,當(dāng)i≤q時(shí),對(duì)sgi∈SGS執(zhí)行組密鑰生成算法GKG:(1κ,1l)→(gpk, gmsk, gsk ),獲得一對(duì)組公共密鑰、組管理密鑰、組成員簽名密鑰矢量,同時(shí)將gpk寫(xiě)入可信實(shí)體完整性度量值參考列表RML后,返回Step2,否則結(jié)束。
2.4 完整性度量算法
算法2完整性度量算法
Step1 當(dāng)可信實(shí)體st被裝載前首先依據(jù)公式m=SHA-1×(st)獲得m的值。
Step2 執(zhí)行組簽名驗(yàn)證算法
GVf:(gpk, m,σ)→{0,1},算法返回1時(shí),執(zhí)行g(shù)pk'= SHA-1×(gpk ),否則算法結(jié)束。
Step3 將(st, gpk')寫(xiě)入度量列表。
Step4 創(chuàng)建新節(jié)點(diǎn)ln, rn
Step5 若當(dāng)前節(jié)點(diǎn)是根節(jié)點(diǎn)則結(jié)束,否則令:
Step6 遍歷所有與curnode處于同一塊中的節(jié)點(diǎn),尋找同一塊中節(jié)點(diǎn)編號(hào)最大的節(jié)點(diǎn)maxnode:
(1)若maxnode與curnode一致:根據(jù)孩子節(jié)點(diǎn)的散列值,更新當(dāng)前節(jié)點(diǎn)的散列值并執(zhí)行curnode.weight++后返回Step5。
(2)若maxnode與curnode不一致:首先交換2個(gè)節(jié)點(diǎn)的位置并交換2個(gè)節(jié)點(diǎn)的編號(hào)后令curnode.weight++,并更新當(dāng)前節(jié)點(diǎn)的散列值,同時(shí)遞歸重新計(jì)算maxnode到根節(jié)點(diǎn)的子樹(shù)中所有節(jié)點(diǎn)的散列值后返回Step5。
Step7 擴(kuò)展根節(jié)點(diǎn)的散列值到PCR寄存器。
更新一個(gè)節(jié)點(diǎn)的算法與增加一個(gè)新節(jié)點(diǎn)的算法非常相似,所不同的是在Step4尋找到該節(jié)點(diǎn)。
2.5 完整性驗(yàn)證算法
GSRAMT的遠(yuǎn)程驗(yàn)證過(guò)程如圖2所示,圖中粗箭頭不代表執(zhí)行的步驟和信息的流向,僅用于解釋ML和RML的內(nèi)容,具體算法細(xì)節(jié)可參見(jiàn)文獻(xiàn)[12]。
圖2 G SRAMT的遠(yuǎn)程驗(yàn)證過(guò)程
3.1 驗(yàn)證效率
由文獻(xiàn)[5]可以知道,RAMT的驗(yàn)證效率為O( NlbN),GSRAMT方案的驗(yàn)證效率為WT=O(( n/ N)lbn),具體的證明可以參見(jiàn)文獻(xiàn)[11]。因此,本文方案進(jìn)一步提高了驗(yàn)證效率。而且分組思想的采用極大地減少了樹(shù)中的節(jié)點(diǎn)數(shù)量。
3.2 隱私保護(hù)能力
IMA方案的遠(yuǎn)程證明需要將被驗(yàn)證方的所有軟件配置信息提交到證明方,這種做法無(wú)疑將被驗(yàn)證平臺(tái)的操作系統(tǒng)級(jí)及配置信息泄露給了遠(yuǎn)方。RAMT方案采用基于認(rèn)證路徑的做法,掩蓋了被驗(yàn)證方的環(huán)境信息(僅泄露了一個(gè)節(jié)點(diǎn)的信息)。GSRAMT方案仍然延用了基于認(rèn)證路徑的遠(yuǎn)程驗(yàn)證方法。盡管在證明過(guò)程中,被證明方也需要整個(gè)度量日志列表提交到證明方,但該列表中的條目是軟件組的公鑰的哈希值,所以并沒(méi)有泄露被驗(yàn)證平臺(tái)的環(huán)境信息。而且,RAMT方案僅比對(duì)1個(gè)葉子節(jié)點(diǎn)的信息。因此,由其他葉子節(jié)點(diǎn)生成的中間節(jié)點(diǎn)的可信性無(wú)法校驗(yàn)。從這個(gè)角度看,GSRAMT方案具有比較優(yōu)勢(shì)。
3.3 可伸縮性
采用軟件分組思想可以有效地減少M(fèi)erkle樹(shù)的節(jié)點(diǎn)數(shù)量,而且組可以大頁(yè)可以小,既可軟件供應(yīng)商分組,也可按軟件的類(lèi)別分組,還可以按軟件版本分組,當(dāng)然一個(gè)軟件也能夠作為一組。因此,從這個(gè)角度來(lái)看,新機(jī)制不僅進(jìn)一步提高遠(yuǎn)程證明算法的可伸縮性,而且增強(qiáng)了算法的靈活性。
本文利用組簽名算法及動(dòng)態(tài)Huffman樹(shù)平臺(tái)配置遠(yuǎn)程證明方案,在RAMT方案的基礎(chǔ)上,提出了一種可動(dòng)態(tài)調(diào)整的非平衡 Me rkle H ash樹(shù)的遠(yuǎn)程證明機(jī)制。分析結(jié)果證明,該機(jī)制縮短了認(rèn)證路徑的長(zhǎng)度,減少了樹(shù)中節(jié)點(diǎn)的數(shù)量,增強(qiáng)了方案的隱私保護(hù)能力。下一步將主要研究該機(jī)制在基于Tomcat的Web應(yīng)用中的具體實(shí)現(xiàn)。
[1] Paul E. Pr actical T echniques for Operating System Attestation[C]//Proceedings of the 1st I nternational Conference on Trusted Computi ng and Trust in Information T echnologies. Villach, Austria: Springer-Verlag, 2008: 258-264.
[2] Sailer R, Zhang X L, Jae ger T, et al. Design and Implementation of a TCG-based Integrity Measurement Architecture[C]// Proceedings of the 13th USENIX Security Symposium. San Diego, USA: [s. n.], 2004: 168-175.
[3] Jaeger T, Sailer R, Shankar U. P RIMA: Policy Re duced Integrity Measurement Architecture[C]//Proceedings of the 11th ACM Sy mposium on Access Co ntrol Models and Technologies. New York, USA: ACM Press, 2006: 336-345.
[4] Alsouri S, Dagdelen O, Katzenbeisser S. Group-based Attestation: Enha ncing Privacy and Man agement in Remote Attestation[C]//Proceedings of the 3rd Internatio nal Conference on Trust and Trustworthy Computing. Berlin, Germany: Springer-Verlag, 2010: 541-547.
[5] 徐梓耀, 賀也平, 鄧靈莉. 一種保護(hù)隱私的高效遠(yuǎn)程驗(yàn)證機(jī)制[J]. 軟件學(xué)報(bào), 2011, 22(2): 339-352.
[6] Gu Liang, Ding Xuhua, Deng Huijie, et al. Remote Attestation on Program Execution[C]//Proceedings of 2008 ACM Workshop on Scalable Trusted Computing. New York, USA: ACM Press, 2008: 165-178.
[7] Peng Guojun. Dynamic Trustiness Authentication Framework Based on Software’s Behavior Integrity[C]//Proceedings of the 9th International Conference on Young Computer Scientists. Zhangjiajie, China: [s. n.], 2008: 266-271.
[8] Loscocco P A, W ilson P W, Pendergrass J A, et al. Linux Kernel Integrity Measurement Using Contextual Inspection[C]// Proceedings of t he 2nd ACM Workshop on Scalable Trusted Computing. New York, USA: ACM Press, 2007: 158-164.
[9] 謝海濤, 王玉明, 楊宗凱, 等. 自適應(yīng)Huffman樹(shù)組密鑰更新方案[J]. 華中科技大學(xué)學(xué)報(bào): 自然科學(xué)版, 2009, 37(9): 33-36.
[10] 付東來(lái), 彭新光, 陳夠喜, 等. 一種高效的平臺(tái)配置遠(yuǎn)程證明機(jī)制[J]. 計(jì)算機(jī)工程, 2012, 38(7): 25-27.
[11] 付東來(lái), 彭新光, 陳夠喜, 等. 動(dòng)態(tài)Huffman樹(shù)平臺(tái)配置遠(yuǎn)程證明方案[J]. 計(jì)算機(jī)應(yīng)用, 2012, 32(8): 2275-2279, 2282.
[12] Sun Y ipin, Fen g Zhe nqian, Hu Qiaolin. An Ef ficient Distributed Key Manag ement S cheme for Group-signature Based Anonymous Authentication in VANET[J]. Security and Communication Networks, 2012, 5(1): 79-86.
編輯 索書(shū)志
An Improved Platform Configuration Remote Attestation Mechanism of Group Signatures
LI Hong-yu1, FU Dong-lai2
(1. Network Center, Shanxi Finance & Taxation College, Taiyuan 030024, China; 2. Institute of Electronics and Computer Science & Technology, North University of China, Taiyuan 030051, China)
In order to improve efficiency, privacy protecting and scalability of remote attestation, a new method to measure the integrity of trusted entities is proposed. The method based on Remote Attestation based on Merkle Hash Tree(RAMT) takes the frequency of trusted entities into account. It leverag es multiple techniques including group signatures a nd dyn amic Huffman algorithms. Thus, it red uces dramatically storage space to store measurement log of executables and hides information of specific software and cuts down a length of the path of verification. These algorithms including software distribution, integrity measurement and verification are given and their advantages are described from three aspects including verification efficiency, privacy protection and scalability. Analysis shows the abil ity of the protection privacy is enhanced. The efficiency and the scalability of the remote attestation are improved highly.
trusted computing; remote attestation; group signature; Merkle Hash tree; privacy protection; scalability
10.3969/j.issn.1000-3428.2014.05.021
山西省科技攻關(guān)計(jì)劃基金資助項(xiàng)目(20090322004);中北大學(xué)自然科學(xué)基金資助項(xiàng)目(2013)。
李宏宇(1979-),男,碩士,主研方向:網(wǎng)絡(luò)信息安全,可信計(jì)算;付東來(lái)(通訊作者),講師、博士研究生。
2012-12-13
2013-04-04E-mail:lihongyusx@163.com
1000-3428(2014)05-0099-04
A
TP309