黃 凱 衛(wèi) 澤 鎖 琰
(1.海軍工程大學(xué)電子工程學(xué)院 武漢 430033)(2.海軍92985部隊司令部 廈門 361100)
遠(yuǎn)程證明是可信計算的核心技術(shù)之一,目的在于保證終端運行環(huán)境的可信性,為遠(yuǎn)程驗證方提供證明方平臺真實運行狀態(tài)依據(jù)[1]。基于平臺配置信息的證明方法是遠(yuǎn)程證明的重要證明方法,它首先利用可信平臺模塊TPM為平臺配置信息度量值產(chǎn)生數(shù)字簽名,然后將數(shù)字簽名附加在平臺配置信息后面一同發(fā)送給遠(yuǎn)程實體。遠(yuǎn)程實體利用簽名驗證算法驗證數(shù)字簽名的有效性,然后判斷可信平臺的配置信息是否滿足安全要求。如果數(shù)字簽名驗證通過,并且配置信息滿足自己的安全要求,那么遠(yuǎn)程實體可以為可信平臺提供服務(wù)[2]。然而,基于平臺配置信息度量值的證明方法有三個缺點:暴露了終端平臺的平臺軟硬件信息;不能直觀地向遠(yuǎn)程實體描述終端平臺的安全屬性;需要遠(yuǎn)程證明實體將平臺配置信息度量值轉(zhuǎn)化為能夠理解的屬性信息,增加了遠(yuǎn)程驗證實體的計算負(fù)擔(dān)。
基于屬性的 遠(yuǎn) 程 證 明 (Property-Based Attestation,PBA)通過引入可信第三方(Trusted Third Party,TTP)將平臺配置信息轉(zhuǎn)換為遠(yuǎn)程實體能夠理解的安全屬性信息,克服了上面提到的缺點,得到了國內(nèi)外眾多學(xué)者和研究機(jī)構(gòu)的廣泛關(guān)注[3~8]。但是,可信平臺的配置信息時常發(fā)生變化,例如:殺毒軟件的更新,系統(tǒng)打補(bǔ)丁等等。更新后的平臺為了不喪失遠(yuǎn)程證明能力,需要為更新后的平臺配置信息重新向TTP申請安全屬性證書。這就需要TTP時刻在線,從而增加了TTP授權(quán)私鑰泄漏的幾率,降低了可信第三方的可信度。TTP授權(quán)私鑰一旦發(fā)生泄漏,敵手就可以利用這個私鑰為任意不滿足安全屬性要求的平臺配置頒發(fā)證書,使得PBA失效。
本文的研究成果主要體現(xiàn)在,將密鑰隔離安全機(jī)制引入遠(yuǎn)程證明中,提出了基于密鑰隔離的遠(yuǎn)程證明協(xié)議(Distributed Key-Insulted DAA,DKI-DAA),有效減少 TTP授權(quán)私鑰泄露對遠(yuǎn)程證明的破壞。協(xié)議具有以下特性:一是增加了TTP抵御私鑰泄露的能力,小于閾值數(shù)量的TTP私鑰泄漏不會影響授權(quán)私鑰的安全性;二是減少了TTP私鑰泄露帶給可信平臺的損失,可信平臺在TTP授權(quán)私鑰丟失以前發(fā)布的數(shù)字簽名依然有效;三是降低了單個TTP更換證書的頻率,任意閾值數(shù)量的TTP聯(lián)合,都能夠為可信平臺更新屬性證書;四是減少了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)拈_銷,基于雙曲線映射的數(shù)字簽名體制擁有更短的簽名長度,并且在簽名過程中計算效率更高。
DKI-DAA方案用N個TTP替代遠(yuǎn)程證明中的1個TTP,再將PBA方案中的TTP授權(quán)私鑰按照shamir密鑰共享方案分割為N份,交給N個TTP保管。當(dāng)可信平臺需要更新屬性證書時,需向n(n≤N)個TTP發(fā)成申請,獲得同意后,取得由n個TTP授權(quán)私鑰碎片合作生成的輔助更新信息,再結(jié)合過時的屬性證書,計算得到新版的安全屬性證書。
1)模型描述
DKI-DAA方案包括證書頒發(fā)方T、N個可信第三方TTP、可信平臺H、遠(yuǎn)程實體SP和驗證中心O。
DKI-DAA方案由四個步驟組成:
·Setup:證書頒發(fā)方T生成系統(tǒng)公私鑰對和系統(tǒng)的公開參數(shù);
·Join:證書頒發(fā)方T為可信平臺H生成部分簽名私鑰,為N個TTP生成輔助升級分密鑰,其中k(k≤N)個TTP合作還原輔助升級密鑰;
·Update:可信平臺H向n個TTP發(fā)出申請,得到至少k個TTP的授權(quán)私鑰碎片合作產(chǎn)生的輔助升級信息,繼而得到更新后的屬性證書;
·Attest:可信平臺(包括主機(jī)和TPM)根據(jù)遠(yuǎn)程實體的證明請求和挑戰(zhàn),計算基于平臺屬性的知識簽名,并與服務(wù)提供者完成基于屬性的遠(yuǎn)程證明。
2)具體方案
·Setup:證書頒發(fā)方T產(chǎn)生階為素數(shù)p的雙線性循環(huán)群(G,GT),而后隨機(jī)選擇群G 的生成元g,f0,f1,u0,u1,Z←G,按照如下步驟完成系統(tǒng)創(chuàng)建工作:
(1)選擇w,α←ZP,生成
(2)隨機(jī)選取向量集
定義函數(shù)映射F:{0,1}≤?→G和G:{0,1}n→G 滿足對于任意的w=w1…wk∈{0,1}l和m=m1…mn∈{0,1}n
都有下式成立:
(3)選取非隨機(jī)預(yù)言下的抗碰撞的散列函數(shù)函數(shù)H:{0,1}*→{0,1}n;
(4)將(w,α)作為T 的私鑰skT。
驗證中心O按照文獻(xiàn)[5]的方法產(chǎn)生零知識證明的公同參量CRS:
(1)隨機(jī)選取α1,α2,ξ1,ξ2←Z*p,計算得到g1∶=gα1,g2∶=gα2;
(2)生成向量組g=(→g1,→g2,→g3),其中→g1=(g1,1,g)∈G3,→g2=(1,g2,g)∈G3和→g3=→g1ξ1·→g2ξ2;
(3)將向量組g作為零知識證明的CRS保存;
(4)(α1,α2)作為O 的私鑰skO。
證書頒發(fā)方T公布系統(tǒng)公私鑰對:
·Join:證書頒發(fā)者T、終端平臺H和N個TTP進(jìn)行的交互協(xié)議
(1)終端平臺H 與證書頒發(fā)者T 執(zhí)行Groth的5-move交互協(xié)議[9]。
④T將生成B的(b,s)發(fā)送給H驗證;
(2)證書頒發(fā)者T為H 頒發(fā)成員資格證書,假定H的身份標(biāo)識為ID。
①選擇sID∈R,計算得到:
③選擇N個TTP,表示為Pi(1≤i≤N),幫助ID完成臨時私鑰更新??蓪㈤撝翟O(shè)定為n(1≤n≤N-1),任意{P1,…,Pn}聯(lián)合在一起,可以為H 生成某時刻的輔助私鑰S,步驟如下:
頒發(fā)者T為第i個TTP生成輔助私鑰SPiID:
首先,隨機(jī)選取ci,ri←,其中i∈[1,n];計算得到TTP的密鑰:
然后,利用利用插值法構(gòu)造(k-1)階多項式f1(i)和f2(i),滿足i=0時:
當(dāng)i∈{1,…,k-1}:
余下的i∈{k,…,n},仍將函數(shù)f1和f2在區(qū)間[k,n]的輸出,記作f1(i)=ci、f2(i)=ri。
若將拉格朗日系數(shù)記作:
為i∈{k,…,n}的Pi計算生成SPiID,令集合S′={0,1,…,k-1}:
可以證明,i∈{k,…,n}的SPi,ID仍可滿足i∈{1,…,k-1}個點產(chǎn)生的(k-1)階多項式f1(i)和f2(i)。
④將TID,0通過安全信道發(fā)給H 保存,將SPiID通過安全信道交給Pi保存。
· Update:可信計算平臺 H 當(dāng)前時刻t′(t′<t),需要得到t時刻的簽名密鑰
(1)由證書頒發(fā)者T發(fā)布下一時刻t;
(2)平臺 H將身份ID發(fā)送給TTP集合{P1,…,Pn}中的任意子集合P∶={P1,…,Pt};
(3)TTP收到 H 的身份,查找SPi,ID;
(5)TTP將結(jié)果SPi,ID,t發(fā)送給 H ;
(6)平臺H 收到所有t時刻輔助升級密鑰{SPi,ID,t}Pi∈P,其中的元素簡寫為
綜合{P1,…,Pn}三個分項合成式為
H驗證:
如果驗證通過,進(jìn)行下面的計算:
得到H在t時刻的私鑰:
·Attest:可信計算平臺H在t時刻向遠(yuǎn)程實體SP提出服務(wù)申請
(1)SP發(fā)送消息m,要求H生成消息m的知識簽名;
(2)H在t時刻為消息m生成簽名:
首先,計算得到M∶=H(m‖t),按如下步驟生成簽名:
①取出(K1,K2,K3)定義為
其中δ=s+s′。
(3)為變量θ1,…,θ7生成下述等式的 NIWI的證據(jù):
(4)輸出簽名是
·Verify:遠(yuǎn)程實體SP驗證消息m簽名σ的有效性。
(1)獲得消息m的簽名
(2)計算得到
(3)使用證據(jù)(π1,π2,π3)驗證等式(1),(2),(3)。
正確性:
等式(1):
可以推出:
等式(2):
可以推出e(θ2,Ω·θ3)=A。
等式(3):
可以推出
KI-DAA滿足可變匿名性:
上述方案對驗證方O來說是完全匿名的。為了達(dá)到可變匿名性,可信計算平臺可在Join協(xié)議中使用TPM私鑰x產(chǎn)生K1,利用BBS加密方案為承諾后的θ1產(chǎn)生BBS密文,然后運用GS證據(jù)系統(tǒng)使驗證方相信密文中包含了TPM私鑰x。一旦發(fā)生糾紛,可將θ1的BBS密文傳交給仲裁機(jī)構(gòu),由仲裁機(jī)構(gòu)利用自己的仲裁私鑰回復(fù)出K1,匹配結(jié)果獲得數(shù)字簽名的原始簽名人身份。
對原方案的Join協(xié)議和Sign簽名算法進(jìn)行修改[10],使其支持可變的匿名性機(jī)制
1)Join*:仲裁機(jī)構(gòu)需要獲得可信平臺加入時的副本,即(K1,K2,K3)和對應(yīng)的(F,sigτM)。
2)Sign*:增加了可追蹤功能的群簽名功能。
(2)運用BBS密文構(gòu)造NIZK證據(jù),運算需要3個承諾,生成3組證據(jù),分別命名為
(3)計算簽名的散列值:
主機(jī)生成簽名:
3)驗證算法*:遠(yuǎn)程實體SP將簽名σ交給仲裁機(jī)構(gòu)。仲裁機(jī)構(gòu)按照如下步驟打開:
(1)輸入仲裁密鑰SO=(α1,α2),將σ展開獲得(C1,C2,C3)。
(3)驗證方查找Join協(xié)議過程中保存的副本,從其中找出等于θ1的副本,而后得到(F,sigτM),查明原始的簽名TPM。
注釋:上述過程與時間參數(shù)t無關(guān),即驗證方提交任意時段的簽名,仲裁機(jī)構(gòu)都可以返回原始簽名者。
遠(yuǎn)程證明是可信技術(shù)的核心技術(shù)之一?;趯傩缘倪h(yuǎn)程證明克服了基于平臺配置信息的遠(yuǎn)程證明的缺點,但在可信平臺配置頻繁變化的情況下,方案存在泄漏證書頒發(fā)私鑰的危險[11]。本文針對這個問題,采用多個證書頒發(fā)機(jī)構(gòu)代替單一的證書頒發(fā)機(jī)構(gòu),并將證書頒發(fā)私鑰分割保存的辦法,提出了基于分布式直接匿名證明方案,較好地降低了證書頒發(fā)私鑰泄漏的危險。
[1]馮登國,秦宇,汪丹,等.可信計算技術(shù)研究[J].計算機(jī)研究與發(fā)展,2011,48(8):1332-1349.
[2]彭新光,王曉陽.可信計算中的遠(yuǎn)程認(rèn)證體系[J].太原理工大學(xué)學(xué)報,2012,43(3):334-338.
[3]CHEN Liqun,Landfermann Rainer,L?hr Hans,et al.A protocol for property-based attestation[C]//Proceedings of the 1st ACM workshop on Scalable trusted computing.Nova Scotia Canada,2006:7-16.
[4]Brickell E,Li JT.Enhanced privacy id:a direct anonymous attestation scheme with enhanced revocation capabilities[C]//Proceedings of the 2007ACM workshop on Privacy in electronic society.2007,ACM:Alexandria,Virginia,USA,2007:21-30.
[5]Smyth B,Ryan M,Chen L Q.Direct Anonymous Attestation(DAA):Ensuring Privacy with Corrupt Administrators[C]//Security and Privacy in Ad-h(huán)oc and Sensor Networks,F(xiàn).Stajano,et al.,Editors.2007,Berlin:Springer,2007:218-231.
[6]CHEN LQ,L?hr H,Manulis M,et al.Property-Based attestation without a trusted third party.In:Wu TC,Lei CL,Rijmen V,eds.ed.Information Security.Berlin:Springer-Verlag,2008:31-46.
[7]劉吉強(qiáng),趙佳,趙勇.可信計算中遠(yuǎn)程自動匿名證明的研究[J].計算機(jī)學(xué)報,2009,32(7):1304-1310.
[8]王海艷,徐明明.基于雙線性映射和屬性證書的遠(yuǎn)程證明方案[J].計算機(jī)技術(shù)與發(fā)展,2012,22(1):233-237.
[9]Groth J,Sahai A.Efficient Non-interactive Proof Systems for Bilinear Groups[C]//Advances in Cryptology-EUROCRYPT 2008,Smart N,Editor.2008,Springer Berlin/Heidelberg,2008:415-432.
[10]Groth J.Fully Anonymous Group Signatures Without Random Oracles[C]//Advances in Cryptology-ASIACRYPT 2007,Kurosawa K,Editor.2008,Springer Berlin/Heidelberg,2008:164-180.
[11]陳小峰,馮登國.隱私增強(qiáng)直接匿名證明方案研究[J].電子學(xué)報,2011,39(9):2166-2172.