葛偉倫, 葛曉濱, 陳小芳
(安徽財貿(mào)職業(yè)學(xué)院,安徽 合肥 230601)
對可信計算接入認(rèn)證過程的一種改進(jìn)方案
葛偉倫, 葛曉濱, 陳小芳
(安徽財貿(mào)職業(yè)學(xué)院,安徽 合肥 230601)
可信計算中的一般認(rèn)證過程完全依賴平臺的系統(tǒng)配置,因此,在平臺軟件和系統(tǒng)頻繁變動的情況下協(xié)議會軟化。為解決上述問題,對基本的認(rèn)證協(xié)議進(jìn)行改進(jìn),結(jié)合零知識證明和盲簽名體制,使改進(jìn)方案具有更高的安全性。分析結(jié)果證明,改進(jìn)方案可以避免原認(rèn)證過程的安全隱患,安全性得到提高,開銷有所增加。
認(rèn)證協(xié)議;零知識證明;可信計算
在認(rèn)證協(xié)議中,挑戰(zhàn)者要求平臺向其證明平臺配置是可信的,平臺和挑戰(zhàn)者需要進(jìn)行交互式認(rèn)證,證明平臺所擁有的計算機配置是安全的。在可信計算中,認(rèn)證協(xié)議包括一般認(rèn)證協(xié)議和基于屬性的認(rèn)證協(xié)議。
基本的認(rèn)證協(xié)議是指遵循TCG標(biāo)準(zhǔn)的認(rèn)證機制,使用平臺配置S0作為基礎(chǔ)來判斷平臺是否可信。但是這樣的協(xié)議存在以下不足:
(1)如果挑戰(zhàn)者,如數(shù)字內(nèi)容提供者想要強制實現(xiàn)對一個平臺的訪問控制規(guī)則,則在實際情況下很難驗證每個平臺配置的可信性。
(2)基本認(rèn)證協(xié)議的接收者或觀察者可以從特定平臺的配置中獲取額外信息,而攻擊者不需要很復(fù)雜的計算就能進(jìn)行平臺分析,使得對平臺的攻擊更加容易。
(3)基本認(rèn)證協(xié)議為了保證在系統(tǒng)升級和備份后協(xié)議能夠繼續(xù)成功執(zhí)行,需要把秘密信息包括內(nèi)容、文檔等都封裝到系統(tǒng)配置中,這樣秘密信息就不可訪問了。
(4)TPM硬件提供的封裝機制將加密內(nèi)容與特定系統(tǒng)綁定,系統(tǒng)升級或安裝補丁會改變PCR(Platform Configuration Register)寄存器的值,使得加密內(nèi)容不能再訪問。
為了解決一般認(rèn)證協(xié)議中的缺陷,文獻(xiàn)[1]提出了基于屬性的認(rèn)證協(xié)議,基于屬性的認(rèn)證協(xié)議將滿足某一特定需求的行為抽象成一種屬性P,核心在于定義一個關(guān)于平臺配置S0和特定屬性P的二元關(guān)系來表示S0滿足屬性P,但基于屬性的認(rèn)證方案存在明顯的安全隱患,即簽名者可以獲得平臺的配置信息,平臺配置信息存在泄露的可能。為了把泄露可能性降到最低,提高協(xié)議安全性和實用性,本文建議了一個基于屬性的認(rèn)證協(xié)議改進(jìn)方案。
在零知識[2]概念基礎(chǔ)上提出的零知識證明(zero-knowledge proof)[3]是一個交互式證明系統(tǒng),滿足完整性、完備性和零知識性。不可鍛造零知識[4]是指如果攻擊者能夠使驗證者接受證明,允許攻擊者和任意數(shù)量的證明者交互,則存在一個知識抽取器,能夠成功地將證據(jù)從攻擊者處抽取出來。
2.1 密鑰與證書
可信計算規(guī)范中定義的7種密鑰類型如下:
(1)簽名密鑰,非對稱密鑰,用于對應(yīng)用數(shù)據(jù)和信息簽名。(2)存儲密鑰,非對稱密鑰,用于對數(shù)據(jù)或其他密鑰進(jìn)行加密。存儲根密鑰是存儲密鑰的一個特例。(3)平臺身份認(rèn)證密鑰,專用于對TPM 產(chǎn)生的數(shù)據(jù)(如TPM功能、PCR寄存器的值)進(jìn)行簽名的不可遷移的密鑰。在可信計算中認(rèn)證協(xié)議使用AIK密鑰對。因此,必須保證AIK密鑰對的安全性。(4)簽署密鑰,平臺的不可遷移的解密密鑰,在確立平臺所有者時,用于解密所有者的授權(quán)數(shù)據(jù)和與產(chǎn)生AIK相關(guān)的數(shù)據(jù),其從不用于數(shù)據(jù)加密和簽名。簽署密鑰是可信計算的核心,必須保證其隱私性。(5)綁定密鑰,用于加密小規(guī)模數(shù)據(jù),這些數(shù)據(jù)將在另一個TPM平臺上進(jìn)行解密。(6)繼承密鑰,在TPM外部生成,在用于簽名和加密時輸入TPM中。繼承密鑰是可以遷移的。(7)驗證密鑰,用于保護引用TPM完成的傳輸會話的對稱密鑰。
TCG定義了5類證書,每類都被用于為特定操作提供必要的信息。證書的種類包括:簽署證書,符合性證書,平臺證書,認(rèn)證證書,身份認(rèn)證證書。身份認(rèn)證證書在可信計算中的應(yīng)用可以參考文獻(xiàn)[5]。
每個TPM會產(chǎn)生RSA密鑰對,進(jìn)而生成簽署密鑰對(EK)和認(rèn)證密鑰對(AIK)。
簽署公鑰(EK—pub)[5]和簽署私鑰(EK—pri)[6]是可信平臺的安全核心。認(rèn)證公鑰(AIK—pub)[6]和認(rèn)證私鑰(AIK—pri)[6]用于認(rèn)證??尚诺谌剿借€(TTP—pri)[6]是其私有的,可信第三方公鑰(TTP—pub)是公開的。PCR用來測量完整性,TPM中存在若干PCR值,這些值構(gòu)成了可信平臺的配置S0。
認(rèn)證協(xié)議的核心在于可信平臺可以向挑戰(zhàn)者證明其TPM是可信的。AIK密鑰生成是認(rèn)證的重要組成部分。AIK密鑰允許可信平臺向另一方證明其安全狀態(tài)和配置而不泄露可信平臺的秘密信息。AIK密鑰生成協(xié)議能夠生成AIK證書,然后使用AIK證書執(zhí)行認(rèn)證協(xié)議。AIK密鑰生成協(xié)議中包含了可信第三方,即證書權(quán)威。證書權(quán)威假設(shè)能夠知道所有合法TPM的簽署密鑰。當(dāng)每個TPM需要向驗證者認(rèn)證自身時,TPM發(fā)送AIK公鑰給證書權(quán)威,同時使用EK進(jìn)行認(rèn)證。證書權(quán)威檢查是否會找到EK,如果找到,則向TPM的AIK密鑰發(fā)放證書。TPM轉(zhuǎn)發(fā)AIK證書給驗證者,使用AIK證書進(jìn)行認(rèn)證。
2.2 基于屬性證書的認(rèn)證協(xié)議1
基于屬性的認(rèn)證協(xié)議通過擴展TPM硬件的功能,使其能夠驗證一個合法的屬性證書,這一證書是由挑戰(zhàn)者所信任的一方頒發(fā)的。
一個屬性證書(sk,P’,s’)和標(biāo)記值r起到時間戳和保持新鮮的作用。TPM驗證屬性證書的同時驗證P’是否等于P,s’是否等于S0,如果驗證通過,TPM生成并返回一個基于屬性的認(rèn)證證書cert-TPM:=cert(sk TPM,P,r),相應(yīng)的驗證密鑰pkTPM可以被看作為TPM的假名。
這個方案要求可信第三方知道平臺的配置S0,可信第三方存在被攻破和欺詐的可能,如果S0被竊取,則是很嚴(yán)重的安全隱患。而且TPM 生成的基于屬性的認(rèn)證證書可以是TPM自己偽造的,這同樣是很嚴(yán)重的安全隱患。
2.3 基于屬性證書的認(rèn)證協(xié)議2
證書sigTPM:=Sign(skTPM,S0,r’)由 TPM 生成,同時證書sigTTP:=Sign(skTTP,S0’,P0)用來認(rèn)證配置S0滿足屬性P,其中r’指代一個標(biāo)記值。公共輸入是TPM的驗證密鑰pkTPM、可信第三方的驗證密鑰pkTTP、需要的屬性值P和標(biāo)記值r。如果滿足以下條件,挑戰(zhàn)者協(xié)議會輸出真:TPM的認(rèn)證簽名合法,即true=Verify(pkTPM;sigTPM);屬性證書合法,即true=Verify(pkTTP;sigTTP);期望的屬性值和證書中的屬性相同,即P’=P;證書中的平臺配置和認(rèn)證的平臺配置相同,即S0’=S0;挑戰(zhàn)者輸入的標(biāo)記值r和TPM簽名的標(biāo)記值相同,即r’=r。這個方案同時出示TPM生成的sigTPM和可信第三方頒發(fā)的sigTTP給挑戰(zhàn)者,如果可信第三方使用S0,那么TPM不能偽造,但是可信第三方必須知道平臺配置S0,可信第三方存在被攻破和欺詐的可能,如果S0被竊取,則是很嚴(yán)重的安全隱患。
已有協(xié)議的安全隱患在于挑戰(zhàn)者均會獲得平臺配置信息S0,挑戰(zhàn)者可能是潛在的攻擊者,為了將這種可能性降到最低,零知識證明能夠保證攻擊者獲得秘密信息的可能是可以忽略的,這是本文改進(jìn)協(xié)議的基本設(shè)想。
3.1 現(xiàn)有的基于屬性的認(rèn)證協(xié)議
第2節(jié)的認(rèn)證協(xié)議1和認(rèn)證協(xié)議2都是基于屬性證書的,其假設(shè)存在可信第三方能夠保證對平臺配置S0和屬性P進(jìn)行簽名而不泄露S0,其安全性在于可信第三方,因此,可信第三方可能會變成攻擊者的攻擊重點,如果可信第三方被攻破,那么協(xié)議完全失去了安全性,這樣的假設(shè)過于理想和簡單,與現(xiàn)實環(huán)境有一定的差距,因此,需要一個能夠?qū)崿F(xiàn)安全性不依賴于可信第三方的基于屬性的認(rèn)證協(xié)議方案。
3.2 改進(jìn)思路
本文的改進(jìn)思路如下:
(1)為了防止欺詐和篡改,挑戰(zhàn)者使用提交協(xié)議將驗證的屬性值P發(fā)送給簽名者和可信平臺。
(2)可信平臺使用不可鍛造零知識協(xié)議向簽名者證明平臺配置S0滿足特定屬性P。簽名者由此可以判斷平臺是可信的。
(3)可信平臺使用盲簽名體制將盲化的秘密信息S0’發(fā)送給簽名者,簽名者對S0’簽名,將其發(fā)送給可信平臺,可信平臺將簽名去盲后執(zhí)行驗證協(xié)議,如果驗證不通過,則簽名者進(jìn)行了欺詐。通過盲簽名實現(xiàn)了2個功能:首先將盲化的秘密信息發(fā)送給簽名者,簽名者無法得到秘密信息;其次可信平臺可以發(fā)現(xiàn)簽名者欺詐。這里假設(shè)簽名者有可能欺詐,相比認(rèn)證協(xié)議1,這樣的假設(shè)更合理。
(4)保留和借鑒了協(xié)議l中基于屬性證書的思想。
3.3 零知識證明協(xié)議
不可鍛造零知識證明過程具體如下:
(1)證明者使用簽名體制中密鑰生成算法siggenone-time。生成密鑰對(vk’,sk’),并將vk’發(fā)送給驗證者。
(2)證明者和驗證者之間執(zhí)行3輪Ω—or協(xié)議,Ω—or協(xié)議證明證明者擁有關(guān)于關(guān)系R或Rvk的證據(jù)S0,滿足(x,S0)∈R或(x,S0)∈Rvk。
(3)證明者使用簽名體制中的簽名算法sigsignone-time,通過sk’對印跡進(jìn)行簽名(印跡是協(xié)議運行到這一步時本方接收和發(fā)送的消息集合)。驗證者使用vk’驗證收到的簽名消息對確為sk’對任意消息的簽名。證明者使用sk’對印跡進(jìn)行簽名是為了向驗證者證明其擁有與vk’對應(yīng)的密鑰sk’,即 密 鑰 對 (vk’,sk’)的 確 是 證 明 者 產(chǎn)生的。
3.4 基于屬性的認(rèn)證協(xié)議改進(jìn)方案
本文基于屬性的認(rèn)證協(xié)議改進(jìn)方案過程如下:
(1)挑戰(zhàn)者發(fā)送屬性P的提交值Comm(P)給簽名者和可信平臺(P是需要驗證的屬性)。
(2)可信平臺對提交協(xié)議驗證通過后,如果已有滿足S0’=S0且P=P’的由簽名者簽發(fā)的屬性證書Sigisuuer=Sign(skTTP,S0’,P’),且可信平臺擁有 TPM 簽名證書SigTPM=Sign(skTPM,S0,r’),則直接執(zhí)行步驟(5),否則,產(chǎn)生簽名SigTPM后執(zhí)行步驟(5);如果可信平臺沒有簽名者簽發(fā)的對于自身平臺配置S0和屬性P的簽名,則執(zhí)行步驟(3)。
(3)可信平臺使用不可鍛造零知識證明協(xié)議向簽名者證明(P’S0)滿足關(guān)系Rl。二元關(guān)系R1(x,w)表示屬性x滿足配置w。二元關(guān)系Rvk=:{(m,s)|(sig-verify0(vk,m,s)=1)}表示在vk情況下簽名S是否為驗證密鑰對消息n的簽名。其中,公鑰vk作為協(xié)議的公共引用串,可信平臺和驗證者均可訪問。
(4)如果零知識證明成功,則簽名者和可信平臺使用盲簽名體制。簽名者對盲化后的P和S0進(jìn)行簽名,可信平臺得到去盲后的簽名即屬性證書Sigisuuer。如果驗證通過,可信平臺產(chǎn)生簽名SigTPM,即TPM簽名證書。
(5)可信平臺執(zhí)行認(rèn)證協(xié)議1,向挑戰(zhàn)者證明屬性證書和TPM簽名證書都是合法有效的。
本文改進(jìn)的認(rèn)證方案由提交協(xié)議、盲簽名和不可鍛造零知識協(xié)議組成,可信平臺只需要合法的屬性證書和TPM簽名證書就能完成認(rèn)證過程。
首先,挑戰(zhàn)者將驗證的屬性P的提交值發(fā)送給可信平臺。提交協(xié)議保證了在解提交之前提交值的保密性和不可修改性,從而防止了挑戰(zhàn)者對于提交值的抵賴。
可信平臺作為證明者,使用不可鍛造零知識證明協(xié)議向簽名者證明其知道平臺配置S0而不泄露S0的值,簽名者無法獲得平臺的配置信息S0,零知識性保證了不泄露可信平臺的配置S0,不可鍛造性保持了在并發(fā)環(huán)境下改進(jìn)方案的健壯性。由于改進(jìn)方案具有零知識性,因此有較高的安全性,解決了認(rèn)證協(xié)議1的安全隱患。改進(jìn)方案中假設(shè)簽名者是可能欺詐的,這樣的假設(shè)更加合理。
如果簽名者自身作為驗證者通過驗證,由于可信平臺對P和S0產(chǎn)生的是盲簽名,簽名者仍然無法獲得S0。盲簽名體制的驗證算法還能幫助可信平臺及時發(fā)現(xiàn)欺詐的簽名者。
在改進(jìn)方案中,可信平臺使用了2次密鑰生成、2次簽名、1次簽名驗證,參與了1次零知識協(xié)議。簽名者使用了1次簽名、2次簽名驗證。挑戰(zhàn)者執(zhí)行了1次提交協(xié)議,參與了1次零知識協(xié)議。在協(xié)議1中,可信平臺使用了1次簽名,參與了1次零知識協(xié)議。簽名者使用了1次簽名。挑戰(zhàn)者參與了1次零知識協(xié)議。因此,改進(jìn)方案中可信平臺、簽名者和挑戰(zhàn)者的計算量均略有增加,改進(jìn)方案較原方案解決了安全隱患,提高了安全性,而計算量僅略有增加。
本文研究了可信計算中基于屬性的認(rèn)證協(xié)議,指出已有方案存在的安全隱患,通過使用零知識協(xié)議和盲簽名體制,使新方案具有不可鍛造零知識,安全性更高,解決了已有協(xié)議的安全隱患。
[1] Ahmad—Reza S,Stueble C.Propeay-based Attestation for Computing Platforms:Caring about Propeies,Not Mecha—nisms[C]//Proc.of the New Security Paradigms Workshop.Nova Scotia,Canada:[s.n.],2004:66-77.
[2] Goldwasser S.M icali S,Rackoff C.The Knowledge Complexity of Interactive Proof-systems[C]//Proc of the 17th Annual ACM Symposium of Theory of Computing Providence Rhode Island,USA:ACM Press,1985:291-304.
[3] Goldreich O.Foundations of Cryptography]M][S.I.]:Cambridge University Press,2007.
[4] Garay J A,Mackenzie Yang Ke.Strengthening Zero—knowledge Protocols Using signatures[C]//Proc.of EUROCRPYT’03.Warsaw,Poland:[s.n.],2003:177-194.
[5] 周雁舟,劉文清,朱智強.身份證實證書在可信計算中的應(yīng)用[J].計算機工程,2009,35(3):21-22.
[6] Gustafsson D.Stewen Trusted Computing & Digital Rights Management—Theory & Effects [R]. Tech.Rep.:04086,2004.
Improved Scheme 0f Authentication Protocol in Trusted Computing
GE Wei-lun, GE Xiao-bin, CHEN Xiao-fang(Anhui Finance &Trade Vocational College,Hefei 230601,China)
General attestation protocol relies entirely on platform configuration,and it fails when platform updates software and hardware configuration frequently.To overcome the problem,this paper presents an improved property—based attestation protocol scheme,employing cryptographic tools such as zeroknowledge proof and blind signature scheme,Analysis proves that the protocol can solve the exiting problem with better security,while computing cost only increases by a negligible amount.
authentication protocol;zero-knowledge proof;trusted computing
TP309.2
A
1674-2273(2011)06-0058-04
2011-06-20
安徽省高等學(xué)校省級自然科學(xué)研究項目(編號:KJ2011Z013),項目名稱:IP設(shè)備可信接入控制與管理技術(shù)研究
葛偉倫(1976-),男,講師、碩士,主研方向:移動IPv6和可信計算;葛曉濱(1967-),男,高級工程師、主研方向:電子商務(wù)安全和可信計算;陳小芳(1982-),女,講師、碩士,主研方向:電子商務(wù)安全。