彭新光,王曉陽
(太原理工大學計算機科學與技術學院,山西太原030024)
可信計算通過建立信任鏈使實體行為按照預期的方式與目標運行[1-2],遠程證明指網絡中的兩個實體在信息交互前需要判定實體的可信狀態。因此,遠程證明是可信計算的重要內容之一。可信遠程證明已取得很多成果,其中,基于屬性的遠程證明具有優勢和發展前景。它克服了基于配置遠程證明中步驟繁多、證明信息量大和平臺信息易被竊取等不足,實現了快速和高效的驗證過程。基于屬性的遠程證明架構首先由Poritz提出,之后Chen提出了基于屬性遠程證明協議,Qin提出了基于組件屬性的遠程證明,這些研究成果對基于屬性遠程證明的發展具有極大的幫助[3-5]。
現存的基于屬性的遠程證明具有以下缺點:證書權威發布機為組件頒布屬性證書后,證書完全暴露在不安全的網絡環境中,證書的安全性得不到保證。而對證書的加密是另外一道工序,效率低;證書權威驗證機構的驗證壓力過大,其不但要驗證屬性證書的正確性,還要驗證度量值與對應安全等級的相關性是否符合規定[6-8]。
本文在原有屬性遠程證明協議的基礎上,提出了一種新的模塊級的屬性遠程證明方案。該方案有以下特點:引入簽密,在各模塊屬性證書生成和加密一起完成,提高了整個證明方案的安全性[9-10];將驗證中心拆分為證書正確性驗證中心和屬性驗證中心兩部分,分別對證書的正確性和屬性值進行驗證,提高了整個驗證體系的驗證效率[11-12]。
在本文的模塊屬性證明體系中,將整個體系分為6個部分,如圖1所示。
(1)模塊生產商 (Module Factory):生產用戶平臺所需的模塊。沒有發布模塊證書的權利。
(2)證書權威發布機構 (Certificate Authorization):負責為模塊發布模塊屬性證書。
(3)用戶平臺 (User Platform):配置有TPM Trusted Platform Module),接受并使用配有屬性證書的各模塊,并向服務提供商提出數據請求。
(4)服務提供商 (Trusted Platform Module):為用戶平臺提供各種服務,自身沒有檢測用戶平臺真偽的能力。
(5)正確性驗證中心 (Accuracy Verification Center):驗證屬性證書的正確性。不具有檢驗屬性與度量值對應關系的能力。
(6)屬性驗證中心 (Property Verification Center):驗證屬性證書中屬性與度量值對應關系的正確性。
一個完整的模塊屬性驗證過程為:
1)模塊生產商生成模塊。
2)證書權威發布機構為模板頒發屬性證書。
3)用戶獲得模塊、向服務提供商提出服務請求。
4)服務提供商要求驗證模塊,并獲得度量值摘要與模塊屬性證書。
5)證書正確性驗證中心確定屬性證書是否正確,有無被篡改。
6)屬性驗證中心確定度量值摘要中的值是否與屬性證書中的值相匹配,屬性證書是否過期。

圖1 模塊屬性證明體系
根基TNC規范,當模塊生產商制造出某一模塊后,它會首先被定義一個ID,長度為32位 (bit);然后經過模塊生產商的TPM度量后,會生成度量值ζ,長度為160位;最后是與該度量值安全等級相對應的屬性值P,長度為160位。
所以對于模塊Ki,其配置為(ID,ζi,Pi)
針對當前遠程證明存在的問題,本文提出了一種新的模塊級的遠程證明協議[13-14]。
協議分為三步驟:
(1)模塊屬性證書的生成
1)證書權威發布機構初始化參數
在CA端,選擇一大素數p,并選擇p-1的一個大素因子q,g為乘法群中的一個q階元,hash為一個單向哈希函數,KHKEY為帶密鑰的單向哈希函數)為一個對稱的加解密操作。
xCA∈為CA的私鑰,yCA=gxcamod p為CA的公鑰。CA將(p,q,g)傳送給屬性驗證中心 PVC,供解簽密時使用。
2)屬性驗證中心初始化參數
3)證書權威發布機構進行簽密
對于MF端傳過來的消息m=(ID||ζ||p),CA選擇對m進行對稱加密,得到并計算k=gLmod p,r=k mod q,h=hash(m),s=(h+xAr)/x mod q。最后得到e1=h/s mod q ,e2=r/s mod q 。CA 將 (p,q,g,h,r,s)發送至AVC,供驗證屬性證書正確性時使用。(c,e1,e2)為簽密后的模塊屬性證書。
(2)服務提供商與用戶間的遠程證明交互
用戶平臺向服務提供商發出服務請求,服務提供商會發回一個隨機數N和用戶平臺需要達到的安全等級。
用戶平臺的TPM對與安全等級相對應的模塊進行度量。通過TPM的度量算法,度量出組件mod1到modn的度量值 ζ1到 ζn。
TPM選擇Hash函數Hashsum,對組件mod1到modn的ID值和度量值進行連接操作,生成摘要

最后TPM利用skTPM進行簽名:σ =SignskTPM(ο||N)。則用戶平臺的屬性簽名為
(3)服務提供商驗證屬性證書的正確性
然后,服務提供商將σproperty發送給屬性驗證中心PVC。
(4)PVC驗證屬性證書

由于m'=(id||ζ||P),在通過id在數據庫中查詢組件的度量值是否對應正確的屬性值,若對應正確,則說明用戶平臺的信息真實可靠,PVC將屬性證書的驗證結果傳遞給SP。
本論文提出的基于模塊屬性的遠程證明協議滿足以下安全要求。
(1)不可偽造性。由屬性信息(id,ζ,P)生成的消息m并不在生成的簽密證書(c,e1,e2)中出現,簽密所需的關鍵參數(p,q,hash)都不對外公開。有效地防范了攻擊者通過m和(c,e1,e2)推算出簽密算法。
(2)可驗證性。簽密證書 (c,e1,e2)的驗證方式有兩種:一種為通過標準的DSA簽名驗證過程來完成,另一種是通過解簽密操作恢復出m,通過驗證來實現。本協議中,第一種驗證方式由AVC來完成,但AVC并不能得到消息m,而是從CA得到m的hash值,避免了m從AVC泄露出去的可能性。第二種驗證方式由PVC來完成。
(3)不可否認性。用戶平臺U向服務提供商發送的σproperty中,包含服務提供商向他發送的隨機數N。同時σ的生成中也包含了隨機數N。當用戶的屬性簽名沒有通過驗證后,他無法否認此屬性簽名是自己所發。
為在實踐中驗證協議方案的可行性,本文在Red Flag 6.0 系統下 (Intel Core i5 M480 2.67GHZ,Memory 1.98GB,Trusted Platform Module_Emula-tor,Java Trusted Software Stack)實現了協議方案原型。采用的編程環境為Eclipse,編程語言為Java語言
實驗中模塊屬性證明中的各模塊采用編寫Java程序所用的第三方Java開源包。每個Java開源包都包含有一個PropertyCertificate.java文件,為各開源包的屬性證書文件,其中包含有5個字段,見表1。

表1 屬性證書文件各字段說明
其中,模塊的身份號和度量值已確定,身份號由MF的隨機函數隨機生成,度量值由TPM-Emulator中的sha1函數生成。屬性簽名對初始值為空,其值由CA頒發后獲得。獲得屬性證書值后,模塊的MeasureValue字端和 Property字端的值將被置為空值,只保留Id、Property_e1和Property_e2、Property_c字段。
原型模型時序圖如圖2所示。

圖2 原型模型時序圖
由圖2可知,協議的原型模型由6個組件構成:模塊發布者 (MF)、用戶平臺 (USER)、服務提供商 (SP)、證書權威發布機構 (CA),正確性驗證中心 (AVC)和屬性驗證中心 (PVC)。
initializePropertyParameter()對屬性證書的參數進行初始化。對于 p和q的初始化長度選擇有兩種:256bit和512bit。不同位數p和q的選取會對屬性簽名的長度產生影響,繼而影響其安全性,位數越大,安全性越大。大素數p和q由于是隨機生成,其生成時間并是完全確定的。
初始化256bit的 p、q及其生成元 g的平均時間為108ms,生成的時間分布圖如圖3所示。

圖3 256位的p、q,g生成時間
512bit的p、q,g初始化平均時間為373 ms,生成的時間分布圖如圖4所示。
參數總生成時間與 p、q,g生成時間對比圖如圖5所示。

其中,生成pca、qca、x這3個大素數的時間占到整個時間的53%~55%。signEnctypt()完成對消息m的簽密過程。在對稱加密采用256位AES的情況下,對于352位的代簽屬性信息 (32位ID值,160位度量值,160位屬性值),在初始化參數為512位的情況下,簽密生成屬性簽名的平均時間分別為374ms。生成的屬性簽名 (c,e1,e2)中,c為128位、e1為256位、e2為256位。
sendParameterToAVC()將簽密時的部分參數和消息m的哈希值發送給AVC,供其驗證屬性證書正確性時使用。
sendParameterToPVC()將簽密時的全部參數發送給PVC,供其驗證屬性值匹配時使用。
verifyAccuracy()為通過DSA標準數字簽名算法驗證屬性證書的正確性。屬性簽名正確性驗證時間圖如圖6所示。
經計算,驗證組件屬性證書正確性的所需的平均時間為75ms。
verifyProperty()為解簽密過程和匹配度量值與屬性值的過程。時間分布圖如圖7所示。
經計算,解簽密及度量值、屬性值匹配所需的平均時間為98ms。

本文給出了一種抗風險性較強、效率較高的模塊屬性遠程證明協議。協議中提出以“模塊屬性”為單位執行遠程證明;采用用簽密減小了屬性證書的生成時間;同時協議分擔了驗證中心的數據壓力;執行效率與現有遠程證明方案相比有較大提升。
當前方案中,CA在進行屬性證書簽名時,擁有模塊屬性的全部信息。下一步工作集中在使CA進行盲簽密,使其在簽名時無法獲得模塊的屬性信息,進一步提高協議的安全性。
[1]CHEN L Q,LANDFERMANN R,LOHR H,et al.A protocol for property-based attestation[C]//Proceedings of the first ACM-work-shop on Scalable Trusted Computing.NewYork:ACMPress,2006:7-16.
[2]Dries Schellekens,Brecht Wyseur,Bart Preneel.Remote attestation on legacy operating systems with trusted platform modules [J].Electronic Notes in Theoretical Computer Science,2008,197(1):59-72.
[3]Martin Pirker,Ronald Toegl,Daniel Hein and Peter Danner.A privacyca for anonymity and trust[G].LNCS 5471:Trusted Computing,2009:101-119.
[4]WANG Jiang,SHAO Yuzong,LI Guang.Study of trusted chain technology of computing trusted[J].Computer Engineering& Design,2008,29(9):2195-2198(in Chinese).[王江,少余綜,李光.可信計算之信任鏈技術研究[J].計算機工程與設計,2008,29(9):2195-2198.]
[5]LI Shangjie,HE Yeping.On privacy of property based remote attestation [J].Journal on Communication,2009,30(11):146-152(in Chinese).[李尚杰,賀也平.基于屬性的遠程證明的隱私性分析 [J].通信學報,2009,30(11):146-152.]
[6]LI Li,ZENG Guosun,CHEN Bo.Property-based remote attestation in open network environment[J].Journal of Computer Applications,2008,28(1):77-79(in Chinese).[李莉,曾國蓀,陳波.開放網絡環境下的屬性遠程證明 [J].計算機應用,2008,28(1):77-79.]
[7]YU Aimin,FENG Dengguo.Property-based remote attestation model[J].Journal on Communication,2010,31(8):1-8(in Chinese).[于愛民,馮登國.基于屬性的遠程證明模型 [J].通信學報,2010,31(8):1-8.]
[8]QIN Yu,FENGDengguo.Component property based remote attestation [J].Journal of Software,2009,20(6):1621-1641(in Chinese).[秦宇,馮登國.基于組件屬性的遠程證明 [J].軟件學報,2009,20(6):1621-1641.]
[9]Kurosawa K,Heng S H.Identity-based Identifycation without random oracles[G].LNCS:3481.Proc of the 5th International Conference on Computational Science and Its Applications Singapore.Springer-Verlag,2005:603-613.
[10]Chen L,Malone-Lee J.Improved identity-based signcryption[C]//Proc of the 8th International Work shopon Theory and Practice in Public Key Cryptography,Les Diablerets,Switzerland,Efficient Construction of IBSC schemes from IBE and IBS Schemes,Springer-Verlag,2002:260-275.
[11]Barreto P S L M,Libert B,McCullagh N,et al.Efficient and provably-secure identity-based signatures and signcryption fro BilinearMaps[G].LNCS 3788:Proc of the 11th International Conferenceon the Theoryand Application of Cryptology and Information Security.Chennai, India, Springer-Verlag, 2005:515-532.
[12]Sakai R,Ohgishi K,Kasahara M.Cryptosystems Based on Pairing[C]//Symposium on Cryptography and Information Security-SCIS,2000.
[13]Pandey SK,Barua R.Construction of identity based signcryption schemes[G].LNCS 6513:Proc of the 7th Web Information Systems and Applications Conference.Springer-Verlag,2010:1-14.
[14]Matsuda T,Matsuura K,Schuldt J C N.Efficient constructions of signcryption schemes and signcryption composability[G].LNCS 5922:Proc of the 10th International Conference on Cryptology.New Delhi,India,Springer-Verlag,2009:321-342.