專利名稱:一種用于證明遠程平臺安全屬性的遠程證明方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可信計算中的認證技術(shù),尤其涉及認證技術(shù)中用于證明遠程平臺安全屬性的遠程證明方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)和電子商務(wù)的迅猛發(fā)展,對網(wǎng)絡(luò)體系結(jié)構(gòu)和終端系統(tǒng)的安全威脅不斷加大,同時對其安全要求也在不斷的提升。在此大的背景下,于1999年,Intel等公司成立了 “可信計算平臺聯(lián)盟”(TCPA)。 TCPA聯(lián)盟于2003年改組為“可信計算組織”(TCG)。TCG的可信計算所體現(xiàn)的終端安全思想,己成為當(dāng)前發(fā)展信息安全的重要理念。
遠程證明是可信計算的重要功能之一,得到了國內(nèi)外學(xué)者與研究機構(gòu)的廣泛關(guān)注。遠程證明的目標(biāo)就是向遠程用戶證明自己的平臺是可信的。遠程證明的方法有很多,如基于語義的遠程證明,TPM規(guī)范I. I中二進制遠程證明和基于屬性的遠程證明等。由于基于屬性的遠程證明具有許多優(yōu)點,如可以隱藏平臺的具體配置等,得到了學(xué)術(shù)界的廣泛關(guān)注。近幾年在基于屬性的遠程證明研究領(lǐng)域取得了許多研究成果。2004年,由Sadeghi和Poritz等人分別在不同的文獻中提出到了基于屬性的遠程證明概念。在基于屬性的遠程證明概念被提出的兩年后,即2006年,Chen和Landfermann等人用CL簽名實現(xiàn)了一個基于屬性的證明協(xié)議。并在強RSA假定和DL假定下證明了協(xié)議的安全性。該方案需要一個可信第三方為證明者頒布屬性證書,Chen和L5hr等人為了提高證明效率,于2008年用環(huán)簽名實現(xiàn)了一個不需要可信第三方的基于屬性的遠程證明方案。2009年,秦宇和馮登國針對以前方案的屬性粒度較粗,缺乏靈活性等缺點,提出了基于組件屬性的遠程證明方案。該方案將以前的屬性粒度細化至組件,實現(xiàn)方法大致同Chen的方案也是利用CL簽名和零知識簽名實現(xiàn)。該方案相對以前基于屬性的遠程證明方案更加的靈活。2009年,Qin等人針對Chen和秦宇的方案計算量較大、簽名長度較長的缺點,首次用雙線性映射(bilinear maps)構(gòu)造了一個基于屬性的遠程證明方案。該方案無論在簽名長度和計算量上,較以前方案都有很大改善。Chen,秦和Qin的方案都是基于零知識簽名實現(xiàn),其缺點是計算復(fù)雜,簽名長度較長。Chen的另一個遠程證明方案基于環(huán)簽名實現(xiàn),其所用的環(huán)簽名雖在計算復(fù)雜度上有所降低,但簽名長度與環(huán)成員的數(shù)目成正比,為了保證匿名性,成員數(shù)量又不能太少,所以簽名長度還是相對較長。針對上述方案的缺點,因此有必要構(gòu)造了一個高效的基于屬性的遠程證明方案,用于證明遠程平臺的安全屬性。下面將首先對幾個相關(guān)的概念進行說明
雙線性映射(bilinear map)
令Q,G2和Gt均為素數(shù)階的循環(huán)群。假設(shè)在G1,G2和G1這三個群中計算離散對數(shù)問題是困難的。e : O1 XG2 Gr是一個雙線性映射,滿足下三個條件(1)雙線性設(shè)eG1, P2 e G2 ,滿足<硭,於)=KH嚴;
(2)非退化性存在P1EG1,P2 e G2使得d i|)芒I ;
(3)可計算性對于石^G1,巧eG2,存在一個多項式時間的高效算法可以計算出4腳。困難問題
對于群I和1Ss2,定義如下幾個密碼學(xué)困難問題
(1)離散對數(shù)困難問題(DiscreteLogarithm Problem DLP):給定八SeG1,找一個
整數(shù)使得g = #成立;
(2)計算 co-Diffie-HeIIman 問題(Computational co-Diffie-HeIIman Problemco-Q)HP):對于 x ej A , PeG1, QeG2 ,已知 P, xP, Q ,計算 xQ ;
(3)判定 co-Diffi e-HeIIman 問題(Decision co-Diffi e-HeIIman Problemco-DDHP):對于 U 4 Zf , PeGl , QeO2 已知 P,xP,Q,yQ ,判定 x = .y 是否成立。在模擬實現(xiàn)過程中將用到的背景技術(shù)主要是TPM(Trusted Platform Module,可信平臺模塊)模擬器和PBC庫,分別將它們簡介如下
2004年,瑞士聯(lián)邦理工學(xué)院的Mario Strasser等人基于GMP庫開發(fā)了 TPM模擬器。GMP庫支持任意精度的自由算術(shù)軟件庫,包括整數(shù)、有理數(shù)和浮點數(shù)。TPM模擬器是對TPM硬件的模擬實現(xiàn),其目的是在沒有TPM硬件的情況下,可以提供TPM的一般功能。TPM模擬器發(fā)展至今最新版本號為0.6,實現(xiàn)了 TPM的大部分功能。因為國內(nèi)配置有TPM的計算機一般價格較貴,這給可信計算的研究造成了許多不便,TPM模擬器的出現(xiàn)在一定程度上解決了這一困難,所以對TPM模擬器的研究與實現(xiàn)也是一個非常有意義的工作。估計在不久的將來,TPM模擬器將被應(yīng)用到可信虛擬機,在虛擬機上實現(xiàn)可信計算。TPM模擬器總體架構(gòu)如圖I所示,由密碼模塊(Crypto Module)、TPM模擬器引擎(TPM Emulator Engine)和 tpmd(TPM Deamon,TPM虛擬光驅(qū))構(gòu)成了 TPM模擬器核心,完成TPM功能的模擬。tpmd-dev是一個內(nèi)核模塊,在內(nèi)核態(tài)虛擬一個TPM硬件設(shè)備/dev/tpm。TPM模擬器實現(xiàn)的硬件設(shè)備/dev/tpm是一個雜項設(shè)備(misc device)。TDDL (TPM DeviceDriver Library, TPM設(shè)備驅(qū)動庫)是按TCG規(guī)范定義的驅(qū)動接口。應(yīng)用程序(Application)可以直接訪問tpmd,也可以通過TDDL,還可以跳過TDDL直接訪問TPM硬件設(shè)備/dev/tpm。PBC庫是由斯坦福大學(xué)Ben Lynn基于GMP庫開發(fā)的自由軟件庫。其目的是為了快速實現(xiàn)基于pairing的密碼系統(tǒng)。該庫是用C語言實現(xiàn),計算pairing的效率較高。在一個配置為IGHz Pentium III的計算機上,計算pairing最快只需11ms,最慢耗時31ms。該庫主要提供了三方面的接口 pairing接口、成員變量接口和pairing的輸入?yún)?shù)。pairing接口主要是根據(jù)pairing的輸入?yún)?shù)完成pairing的初始化和pairing計算。PBC庫對群、環(huán)和域上的成員統(tǒng)一使用數(shù)據(jù)結(jié)構(gòu)elementj存儲。成員變量接口是主要完成群、環(huán)和域上的成員的初始化和相關(guān)操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是為了實現(xiàn)遠程證明,提高效率,不僅縮短簽名長度,而且降低計算代價,提出一種用于證明遠程平臺安全屬性的遠程證明方法和系統(tǒng)。本發(fā)明為解決上述技術(shù)問題采用 以下技術(shù)方案
一種用于證明遠程平臺安全屬性的遠程證明方法,包括如下步驟
步驟A :屬性證書頒布者生成用于頒布證書和遠程證明的系統(tǒng)參數(shù);所述系統(tǒng)參數(shù)包括公鑰和私鑰,其具體生成步驟如下
步驟A-1,令G1, G2和Gj 均為素數(shù)階的循環(huán)群,隨機選取G1生成元習(xí)和G2生成元€;屬性證書頒布者隨機選取整數(shù)作為私鑰,計算公鑰P^xBy. G1 XG2 ->Or是滿足條件的雙線性映射;
步驟A-2,令盡、丑2、丑3、丑4為四個抗碰撞的哈希函數(shù),其中巧
孖2: (0,1)*4ZS,焉(0,1) Z4 和 Zf4:;
步驟A-3,屬性證書頒布者將上述系統(tǒng)參數(shù)P1,G2,Gr,H#2方3方4)作為
公鑰公開,私鑰I保密;
步驟B :在證明者向?qū)傩宰C書頒布者提出頒布證書請求時,由TPM模擬器將證明者選取的一個隨機數(shù)進行處理后作為秘密值嵌入屬性證書中,然后由屬性證書頒布者根據(jù)證明者提供的平臺配置為證明者提供屬性證書;具體步驟如下
步驟B-I :屬性證書頒布者選擇隨機數(shù)~,然后將其發(fā)送給TPM模擬器;
步驟B-2 :由TPM模擬器選擇證明者提供的隨機數(shù)w ,計算證明者提供的平臺配直es,然后計算TPM I旲擬器的私鑰J , J的計算方法為/ =丨丨;其中,I由DAA證書頒布者提供的參數(shù),DaaSeed是TPM模擬器內(nèi)部用于計算/的種子;
步驟 B-3,由 TPM 模擬器計算U = UT1, F = Z-P1 , e = /£3Of||i7||t/|jcs),s = ^ + c-/(mod^);然后將發(fā)送給屬性證書頒布者;
步驟B-4:屬性證書頒布者根據(jù)計算j,然后檢查公式
C = H-^n11 i7 I) t/ I cs)是否成立;如果成立進入下一步驟,否則退出;
步驟B-5 :假設(shè)ra丨兩足的屬性為界,計算€ = Zf1 (es Il ps) , crs — X -t-U ;然后將(cre,ps)發(fā)送給TPM模擬器;
步驟B-6 由TPM模擬器計算t = HlIcs丨|界)和t P1 ,將UIP1發(fā)送給驗證者,最后由
驗證者驗證下式咖.IiFlP1);當(dāng)驗證通過則將作為屬性證書頒布,否則退出;
步驟C :證明者根據(jù)步驟A所述系統(tǒng)參數(shù),從屬性證書中去除在步驟B中嵌入的秘密值,然后由證明者對屬性證書進行簽名;具體步驟如下步驟C-I :驗證者選擇隨機數(shù)作為新鮮因子,將該隨機數(shù)巧發(fā)送給TPM模擬器;
步驟C-2 =TPM模擬器選擇隨機數(shù)『e Iq作為盲化因子,計算= T1=^JlP1,
權(quán)利要求
1 一種用于證明遠程平臺安全屬性的遠程證明方法,其特征在于,包括以下步驟 步驟A :屬性證書頒布者生成用于頒布證書和遠程證明的系統(tǒng)參數(shù);所述系統(tǒng)參數(shù)包括公鑰和私鑰,其具體生成步驟如下 步驟A-I,令G1 , G2和Gr均為素數(shù)階?的循環(huán)群,隨機選取Gi生成元石和G2生成元ち;屬性證書頒布者隨機選取整數(shù)XeEi作為私鑰,計算公鑰P1 ニXP2 ;^σ1χσ2^σΓ是滿足條件的雙線性映射; 步驟Α-2,令瑪、H2、ち、ち為四個抗碰撞的哈希函數(shù),其中ちRl)* ,馬(O,I) * 4(CU) * 4 ' 和馬(O, 1}本 4 Zi ;步驟Α-3,屬性證書頒布者將上述系統(tǒng)參數(shù)+(G1,G2,Gr,H巧,^Zf1,/らちぶ4}作為公鑰公開,私鑰X保密; 步驟B :在證明者向?qū)傩宰C書頒布者提出頒布證書請求吋,由TPM模擬器將證明者選取的ー個隨機數(shù)進行處理后作為秘密值嵌入屬性證書中,然后由屬性證書頒布者根據(jù)證明者提供的平臺配置為證明者提供屬性證書;具體步驟如下 步驟B-I :屬性證書頒布者選擇隨機數(shù)~,然后將其發(fā)送給TPM模擬器; 步驟Β-2 :由TPM模擬器選擇證明者提供的隨機數(shù)KejsZi ,計算證明者提供的平臺配置Cs,然后計算TPM模擬器的私鑰ブ,/的計算方法為:ず}i^DaaSmd ||;其中,ち由DAA證書頒布者提供的參數(shù),DaaSmd是TPM模擬器內(nèi)部用于計算プ的種子; 步驟 B-3,由 TPM 模擬器計算V = u.Pi, F = J-P1, C = /f3C%||F||t/|!cS),s = w + e-/(modg);然后將(i ,らs,cs)發(fā)送給屬性證書頒布者;步驟B-4 :屬性證書頒布者根據(jù)(F,s,cs)計算び=s'巧-d,然后檢查公式c = ^3( r||i |] U' Il cs)是否成立;如果成立進入下ー步驟,否則退出; 步驟B-5 :假設(shè)Cs 兩足的屬性為/^ ,計算《=H'(、cs I ps) , crs = χ. |.び;然后將(cre,ps)發(fā)送給TPM模擬器;步驟B-6 :由TPM模擬器計算S = Zi1(^IIps)和a U1 ,將m!發(fā)送給驗證者,最后由驗證者驗證下式 ‘■,Ρ^φΑ. 'ΡνΡ!);當(dāng)驗證通過則將作為屬性證書頒布,否則退出; 步驟C :證明者根據(jù)步驟A所述系統(tǒng)參數(shù),從屬性證書中去除在步驟B中嵌入的秘密值,然后由證明者對屬性證書進行簽名;具體步驟如下 步驟C-I :驗證者選擇隨機數(shù)み作為新鮮因子,將該隨機數(shù)'發(fā)送給TPM模擬器;步驟C-2 =TPM模擬器選擇隨機數(shù)” e Zi作為盲化因子,計算= ぃTl=^f'i'F{, = r-f -u~l ■ ere ,Ti = r ■ f ■ P1 , b = H^WTqWT^T^WT^Wps) , a = r +b-r- f(modq); 步驟C-3 :證明者將(Hr2;,もi)作為屬性證書的簽名σ,然后將(び,界)發(fā)送給驗證者; 步驟D :驗證者獲得證明者的簽名后,用屬性證書頒布者提供的公鑰驗證證明者的簽名;具體步驟如下 步驟D-I :驗證“ちれIl O.石-か7;) Il TJIir2 K T3 || ps),若驗證該公式成立則繼續(xù)下面的驗證,否則退出; 步驟D-2:屬性證書頒布者將不符合安全屬性的屬性證書添加進撤銷列表中,驗證者對于撤銷列表中所有的{砰碼、進行驗證,當(dāng)Aicsi丨レ勺).T3 =TJ成立,則退出;反之進入下ー步驟; 步驟D-3 :驗證,當(dāng)驗證成立,表明平臺配置珥滿足屬性巧,驗證通過;否則,表明平臺配置不滿足屬性,驗證失敗退出。
全文摘要
本發(fā)明公開了一種用于證明遠程平臺安全屬性的遠程證明方法,屬于安全認證技術(shù)領(lǐng)域。本發(fā)明包括系統(tǒng)參數(shù)生成步驟、屬性證書頒布步驟、證明步驟、驗證步驟和證書頒布者對不滿足安全屬性的證書進行撤銷的撤銷步驟。本發(fā)明的證明方法中引入了指定驗證者簽名的思想,在屬性證書頒布中嵌入了證明者的私有信息,即首先由TPM選取一個隨機數(shù)作為秘密值保存起來。然后屬性證書頒布者將此隨機數(shù)包含在屬性證書中。因為只有持有隨機數(shù)的證明者才能驗證屬性證書的正確性。證明者為了向驗證者證明自己持有有效的屬性證書,則必須將屬性證書中的隨機數(shù)去除掉,這樣驗證者才能使用屬性證書頒布者的公鑰驗證的有效性。
文檔編號H04L9/32GK102685092SQ201110386340
公開日2012年9月19日 申請日期2011年11月29日 優(yōu)先權(quán)日2011年11月29日
發(fā)明者孫傳明, 李繼國, 許峰 申請人:河海大學(xué)