黃 凱 衛(wèi) 澤 鎖 琰
(1.海軍工程大學(xué)電子工程學(xué)院 武漢 430033)(2.海軍92985部隊(duì)司令部 廈門 361100)
遠(yuǎn)程證明是可信計(jì)算的核心技術(shù)之一,目的在于保證終端運(yùn)行環(huán)境的可信性,為遠(yuǎn)程驗(yàn)證方提供證明方平臺(tái)真實(shí)運(yùn)行狀態(tài)依據(jù)[1]。基于平臺(tái)配置信息的證明方法是遠(yuǎn)程證明的重要證明方法,它首先利用可信平臺(tái)模塊TPM為平臺(tái)配置信息度量值產(chǎn)生數(shù)字簽名,然后將數(shù)字簽名附加在平臺(tái)配置信息后面一同發(fā)送給遠(yuǎn)程實(shí)體。遠(yuǎn)程實(shí)體利用簽名驗(yàn)證算法驗(yàn)證數(shù)字簽名的有效性,然后判斷可信平臺(tái)的配置信息是否滿足安全要求。如果數(shù)字簽名驗(yàn)證通過,并且配置信息滿足自己的安全要求,那么遠(yuǎn)程實(shí)體可以為可信平臺(tái)提供服務(wù)[2]。然而,基于平臺(tái)配置信息度量值的證明方法有三個(gè)缺點(diǎn):暴露了終端平臺(tái)的平臺(tái)軟硬件信息;不能直觀地向遠(yuǎn)程實(shí)體描述終端平臺(tái)的安全屬性;需要遠(yuǎn)程證明實(shí)體將平臺(tái)配置信息度量值轉(zhuǎn)化為能夠理解的屬性信息,增加了遠(yuǎn)程驗(yàn)證實(shí)體的計(jì)算負(fù)擔(dān)。
基于屬性的 遠(yuǎn) 程 證 明 (Property-Based Attestation,PBA)通過引入可信第三方(Trusted Third Party,TTP)將平臺(tái)配置信息轉(zhuǎn)換為遠(yuǎn)程實(shí)體能夠理解的安全屬性信息,克服了上面提到的缺點(diǎn),得到了國(guó)內(nèi)外眾多學(xué)者和研究機(jī)構(gòu)的廣泛關(guān)注[3~8]。但是,可信平臺(tái)的配置信息時(shí)常發(fā)生變化,例如:殺毒軟件的更新,系統(tǒng)打補(bǔ)丁等等。更新后的平臺(tái)為了不喪失遠(yuǎn)程證明能力,需要為更新后的平臺(tái)配置信息重新向TTP申請(qǐng)安全屬性證書。這就需要TTP時(shí)刻在線,從而增加了TTP授權(quán)私鑰泄漏的幾率,降低了可信第三方的可信度。TTP授權(quán)私鑰一旦發(fā)生泄漏,敵手就可以利用這個(gè)私鑰為任意不滿足安全屬性要求的平臺(tái)配置頒發(fā)證書,使得PBA失效。
本文的研究成果主要體現(xiàn)在,將密鑰隔離安全機(jī)制引入遠(yuǎn)程證明中,提出了基于密鑰隔離的遠(yuǎn)程證明協(xié)議(Distributed Key-Insulted DAA,DKI-DAA),有效減少 TTP授權(quán)私鑰泄露對(duì)遠(yuǎn)程證明的破壞。協(xié)議具有以下特性:一是增加了TTP抵御私鑰泄露的能力,小于閾值數(shù)量的TTP私鑰泄漏不會(huì)影響授權(quán)私鑰的安全性;二是減少了TTP私鑰泄露帶給可信平臺(tái)的損失,可信平臺(tái)在TTP授權(quán)私鑰丟失以前發(fā)布的數(shù)字簽名依然有效;三是降低了單個(gè)TTP更換證書的頻率,任意閾值數(shù)量的TTP聯(lián)合,都能夠?yàn)榭尚牌脚_(tái)更新屬性證書;四是減少了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)拈_銷,基于雙曲線映射的數(shù)字簽名體制擁有更短的簽名長(zhǎng)度,并且在簽名過程中計(jì)算效率更高。
DKI-DAA方案用N個(gè)TTP替代遠(yuǎn)程證明中的1個(gè)TTP,再將PBA方案中的TTP授權(quán)私鑰按照shamir密鑰共享方案分割為N份,交給N個(gè)TTP保管。當(dāng)可信平臺(tái)需要更新屬性證書時(shí),需向n(n≤N)個(gè)TTP發(fā)成申請(qǐng),獲得同意后,取得由n個(gè)TTP授權(quán)私鑰碎片合作生成的輔助更新信息,再結(jié)合過時(shí)的屬性證書,計(jì)算得到新版的安全屬性證書。
1)模型描述
DKI-DAA方案包括證書頒發(fā)方T、N個(gè)可信第三方TTP、可信平臺(tái)H、遠(yuǎn)程實(shí)體SP和驗(yàn)證中心O。
DKI-DAA方案由四個(gè)步驟組成:
·Setup:證書頒發(fā)方T生成系統(tǒng)公私鑰對(duì)和系統(tǒng)的公開參數(shù);
·Join:證書頒發(fā)方T為可信平臺(tái)H生成部分簽名私鑰,為N個(gè)TTP生成輔助升級(jí)分密鑰,其中k(k≤N)個(gè)TTP合作還原輔助升級(jí)密鑰;
·Update:可信平臺(tái)H向n個(gè)TTP發(fā)出申請(qǐng),得到至少k個(gè)TTP的授權(quán)私鑰碎片合作產(chǎn)生的輔助升級(jí)信息,繼而得到更新后的屬性證書;
·Attest:可信平臺(tái)(包括主機(jī)和TPM)根據(jù)遠(yuǎn)程實(shí)體的證明請(qǐng)求和挑戰(zhàn),計(jì)算基于平臺(tái)屬性的知識(shí)簽名,并與服務(wù)提供者完成基于屬性的遠(yuǎn)程證明。
2)具體方案
·Setup:證書頒發(fā)方T產(chǎn)生階為素?cái)?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 滿足對(duì)于任意的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。
驗(yàn)證中心O按照文獻(xiàn)[5]的方法產(chǎn)生零知識(shí)證明的公同參量CRS:
(1)隨機(jī)選取α1,α2,ξ1,ξ2←Z*p,計(jì)算得到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作為零知識(shí)證明的CRS保存;
(4)(α1,α2)作為O 的私鑰skO。
證書頒發(fā)方T公布系統(tǒng)公私鑰對(duì):
·Join:證書頒發(fā)者T、終端平臺(tái)H和N個(gè)TTP進(jìn)行的交互協(xié)議
(1)終端平臺(tái)H 與證書頒發(fā)者T 執(zhí)行Groth的5-move交互協(xié)議[9]。
④T將生成B的(b,s)發(fā)送給H驗(yàn)證;
(2)證書頒發(fā)者T為H 頒發(fā)成員資格證書,假定H的身份標(biāo)識(shí)為ID。
①選擇sID∈R,計(jì)算得到:
③選擇N個(gè)TTP,表示為Pi(1≤i≤N),幫助ID完成臨時(shí)私鑰更新??蓪㈤撝翟O(shè)定為n(1≤n≤N-1),任意{P1,…,Pn}聯(lián)合在一起,可以為H 生成某時(shí)刻的輔助私鑰S,步驟如下:
頒發(fā)者T為第i個(gè)TTP生成輔助私鑰SPiID:
首先,隨機(jī)選取ci,ri←,其中i∈[1,n];計(jì)算得到TTP的密鑰:
然后,利用利用插值法構(gòu)造(k-1)階多項(xiàng)式f1(i)和f2(i),滿足i=0時(shí):
當(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計(jì)算生成SPiID,令集合S′={0,1,…,k-1}:
可以證明,i∈{k,…,n}的SPi,ID仍可滿足i∈{1,…,k-1}個(gè)點(diǎn)產(chǎn)生的(k-1)階多項(xiàng)式f1(i)和f2(i)。
④將TID,0通過安全信道發(fā)給H 保存,將SPiID通過安全信道交給Pi保存。
· Update:可信計(jì)算平臺(tái) H 當(dāng)前時(shí)刻t′(t′<t),需要得到t時(shí)刻的簽名密鑰
(1)由證書頒發(fā)者T發(fā)布下一時(shí)刻t;
(2)平臺(tái) H將身份ID發(fā)送給TTP集合{P1,…,Pn}中的任意子集合P∶={P1,…,Pt};
(3)TTP收到 H 的身份,查找SPi,ID;
(5)TTP將結(jié)果SPi,ID,t發(fā)送給 H ;
(6)平臺(tái)H 收到所有t時(shí)刻輔助升級(jí)密鑰{SPi,ID,t}Pi∈P,其中的元素簡(jiǎn)寫為
綜合{P1,…,Pn}三個(gè)分項(xiàng)合成式為
H驗(yàn)證:
如果驗(yàn)證通過,進(jìn)行下面的計(jì)算:
得到H在t時(shí)刻的私鑰:
·Attest:可信計(jì)算平臺(tái)H在t時(shí)刻向遠(yuǎn)程實(shí)體SP提出服務(wù)申請(qǐng)
(1)SP發(fā)送消息m,要求H生成消息m的知識(shí)簽名;
(2)H在t時(shí)刻為消息m生成簽名:
首先,計(jì)算得到M∶=H(m‖t),按如下步驟生成簽名:
①取出(K1,K2,K3)定義為
其中δ=s+s′。
(3)為變量θ1,…,θ7生成下述等式的 NIWI的證據(jù):
(4)輸出簽名是
·Verify:遠(yuǎn)程實(shí)體SP驗(yàn)證消息m簽名σ的有效性。
(1)獲得消息m的簽名
(2)計(jì)算得到
(3)使用證據(jù)(π1,π2,π3)驗(yàn)證等式(1),(2),(3)。
正確性:
等式(1):
可以推出:
等式(2):
可以推出e(θ2,Ω·θ3)=A。
等式(3):
可以推出
KI-DAA滿足可變匿名性:
上述方案對(duì)驗(yàn)證方O來說是完全匿名的。為了達(dá)到可變匿名性,可信計(jì)算平臺(tái)可在Join協(xié)議中使用TPM私鑰x產(chǎn)生K1,利用BBS加密方案為承諾后的θ1產(chǎn)生BBS密文,然后運(yùn)用GS證據(jù)系統(tǒng)使驗(yàn)證方相信密文中包含了TPM私鑰x。一旦發(fā)生糾紛,可將θ1的BBS密文傳交給仲裁機(jī)構(gòu),由仲裁機(jī)構(gòu)利用自己的仲裁私鑰回復(fù)出K1,匹配結(jié)果獲得數(shù)字簽名的原始簽名人身份。
對(duì)原方案的Join協(xié)議和Sign簽名算法進(jìn)行修改[10],使其支持可變的匿名性機(jī)制
1)Join*:仲裁機(jī)構(gòu)需要獲得可信平臺(tái)加入時(shí)的副本,即(K1,K2,K3)和對(duì)應(yīng)的(F,sigτM)。
2)Sign*:增加了可追蹤功能的群簽名功能。
(2)運(yùn)用BBS密文構(gòu)造NIZK證據(jù),運(yùn)算需要3個(gè)承諾,生成3組證據(jù),分別命名為
(3)計(jì)算簽名的散列值:
主機(jī)生成簽名:
3)驗(yàn)證算法*:遠(yuǎn)程實(shí)體SP將簽名σ交給仲裁機(jī)構(gòu)。仲裁機(jī)構(gòu)按照如下步驟打開:
(1)輸入仲裁密鑰SO=(α1,α2),將σ展開獲得(C1,C2,C3)。
(3)驗(yàn)證方查找Join協(xié)議過程中保存的副本,從其中找出等于θ1的副本,而后得到(F,sigτM),查明原始的簽名TPM。
注釋:上述過程與時(shí)間參數(shù)t無關(guān),即驗(yàn)證方提交任意時(shí)段的簽名,仲裁機(jī)構(gòu)都可以返回原始簽名者。
遠(yuǎn)程證明是可信技術(shù)的核心技術(shù)之一。基于屬性的遠(yuǎn)程證明克服了基于平臺(tái)配置信息的遠(yuǎn)程證明的缺點(diǎn),但在可信平臺(tái)配置頻繁變化的情況下,方案存在泄漏證書頒發(fā)私鑰的危險(xiǎn)[11]。本文針對(duì)這個(gè)問題,采用多個(gè)證書頒發(fā)機(jī)構(gòu)代替單一的證書頒發(fā)機(jī)構(gòu),并將證書頒發(fā)私鑰分割保存的辦法,提出了基于分布式直接匿名證明方案,較好地降低了證書頒發(fā)私鑰泄漏的危險(xiǎn)。
[1]馮登國(guó),秦宇,汪丹,等.可信計(jì)算技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展,2011,48(8):1332-1349.
[2]彭新光,王曉陽.可信計(jì)算中的遠(yuǎn)程認(rèn)證體系[J].太原理工大學(xué)學(xué)報(bào),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),趙佳,趙勇.可信計(jì)算中遠(yuǎn)程自動(dòng)匿名證明的研究[J].計(jì)算機(jī)學(xué)報(bào),2009,32(7):1304-1310.
[8]王海艷,徐明明.基于雙線性映射和屬性證書的遠(yuǎn)程證明方案[J].計(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]陳小峰,馮登國(guó).隱私增強(qiáng)直接匿名證明方案研究[J].電子學(xué)報(bào),2011,39(9):2166-2172.