明 洋,韓 娟,張 琳,周 俊
(長(zhǎng)安大學(xué)信息工程學(xué)院,陜西 西安 710064)
基于身份加密IBE(Identity-Based Encryption)的概念由Shamir A[1]于1984年首次提出,減輕了用戶對(duì)公鑰證書的需要。2001年,Boneh D等[2]提出第一個(gè)實(shí)用的IBE方案,之后提出了大量基于身份的加密方案[3~6]。
實(shí)際應(yīng)用中IBE體制存在的內(nèi)在問(wèn)題是密鑰托管問(wèn)題,目前主要有三種方案來(lái)解決該問(wèn)題:(1)多PKG(Private Key Generator)方案[2],用戶的私鑰由多個(gè)PKG共同生成,但多PKG的存在使得系統(tǒng)更復(fù)雜,通信代價(jià)大大增加;(2)無(wú)證書公鑰密碼CL-PKE(CertificateLess Public-Key Encryption)方案[7],用戶的私鑰分別由PKG和用戶生成的兩個(gè)部分組成,但是該方案仍然存在一個(gè)可信的第三方來(lái)計(jì)算用戶的部分私鑰;(3)第三方權(quán)利受約束的IBE方案A-IBE(Accountable Authority IBE)方案。
2007年,Goyal V[8]提出A-IBE方案,通過(guò)修改用戶私鑰的生成方式減少用戶對(duì)PKG的信任需求;2010年,徐鵬等人[9]在Goyal方案基礎(chǔ)上,基于離散對(duì)數(shù)問(wèn)題,提出一種標(biāo)準(zhǔn)模型下安全的通用A-IBE方案,該方案實(shí)現(xiàn)緊密安全歸約,但增加了系統(tǒng)參數(shù)和通信量;2011年,曹丹等人[10]基于Diffie-Hellman假設(shè),提出安全有效的A-IBE方案;2012年,張方國(guó)等人[11]基于TBDHE(Decision Truncated Bilinear Diffie-Hellman Exponent)假設(shè),提出一個(gè)弱的黑盒A-IBE方案,在標(biāo)準(zhǔn)模型下說(shuō)明該方案是CCA2安全的,且具有緊密歸約。
應(yīng)用中IBE體制常需要考慮匿名性問(wèn)題,匿名性要求由密文不能得到接收者的身份。2006年Boyen X等人[12]提出一個(gè)標(biāo)準(zhǔn)模型下安全的匿名IBE方案;2010年,Liu L等人[13]對(duì)Boyen X等人[12]的方案進(jìn)行改進(jìn),但沒(méi)有進(jìn)行安全性證明;2012年,任艷麗等人[14]基于DBDH(Decisional Bilinear Diffie-Hellman)假設(shè),利用階為合數(shù)的雙線性群,提出新的匿名IBE方案,在標(biāo)準(zhǔn)模型下可證安全。
針對(duì)IBE中的匿名性和密鑰托管問(wèn)題,本文結(jié)合文獻(xiàn)[9,14]的思想,提出一個(gè)第三方權(quán)力受約束的匿名IBE方案,并基于DBDH假設(shè)和DL(Discrete Logarithm)假設(shè)在標(biāo)準(zhǔn)模型中證明方案的安全性,所提方案不僅可以保護(hù)接收者的隱私,同時(shí)也解決了密鑰托管問(wèn)題。
設(shè)p、p′是兩個(gè)大素?cái)?shù),n=pp′,G、GT是兩個(gè)階為n的循環(huán)群,g是G的生成元。如果e:G×G→GT是一個(gè)雙線性映射,滿足以下性質(zhì):
(1)雙線性:e(ga,gb)=e(g,g)ab,對(duì)所有a,b∈Zn均成立。
(2)非退化性:?P,Q∈G,滿足e(P,Q)≠1。
(3)可計(jì)算性:存在有效算法計(jì)算e。
本文中,使用Gp、Gp′分別代表G中階為p、p′的子群,GT,p、GT,p′代表GT中的階為p、p′的子群,而且G=Gp×Gp′,GT=GT,p×GT,p′。如果g是G中的一個(gè)生成元,則gp′、gp分別是Gp、Gp′中的生成元,使用gp、gp′分別代表Gp、Gp′的生成元。
DBDH假設(shè):如果t時(shí)間內(nèi)沒(méi)有敵手能夠以至少ε優(yōu)勢(shì)解DBDH問(wèn)題,則DBDH問(wèn)題是(t,ε)困難的。
(2)離散對(duì)數(shù)問(wèn)題(DL):令群Gp的階為p,g為生成元,給定ga,a∈Zp,計(jì)算a。
DL假設(shè):如果t時(shí)間內(nèi)沒(méi)有敵手能夠以至少ε優(yōu)勢(shì)解DL問(wèn)題,則DL問(wèn)題是(t,ε)困難的。
通用A-IBE方案由五個(gè)算法組成,定義如下:
(1)系統(tǒng)建立:輸入安全參數(shù)k,選定IBE方案I={系統(tǒng)建立,私鑰生成,加密,解密},隨機(jī)生成系統(tǒng)公開(kāi)參數(shù)PK={PK-I,PK-A}和私鑰SK={SK-I,SK-A},其中PK-I和SK-I分別為方案I的系統(tǒng)公開(kāi)參數(shù)和私鑰。
(2)私鑰生成協(xié)議:輸入身份信息ID和系統(tǒng)公開(kāi)參數(shù)PK,PKG和用戶通過(guò)運(yùn)行該協(xié)議,生成用戶私鑰dID={dI,dA}。
(3)加密:輸入身份信息ID,系統(tǒng)公開(kāi)參數(shù)PK和明文M,在明文空間中隨機(jī)選取M1、M2,使得M=M1⊕M2,輸出密文C={C1,C2},其中,C1是M1的密文,C2是M2的密文。
(4)解密:輸入用戶私鑰dID={dI,dA},系統(tǒng)公開(kāi)參數(shù)PK和密文C={C1,C2},輸出明文M=M1⊕M2,其中,M1是C1的明文,M2是C2的明文。
(5)跟蹤:取用戶私鑰dID作為輸入,輸出該私鑰的特征信息。
定義1如果t時(shí)間內(nèi)沒(méi)有敵手能夠以至少ε優(yōu)勢(shì)贏得以下三個(gè)游戲,則本文所提方案是安全的。
游戲1匿名性:通過(guò)挑戰(zhàn)者C和敵手A之間的交互游戲進(jìn)行,具體如下:
系統(tǒng)建立:C執(zhí)行系統(tǒng)建立算法,并把系統(tǒng)公開(kāi)參數(shù)PK發(fā)送給A。
階段1 A適應(yīng)性地進(jìn)行下列詢問(wèn):
(1)私鑰詢問(wèn):C對(duì)身份ID執(zhí)行私鑰詢問(wèn),并把對(duì)應(yīng)的私鑰發(fā)送給敵手。
(2)解密詢問(wèn):C首先對(duì)身份ID執(zhí)行私鑰詢問(wèn),然后用生成的私鑰解密密文C,并把明文M或出錯(cuò)信息發(fā)送給A。
挑戰(zhàn):A提交身份ID0、ID1和消息M0、M1給C,其中ID0、ID1均沒(méi)有在詢問(wèn)階段1中執(zhí)行過(guò)私鑰詢問(wèn),C隨機(jī)選擇β,γ∈{0,1},計(jì)算密文C*=Encrypt(PK,IDβ,Mγ),并把C*發(fā)送給A。
階段2A繼續(xù)適應(yīng)性地進(jìn)行詢問(wèn),但是不能對(duì)ID0、ID1進(jìn)行私鑰詢問(wèn),對(duì)〈ID0,C*〉和〈ID1,C*〉進(jìn)行解密詢問(wèn)。
猜測(cè):A輸出對(duì)β、γ的猜測(cè)β′、γ′∈{0,1},如果β′=β,γ′=γ,A贏得游戲。
稱A為ANON-IND-ID-CCA2敵手,其優(yōu)勢(shì)定義為|Pr[β′=β∧γ′=γ]|-1/4。
在上述游戲中,如果敵手不能進(jìn)行解密詢問(wèn),則被稱為ANON-IND-ID-CPA敵手。
定義2如果t時(shí)間內(nèi)沒(méi)有ANON-IND-ID-CPA敵手在經(jīng)過(guò)q次私鑰詢問(wèn)后,能夠以至少ε優(yōu)勢(shì)贏得上述游戲,則所提方案是(t,q,ε)-ANON-IND-ID-CPA安全的。
游戲2TheFindKeygame:通過(guò)挑戰(zhàn)者C和敵手A之間的交互游戲進(jìn)行,具體如下:
系統(tǒng)建立:敵手A(即敵對(duì)的PKG)產(chǎn)生系統(tǒng)公開(kāi)參數(shù),并將系統(tǒng)公開(kāi)參數(shù)及身份ID發(fā)送給挑戰(zhàn)者C;挑戰(zhàn)者C對(duì)系統(tǒng)公開(kāi)參數(shù)進(jìn)行有效性檢測(cè),若檢測(cè)失敗,游戲中止。
私鑰生成:敵手A和挑戰(zhàn)者C通過(guò)運(yùn)行私鑰生成協(xié)議,挑戰(zhàn)者C生成身份ID的私鑰dID并輸出,并對(duì)其進(jìn)行有效性檢測(cè),若檢測(cè)失敗,游戲中止。
游戲3TheComputerNewKeygame:通過(guò)挑戰(zhàn)者C和敵手A之間的交互游戲進(jìn)行,具體如下:
系統(tǒng)建立:挑戰(zhàn)者C運(yùn)行系統(tǒng)建立算法,并將系統(tǒng)公開(kāi)參數(shù)發(fā)送給敵手A。
私鑰生成:敵手A適應(yīng)性地查詢?nèi)我庥脩舻乃借€,挑戰(zhàn)者C將對(duì)應(yīng)的私鑰發(fā)送給A。
不經(jīng)意傳輸[15]是指允許接收者從發(fā)送者所給的n個(gè)秘密中選取一個(gè),且發(fā)送者無(wú)法知道接收者選擇了哪一個(gè),同時(shí)接收者也無(wú)法知道其他的秘密。
系統(tǒng)建立:
PK=(gp′,G,G′,U,e(g1,g2),gy,PK-A)
私鑰為:
SK=(g1,g2,u′,u,y,SK-A)
私鑰生成協(xié)議:
(2)對(duì)任意i∈SID,當(dāng)IDi=0時(shí),PKG從矩陣SK-A中選取元素tx,i=th,i,計(jì)算并返回ri/th,i給用戶;當(dāng)IDi=1,PKG從矩陣SK-A中選取元素tx,i=t1,i,計(jì)算并返回ri/t1,i給用戶。
(4)用戶計(jì)算dA=({ri/tx,i}i∈SID,{ki,ri/tki,i}i∈Ssp),并檢驗(yàn):
若等式不成立,則用戶退出。
(5)用戶將dID=(dI,dA)作為私鑰。
加密:
解密:
給定密文C=(CI,CA),
(2)對(duì)CA解密之前,首先進(jìn)行密文有效性檢驗(yàn),即:
若等式成立,計(jì)算:
(3)輸出M=M1·M2。
跟蹤:
取私鑰dID作為輸入,該確定算法輸出Trace(dID)=klID+1‖…‖kl,即私鑰特征值為所有的ki串聯(lián)。
定理1(匿名性) 假定(t′,ε′,q)-DBDH在G,GT中成立,那么所提方案是(t,ε,q)-ANON-IND-ID-CPA安全的,其中:
t′=t+O(ε-2ln(ε-1)λ-1ln(λ-1))
證明假定敵手A存在,構(gòu)建算法B解決DBDH問(wèn)題,即給定ga、gb、gc∈Gp,判斷Z=e(g,g)abc是否成立。
系統(tǒng)建立:
算法B計(jì)算m=4q,并隨機(jī)選擇k∈{0,1,…,lID},x′∈{0,1,…,m-1},一個(gè)lID比特向量x=(xi),其中xi∈{0,1,…,m-1},B隨機(jī)選擇y′∈Zn及一個(gè)lID比特向量y=(yi),其中yi∈Zn。
PK=(G,G′,U,e(g1,g2),gy,PK-A)
其中:
私鑰為:
SK=(g1,g2,u′,u,y,SK-A)
其中:
階段1
敵手適應(yīng)性地對(duì)任意身份信息ID進(jìn)行私鑰詢問(wèn),算法B運(yùn)行I的私鑰生成算法,如果K(ID)=0,B放棄并隨機(jī)選擇ω′,否則,隨機(jī)選擇r∈Zn,計(jì)算
挑戰(zhàn):
A提交身份ID0、ID1和消息m0、m1給B,且ID0、ID1均未在階段1中進(jìn)行私鑰詢問(wèn)。
令t*=c,如果Z=e(g,g)abc,則
階段2
A繼續(xù)進(jìn)行適應(yīng)性的私鑰詢問(wèn),但不能對(duì)身份ID0、ID1進(jìn)行私鑰詢問(wèn)。
猜測(cè):
A輸出對(duì)β、γ∈{0,1}的猜測(cè)β′、γ′∈{0,1},如果β=β′,γ=γ′,則敵手贏得游戲。
□
系統(tǒng)建立:
敵手A(即敵對(duì)的PKG)產(chǎn)生系統(tǒng)公開(kāi)參數(shù)為:
PK=(G,G′,U,e(g1,g2),gy,PK-A)
并將PK及身份ID發(fā)送給B,算法B對(duì)PK進(jìn)行有效性檢測(cè),若檢測(cè)失敗,算法B中止。
私鑰生成:
算法B與敵手A共同運(yùn)行私鑰生成協(xié)議,算法B生成身份ID的私鑰dID并輸出,并對(duì)其進(jìn)行有效性檢測(cè),若檢測(cè)失敗,算法B中止。
私鑰尋找:
□
定理3假設(shè)DL假設(shè)成立,則在安全性ComputerNewKeygame定義下,敵手攻破A-IBE方案的優(yōu)勢(shì)可忽略。
系統(tǒng)建立:
算法B運(yùn)行方案的系統(tǒng)建立算法,生成系統(tǒng)公開(kāi)參數(shù)為:
PK=(G,G′,U,e(g1,g2),gy,PK-A)
私鑰為:
SK=(g1,g2,u′,u,y,SK-A)
其中,
并將PK發(fā)送給敵手A。
私鑰詢問(wèn):
該階段敵手A通過(guò)與算法B運(yùn)行私鑰生成協(xié)議,詢問(wèn)到任意用戶的私鑰。對(duì)于敵手A詢問(wèn)的任意身份信息ID,算法B的處理過(guò)程如下:
(2)對(duì)任意i∈SID,當(dāng)IDi=0時(shí),算法B計(jì)算并返回ri/th,i給A;當(dāng)IDi=1,算法B計(jì)算并返回ri/t1,i給A。
(4)敵手A得到:
dA=({ri/tx,i}i∈SID,{ki,ri/tki,i}i∈Ssp-{l},
{kl,rl/tkl,l:kl≠h},{kl,rl:kl=h})
并進(jìn)行檢驗(yàn),如果kl≠h,則dA總能通過(guò)檢測(cè);如果kl=h,則僅在a=1時(shí)可通過(guò)檢測(cè),而由于a=1的概率可忽略,因此此時(shí)dA幾乎不能通過(guò)檢測(cè)。
(5)若dA未能通過(guò)私鑰有效性檢測(cè),則算法B中止,否則敵手A得到身份ID的私鑰dID={dI,dA}。
新私鑰生成:
□
由表1可以看出,本文方案和文獻(xiàn)[9,14]比較,在標(biāo)準(zhǔn)模型下的Adaptive-ID模型中可證安全;在運(yùn)算次數(shù)方面,和文獻(xiàn)[9]相比,次數(shù)相同,而且具有匿名性。因此,所提方案不僅實(shí)現(xiàn)了匿名性,同時(shí)解決了密鑰托管問(wèn)題,具有較高的安全性和效率。
鑒于IBE方案中存在的匿名性和密鑰托管問(wèn)題,本文基于DBDH假設(shè)和DL假設(shè),使用階為合數(shù)的雙線性群,提出一個(gè)第三方權(quán)力受約束的匿名IBE方案,實(shí)現(xiàn)了IBE中接收者的匿名性,且解決了密鑰托管問(wèn)題。
近幾年來(lái),這一領(lǐng)域的研究工作主要是實(shí)現(xiàn)弱的黑盒A-IBE方案或完全有效的黑盒型A-IBE方案[16~20],具有較高的安全性和緊密的規(guī)約性,并實(shí)現(xiàn)了公開(kāi)的追蹤,從而找到不誠(chéng)實(shí)的PKG或用戶。所以,后續(xù)工作是對(duì)文中方案進(jìn)行改進(jìn),實(shí)現(xiàn)黑盒型的匿名A-IBE方案,并在標(biāo)準(zhǔn)模型下可證安全。
Table 1 Performance comparison of schemes
注*,l是關(guān)于k的安全多項(xiàng)式
[1] Shamir A.Identity-based cryptosystems and signature scheme[C]∥Proc of Cryptology-CRYPTO’84,1984:47-53.
[2] Boneh D,Franklin M.Identity-based encryption from the weil pairing[C]∥Cryptology-CRYPTO’01,2001:213-229.
[3] Boneh D,Boyen X.Efficient selective-ID identity-based encryption without random oracles[C]∥Proc of Cryptology-EUROCRYPT’04,2004:223-238.
[4] Boneh D,Boyen X.Secure identity-based encryption without random oracles[C]∥Proc of Cryptology-CRYPTO’04,2004:443- 459.
[5] Waters B.Efficient identity-based encryption without random oracles[C]∥Proc of Cryptology-EUROCRYPT’05,2005:114-127.
[6] Gentry C.Practical identity-based encryption without random oracles[C]∥Proc of Cryptology-EUROCRYPT’05,2005:445-464.
[7] Al-Riyami S,Paterson K.Certificateless public key Cryptography[C]∥Proc of Cryptology-ASIACRYPT’03,2003:452-473.
[8] Goyal V.Reducing trust in the PKG in identity-based cryptosystems[C]∥Proc of Cryptology-CRYPTO’07,2007:430-447.
[9] Xu Peng,Cui Guo-hua,Fu Cai,et al. A more efficient reducing trust in the PKG IBE scheme under DL assumption[J].Journal of Science China(Information Science),2010,40(2):285-297.(in Chinese)
[10] Cao Dan,Wang Xiao-feng,Wang Fei. A secure and accountable identity-based encryption scheme[J]. Journal of Electronics & Information Technology, 2011,33(12):2922-2928.(in Chinese)
[11] Zhao Xing-wen,Zhang Fang-guo.Fully CCA2 secure identity-based broadcast encryption with black-box accountable authority[J].Journal of Systems and Software, 2012,85(3):708-716.
[12] Boyen X,Waters B.Anonymous hierarchical identity-based encryption without random oracles[C]∥Proc of Cryptology -CRYPTO’06,2006:290-307.
[13] Liu L,Cao Z.Improvements of one anonymous ID-based encryption[C]∥Proc of ICETC’2010,2010:256-260.
[14] Ren Yan-li,Gu Da-wu,Wang Shuo-zhong, et al.Anonymous identity-based encryption sheme without random oracles[J].Journal of University of Science and Technology of China,2012,42(4):296-301.(in Chinese)
[15] Tzeng W G.Efficient 1-out-of-noblivious transfer with universally usable parameters[J].IEEE Transactions on Computers,2004,53(2):232-240.
[16] Goyal V,Steve L,Sahai A,et al.Black-box accountable authority identity-based encryption[C]∥ Proc of ACM Conference on Computer and Communications Security, 2008:427-436 .
[17] Libert B,Vergnaud D.Towards black-box accountable authority IBE with short ciphertexts and private keys[C]∥Proc of PKC’09,2009:235-255.
[18] Libert B,Vergnaud D.Towards practical black-box accountable authority IBE:Weak black-box traceability with short ciphertexts and private keys[J]. IEEE Transactions on Information Theory, 2011,57(10):7189-7204.
[19] Sahai A,Seyalioglu H.Fully secure accountable-authority identity-based encryption[C]∥Proc of PKC 2011,2011:296-316.
[20] Lai Jun-zuo,Deng R,Zhao Yun-lei,et al. Accountable authority identity-based encryption with public traceability[C]∥Proc of Cryptology-CRYPTO’13,2013:326-342.
附中文參考文獻(xiàn):
[9] 徐鵬,崔國(guó)華,付才,等.DL假設(shè)下一種更高效的第三方權(quán)力受約束的IBE方案[J].中國(guó)科學(xué)(信息科學(xué)),2010,40(2):285-297.
[10] 曹丹,王小峰,王飛.一種安全可追責(zé)的基于身份加密方案[J].電子與信息學(xué)報(bào),2011,33(12):2922-2928.
[14] 任艷麗,谷大武,王朔中,等.標(biāo)準(zhǔn)模型中基于身份的匿名加密方案[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2012,42(4):296-301.