葛偉倫, 葛曉濱, 陳小芳
(安徽財(cái)貿(mào)職業(yè)學(xué)院,安徽 合肥 230601)
對(duì)可信計(jì)算接入認(rèn)證過程的一種改進(jìn)方案
葛偉倫, 葛曉濱, 陳小芳
(安徽財(cái)貿(mào)職業(yè)學(xué)院,安徽 合肥 230601)
可信計(jì)算中的一般認(rèn)證過程完全依賴平臺(tái)的系統(tǒng)配置,因此,在平臺(tái)軟件和系統(tǒng)頻繁變動(dòng)的情況下協(xié)議會(huì)軟化。為解決上述問題,對(duì)基本的認(rèn)證協(xié)議進(jìn)行改進(jìn),結(jié)合零知識(shí)證明和盲簽名體制,使改進(jìn)方案具有更高的安全性。分析結(jié)果證明,改進(jìn)方案可以避免原認(rèn)證過程的安全隱患,安全性得到提高,開銷有所增加。
認(rèn)證協(xié)議;零知識(shí)證明;可信計(jì)算
在認(rèn)證協(xié)議中,挑戰(zhàn)者要求平臺(tái)向其證明平臺(tái)配置是可信的,平臺(tái)和挑戰(zhàn)者需要進(jìn)行交互式認(rèn)證,證明平臺(tái)所擁有的計(jì)算機(jī)配置是安全的。在可信計(jì)算中,認(rèn)證協(xié)議包括一般認(rèn)證協(xié)議和基于屬性的認(rèn)證協(xié)議。
基本的認(rèn)證協(xié)議是指遵循TCG標(biāo)準(zhǔn)的認(rèn)證機(jī)制,使用平臺(tái)配置S0作為基礎(chǔ)來判斷平臺(tái)是否可信。但是這樣的協(xié)議存在以下不足:
(1)如果挑戰(zhàn)者,如數(shù)字內(nèi)容提供者想要強(qiáng)制實(shí)現(xiàn)對(duì)一個(gè)平臺(tái)的訪問控制規(guī)則,則在實(shí)際情況下很難驗(yàn)證每個(gè)平臺(tái)配置的可信性。
(2)基本認(rèn)證協(xié)議的接收者或觀察者可以從特定平臺(tái)的配置中獲取額外信息,而攻擊者不需要很復(fù)雜的計(jì)算就能進(jìn)行平臺(tái)分析,使得對(duì)平臺(tái)的攻擊更加容易。
(3)基本認(rèn)證協(xié)議為了保證在系統(tǒng)升級(jí)和備份后協(xié)議能夠繼續(xù)成功執(zhí)行,需要把秘密信息包括內(nèi)容、文檔等都封裝到系統(tǒng)配置中,這樣秘密信息就不可訪問了。
(4)TPM硬件提供的封裝機(jī)制將加密內(nèi)容與特定系統(tǒng)綁定,系統(tǒng)升級(jí)或安裝補(bǔ)丁會(huì)改變PCR(Platform Configuration Register)寄存器的值,使得加密內(nèi)容不能再訪問。
為了解決一般認(rèn)證協(xié)議中的缺陷,文獻(xiàn)[1]提出了基于屬性的認(rèn)證協(xié)議,基于屬性的認(rèn)證協(xié)議將滿足某一特定需求的行為抽象成一種屬性P,核心在于定義一個(gè)關(guān)于平臺(tái)配置S0和特定屬性P的二元關(guān)系來表示S0滿足屬性P,但基于屬性的認(rèn)證方案存在明顯的安全隱患,即簽名者可以獲得平臺(tái)的配置信息,平臺(tái)配置信息存在泄露的可能。為了把泄露可能性降到最低,提高協(xié)議安全性和實(shí)用性,本文建議了一個(gè)基于屬性的認(rèn)證協(xié)議改進(jìn)方案。
在零知識(shí)[2]概念基礎(chǔ)上提出的零知識(shí)證明(zero-knowledge proof)[3]是一個(gè)交互式證明系統(tǒng),滿足完整性、完備性和零知識(shí)性。不可鍛造零知識(shí)[4]是指如果攻擊者能夠使驗(yàn)證者接受證明,允許攻擊者和任意數(shù)量的證明者交互,則存在一個(gè)知識(shí)抽取器,能夠成功地將證據(jù)從攻擊者處抽取出來。
2.1 密鑰與證書
可信計(jì)算規(guī)范中定義的7種密鑰類型如下:
(1)簽名密鑰,非對(duì)稱密鑰,用于對(duì)應(yīng)用數(shù)據(jù)和信息簽名。(2)存儲(chǔ)密鑰,非對(duì)稱密鑰,用于對(duì)數(shù)據(jù)或其他密鑰進(jìn)行加密。存儲(chǔ)根密鑰是存儲(chǔ)密鑰的一個(gè)特例。(3)平臺(tái)身份認(rèn)證密鑰,專用于對(duì)TPM 產(chǎn)生的數(shù)據(jù)(如TPM功能、PCR寄存器的值)進(jìn)行簽名的不可遷移的密鑰。在可信計(jì)算中認(rèn)證協(xié)議使用AIK密鑰對(duì)。因此,必須保證AIK密鑰對(duì)的安全性。(4)簽署密鑰,平臺(tái)的不可遷移的解密密鑰,在確立平臺(tái)所有者時(shí),用于解密所有者的授權(quán)數(shù)據(jù)和與產(chǎn)生AIK相關(guān)的數(shù)據(jù),其從不用于數(shù)據(jù)加密和簽名。簽署密鑰是可信計(jì)算的核心,必須保證其隱私性。(5)綁定密鑰,用于加密小規(guī)模數(shù)據(jù),這些數(shù)據(jù)將在另一個(gè)TPM平臺(tái)上進(jìn)行解密。(6)繼承密鑰,在TPM外部生成,在用于簽名和加密時(shí)輸入TPM中。繼承密鑰是可以遷移的。(7)驗(yàn)證密鑰,用于保護(hù)引用TPM完成的傳輸會(huì)話的對(duì)稱密鑰。
TCG定義了5類證書,每類都被用于為特定操作提供必要的信息。證書的種類包括:簽署證書,符合性證書,平臺(tái)證書,認(rèn)證證書,身份認(rèn)證證書。身份認(rèn)證證書在可信計(jì)算中的應(yīng)用可以參考文獻(xiàn)[5]。
每個(gè)TPM會(huì)產(chǎn)生RSA密鑰對(duì),進(jìn)而生成簽署密鑰對(duì)(EK)和認(rèn)證密鑰對(duì)(AIK)。
簽署公鑰(EK—pub)[5]和簽署私鑰(EK—pri)[6]是可信平臺(tái)的安全核心。認(rèn)證公鑰(AIK—pub)[6]和認(rèn)證私鑰(AIK—pri)[6]用于認(rèn)證。可信第三方私鑰(TTP—pri)[6]是其私有的,可信第三方公鑰(TTP—pub)是公開的。PCR用來測(cè)量完整性,TPM中存在若干PCR值,這些值構(gòu)成了可信平臺(tái)的配置S0。
認(rèn)證協(xié)議的核心在于可信平臺(tái)可以向挑戰(zhàn)者證明其TPM是可信的。AIK密鑰生成是認(rèn)證的重要組成部分。AIK密鑰允許可信平臺(tái)向另一方證明其安全狀態(tài)和配置而不泄露可信平臺(tái)的秘密信息。AIK密鑰生成協(xié)議能夠生成AIK證書,然后使用AIK證書執(zhí)行認(rèn)證協(xié)議。AIK密鑰生成協(xié)議中包含了可信第三方,即證書權(quán)威。證書權(quán)威假設(shè)能夠知道所有合法TPM的簽署密鑰。當(dāng)每個(gè)TPM需要向驗(yàn)證者認(rèn)證自身時(shí),TPM發(fā)送AIK公鑰給證書權(quán)威,同時(shí)使用EK進(jìn)行認(rèn)證。證書權(quán)威檢查是否會(huì)找到EK,如果找到,則向TPM的AIK密鑰發(fā)放證書。TPM轉(zhuǎn)發(fā)AIK證書給驗(yàn)證者,使用AIK證書進(jìn)行認(rèn)證。
2.2 基于屬性證書的認(rèn)證協(xié)議1
基于屬性的認(rèn)證協(xié)議通過擴(kuò)展TPM硬件的功能,使其能夠驗(yàn)證一個(gè)合法的屬性證書,這一證書是由挑戰(zhàn)者所信任的一方頒發(fā)的。
一個(gè)屬性證書(sk,P’,s’)和標(biāo)記值r起到時(shí)間戳和保持新鮮的作用。TPM驗(yàn)證屬性證書的同時(shí)驗(yàn)證P’是否等于P,s’是否等于S0,如果驗(yàn)證通過,TPM生成并返回一個(gè)基于屬性的認(rèn)證證書cert-TPM:=cert(sk TPM,P,r),相應(yīng)的驗(yàn)證密鑰pkTPM可以被看作為TPM的假名。
這個(gè)方案要求可信第三方知道平臺(tái)的配置S0,可信第三方存在被攻破和欺詐的可能,如果S0被竊取,則是很嚴(yán)重的安全隱患。而且TPM 生成的基于屬性的認(rèn)證證書可以是TPM自己偽造的,這同樣是很嚴(yán)重的安全隱患。
2.3 基于屬性證書的認(rèn)證協(xié)議2
證書sigTPM:=Sign(skTPM,S0,r’)由 TPM 生成,同時(shí)證書sigTTP:=Sign(skTTP,S0’,P0)用來認(rèn)證配置S0滿足屬性P,其中r’指代一個(gè)標(biāo)記值。公共輸入是TPM的驗(yàn)證密鑰pkTPM、可信第三方的驗(yàn)證密鑰pkTTP、需要的屬性值P和標(biāo)記值r。如果滿足以下條件,挑戰(zhàn)者協(xié)議會(huì)輸出真:TPM的認(rèn)證簽名合法,即true=Verify(pkTPM;sigTPM);屬性證書合法,即true=Verify(pkTTP;sigTTP);期望的屬性值和證書中的屬性相同,即P’=P;證書中的平臺(tái)配置和認(rèn)證的平臺(tái)配置相同,即S0’=S0;挑戰(zhàn)者輸入的標(biāo)記值r和TPM簽名的標(biāo)記值相同,即r’=r。這個(gè)方案同時(shí)出示TPM生成的sigTPM和可信第三方頒發(fā)的sigTTP給挑戰(zhàn)者,如果可信第三方使用S0,那么TPM不能偽造,但是可信第三方必須知道平臺(tái)配置S0,可信第三方存在被攻破和欺詐的可能,如果S0被竊取,則是很嚴(yán)重的安全隱患。
已有協(xié)議的安全隱患在于挑戰(zhàn)者均會(huì)獲得平臺(tái)配置信息S0,挑戰(zhàn)者可能是潛在的攻擊者,為了將這種可能性降到最低,零知識(shí)證明能夠保證攻擊者獲得秘密信息的可能是可以忽略的,這是本文改進(jìn)協(xié)議的基本設(shè)想。
3.1 現(xiàn)有的基于屬性的認(rèn)證協(xié)議
第2節(jié)的認(rèn)證協(xié)議1和認(rèn)證協(xié)議2都是基于屬性證書的,其假設(shè)存在可信第三方能夠保證對(duì)平臺(tái)配置S0和屬性P進(jìn)行簽名而不泄露S0,其安全性在于可信第三方,因此,可信第三方可能會(huì)變成攻擊者的攻擊重點(diǎn),如果可信第三方被攻破,那么協(xié)議完全失去了安全性,這樣的假設(shè)過于理想和簡(jiǎn)單,與現(xiàn)實(shí)環(huán)境有一定的差距,因此,需要一個(gè)能夠?qū)崿F(xiàn)安全性不依賴于可信第三方的基于屬性的認(rèn)證協(xié)議方案。
3.2 改進(jìn)思路
本文的改進(jìn)思路如下:
(1)為了防止欺詐和篡改,挑戰(zhàn)者使用提交協(xié)議將驗(yàn)證的屬性值P發(fā)送給簽名者和可信平臺(tái)。
(2)可信平臺(tái)使用不可鍛造零知識(shí)協(xié)議向簽名者證明平臺(tái)配置S0滿足特定屬性P。簽名者由此可以判斷平臺(tái)是可信的。
(3)可信平臺(tái)使用盲簽名體制將盲化的秘密信息S0’發(fā)送給簽名者,簽名者對(duì)S0’簽名,將其發(fā)送給可信平臺(tái),可信平臺(tái)將簽名去盲后執(zhí)行驗(yàn)證協(xié)議,如果驗(yàn)證不通過,則簽名者進(jìn)行了欺詐。通過盲簽名實(shí)現(xiàn)了2個(gè)功能:首先將盲化的秘密信息發(fā)送給簽名者,簽名者無法得到秘密信息;其次可信平臺(tái)可以發(fā)現(xiàn)簽名者欺詐。這里假設(shè)簽名者有可能欺詐,相比認(rèn)證協(xié)議1,這樣的假設(shè)更合理。
(4)保留和借鑒了協(xié)議l中基于屬性證書的思想。
3.3 零知識(shí)證明協(xié)議
不可鍛造零知識(shí)證明過程具體如下:
(1)證明者使用簽名體制中密鑰生成算法siggenone-time。生成密鑰對(duì)(vk’,sk’),并將vk’發(fā)送給驗(yàn)證者。
(2)證明者和驗(yàn)證者之間執(zhí)行3輪Ω—or協(xié)議,Ω—or協(xié)議證明證明者擁有關(guān)于關(guān)系R或Rvk的證據(jù)S0,滿足(x,S0)∈R或(x,S0)∈Rvk。
(3)證明者使用簽名體制中的簽名算法sigsignone-time,通過sk’對(duì)印跡進(jìn)行簽名(印跡是協(xié)議運(yùn)行到這一步時(shí)本方接收和發(fā)送的消息集合)。驗(yàn)證者使用vk’驗(yàn)證收到的簽名消息對(duì)確為sk’對(duì)任意消息的簽名。證明者使用sk’對(duì)印跡進(jìn)行簽名是為了向驗(yàn)證者證明其擁有與vk’對(duì)應(yīng)的密鑰sk’,即 密 鑰 對(duì) (vk’,sk’)的 確 是 證 明 者 產(chǎn)生的。
3.4 基于屬性的認(rèn)證協(xié)議改進(jìn)方案
本文基于屬性的認(rèn)證協(xié)議改進(jìn)方案過程如下:
(1)挑戰(zhàn)者發(fā)送屬性P的提交值Comm(P)給簽名者和可信平臺(tái)(P是需要驗(yàn)證的屬性)。
(2)可信平臺(tái)對(duì)提交協(xié)議驗(yàn)證通過后,如果已有滿足S0’=S0且P=P’的由簽名者簽發(fā)的屬性證書Sigisuuer=Sign(skTTP,S0’,P’),且可信平臺(tái)擁有 TPM 簽名證書SigTPM=Sign(skTPM,S0,r’),則直接執(zhí)行步驟(5),否則,產(chǎn)生簽名SigTPM后執(zhí)行步驟(5);如果可信平臺(tái)沒有簽名者簽發(fā)的對(duì)于自身平臺(tái)配置S0和屬性P的簽名,則執(zhí)行步驟(3)。
(3)可信平臺(tái)使用不可鍛造零知識(shí)證明協(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是否為驗(yàn)證密鑰對(duì)消息n的簽名。其中,公鑰vk作為協(xié)議的公共引用串,可信平臺(tái)和驗(yàn)證者均可訪問。
(4)如果零知識(shí)證明成功,則簽名者和可信平臺(tái)使用盲簽名體制。簽名者對(duì)盲化后的P和S0進(jìn)行簽名,可信平臺(tái)得到去盲后的簽名即屬性證書Sigisuuer。如果驗(yàn)證通過,可信平臺(tái)產(chǎn)生簽名SigTPM,即TPM簽名證書。
(5)可信平臺(tái)執(zhí)行認(rèn)證協(xié)議1,向挑戰(zhàn)者證明屬性證書和TPM簽名證書都是合法有效的。
本文改進(jìn)的認(rèn)證方案由提交協(xié)議、盲簽名和不可鍛造零知識(shí)協(xié)議組成,可信平臺(tái)只需要合法的屬性證書和TPM簽名證書就能完成認(rèn)證過程。
首先,挑戰(zhàn)者將驗(yàn)證的屬性P的提交值發(fā)送給可信平臺(tái)。提交協(xié)議保證了在解提交之前提交值的保密性和不可修改性,從而防止了挑戰(zhàn)者對(duì)于提交值的抵賴。
可信平臺(tái)作為證明者,使用不可鍛造零知識(shí)證明協(xié)議向簽名者證明其知道平臺(tái)配置S0而不泄露S0的值,簽名者無法獲得平臺(tái)的配置信息S0,零知識(shí)性保證了不泄露可信平臺(tái)的配置S0,不可鍛造性保持了在并發(fā)環(huán)境下改進(jìn)方案的健壯性。由于改進(jìn)方案具有零知識(shí)性,因此有較高的安全性,解決了認(rèn)證協(xié)議1的安全隱患。改進(jìn)方案中假設(shè)簽名者是可能欺詐的,這樣的假設(shè)更加合理。
如果簽名者自身作為驗(yàn)證者通過驗(yàn)證,由于可信平臺(tái)對(duì)P和S0產(chǎn)生的是盲簽名,簽名者仍然無法獲得S0。盲簽名體制的驗(yàn)證算法還能幫助可信平臺(tái)及時(shí)發(fā)現(xiàn)欺詐的簽名者。
在改進(jìn)方案中,可信平臺(tái)使用了2次密鑰生成、2次簽名、1次簽名驗(yàn)證,參與了1次零知識(shí)協(xié)議。簽名者使用了1次簽名、2次簽名驗(yàn)證。挑戰(zhàn)者執(zhí)行了1次提交協(xié)議,參與了1次零知識(shí)協(xié)議。在協(xié)議1中,可信平臺(tái)使用了1次簽名,參與了1次零知識(shí)協(xié)議。簽名者使用了1次簽名。挑戰(zhàn)者參與了1次零知識(shí)協(xié)議。因此,改進(jìn)方案中可信平臺(tái)、簽名者和挑戰(zhàn)者的計(jì)算量均略有增加,改進(jìn)方案較原方案解決了安全隱患,提高了安全性,而計(jì)算量?jī)H略有增加。
本文研究了可信計(jì)算中基于屬性的認(rèn)證協(xié)議,指出已有方案存在的安全隱患,通過使用零知識(shí)協(xié)議和盲簽名體制,使新方案具有不可鍛造零知識(shí),安全性更高,解決了已有協(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] 周雁舟,劉文清,朱智強(qiáng).身份證實(shí)證書在可信計(jì)算中的應(yīng)用[J].計(jì)算機(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é)校省級(jí)自然科學(xué)研究項(xiàng)目(編號(hào):KJ2011Z013),項(xiàng)目名稱:IP設(shè)備可信接入控制與管理技術(shù)研究
葛偉倫(1976-),男,講師、碩士,主研方向:移動(dòng)IPv6和可信計(jì)算;葛曉濱(1967-),男,高級(jí)工程師、主研方向:電子商務(wù)安全和可信計(jì)算;陳小芳(1982-),女,講師、碩士,主研方向:電子商務(wù)安全。