李宏宇,付東來
(1. 山西省財稅專科學校網(wǎng)絡(luò)中心,太原 03002 4;2. 中北大學電子與計算機科學技術(shù)學院,太原 03005 1)
一種改進的組簽名平臺配置遠程證明機制
李宏宇1,付東來2
(1. 山西省財稅??茖W校網(wǎng)絡(luò)中心,太原 03002 4;2. 中北大學電子與計算機科學技術(shù)學院,太原 03005 1)
針對遠程證明效率低、隱私保護能力及可伸縮性差的問題,提出一種基于可動態(tài)調(diào)整的非平衡Merkle哈希樹的平臺配置遠程證明機制。借鑒Merkle哈希樹遠程證明方案,考慮可信實體完整性度量值被請求的概率,綜合利用組簽名技術(shù)和動態(tài)Huffman
樹構(gòu)造算法的優(yōu)勢,不僅能大幅減少可信實體度量日志的存儲空間,屏蔽具體的可信實體的哈希值,而且縮短認證路徑長度。給出具體的軟件分發(fā)算法、完整性度量和驗證算法,并從驗證效率、隱私保護和可伸縮性3個方面分析算法的優(yōu)勢。分析結(jié)果表明,該機制可提高遠程證明算法的效率、隱私保護能力及可伸縮性。
可信計算;遠程證明;組簽名;Merkle Hash樹;隱私保護;可伸縮性
遠程證明是通過遠程機制驗證平臺是否可信的過程。根據(jù)證明內(nèi)容的不同,可以將遠程證明分為平臺身份證明和平臺配置證明2種證明機制。在平臺配置證明方面,可信計算組織提出了基于二進制的遠程證明方法。隱私泄露、可伸縮性差、通信和管理負載大等問題已經(jīng)成為限制二進制遠程證明方法進一步發(fā)展的主要瓶頸。因此,本文針對二進制平臺配置證明方法存在的這些問題展開研究。
首先,在二進制平臺配置證明方法中,終端平臺為了獲得遠程平臺的信任,需要提供所有的平臺配置信息,包括操作系統(tǒng)和應(yīng)用軟件。顯然,這可能使得終端平臺的安全漏洞信息在無意中泄露出去,成為黑客的攻擊目標。其次,大量的應(yīng)用軟件及系統(tǒng)軟件使得度量參考列表及度量日志列表的可伸縮性成為該方法的主要瓶頸。據(jù)統(tǒng)計[1],一次典型的Windows安裝過程,需要從400萬個已知的驅(qū)動集中裝載2 000多個驅(qū)動程序,而且驅(qū)動程序的數(shù)量仍在以每天4 000個的速度快速增長。如果再加上大量的第三方應(yīng)用軟件,由度量參考列表和度量日志列表引發(fā)的可伸縮性問題將變得更加嚴重。最后由度量日志列表引發(fā)的通信和管理負載問題也是影響該方法進一步發(fā)展的障礙之一。
完整性度量架構(gòu)IMA[2-3]是較早的一個完整的二進制平臺配置證明方案的實現(xiàn),它的主要缺陷是驗證效率低且為靜態(tài)度量。隨后針對IMA的不足,研究人員分別提出基于軟件分組的度量機制[4]和基于Merkle樹的度量機制RAMT[5]。這2種度量機制都屬于靜態(tài)度量機制,無法保證可信實體在運行過程中的可信。為此,一些國內(nèi)外學者分別提出了一些動態(tài)度量機制[6-8]。但上述2種機制不是相互排斥,而是相互補充、相互借鑒、相互促進的關(guān)系。
在以上研究成果的基礎(chǔ)上,設(shè)計了一種可動態(tài)調(diào)整的非平衡的Merkle哈希樹存儲被度量的可信實體完整性哈希的方法。Merkle 哈希樹最早用于解決公鑰基礎(chǔ)設(shè)施領(lǐng)域中的證書問題。由于通過Merkle哈希樹的根節(jié)點的哈希能夠保證全部葉子節(jié)點的完整性,因此只要根節(jié)點的哈希能夠被可靠的保存,就能利用最小的可信空間存儲大量的不可信空間的數(shù)據(jù)。
在可信計算領(lǐng)域,文獻[5]提出了使用Merkle哈希樹存儲可信實體的完整性哈希的遠程證明方案。然而,在有些應(yīng)用場景中,即部分葉子節(jié)點被查詢的頻率高于其他葉子節(jié)點時,不平衡的Merkle哈希樹的性能會優(yōu)于平衡的Merkle哈希樹,即葉子節(jié)點的平均查詢路徑要短。在密鑰管理領(lǐng)域中,研究人員為了克服靜態(tài)Huffman樹的不足,提出了一種基于自適應(yīng)的Huffman樹組密鑰更新方案[9]。在可信計算領(lǐng)域,文獻[10]考慮了部分可信實體的完整性哈希值被請求的頻率可能會高于其他可信實體的應(yīng)用場景,但當可信實體被請求的頻率動態(tài)變化時該算法顯得無能為力。為了改善這種情況,又構(gòu)造了動態(tài)Huffman樹平臺配置遠程證明算法[11],但隨著用戶計算機軟件的不斷增長,Huffman樹的體積也會不斷膨脹,最終可能導(dǎo)致完整性度量與驗證效率的降低?;诖耍疚睦媒M簽名算法[12],對可信實體的哈希值采用基于組的管理方式,在RAMT方案的基礎(chǔ)上,構(gòu)造一種基于可動態(tài)調(diào)整的非平衡Merkle哈希樹的平臺配置遠程證明機制。
2.1 體系結(jié)構(gòu)
GSRAMT的體系結(jié)構(gòu)如圖1所示。盡管GSRAMT的體系結(jié)構(gòu)與RAMT和IMA方案的體系結(jié)構(gòu)極其相似,但因為樹為非平衡Merkle哈希樹且樹中結(jié)點所存儲的是可信實體組的公鑰的哈希值,所以在可信實體的完整性度量、驗證及TPM的使用等方面存在很大的差異。
圖1 G SRAMT的體系結(jié)構(gòu)
2.2 符號的定義
為了敘述方便,定義以下符號:
(1)軟件組:表示屬于同一軟件分組的軟件集合,記為:
(2)軟件組集:由軟件組SG構(gòu)成的集合,記為:
(3)樹中節(jié)點的數(shù)據(jù)結(jié)構(gòu):
id:當node為葉子節(jié)點時用于標識可信實體,當node為中間節(jié)點時該值取空,即沒有任何意義,當取值為NYN時表示新節(jié)點的插入位置。
weight:表示節(jié)點的權(quán)重,此處定義為相應(yīng)可信實體的完整性值被請求的次數(shù)(實際上很容易被歸一化為概率值)。
number:節(jié)點的編號。
block:表示塊號,即相同權(quán)重節(jié)點的組編號。
hvalue:當節(jié)點為葉子節(jié)點時表示可信實體的散列值,當節(jié)點為中間節(jié)點時表示其所有孩子節(jié)點散列值連接后的再散列值。
lchild, rchild, parent:分別表示當前節(jié)點的左孩子、右孩子和父親節(jié)點。
(4)組密鑰生成算法:
其中,κ是一個安全輸入?yún)?shù);n表示組中成員的個數(shù);gpk是組公共密鑰;gmsk是組管理秘密密鑰;gsk表示一個長度為n的簽名密鑰向量,成員i被分配簽名密鑰gsk[ i]。
(5)組簽名算法:
成員i輸入消息m和自己的簽名密鑰gsk[ i],即可獲得消息m在簽名密鑰gsk[ i]作用下的簽名。
(6)組簽名驗證算法:
輸入給定的消息、組公共密鑰和消息的簽名,僅當σ是m的簽名時返回1,否則算法返回0。
(7)公開簽名者身份算法:
輸入給定的消息、消息的簽名和組管理秘密密鑰,僅當σ是m的簽名時返回i,否則返回⊥。
(8)組加入算法:
輸入成員信息,算法在成功執(zhí)行后,組成員會獲得組成員證書和組成員簽名密鑰。
2.3 軟件分發(fā)算法
算法1軟件分發(fā)算法
Step1 令i=1,對SGi∈SGS執(zhí)行組密鑰生成算法GKG:(1κ,1l)→(gpk, gmsk, gsk ),獲得一對組公共密鑰、組管理密鑰、組成員簽名密鑰矢量,同時將gpk寫入可信實體完整性度量值參考列表RML。
Step2 令j=1,對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++,當j≤l時,循環(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++,當i≤q時,對sgi∈SGS執(zhí)行組密鑰生成算法GKG:(1κ,1l)→(gpk, gmsk, gsk ),獲得一對組公共密鑰、組管理密鑰、組成員簽名密鑰矢量,同時將gpk寫入可信實體完整性度量值參考列表RML后,返回Step2,否則結(jié)束。
2.4 完整性度量算法
算法2完整性度量算法
Step1 當可信實體st被裝載前首先依據(jù)公式m=SHA-1×(st)獲得m的值。
Step2 執(zhí)行組簽名驗證算法
GVf:(gpk, m,σ)→{0,1},算法返回1時,執(zhí)行g(shù)pk'= SHA-1×(gpk ),否則算法結(jié)束。
Step3 將(st, gpk')寫入度量列表。
Step4 創(chuàng)建新節(jié)點ln, rn
Step5 若當前節(jié)點是根節(jié)點則結(jié)束,否則令:
Step6 遍歷所有與curnode處于同一塊中的節(jié)點,尋找同一塊中節(jié)點編號最大的節(jié)點maxnode:
(1)若maxnode與curnode一致:根據(jù)孩子節(jié)點的散列值,更新當前節(jié)點的散列值并執(zhí)行curnode.weight++后返回Step5。
(2)若maxnode與curnode不一致:首先交換2個節(jié)點的位置并交換2個節(jié)點的編號后令curnode.weight++,并更新當前節(jié)點的散列值,同時遞歸重新計算maxnode到根節(jié)點的子樹中所有節(jié)點的散列值后返回Step5。
Step7 擴展根節(jié)點的散列值到PCR寄存器。
更新一個節(jié)點的算法與增加一個新節(jié)點的算法非常相似,所不同的是在Step4尋找到該節(jié)點。
2.5 完整性驗證算法
GSRAMT的遠程驗證過程如圖2所示,圖中粗箭頭不代表執(zhí)行的步驟和信息的流向,僅用于解釋ML和RML的內(nèi)容,具體算法細節(jié)可參見文獻[12]。
圖2 G SRAMT的遠程驗證過程
3.1 驗證效率
由文獻[5]可以知道,RAMT的驗證效率為O( NlbN),GSRAMT方案的驗證效率為WT=O(( n/ N)lbn),具體的證明可以參見文獻[11]。因此,本文方案進一步提高了驗證效率。而且分組思想的采用極大地減少了樹中的節(jié)點數(shù)量。
3.2 隱私保護能力
IMA方案的遠程證明需要將被驗證方的所有軟件配置信息提交到證明方,這種做法無疑將被驗證平臺的操作系統(tǒng)級及配置信息泄露給了遠方。RAMT方案采用基于認證路徑的做法,掩蓋了被驗證方的環(huán)境信息(僅泄露了一個節(jié)點的信息)。GSRAMT方案仍然延用了基于認證路徑的遠程驗證方法。盡管在證明過程中,被證明方也需要整個度量日志列表提交到證明方,但該列表中的條目是軟件組的公鑰的哈希值,所以并沒有泄露被驗證平臺的環(huán)境信息。而且,RAMT方案僅比對1個葉子節(jié)點的信息。因此,由其他葉子節(jié)點生成的中間節(jié)點的可信性無法校驗。從這個角度看,GSRAMT方案具有比較優(yōu)勢。
3.3 可伸縮性
采用軟件分組思想可以有效地減少Merkle樹的節(jié)點數(shù)量,而且組可以大頁可以小,既可軟件供應(yīng)商分組,也可按軟件的類別分組,還可以按軟件版本分組,當然一個軟件也能夠作為一組。因此,從這個角度來看,新機制不僅進一步提高遠程證明算法的可伸縮性,而且增強了算法的靈活性。
本文利用組簽名算法及動態(tài)Huffman樹平臺配置遠程證明方案,在RAMT方案的基礎(chǔ)上,提出了一種可動態(tài)調(diào)整的非平衡 Me rkle H ash樹的遠程證明機制。分析結(jié)果證明,該機制縮短了認證路徑的長度,減少了樹中節(jié)點的數(shù)量,增強了方案的隱私保護能力。下一步將主要研究該機制在基于Tomcat的Web應(yīng)用中的具體實現(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] 徐梓耀, 賀也平, 鄧靈莉. 一種保護隱私的高效遠程驗證機制[J]. 軟件學報, 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樹組密鑰更新方案[J]. 華中科技大學學報: 自然科學版, 2009, 37(9): 33-36.
[10] 付東來, 彭新光, 陳夠喜, 等. 一種高效的平臺配置遠程證明機制[J]. 計算機工程, 2012, 38(7): 25-27.
[11] 付東來, 彭新光, 陳夠喜, 等. 動態(tài)Huffman樹平臺配置遠程證明方案[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.
編輯 索書志
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)計劃基金資助項目(20090322004);中北大學自然科學基金資助項目(2013)。
李宏宇(1979-),男,碩士,主研方向:網(wǎng)絡(luò)信息安全,可信計算;付東來(通訊作者),講師、博士研究生。
2012-12-13
2013-04-04E-mail:lihongyusx@163.com
1000-3428(2014)05-0099-04
A
TP309