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