唐飛,包佳立,黃永洪,黃東,王惠蒞
(1.重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065;2.重慶郵電大學(xué)網(wǎng)絡(luò)空間安全與信息法學(xué)院,重慶 400065;3.重慶機(jī)電職業(yè)技術(shù)大學(xué)信息工程學(xué)院,重慶 402760;4.中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院信息安全研究中心,北京 100076;5.西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710071)
身份認(rèn)證技術(shù)作為網(wǎng)絡(luò)空間安全的第一道關(guān)口,是網(wǎng)絡(luò)空間環(huán)境確認(rèn)操作者身份的有效方法,保證了用戶與其數(shù)字身份的綁定關(guān)系。身份認(rèn)證方案是一種交互過(guò)程,使持有私鑰的證明者能夠向持有相應(yīng)公鑰的驗(yàn)證者證明其合法身份。
身份認(rèn)證方案的概念由Fiat 等[1]提出,方案中存在一個(gè)可信中心核實(shí)用戶身份信息并為其生成私鑰,用戶可以利用該私鑰向其他用戶證明其身份的真實(shí)性。Schnorr[2]方案是經(jīng)典的身份認(rèn)證方案之一,其安全性依賴于離散對(duì)數(shù)的困難性。隨后,Guillou 等[3]基于RSA(Rivest-Shamir-Adleman)問(wèn)題提出了一種高效的身份認(rèn)證方案。
為了簡(jiǎn)化傳統(tǒng)公鑰基礎(chǔ)設(shè)施中的證書管理工作,Shamir[4]提出了基于身份的密碼方案概念。在基于身份的密碼方案中,將實(shí)體用戶的身份信息作為公鑰,并由一個(gè)可信的密鑰生成中心(KGC,key generation center)生成用戶的密鑰。Kurosawa 等[5]根據(jù)BB04 簽名方案[6]構(gòu)建了一種基于身份的身份認(rèn)證方案,并證明了方案在隨機(jī)預(yù)言模型下的安全性。Chin 等[7]提出了一種在標(biāo)準(zhǔn)模型下可證明安全的身份認(rèn)證方案。Barapatre 等[8]根據(jù)基于身份的密鑰封裝機(jī)制提出了一種基于身份的身份認(rèn)證方案通用框架,并構(gòu)造了一種具體的認(rèn)證方案。
在基于身份的密碼方案基礎(chǔ)上,Sahai 等[9]進(jìn)一步提出了基于屬性的密碼方案概念。以屬性加密[9]為例,用戶的密鑰和密文都被標(biāo)記了一個(gè)屬性集合,當(dāng)用戶擁有的屬性個(gè)數(shù)超過(guò)加密者預(yù)設(shè)的門限值時(shí),用戶可以對(duì)密文進(jìn)行解密。屬性密碼提供了更加靈活的操作關(guān)系,受到了國(guó)內(nèi)外學(xué)者的廣泛研究,例如基于屬性的加密方案[10-11]、基于屬性的簽名方案[12-15]、基于屬性的密鑰交換協(xié)議[16-17]等。基于屬性密碼的優(yōu)良性質(zhì),顯然可以考慮其在身份認(rèn)證領(lǐng)域的應(yīng)用。Anada 等[18]將屬性密碼推廣到身份認(rèn)證方案中,定義了證明者策略和驗(yàn)證者策略2 類基于屬性的身份認(rèn)證方案,并基于屬性密鑰封裝機(jī)制實(shí)現(xiàn)了屬性身份認(rèn)證方案的通用構(gòu)造,給出了一種具體的實(shí)現(xiàn)方案。
在基于屬性的密碼方案中,也需要一個(gè)可信的密鑰生成中心來(lái)生成用戶的私鑰。因此,用戶需要相信中心不會(huì)泄露用戶私鑰。此外,單個(gè)密鑰生成中心也面臨攻擊風(fēng)險(xiǎn)過(guò)高和負(fù)擔(dān)過(guò)重等問(wèn)題。事實(shí)上,Chase[19]于2007 年就提出了多授權(quán)中心屬性加密方案的概念。在他的方案中,用戶私鑰的生成由多個(gè)授權(quán)中心共同完成,但方案仍需要一個(gè)可信中心對(duì)用戶身份信息進(jìn)行統(tǒng)一認(rèn)證以防多用戶的合謀攻擊。為了解決這一問(wèn)題,Lin 等[20]結(jié)合分布式密鑰生成技術(shù)[21]提出了一種不依賴任何可信中心的門限多授權(quán)中心屬性加密方案。
針對(duì)無(wú)可信中心環(huán)境下的屬性身份認(rèn)證需求問(wèn)題,在Anada 等[18]所提出的基于屬性的身份認(rèn)證框架基礎(chǔ)上,本文提出多授權(quán)中心的屬性身份認(rèn)證方案。本文主要貢獻(xiàn)如下。
1) 定義了基于屬性的多授權(quán)中心身份認(rèn)證方案的概念,具體包括初始化算法、密鑰生成算法和認(rèn)證協(xié)議3 個(gè)部分。與單授權(quán)中心屬性身份認(rèn)證的不同之處在于,用戶的私鑰由n個(gè)授權(quán)中心中的至少t個(gè)共同完成,且方案最多可以抵抗來(lái)自t-1 個(gè)授權(quán)中心的合謀攻擊,具有較高的安全性。
2) 基于雙線性映射構(gòu)造了一種屬性身份認(rèn)證方案。該方案支持門限謂詞策略,即證明者的屬性集與驗(yàn)證策略屬性集的交集個(gè)數(shù)至少需要滿足預(yù)定的門限值。分析了方案在分布式密鑰生成環(huán)境下的安全性,并從計(jì)算開銷、通信開銷等方面分析了方案的效率。此外,與同類型認(rèn)證方案的比較結(jié)果表明,所提方案具有更優(yōu)良的綜合性能。
3) 以多因子身份認(rèn)證為例,分析所提方案在電子憑據(jù)應(yīng)用場(chǎng)景中的可行性。以口令、郵箱、生物特征等因子構(gòu)成用戶的屬性集,用戶獲得屬性集相關(guān)的私鑰。在身份認(rèn)證過(guò)程中,驗(yàn)證者指定驗(yàn)證策略屬性集,并規(guī)定驗(yàn)證者需滿足的屬性個(gè)數(shù)門限值,從而實(shí)現(xiàn)基于用戶多因子的身份認(rèn)證機(jī)制。
定義1令G和GT是2 個(gè)階為大素?cái)?shù)p的乘法循環(huán)群,其中g(shù)是群G的生成元。雙線性對(duì)e:G×G→GT是滿足如下性質(zhì)的映射。
1) 雙線性。對(duì)于任意a,b∈Zp,有e(g a,gb)=e(g,g)ab。
2) 非退化性。存在g c,gd∈G,使e(g c,gd) ≠1GT,其中1GT代表群GT的單位元。
3) 可計(jì)算性。存在有效的算法對(duì)任意a,b∈Zp,可計(jì)算e(g a,gb)。
基于屬性的多授權(quán)中心身份認(rèn)證方案包括3 種算法或者協(xié)議,分別是初始化(Setup)算法、密鑰生成(Key-generation)算法和認(rèn)證協(xié)議。其中,初始化算法根據(jù)安全參數(shù)得到系統(tǒng)公開參數(shù);密鑰生成算法根據(jù)用戶的屬性集生成相應(yīng)的屬性密鑰;認(rèn)證協(xié)議由證明者P 和驗(yàn)證者V 共同完成。基于屬性的多授權(quán)中心身份認(rèn)證方案的具體定義如下。
初始化。輸入安全參數(shù)λ和屬性全集U,生成系統(tǒng)公開參數(shù)params。同時(shí),每個(gè)授權(quán)中心iP根據(jù)系統(tǒng)參數(shù)params 進(jìn)行相應(yīng)的初始化,得到自己的主密鑰ski。
密鑰生成。輸入系統(tǒng)參數(shù)params 和用戶屬性集合I,如果用戶有資格獲得這些屬性,則向至少t個(gè)授權(quán)中心iP請(qǐng)求生成部分密鑰,用戶在獲得至少t個(gè)部分密鑰之后,合成自己的屬性密鑰集Dj,其中j∈I。
認(rèn)證協(xié)議。證明者P 擁有參數(shù)(params,I,DI)作為輸入,驗(yàn)證者V 擁有參數(shù)(params,I*)作為輸入,其中I*是 V 選擇的驗(yàn)證策略屬性集。如果|I∩I*|≥k,則P 能正確證明其身份信息,V 輸出1;否則,V 輸出0。其中,k為策略所規(guī)定的門限值。
基于屬性的身份認(rèn)證方案需滿足不可仿冒性和匿名性。
1) 不可仿冒性
在不可仿冒性定義中,敵手首先與誠(chéng)實(shí)證明者運(yùn)行認(rèn)證協(xié)議,隨后嘗試向第三方仿冒其為一個(gè)合法證明者。Anada 等[18]稱這類針對(duì)屬性身份識(shí)別方案的攻擊為中間人攻擊。
初始化階段。挑戰(zhàn)者C 輸入安全參數(shù)λ,運(yùn)行Setup 算法得到系統(tǒng)參數(shù)params,并將params 發(fā)送給敵手A 。同時(shí),根據(jù)params 對(duì)所有授權(quán)中心T1,…,Tn進(jìn)行初始化。
詢問(wèn)階段。敵手A 可以發(fā)起如下詢問(wèn)。
①密鑰生成詢問(wèn)。在接收到系統(tǒng)參數(shù)params后,敵手A 向挑戰(zhàn)者C 發(fā)出屬性集合I密鑰生成請(qǐng)求,C 返回相應(yīng)屬性密鑰DI。詢問(wèn)密鑰生成的屬性集合I不能滿足攻擊目標(biāo)屬性集合I*的要求,即|I∩I*|<k。
② 交互訓(xùn)練。敵手A 作為惡意驗(yàn)證者V*和誠(chéng)實(shí)證明者P 交互運(yùn)行認(rèn)證協(xié)議。
挑戰(zhàn)階段。敵手A 作為惡意證明者P*和任意的誠(chéng)實(shí)驗(yàn)證者V 進(jìn)行交互,試圖說(shuō)服驗(yàn)證者接受。
如果任意多項(xiàng)式時(shí)間敵手A 都不能以不可忽略的優(yōu)勢(shì)使誠(chéng)實(shí)驗(yàn)證者接受,則稱基于屬性的多授權(quán)中心身份認(rèn)證方案具有不可仿冒性。
2) 匿名性
基于屬性的多授權(quán)中心身份認(rèn)證方案的匿名性表示擁有屬性集I的證明者在向驗(yàn)證者證明后,除了會(huì)泄露|I∩I*|≥k這一事實(shí)外,不會(huì)泄露其他任何屬性信息。基于屬性的多授權(quán)中心身份認(rèn)證方案的匿名性的具體定義如下。
初始化階段。挑戰(zhàn)者C 輸入安全參數(shù)λ,運(yùn)行Setup 算法得到系統(tǒng)參數(shù)params,并將params 發(fā)送給敵手A 。同時(shí),根據(jù)params 對(duì)所有授權(quán)中心P1,…,Pn進(jìn)行初始化。
詢問(wèn)階段。敵手A 可以發(fā)起密鑰生成詢問(wèn)。在接收到系統(tǒng)參數(shù)params 后,敵手A 向挑戰(zhàn)者C發(fā)出屬性集合I密鑰生成請(qǐng)求,C 返回相應(yīng)屬性密鑰DI。
挑戰(zhàn)階段。敵手A 與挑戰(zhàn)者C 進(jìn)行如下操作。
①敵手選擇3 個(gè)屬性集(I0,I1,I*),其中I0和I1表示2 個(gè)證明者身份屬性集,I*表示用于挑戰(zhàn)的驗(yàn)證策略屬性集,且|I0∩I*|≥k,|I1∩I*|≥k。
② 挑戰(zhàn)者運(yùn)行密鑰生成算法生成密鑰DI0和DI1,并將2 個(gè)私鑰發(fā)送給敵手。
③挑戰(zhàn)者隨機(jī)選擇b∈{0,1},并充當(dāng)證明者P使用私鑰DIb與敵手交互運(yùn)行認(rèn)證協(xié)議。
④ 最后,敵手輸出猜測(cè)值b',如果b'=b,則表示敵手猜測(cè)成功。
本文將上述游戲中敵手的成功優(yōu)勢(shì)定義為|Pr[b'=b]-1/2|。如果任意多項(xiàng)式時(shí)間敵手A 都不能以不可忽略的優(yōu)勢(shì)區(qū)分證明者P 用的是私鑰DI0還是DI1,則稱基于屬性的多授權(quán)中心身份認(rèn)證方案具有匿名性。
本文方案主要借鑒了Li 等[22]的屬性簽名方案。Li 等[22]構(gòu)造了一種支持門限謂詞的中心化屬性簽名方案。為了實(shí)現(xiàn)無(wú)可信中心環(huán)境下的用戶屬性密鑰生成,本文采用分布式密鑰生成(DKG,distributed key generation)技術(shù)[21]。分布式密鑰生成技術(shù)是門限密碼系統(tǒng)的主要組成部分,主要通過(guò)多方參與的形式來(lái)計(jì)算共享的公鑰和私鑰集,不需要依賴任何可信第三方,其核心思想是(t,n)門限秘密共享。秘密共享用于在一組參與者中共享一個(gè)秘密,每個(gè)參與者都有關(guān)于秘密的部分信息。門限秘密共享意味著n個(gè)參與者之間的至少t個(gè)參與就可以重建秘密值。在DKG 協(xié)議中,參與者共同選擇并生成一個(gè)隨機(jī)秘密共享值s。每個(gè)參與者Pi選擇一個(gè)隨機(jī)共享值si,然后至少t個(gè)參與者參與就可以恢復(fù)出秘密共享值s,并公開值y=gs。本文將系統(tǒng)的主密鑰當(dāng)成秘密共享值s,只要有t個(gè)參與者就可以重建主密鑰,同時(shí)在系統(tǒng)中公開系統(tǒng)主公鑰y=gs。
由閾值門組成所有謂詞γ。具體地,支持閾值k為 1~d2的所有謂詞γk,I*(·) →0/1,其中。
回顧關(guān)于拉格朗日插值的知識(shí),給定d-1次多項(xiàng)式上的d個(gè)點(diǎn)q(1),…,q(d),則可以利用拉格朗日插值公式來(lái)計(jì)算q(i),其中i∈Zp。設(shè)S為d元素集,在q(i)的計(jì)算中,將q(j)的拉格朗日系數(shù)Δj,S(i)定義為
本節(jié)將描述基于屬性的多授權(quán)中心身份認(rèn)證方案,該方案由以下3 個(gè)階段組成。
初始化(Setup),系統(tǒng)初始化階段。
1) 根據(jù)安全參數(shù)λ生成素?cái)?shù)階p。選擇2 個(gè)階為素?cái)?shù)p的乘法循環(huán)群G和GT,g是群G的生成元,雙線性映射e:G×G→GT。定義屬性全集為U,默認(rèn)屬性集A中有a-1個(gè)屬性元素。選取哈希函數(shù)為H:{0,1}*→G。系統(tǒng)公共參數(shù)為
其中,屬性門限值為k∈[1,a],n為授權(quán)中心的個(gè)數(shù),t為用戶屬性密鑰生成的門限值。
2) 生成系統(tǒng)主密鑰。
Step1iP選擇一個(gè)t-1 階的多項(xiàng)式
然后,Pi分別計(jì)算并廣播Cik=gcik(modp),其中k=0,…,t-1。接著Pi計(jì)算秘密值yij=f i(Pj),其中j=1,…,n,并將其發(fā)送給jP,其中j≠i。
Step2Pj驗(yàn)證等式是否成立,如果成立,則認(rèn)為Pi為誠(chéng)實(shí)的中心;否則,Pj要求Pi重新廣播yij。
Step3由此,可以得到系統(tǒng)的主密鑰
其中,S表示參與密鑰生成的t個(gè)中心。從而得到系統(tǒng)主公鑰y=gs。
3) 系統(tǒng)中的所有授權(quán)中心根據(jù)系統(tǒng)參數(shù)共同生成參數(shù)g2∈G。
Step1Pi選擇一個(gè)n-1 階的多項(xiàng)式
然后,Pi分別計(jì)算并廣播Bik=gbik(modp),其中k=0,…,n-1。接著Pi計(jì)算秘密值t ij=hi(Pj),其中j=1,…,n,并將其發(fā)送給Pj,其中i≠j。
Step2Pj驗(yàn)證等式是否成立,如果成立,則認(rèn)為Pi為誠(chéng)實(shí)的中心;否則,要求Pi重新廣播tij。
Step3經(jīng)過(guò)上面的交互,每個(gè)授權(quán)中心都可以計(jì)算參數(shù)
然后,生成參數(shù)Z=e(y,g2)。
4) 公開系統(tǒng)參數(shù)params={p,g,g1,Z,G,GT,H,U,A,a,k,n,t},其中,屬性門限值k∈[1,a],n為授權(quán)中心的個(gè)數(shù)。
密鑰生成(Key-generation),為屬性i∈I生成相應(yīng)的屬性私鑰Di。
1) 生成一個(gè)新的屬性集=I∪A。對(duì)于每個(gè)j∈,Pi選擇一個(gè)隨機(jī)值rij∈Zp,并計(jì)算
2) 用戶收到t個(gè)中心發(fā)來(lái)的部分密鑰后,計(jì)算自己的屬性私鑰
由此得到每個(gè)屬性j∈I?的私鑰Dj=(d j0,dj1)。
認(rèn)證協(xié)議。為了完成身份認(rèn)證過(guò)程,即證明用戶擁有驗(yàn)證策略屬性集I*中的至少k個(gè)屬性。首先,用戶選擇一個(gè)含有k個(gè)屬性的屬性子集I′?I∩I*,并進(jìn)行以下操作。
1) 用戶選擇一個(gè)默認(rèn)屬性子集A′?A,其中=a-k并且選擇m+a-k個(gè)隨機(jī)值ri′∈Zp,其中i∈I*∪A′,并隨機(jī)選擇x∈Zp,計(jì)算
然后,將(σi,σ0′)發(fā)送給驗(yàn)證者。
2) 驗(yàn)證者隨機(jī)選擇c∈Zp,并發(fā)送給用戶。
3) 用戶收到c后,計(jì)算
并將σ0發(fā)送給驗(yàn)證者。
首先,所提方案的系統(tǒng)初始化和密鑰生成2 個(gè)算法的正確性可通過(guò)分布式密鑰生成技術(shù)的正確性得以保證。其次,交互驗(yàn)證協(xié)議的正確性如下。
本文方案采用的是Gennaro等[21]的分布式密鑰生成方法,該方法已經(jīng)被證明是抗合謀的。因此,本文方案可以最多抵抗來(lái)自t-1 個(gè)授權(quán)中心的合謀攻擊。此外,分布式密鑰生成技術(shù)核心在于以一種隱式的方式恢復(fù)系統(tǒng)主密鑰s,從而得到用戶的屬性私鑰。因此,不同于Chase[19]的各授權(quán)中心負(fù)責(zé)一個(gè)或多個(gè)屬性密鑰生成,基于分布式密鑰生成技術(shù)的用戶屬性密鑰生成機(jī)制可以抵抗來(lái)自用戶的合謀攻擊。
如前所述,本文方案主要基于文獻(xiàn)[14]的單授權(quán)中心屬性簽名方案。借鑒文獻(xiàn)[22]的混合證明思路,可以將本文方案的不可仿冒性和匿名性分別規(guī)約到文獻(xiàn)[14]方案的不可仿冒性和簽名者隱私性上。規(guī)約方法具體如下,首先定義如下3 個(gè)游戲。
1) 游戲Game0。與不可仿冒性和匿名性安全定義一樣,所有參與方均誠(chéng)實(shí)執(zhí)行相關(guān)算法或協(xié)議。
2) 游戲Game1。將系統(tǒng)主密鑰定義為y=gas,其中,指數(shù)a是文獻(xiàn)[14]方案中CDH(computational Diffie-Hellman)問(wèn)題的一個(gè)挑戰(zhàn)實(shí)例;指數(shù)s是所有授權(quán)中心聯(lián)合生成的隨機(jī)秘密值,但所有授權(quán)中心均不知道s的具體值,除非至少t個(gè)授權(quán)中心發(fā)起合謀攻擊。
3) 游戲Game2。在該游戲中,系統(tǒng)主密鑰依然為y=gas,與Game1的區(qū)別在于,在Game2中,挑戰(zhàn)者充當(dāng)授權(quán)中心角色,知道秘密值s。
由此,可以證明任意多項(xiàng)式時(shí)間敵手的優(yōu)勢(shì)在上述3 個(gè)游戲中是計(jì)算不可區(qū)分的。
引理1如果文獻(xiàn)[21]的分布式密鑰生成技術(shù)是安全的,則敵手在游戲Game0與Game1中的優(yōu)勢(shì)是計(jì)算不可區(qū)分的。
證明根據(jù)分布式密鑰生成技術(shù)[21]的安全性結(jié)論可知,即便t-1個(gè)參與者發(fā)起合謀攻擊,依然不能區(qū)分元素y=gs∈G是由n個(gè)參與者協(xié)作生成的還是從群G中隨機(jī)選擇得到的。因此,任意多項(xiàng)式時(shí)間敵手都無(wú)法區(qū)分元素y:=gs∈G和y:=gas∈G,其中s是分布式密鑰生成技術(shù)的真實(shí)值,a是CDH 問(wèn)題實(shí)例中的指數(shù),且a與s是相互獨(dú)立的。因此,對(duì)任意多項(xiàng)式敵手而言,其在游戲Game0與Game1中的優(yōu)勢(shì)是計(jì)算不可區(qū)分的。
證畢。
引理2任意多項(xiàng)式敵手在游戲Game1與Game2中的優(yōu)勢(shì)是計(jì)算不可區(qū)分的。
證明 注意,在2 個(gè)游戲中,系統(tǒng)主公鑰均為y=gas,其中s是分布式密鑰生成技術(shù)的真實(shí)值,a是CDH 問(wèn)題實(shí)例中的指數(shù),且a與s是相互獨(dú)立的。因此,盡管挑戰(zhàn)者知道值s,但是y=gas依然是群G中的一個(gè)隨機(jī)元素,對(duì)敵手而言挑戰(zhàn)者是否知道s并不會(huì)影響敵手的攻擊。
證畢。
基于上述2 個(gè)引理,可以分別證明本文方案的不可仿冒性和匿名性。
1) 不可仿冒性
首先證明引理3。
引理3如果文獻(xiàn)[14]的屬性簽名方案具有不可仿冒性,則任意多項(xiàng)式時(shí)間的仿冒攻擊敵手在游戲Game2中的優(yōu)勢(shì)是可忽略的。
證明將本文方案記為ABI,仿冒攻擊敵手為A,挑戰(zhàn)者為C;將文獻(xiàn)[14]的單授權(quán)中心的屬性簽名方案記為ABS,偽造敵手記為A',挑戰(zhàn)者記為C'。將ABI 方案的不可仿冒性規(guī)約到ABS 的不可仿冒性,ABI 的挑戰(zhàn)者C 同時(shí)也充當(dāng)ABS 方案的敵手A',C 嘗試?yán)脭呈諥 仿冒攻擊ABS 方案的安全性。具體證明過(guò)程如下。
初始化階段。挑戰(zhàn)者C 輸入安全參數(shù)λ,運(yùn)行Setup 算法得到系統(tǒng)參數(shù)params。同時(shí),根據(jù)參數(shù)params 運(yùn)行分布式密鑰生成算法生成y=gs。此外,從挑戰(zhàn)者C'處獲得 CDH 問(wèn)題挑戰(zhàn)實(shí)例(g a,gb)。最后,將系統(tǒng)主公鑰設(shè)置為y=gas,并將系統(tǒng)公開參數(shù)發(fā)送給敵手A。
詢問(wèn)階段。敵手A 可以發(fā)起如下詢問(wèn)。
①密鑰生成詢問(wèn)。敵手A 向挑戰(zhàn)者C 發(fā)出屬性集合I密鑰生成請(qǐng)求。收到請(qǐng)求后,C 將屬性集合I發(fā)送給ABS 的挑戰(zhàn)者C'。根據(jù)ABS 方案的不可仿冒性證明,C'會(huì)返回相應(yīng)的屬性密鑰DI。C 直接將ID返回給敵手A 即可。
②交互訓(xùn)練。敵手A 作為惡意驗(yàn)證者V*和誠(chéng)實(shí)證明者P 交互運(yùn)行認(rèn)證協(xié)議,挑戰(zhàn)者C 在這里需要充當(dāng)證明者P 向敵手A 提供認(rèn)證操作。當(dāng)敵手發(fā)送挑戰(zhàn)值c給挑戰(zhàn)者時(shí),挑戰(zhàn)者將c充當(dāng)消息發(fā)送給ABS 方案的挑戰(zhàn)者C',根據(jù)ABS 方案的不可仿冒性證明,C'會(huì)返回一個(gè)合法簽名。最后,挑戰(zhàn)者C 將簽名作為挑戰(zhàn)回復(fù)返回給敵手A。因?yàn)楹灻怯行У?,所以其一定能通過(guò)驗(yàn)證協(xié)議。
挑戰(zhàn)階段。敵手A 作為惡意證明者P*和任意的誠(chéng)實(shí)驗(yàn)證者V 進(jìn)行交互,試圖說(shuō)服驗(yàn)證者接受。在這里,挑戰(zhàn)者C 充當(dāng)驗(yàn)證者V,選擇挑戰(zhàn)值c*發(fā)送給敵手A。
最后,如果敵手A 能成功打破ABI 方案的不可仿冒性,則表示其能生成關(guān)于挑戰(zhàn)值c*的有效驗(yàn)證信息(σi,σ0′,σ0),使其通過(guò)驗(yàn)證等式
因此,挑戰(zhàn)者C 將c*作為挑戰(zhàn)消息,并輸出(c*,σi,,σ0)作為ABS 方案的偽造簽名。最后,根據(jù)ABS方案的不可仿冒性證明可知,C'會(huì)根據(jù)C的偽造輸出值T=gasb,C計(jì)算Ts-1即可得到給定CDH 問(wèn)題實(shí)例的解gab。
證畢。
根據(jù)引理1~引理3,即可得到定理1。
定理1如果文獻(xiàn)[21]的分布式密鑰生成技術(shù)是安全的,且文獻(xiàn)[14]的單授權(quán)中心屬性簽名方案具有不可仿冒性,則本文方案具有不可仿冒性。
2) 匿名性
匿名性的證明類似于上述不可仿冒性證明,唯一區(qū)別是將本文方案的匿名性規(guī)約到單授權(quán)中心的簽名者隱私性上。事實(shí)上不難發(fā)現(xiàn),屬性身份認(rèn)證方案的匿名性要求與屬性簽名方案的簽名者隱私性要求是一致的。因此,本文直接給出定理2。
表1 方案效率對(duì)比
定理2如果文獻(xiàn)[21]的分布式密鑰生成技術(shù)是安全的,且文獻(xiàn)[14]的單授權(quán)中心屬性簽名方案具有簽名者隱私性,則本文方案具有匿名性。
本節(jié)分析本文方案的效率,包括計(jì)算開銷和通信開銷。系統(tǒng)成功建立后,就不會(huì)再運(yùn)行初始化算法。此外,用戶獲得屬性密鑰后,也不再需要運(yùn)行密鑰生成算法。因此,本文不考慮初始化算法和密鑰生成算法的計(jì)算和通信開銷。
在基于雙線性映射的密碼方案中,雙線性對(duì)運(yùn)算、map-to-point 運(yùn)算、群元素指數(shù)運(yùn)算和群元素乘法運(yùn)算是消耗最大的4 種運(yùn)算,因此本文只考慮這4 種運(yùn)算的開銷。將這4 種運(yùn)算的計(jì)算開銷分別記為Tpar、Tmtp、Texp、Tmul,并基于這4 種運(yùn)算考慮本文方案各算法的開銷。
將本文方案與同類型的方案進(jìn)行效率對(duì)比。目前,盡管只有一篇基于屬性的身份認(rèn)證方案的文獻(xiàn)[18],但是,基于屬性簽名方案也可以實(shí)現(xiàn)屬性身份認(rèn)證方案。所以,本文也將相關(guān)屬性簽名方案進(jìn)行對(duì)比。本文主要關(guān)注多授權(quán)中心的屬性身份認(rèn)證方案,因此不比較文獻(xiàn)[18]的方案。此外,本文方案基于文獻(xiàn)[14]的屬性簽名方案,所以計(jì)算開銷和通信開銷與文獻(xiàn)[14]的方案均一致。事實(shí)上,文獻(xiàn)[14]也考慮了多授權(quán)中心,其方法主要基于Chase[19]的多授權(quán)中心方法,因此需要一個(gè)額外的可信中心對(duì)用戶進(jìn)行統(tǒng)一認(rèn)證,以防合謀攻擊。文獻(xiàn)[23]構(gòu)造的多授權(quán)中心屬性簽名方案與文獻(xiàn)[14]的方案核心技術(shù)類似,方案的計(jì)算開銷與通信開銷一致。文獻(xiàn)[24-26]的多授權(quán)屬性簽名方案與本文方案采用的技術(shù)不一樣,因此將本文方案與文獻(xiàn)[24-26]的方案進(jìn)行效率對(duì)比,并參考文獻(xiàn)[27]的效率分析形式,對(duì)比結(jié)果如表1 所示。
表1中,m表示驗(yàn)證策略屬性集中的屬性個(gè)數(shù),k表示策略門限值,l表示每個(gè)權(quán)威的訪問(wèn)結(jié)構(gòu)中包含的屬性,τ表示集合中元素的個(gè)數(shù)。
接下來(lái),分析本文方案與文獻(xiàn)[24-26]方案在傳輸帶寬方面的需求對(duì)比,并參考文獻(xiàn)[27]的效率分析形式,對(duì)比結(jié)果如表2 所示。
表2 方案通信開銷對(duì)比
表2 中,|G|表示群G中的元素長(zhǎng)度,|GT|表示群GT中的元素長(zhǎng)度。
本節(jié)考慮本文方案在電子憑據(jù)中的多因子身份認(rèn)證應(yīng)用。
正如文獻(xiàn)[28]所說(shuō),隨著“互聯(lián)網(wǎng)+”時(shí)代的到來(lái)以及電子商務(wù)的快速發(fā)展,紙質(zhì)憑據(jù)的成本高、難以管理等問(wèn)題越來(lái)越明顯,電子憑據(jù)以其高效、成本低廉和綠色環(huán)保等優(yōu)點(diǎn)受到人們的青睞。憑據(jù)是日常生活中被用作證明物品的東西,包括電子發(fā)票等。電子憑據(jù)作為紙質(zhì)憑據(jù)的一種電子化產(chǎn)物,具有相同的效用。
電子憑據(jù)的流程包括電子憑據(jù)的開具、查驗(yàn)以及查詢等業(yè)務(wù),不同的業(yè)務(wù)所需的操作權(quán)限等級(jí)不同。同時(shí),電子憑據(jù)涉及用戶大量的敏感信息,保護(hù)用戶敏感信息是對(duì)電子憑據(jù)業(yè)務(wù)所提出的挑戰(zhàn)。為了保證電子憑據(jù)相關(guān)業(yè)務(wù)的正確執(zhí)行,確保電子憑據(jù)生成和使用的合理性,需要確認(rèn)操作者的權(quán)限,并對(duì)操作者進(jìn)行身份認(rèn)證。
眾所周知,單因子身份認(rèn)證具有不靈活、不支持細(xì)粒度身份認(rèn)證等問(wèn)題。為了解決這一問(wèn)題,張敏等[29]提出將生物特征、口令、郵箱3 種因子或者任意其中2 種結(jié)合進(jìn)行身份認(rèn)證,形成多因子的身份認(rèn)證方案。多因子身份認(rèn)證方案的提出提高了認(rèn)證方案的安全性。
文獻(xiàn)[28]針對(duì)電子憑據(jù)業(yè)務(wù)中身份認(rèn)證的需求,提出了多元認(rèn)證方案。在該方案中,根據(jù)用戶提交的身份信息、應(yīng)用場(chǎng)景描述、所需權(quán)限描述等,系統(tǒng)為其分配不同類型的認(rèn)證方式,例如口令認(rèn)證、指紋識(shí)別、人臉識(shí)別等。本文方案根據(jù)用戶口令、郵箱、生物特征、訪問(wèn)權(quán)限等因子構(gòu)成用戶的屬性集,通過(guò)屬性謂詞策略判斷用戶屬性集是否滿足驗(yàn)證策略要求,以此來(lái)完成身份認(rèn)證,從而可以實(shí)現(xiàn)基于屬性的細(xì)粒度認(rèn)證方式?;诒疚姆桨傅碾娮討{據(jù)中的身份認(rèn)證模型如圖1所示,具體過(guò)程如下。
圖1 基于本文方案的電子憑據(jù)中的身份認(rèn)證模型
1) 電子憑據(jù)管理系統(tǒng)中的用戶根據(jù)口令、郵箱、所屬單位、職務(wù)、角色、生物特征等因子構(gòu)成自己的屬性集。
2) 用戶根據(jù)屬性集向n個(gè)授權(quán)中心中的至少t個(gè)授權(quán)中心發(fā)出屬性密鑰生成請(qǐng)求。授權(quán)中心在收到用戶發(fā)出的請(qǐng)求后,根據(jù)所提交的屬性集為屬性集中的屬性生成相應(yīng)的部分密鑰,并將其發(fā)送給用戶。
3) 用戶在收到來(lái)自t個(gè)授權(quán)中心發(fā)送來(lái)的部分密鑰后,自己合成屬性私鑰。
4) 用戶利用屬性私鑰通過(guò)認(rèn)證協(xié)議證明自己身份的合法性,即擁有對(duì)電子憑據(jù)進(jìn)行某操作的權(quán)限,例如,開具電子憑據(jù)、查驗(yàn)電子憑據(jù)或者查詢電子憑據(jù)。在認(rèn)證協(xié)議中,電子憑據(jù)系統(tǒng)需要指定進(jìn)行不同電子憑據(jù)操作所需要的驗(yàn)證策略屬性集,并規(guī)定所需要滿足的屬性個(gè)數(shù)門限值。如果用戶所提交的屬性集與需要進(jìn)行某項(xiàng)操作所指定的驗(yàn)證策略屬性集的交集的屬性個(gè)數(shù)達(dá)到屬性個(gè)數(shù)門限值,則用戶身份合法,身份認(rèn)證成功;否則,身份認(rèn)證失敗。
5) 身份認(rèn)證成功后,用戶可以進(jìn)行相應(yīng)操作。例如用戶需要查詢電子客票信息時(shí),提供相應(yīng)的屬性私鑰通過(guò)身份認(rèn)證即可查詢電子憑據(jù)。
本文定義了基于屬性的多授權(quán)中心的身份認(rèn)證的概念,并基于雙線性映射構(gòu)造了一種高效的屬性身份認(rèn)證方案。在該方案中,根據(jù)用戶的身份屬性信息構(gòu)成用戶的屬性集合,結(jié)合分布式密鑰生成技術(shù)實(shí)現(xiàn)用戶屬性私鑰的生成,并通過(guò)門限謂詞策略規(guī)定認(rèn)證機(jī)制,分析了所提方案的安全性、不可仿冒性和匿名性。此外,還考慮了基于屬性身份認(rèn)證方案在電子憑據(jù)中的多因子認(rèn)證應(yīng)用。