朱貴瓊,譚 良②,陳 菊,鐘偉瑛
(①四川師范大學 計算機科學學院,四川 成都 610068;②中國科學院 計算技術研究所,北京 100080;③成都飛機工業公司,四川 成都 610092)
目前,可信計算是信息安全技術研究的熱點[1-16],因其結合了底層的計算技術和密碼技術,在防御終端外部的攻擊的同時也能隔絕終端內部的威脅。根據可信計算組織的標準[4],平臺身份證明是一個可信計算平臺的核心功能,其目標是使平臺使用者在向驗證方證明身份可信和配置合法的同時,又不讓驗證方知道自己是哪一個可信平臺模塊。
在2003年10月可信計算組織(TCG,Trusted Computing Group)發布了TPM1.2規范[5-8],在該規范中采用直接匿名認證協議[5],該協議完全滿足平臺身份證明的目標,是當前可信計算平臺身份證明最好的理論解決方案。目前,對DAA協議的研究主要集中在協議改進和性能優化上[5-11,17,18]。
DAA協議包括認證和匿名兩方面[12-15]。在認證方面,TPM芯片擁有一個認證秘密(v,f0,f1),形成一個合法的DAA認證。在匿名方面,本地計算機的TPM 平臺擁有一個與該平臺相關的隱私秘密數據(A,e)。TPM 和平臺一起協作,利用一個零知識證明協議向第三方證明其擁有一合法的DAA證書,同時不揭示這些參數的具體數值。值得注意的是,DAA協議認證中認證秘密(v,f0,f1)存儲在TPM中受TPM安全保護,而(A,e)以明文的方式直接存儲在平臺上。但在DAA的各種方案中,并沒有給出平臺隱私數據(A,e)的保護方案。如果不對(A,e)采取保護措施,則在DAA認證的過程中,(A,e)會成為跟蹤TPM的依據,使得平臺失去了匿名性,從而也就失去了 DAA協議的主要功能。這是因為當一個TPM芯片與不同實體進行認證協議時,兩次認證間(A,e)數據是固定不變的,這為攻擊者提供了一個跟蹤TPM的依據。
依據 TPM 的安全存儲功能提出了直接匿名認證協議中平臺隱私數據(A,e)的保護方案。該方案根據用戶的身份生成(A,e)的保護密鑰和授權數據,并利用TPM的安全存儲對該隱私數據進行存儲,通過理論分析和實驗表明,本方案對DAA協議的性能影響不大,但增強了(A,e)的安全性。
在該保護方案中提出使用對稱加密算法—AES算法[19]實現對(A,e)在平臺上的保護。其保護模型如圖1所示。

圖1 平臺隱私數據的保護模型
在該模型中,為了更好地增強(A,e)的安全性,當平臺在DAA-Join階段接收到發布方發送的(A,e)并通過驗證后,首先以用戶的身份和授權數據為種子使用 TPM 內部的隨機數發生器產生AES密鑰,并將該密鑰作為不可遷移密碼由用戶的封印密鑰封印存儲。然后使用該密鑰對(A,e)明文進行加密,將加密后的(A,e)密文保存在平臺上。當平臺需要在DAA-Sign協議階段獲得(A,e)數據時,當且僅當平臺滿足封裝時的狀態,解封裝才能成功,進而獲取AES密鑰對數據信息進行解密,從而得到(A,e)明文,參與DAA協議的證明過程。這樣既實現了平臺隱私數據的保護,又不影響平臺向第三方的身份證明。在此過程,即使有不良企圖的人竊取到了平臺隱私參數,也很難獲得(A,e)的真實信息,無法進行修改和冒充攻擊。
DAA協議中平臺隱私數據A的長度為2048 bit,e的長度為368 bit,在加密存儲的時候,選用對稱密鑰算法比較合理,是因為對稱密鑰算法具有加密處理簡單,加解密速度快,系統開銷小,密鑰較短等優點[17]。
因為TPM內部生成密鑰與TPM外部密鑰生成相比具有速度快,安全性高的優點,故采用TPM內部生成密鑰方式生成(A,e)的密鑰。為了加強AES對稱密鑰的安全性,將密鑰與身份信息、授權數據組合成一個整體,形成(A,e)保護的對稱密鑰結構體K_Struct,其定義如下:
TPM 并不直接支持對稱密鑰算法,這里使用TPM隨機數生成器產生一個長度為256bit的隨機數作為AES對稱密鑰,并將該密鑰存放于TPM的密鑰存儲結構中,通過調用函數TSS_gennonce可獲取隨機數。
隱私數據保護密碼的管理模型包括隱私數據保護密碼的安全存儲和安全獲取兩個方面。
1.2.1 密碼的安全存儲
TPM 使用了一個用于保護存儲的密鑰層次結構[11-14],在該存儲密鑰層次結構中,每一層的密鑰都被上一層的存儲密鑰加密,其存儲根為存儲根密鑰(SRK,Storage Root Key),即:TPM任何一個密鑰(除了SRK和EK外)都是在其父密鑰授權下產生和使用,同時也需要一個授權數據來進行權限管理。
在(A,e)的保護方案中,為了保護所使用的對稱密鑰,將K_Struct加密存儲為不可遷移密鑰。對稱密鑰結構體K_Struct的存儲如圖2所示。

圖2 對稱密鑰Key存儲示意
從圖2中可以看出對稱密鑰結構體K_Struct的父密鑰是一密封密鑰,該密封密鑰的父密鑰為不可遷移密鑰,不可遷移密鑰的父密鑰是TPM存儲根密鑰(SRK)。采用此方式保存的優點在于能夠確保只有在該TPM平臺上才能進行解封操作,能夠有效地阻止對對稱密鑰結構體K_Struct的非法使用。另外,密封存儲K_Struct的密封操作還與平臺當前的狀態信息有關,只有當當前平臺狀態信息與密封時信息相一致的情況下才能進行解封操作,進一步加強了密鑰的安全性。最后對稱密鑰結構體包括了身份信息和授權信息,需對他們進行驗證,驗證通過才能使用對稱密鑰Key。因此,這里對Key實施了三層保護,(A,e)實施了四層保護,具有較高的安全保護等級。
1.2.2 密碼的安全獲取
由圖2指出了對稱密鑰的存儲結構,并可以看出,要想獲取對稱密鑰 Key,須依次輸入存儲根密鑰SRK的授權數據、用戶不可遷移密鑰的授權數據、以及用戶密封密鑰的授權數據。即用戶只有完全獲得這 3個密鑰的授權數據才能使用該密鑰Key。因此密鑰的獲取過程如圖3所示。

圖3 對稱密鑰Key獲取過程
(A,e)經過AES加密后以密文存放在平臺上,定義隱私數據的存放函數為:

其中 path表示隱私數據存放于硬盤的絕對路徑;mode表示對隱私數據存放文件的操作權限,如只讀、只寫和讀寫,分別用“r”、“w”和“rw”表示。存放函數操作權限可為“w”或“rw”,如果絕對路徑下無指定文件需先創建指定文件再存放隱私數據;encdata表示(A,e)加密后的密文;ecndata_size表示密文的長度。
當需要使用(A,e)時,需要從平臺讀取出(A,e)的密文,定義(A,e)的讀取函數為:

其中 path表示隱私數據存放于硬盤的絕對路徑;mode表示對隱私數據存放文件的操作權限,讀取函數操作權限可為“w”或“rw”;encdata用于返回(A,e)密文;ecndata_size用于返回密文長度。
為了更能增強DAA協議的安全性,在直接匿名證言協議中平臺隱私數據的保護方案中:
1)(A,e)加密:采用了AES對稱密鑰Key對(A,e)加密,密鑰Key由TPM的隨機數發生器來生成,其種子由用戶的身份和授權數據組成。因此,要通過隨機數發生器再生成相同的密鑰幾乎是不可能的。
2)密鑰Key的管理:保持了TPM的密鑰樹管理,將AES密鑰Key作為不可遷移密鑰,即使惡意攻擊者獲得了(A,e)的密文,在其他平臺上仍然無法解開(A,e)密文。
3)密鑰Key的存儲:將密鑰Key、平臺身份信息進行密封存儲,并在使用時加以授權,這樣能夠有效地阻止對密封密鑰Key的非法使用,增強了隱私數據(A,e)的安全性。
由于該保護方案中需要對平臺隱私數據(A,e)的加解密及對AES對稱密鑰Key的存儲保護,故會降低DAA協議的執行效率,并增加存儲開銷,但在整體上對于DAA協議的性能沒有影響。
1)空間代價:表現為AES密鑰Key及隱私數據(A,e)的存儲。該方案中 AES的種子密鑰是TPM的隨機生成器生成長度為256位的隨機數,明文為平臺隱私數據A和e,A的長度為2046 bit,e的長度為368 bit,即明文長度為2048+368=2412(bit)。這樣的空間占用是比較小的。
2)時間代價:表現為AES密鑰Key的存取時間、(A,e)加密解密時間及其存取時間。這3個時間中,AES密鑰Key的存取時間是主要時間開銷。AES對稱加密算法的運算速度較快,隱私數據(A,e)的存取時間依賴于平臺的性能,但這兩部分時間相對于AES密鑰 Key的存取時間均可以忽略。這一點,在下一節的實驗結果中分析。
綜上分析,文中提出的關于DAA協議中平臺隱私數據的保護方案,雖然對隱私數據的加/解密及密鑰的密封存儲會在時間和空間上有些代價,但因為執行效率高,占用空間小,所以對原有DAA協議的性能影響非常小。
根據隱私數據保護方案,在開發平臺為Ubantu 10.10+Tpm-emulator,開發工具為eclipse環境下實現了TPM可信計算平臺驗證系統,該系統主要功能包括:可信驗證、加密解密、簽名驗證和平臺秘密(A,e)保護。其中的平臺秘密(A,e)保護則為本方案所需功能。
利用 TPM 可信計算平臺驗證系統的平臺秘密(A,e)保護功能選項對稱密鑰Key的加載時間進行了測試,測試結果如表1所示。

表1 對稱密鑰key的加載時間
從表1可以看出,對Key進行了10次加載時間測試,對稱密鑰的加載時間平均維持在1.1s左右。
對稱密鑰 Key解密(A,e)并從平臺獲取的時間測試如表2所示。

表2 隱私數據(A,e)的解密時間
從表1、表2可以看出,使用該方案對于原有DAA協議的時間增加是可以忽略的。
另外,相對于DAA協議來說,(A,e)的安全存儲會帶來一部分性能損失。值得注意的是,(A,e)的安全存儲帶來的時間開銷與具有復雜算法的DAA協議本身的時間開銷相比,是微不足道的。
DAA在解決隱私CA瓶頸問題的同時,也實現對TPM芯片的認證和匿名。但該協議將TPM認證秘密(v,f0,f1)和平臺隱私秘密(A,e)分開存儲,平臺隱私數據(A,e)存儲在平臺上,容易受到攻擊,從而失去了DAA協議的安全性能。文中提出了根據用戶的身份運用 AES加密算法生成隱私數據(A,e)的保護密鑰和授權數據,并利用TPM的安全存儲功能對該隱私數據的密文及其密鑰進行存儲的保護方案。保護平臺隱私數據A和e在傳輸和平臺保留上的機密性,使得申請平臺能用正確的A和e獲取驗證方的驗證,從而獲取所需服務,真正實現DAA協議的安全性能,并通過對隱私數據(A,e)保護方案的理論分析和實驗驗證,表明了文中所提出的保護方案增強了隱私數據(A,e)的安全性的同時,對直接匿名證言協議的性能的影響也非常小。
[1]沈昌祥,張煥國,馮登國,等,信息安全綜述[J].中國科學E輯信息科學, 2007,37(02):129-150.
[2]Trusted Computing Group.TPM specification Version 1.2 [EB/OL].(2006-06-13)[2012-01-16]. http://www.trustedcomputinggroup.org.
[3]Trusted Computing Group. Trusted Computing Platform Alliance(TCPA) Main Specification Version1.1b[EB/OL].(2002-02-10)[2011-01-25].http://www.trustedcomputinggroup.org.
[4]BRICKELL E, CAMENISCH J, CHEN L.Direct Anonymous Attestation[C]// Proceedings of the 11th ACM Conference on Computer and Communications Security.New York, NY, USA:ACM Press,2004:132-145.
[5]RUDOLPH C. Covert Identity Information in Direct Anonymous Attestation (DAA)[C]// Proceeding of the 22nd IFIP TC-11 International Information Security Conference -SEC2007 on New Approaches for Security.Sandton, South Africa:Springer Boston, 2007:443-448.
[6]LEUNG A,CHEN L,MITCHELL C J.On a Possible Privacy Flaw in Direct Anonymous Attestation (DAA)[C]//In Trusted Computing -Challenges and Applications-TRUST 2008. Villach, Austria: Procedding of the First International Conference,2008:179-190.
[7]SMYTH B, CHEN L,RYAN M.Direct Anonymous Attestation(DAA):Ensuring Privacy with Corrupt Administrators[C]// In Security and Privacy in Ad hoc and Sensor Networks - ESAS 2007.Berlin,Heidelberg,Germany:Springer-Verlag,2007:218-231.
[8]BRICKELL E,LI J.Enhanced Privacy ID: a Direct Anonymous Attestation Scheme with Enhanced Revocation Capabilities[C]// In the 6th ACM Workshop on Privacy in the Electronic Society (WPES 2007), New York, NY, USA: ACM Press,2007:21-30.
[9]CAMENISCH J,LYSYANSKAYA A.A Signature Scheme with Efficient Protocols[C]// In Security in Communications Networks -SCN 2002 .Amalfi,Italy:Springer-Verlag,2003:268-289.
[10]GE H,TATE S R.A Direct Anonymous Attestation Scheme for Embedded Devices[C]// In Public Key Cryptography -PKC 2007.Beilin:Springer-Verlag,2007:16-30.
[11]譚良,徐志偉.基于可信計算平臺的信任鏈傳遞研究進展[J].計算機科學,2008,35(10):15-18.
[12]王濤.基于智能卡的認證和隱私保護研究[D].北京:北京郵電大學,2010.
[13]羅捷,嚴飛,余發江,等.可信計算平臺模塊密碼機制研究[J].計算機應用,2008,28(08):1907-1911.
[14]譚良,朱貴瓊,孟偉明,等.基于直接匿名證言的可信平臺身份證明協議的設計[J].四川師范大學學報:自然科學版,2012(02):281-287.
[15]譚良,劉震,周明天.TCG構架下的證明問題研究及進展[J].電子學報,2010,38(05):1105-1113.
[16]沈昌祥.大力發展我國可信計算技術和產業[J].信息安全與通信保密,2007(09):19-21.
[17]韓春林,葉里莎.基于可信計算平臺的認證機制的設計[J].通信技術,2010,43(07):92-94.
[18]葉賓.增強可信計算平臺模塊的可信度[J].信息安全與通信保密,2009(07):53-55
[19]薛茹,武君勝.高級數據加密標準 AES算法的原理及分析[J].微處理機,2008(04):83-85.