鄧翔天 錢海峰
(華東師范大學(xué)軟件工程學(xué)院 上海 200062)
密文一致性檢測(cè)公鑰加密方案(public key encryption with equality test, PKEET)最初由Yang等人提出[1],其允許用戶在不持有對(duì)應(yīng)私鑰的情況下檢測(cè)一組密文解密所得明文的一致性,受檢測(cè)的密文對(duì)加密時(shí)所用的公鑰不必相同.
然而,Yang等人提出的PKEET方案允許任意用戶對(duì)密文進(jìn)行一致性檢測(cè).為了避免這一特性帶來(lái)的安全風(fēng)險(xiǎn),Tang[2]提出了全有或全無(wú)密文一致性檢測(cè)方案(all-or-nothing PKEET, AoN-PKEET,在該方案中,私鑰持有者通過(guò)選擇性地發(fā)放由私鑰生成的令牌,自主授權(quán)“代理”執(zhí)行密文一致性檢測(cè)操作.令牌機(jī)制在隱私保護(hù)方面起到關(guān)鍵作用,因而被大量相關(guān)工作借鑒沿用[2-7](1)多項(xiàng)已有工作將AoN-PKEET方案視作一種特殊的PKEET方案,并直接稱呼其為PKEET方案,本文將沿用這一做法..
后續(xù)工作中,細(xì)粒度授權(quán)密文一致性檢測(cè)公鑰加密方案(fine-grained PKEET, FG-PKEET)[3]允許一對(duì)用戶通過(guò)交互生成令牌并將其發(fā)送至代理.該令牌只可被用于檢測(cè)2個(gè)用戶公鑰加密所得任意密文的一致性.
由Ma等人[4]提出的靈活授權(quán)密文一致性檢測(cè)公鑰加密方案(PKEET with flexible authorization, PKEET-FA)則將授權(quán)客體從用戶層次擴(kuò)展至密文層次:其在PKEET方案的基礎(chǔ)上添加多類令牌,分別用于檢測(cè)2個(gè)指定密文的一致性,即密文-密文級(jí)別令牌,或是檢測(cè)一指定密文和另一指定用戶的任意密文的一致性,即密文-用戶級(jí)別令牌.
到目前為止,相關(guān)工作中提及的FG-PKEET,PKEET-FA方案在功能性方面互不包含,并且擁有各自適用的應(yīng)用場(chǎng)景.FG-PKEET方案的授權(quán)客體類型局限于用戶類型.同時(shí),以具體的PKEET-FA方案[4]為例,盡管該方案中,密文-密文級(jí)別、密文-用戶級(jí)別的令牌的授權(quán)客體可以為指定某一密文,但是該方案未能實(shí)現(xiàn)FG-PKEET方案中的令牌功能,即能夠檢測(cè)指定2位特定用戶的任意密文一致性的用戶-用戶級(jí)別令牌.此外,目前提出的FG-PKEET,PKEET-FA方案的安全性證明均建立于隨機(jī)預(yù)言機(jī)模型之上,需要在安全證明中設(shè)立隨機(jī)預(yù)言機(jī)扮演方案中的Hash函數(shù).
針對(duì)現(xiàn)狀,我們的FG-PKEET方案具備2個(gè)創(chuàng)新點(diǎn):
1) 我們所提出的FG-PKEET方案在功能性上兼顧了FG-PKEET方案與PKEET-FA方案的特性,擁有更細(xì)的令牌授權(quán)粒度,并且具備對(duì)應(yīng)的安全性質(zhì).
2) 在實(shí)際應(yīng)用場(chǎng)景中,使用具體的Hash函數(shù)來(lái)代替隨機(jī)預(yù)言機(jī)存在安全隱患[8].我們所提出方案的安全性則建立于標(biāo)準(zhǔn)模型之上,在安全性方面更加可靠.
本節(jié)我們將對(duì)文中所用符號(hào)與密碼學(xué)原語(yǔ)的定義進(jìn)行簡(jiǎn)要解釋;匯總并介紹相關(guān)工作成果;對(duì)本方案安全性質(zhì)所依賴的密碼學(xué)假設(shè)進(jìn)行介紹.
1) 符號(hào)定義
對(duì)于一個(gè)有限集合S,我們使用公式s←rS來(lái)指代從有限集合S中均勻隨機(jī)采樣得一個(gè)隨機(jī)元素S這一過(guò)程.
我們聲稱函數(shù)f關(guān)于λ是可忽略的,當(dāng)且僅當(dāng)不等式f(λ)≤1/p(λ)對(duì)于所有的多項(xiàng)式p(·)和足夠大的λ成立.
2) Hash函數(shù)
在我們所提出的方案中使用的Hash函數(shù),應(yīng)具備2個(gè)性質(zhì):
關(guān)于λ是可忽略的.
關(guān)于λ是可忽略的.
3) 雙線性映射
令q是一個(gè)素?cái)?shù),G1和G2是2個(gè)階為q的群,G1到G2的雙線性映射e:G1×G2→GT應(yīng)滿足3個(gè)性質(zhì):
① 雙線性.對(duì)任意P,Q∈G1,R,S∈G2和a,b∈q,滿足e(aP,bR)=e(P,R)ab,e(PQ,R)=e(P,R)×e(Q,R)和e(P,RS)=e(P,R)×e(P,S).
② 非退化性.映射不會(huì)把G1×G2中的任何元素映射到GT中的單位元.
③ 可計(jì)算性.對(duì)于任意的P∈G1,Q∈G2,存在一個(gè)有效算法計(jì)算e(P,Q).
同時(shí),雙線性映射可根據(jù)G1,G2所具備的性質(zhì)進(jìn)一步分類[9],在一類雙線性映射中G1=G2;在3類雙線性映射中,G1≠G2且G1,G2間不存在可高效計(jì)算的同構(gòu)關(guān)系.
FG-PKEET方案由Tang首次提出[3].在FG-PKEET方案中,一對(duì)用戶需進(jìn)行交互以生成令牌.該令牌只可被用于檢測(cè)該2名用戶的公鑰加密所得密文的一致性.與PKEET方案相比較,F(xiàn)G-PKEET方案之中用戶需消耗更多的時(shí)間消耗令牌,但是能夠獲得更細(xì)粒度的授權(quán)機(jī)制.
PKEET-FA方案由Ma等人首次提出[4].在該方案中,授權(quán)客體類別包括用戶類和密文類.
以Ma的具體方案為例,它總共包含4類令牌:1)一類令牌,用戶級(jí)別令牌,其定義與PKEET方案中令牌的定義一致;2)二類令牌,密文級(jí)別令牌,如果一名代理接收到2個(gè)密文對(duì)應(yīng)的二類令牌,那么他能夠檢測(cè)該2個(gè)密文的一致性;3)三類令牌,密文-密文級(jí)別令牌,其授權(quán)客體為2個(gè)指定密文,即該令牌只能夠被用于檢測(cè)這2個(gè)指定密文的一致性;4)四類令牌,密文-用戶級(jí)別令牌,該令牌的授權(quán)客體是一個(gè)密文和一名用戶.接收到該令牌的代理能夠使用其檢測(cè)指定密文和指定用戶公鑰加密所得的密文的一致性.
在安全性方面,文獻(xiàn)[10]指出在標(biāo)準(zhǔn)模型下設(shè)計(jì)可證明安全的密碼學(xué)方案是一項(xiàng)重要的研究課題.近來(lái),已有多種具備標(biāo)準(zhǔn)模型安全性的PKEET方案被提出.其中Zhang等人[5]提出的方案基于特定的數(shù)論假設(shè),其在具體設(shè)計(jì)思路上借鑒了由Lai等人提出的公鑰加密方案[11];其余2種PKEET方案分別由Lee等人提出[6]和Zeng等人[7]提出,前者在設(shè)計(jì)方案中使用了密碼學(xué)原語(yǔ)基于身份加密方案(identity-based encryption, IBE)和一次性簽名方案(one-time signature scheme),而后者使用Hash證明系統(tǒng)(Hash proof system, HPS),因此這2種方案均為可靈活選擇所依賴的具體數(shù)論假設(shè)的通用方案.
1) 判定性雙線性Diffie-Hellman(decisional bilinear Diffie-Hellman, DBDH)假設(shè)
G,GT上的DBDH假設(shè)聲稱對(duì)于任意PPT敵手,其在上述游戲中的優(yōu)勢(shì)對(duì)于安全參數(shù)λ是可忽略的.
2) 外部判定性Diffie-Hellman(external decisional bilinear Diffie-Hellman, Ex-DDH)假設(shè)
G1,G2,GT上的Ex-DDH假設(shè)聲稱對(duì)于任意PPT敵手,其在游戲中的優(yōu)勢(shì)對(duì)于安全參數(shù)λ是可忽略的.
3) 外部判定性雙線性Diffie-Hellman假設(shè)(external decisional bilinear Diffie-Hellman assumption, Ex-DBDH)
該假設(shè)在FG-PKEET方案[3]中首次被提出,并被用于方案安全性的歸約證明.
G1,G2,GT上的Ex-DBDH假設(shè)聲稱對(duì)于任意PPT敵手,其在上述游戲中的優(yōu)勢(shì)對(duì)于安全參數(shù)λ是可忽略的.
本節(jié)我們將對(duì)所設(shè)計(jì)的細(xì)粒度密文一致性檢測(cè)方案進(jìn)行介紹,包括方案模型定義、合理性定義、方案安全模型定義以及方案安全性質(zhì)定義.
本節(jié)會(huì)提及多個(gè)特定用戶的密文元組/密鑰對(duì),本文將使用下標(biāo)區(qū)分它們.
1) 方案各函數(shù)定義
KeyGen(λ):該非確定性算法接收一個(gè)安全參數(shù)作為輸入,輸出公私鑰對(duì)(PK,SK).
Enc(m,PK):該非確定性算法接收一個(gè)取自消息空間M的明文消息m以及一個(gè)公鑰作為輸入,輸出密文C.
Dec(C,SK):該確定性算法接收一個(gè)密文、一個(gè)私鑰作為輸入,其輸出解密所得的消息m,或輸出⊥表示解密失敗.
Aut(SKi,SKj):該非確定性算法需要用戶Ui,Uj以及一名代理交互執(zhí)行.2名用戶使用他們各自的私鑰作為輸入、輸出令牌Ti,j.
Com(Ci,Cj,Ti,j):該確定性算法接收由用戶公鑰PKi,PKj分別加密所得的密文Ci,Cj和對(duì)應(yīng)的令牌Ti,j作為輸入.該算法輸出⊥表示拒絕驗(yàn)證,如果Ci,Cj解密后對(duì)應(yīng)的明文Mi,Mj相同則輸出1,否則輸出0.
Aut1(SKi,Ci,SKj):該非確定性算法需要Ui,Uj以及一名代理交互執(zhí)行,使用Ui,Uj各自的私鑰作為輸入,此外,其中一名用戶將其公鑰加密得到的密文作為輸入,在此不妨令該密文為使用Ui的公鑰PKi加密得到的Ci,該算法輸出令牌Ti,j,Ci作為結(jié)果,或者輸出⊥表示拒絕生成.
Com1(Ci,Ti,j,Ci,Cj):該確定性算法接收一類令牌Ti,j,Ci和另一用戶Uj公鑰加密所得密文Cj作為輸入.該算法輸出⊥表示拒絕驗(yàn)證,如果Ci,Cj解密后對(duì)應(yīng)的明文Mi,Mj相同則輸出1,否則輸出0.
Aut2(SKi,Ci,SKj,Cj):該非確定性算法需要Ui,Uj以及一名代理交互執(zhí)行,使用2名用戶各自的私鑰和各自公鑰加密所得的密文作為輸入,輸出二類令牌Ti,j,Ci,Cj,或⊥表示拒絕生成.由于代理可直接通過(guò)接收到的令牌檢測(cè)Ci,Cj的一致性,因此不給出Com2的定義.
2) 方案合理性(Soundness)定義
細(xì)粒度密文一致性檢測(cè)方案具備合理性,當(dāng)且僅當(dāng)加解密正確性、一致性檢測(cè)正確性這2個(gè)性質(zhì)對(duì)任意2名用戶,和任意一對(duì)明文m,m′∈M成立.令用戶為Ut,Uw,對(duì)應(yīng)的公私鑰對(duì)為(pkt,skt),(pkw,skw).
加解密正確性表達(dá)式定義為
Dec(Enc(m,pkt),skt)=m,Dec(Enc(m′,pkw),skw)=m′.
一致性檢測(cè)正確性的具體表述為:
當(dāng)m=m′時(shí),Com算法的輸出必定為1.反之,Com輸出1的概率是可忽略的.
Com(Enc(m,pkt),Enc(m′,pkw),Aut(skt,skw)).
當(dāng)m=m′時(shí),Com1算法的輸出必定為1.反之,Com1輸出1的概率是可忽略的.
Com1(Enc(m′,pkw),Aut1(skt,skw,Enc(m,pkt))).
接收Aut2算法執(zhí)行生成的令牌后,當(dāng)m=m′時(shí),代理必定判定2組密文代理必定判定2組密文經(jīng)對(duì)應(yīng)私鑰解密所得的明文是相同的,即這對(duì)密文具備一致性.反之,代理誤判一致性的概率是可忽略的.
Aut2(SKt,Enc(m,pkt),SKw,Enc(m′,pkw)).
首先,為了簡(jiǎn)化模型,我們需對(duì)模型中各類用戶的行為進(jìn)行假設(shè):
1) 所有用戶誠(chéng)實(shí)地生成他們的公私鑰對(duì),執(zhí)行Aut,Aut1,Aut2算法,并且Aut,Aut1,Aut2算法的交互過(guò)程是在可信信道中完成的.
2) 代理是半誠(chéng)信的,并且能夠被授權(quán)檢測(cè)多對(duì)用戶的密文的一致性.
3) 普通用戶集合與代理集合不存在交集.
PKEET的功能性使得基于不可區(qū)分的安全性質(zhì)能夠被擁有特定令牌的敵手輕易攻破.為此我們參考Tang提出的建模方法[3],將敵手分為2類:
1) 一類敵手.該類敵手為半誠(chéng)信的,經(jīng)Ut,Uw授權(quán)的代理.
2) 二類敵手.該類敵手指代的潛在敵手包括除Ut,Uw以外的普通用戶,以及未被Ut授權(quán)的代理.
對(duì)于不同種類的敵手,靈活細(xì)粒度密文一致性檢測(cè)方案能夠保證相應(yīng)級(jí)別的安全性質(zhì),在此不妨令受攻擊的用戶為Ut,Uw:
針對(duì)一類敵手,靈活細(xì)粒度密文一致性檢測(cè)方案應(yīng)滿足2個(gè)性質(zhì):
1) 適應(yīng)性選擇密文攻擊下的密文單向性(one-wayness adaptive chosen ciphertext attack, OW-CCA2).OW-CCA2安全性保證一名敵手無(wú)法從挑戰(zhàn)密文中恢復(fù)對(duì)應(yīng)明文,即使他能夠在特定限制下訪問(wèn)解密預(yù)言機(jī).
2) 細(xì)粒度授權(quán)性(fine-grained authorization, FG-Auth).如果2名用戶沒(méi)有授權(quán)一名代理對(duì)他們的密文進(jìn)行一致性檢測(cè),F(xiàn)G-Auth性質(zhì)保證該代理無(wú)法越權(quán)檢測(cè)2名用戶密文的一致性.
針對(duì)二類敵手,細(xì)粒度一致性檢測(cè)方案應(yīng)滿足性質(zhì)為:
適應(yīng)性選擇密文攻擊下的密文不可區(qū)分性(indistinguishability adaptive chosen ciphertext attack, IND-CCA2).IND-CCA2性質(zhì)保證敵手無(wú)法從挑戰(zhàn)密文中恢復(fù)明文,即使他能夠指定一對(duì)明文并要求挑戰(zhàn)者只能選擇其中一個(gè)生成挑戰(zhàn)密文.CCA2性質(zhì)允許敵手帶有限制地訪問(wèn)解密預(yù)言機(jī),同時(shí),根據(jù)對(duì)于二類敵手的定義,其能夠以普通用戶的身份參與令牌的生成過(guò)程.
為便于后文描述,我們將查詢階段中序號(hào)為i的Dec請(qǐng)求稱為關(guān)于用戶Ui的解密請(qǐng)求.
OW-CCA2游戲的具體定義為:
1) 初始化.敵手聲明一個(gè)序號(hào)t∈[1,N]作為其攻擊對(duì)象.挑戰(zhàn)者執(zhí)行KeyGen函數(shù),生成若干生成公私鑰對(duì)(PKi,SKi),其中1≤i≤N.
2) 查詢階段-1.在該階段中敵手被允許向挑戰(zhàn)者提交3個(gè)請(qǐng)求:
①Dec.提交密文C和序號(hào)i作為輸入,挑戰(zhàn)者返回Dec(C,SKi)
②Aut.提交2個(gè)序號(hào)i,j作為輸入,挑戰(zhàn)者執(zhí)行Aut算法,敵手在算法中扮演“代理”角色.
③Aut1,Aut2.提交序號(hào)i,j和密文ci(密文ci,cj)作為輸入,挑戰(zhàn)者執(zhí)行Aut1,Aut2算法,敵手在算法中扮演“代理”角色.
5) 敵手輸出他對(duì)于挑戰(zhàn)消息的猜測(cè),游戲結(jié)束.
FG-Auth游戲的具體定義為:
1) 初始化.敵手聲明2個(gè)不同的序號(hào)t,w∈[1,N]作為其攻擊對(duì)象.挑戰(zhàn)者執(zhí)行KeyGen函數(shù),為1≤i≤N生成公私鑰對(duì)(PKi,SKi).
2) 查詢階段-1.在該階段中敵手被允許向挑戰(zhàn)者提交3個(gè)請(qǐng)求:
①Dec.提交密文C和序號(hào)i作為輸入,挑戰(zhàn)者返回Dec(C,SKi).
②Aut.提交2個(gè)序號(hào)i,j作為輸入,挑戰(zhàn)者執(zhí)行Aut算法,敵手在算法中扮演“代理”角色.限制是i,j不能同時(shí)為t,w.
③Aut1,Aut2.提交序號(hào)i,j和密文Ci(密文Ci,密文Cj)作為輸入,挑戰(zhàn)者執(zhí)行Aut1,Aut2算法,敵手在算法中扮演“代理”角色.
5) 敵手輸出他對(duì)于挑戰(zhàn)消息的猜測(cè)b′,游戲結(jié)束.
IND-CCA2游戲的具體定義為:
1) 初始化.敵手聲明特定序號(hào)t∈[1,n]作為其攻擊對(duì)象.挑戰(zhàn)者執(zhí)行KeyGen函數(shù),為1≤i≤N生成公私鑰對(duì)(PKi,SKi).
2) 查詢階段-1.在該階段中敵手被允許向挑戰(zhàn)者提交4個(gè)請(qǐng)求:
①KeyRetrieve.提交序號(hào)i作為輸入,挑戰(zhàn)者返回SKi,敵手不可使用t作為參數(shù).
②Dec.提交密文C和序號(hào)i作為輸入,挑戰(zhàn)者返回Dec(C,SKi).
③Aut.提交2個(gè)序號(hào)t,j作為輸入,其中j≠t,挑戰(zhàn)者執(zhí)行Aut算法,敵手在算法中扮演Uj角色.
④Aut1(Aut2).提交序號(hào)t,j和密文c1(密文c1,c2)作為輸入,其中j≠t.挑戰(zhàn)者執(zhí)行Aut1(Aut2)算法,敵手在算法中扮演Uj角色.
敵手選擇2個(gè)消息m0,m1并發(fā)送至挑戰(zhàn)者,進(jìn)入下一階段.
5) 敵手輸出他對(duì)于挑戰(zhàn)消息的猜測(cè)b′,游戲結(jié)束.
1) 公共參數(shù)定義
2) 函數(shù)定義
KeyGen(λ):該算法隨機(jī)選取α,x,y,z∈p,g2∈G,θ∈q,并賦值g1=gα,u=gx,v=gy,d=gz.最終生成的公鑰元組為(Z=e(g1,g2),u,v,d,),私鑰元組為(,x,y,z,θ).
Enc(m,pk)→(C0,C1,C2,C3,C4,C5):該算法需執(zhí)行運(yùn)算:
s,r←rC1=gs;C2=(utvrd)s;t=H1(C0‖C1‖C3‖C4).
在加密算法和解密算法中,我們需要一個(gè)公共的編碼/解碼函數(shù),其在二元組m,ω與GT間映射.為簡(jiǎn)潔起見(jiàn),我們?cè)诤竺娴墓街惺÷浴癳ncode”,“decode”下標(biāo).該公共函數(shù)使得|p|,|q|間存在隱含關(guān)系:令消息明文空間為q,那么不等式|q|2≤|p|必須成立.
① 用戶Ut,Uw各自隨機(jī)選取γt,γw←r并將發(fā)送給彼此.
具體過(guò)程為:
① 用戶Ut,Uw各自隨機(jī)選取γt,γw←r分別將和發(fā)送至對(duì)方.
② 用戶Ut使用私鑰解密Ct,如果解密結(jié)果為⊥,那么整個(gè)過(guò)程中止并輸出⊥.這一解密行為可視作對(duì)密文Ct的校驗(yàn)操作,輸出⊥表示校驗(yàn)失敗,反之則校驗(yàn)成功.
④ 代理令算法Aut1(Ct,skt,skw)產(chǎn)生的令牌(tkr,tkt,tkw)為
具體過(guò)程為:
① 用戶Ut使用私鑰解密Ct,如果解密結(jié)果為⊥,那么整個(gè)過(guò)程中止并輸出⊥,用戶Uw執(zhí)行類似的步驟.解密行為可對(duì)應(yīng)視作為對(duì)密文Ct,Cw的校驗(yàn)操作,輸出⊥表示校驗(yàn)失敗,反之則校驗(yàn)成功.
②Uw隨機(jī)選擇γw←r并發(fā)送至Ut;Ut隨機(jī)選取γt←并發(fā)送至Uw.
顯然,代理可通過(guò)判斷tkt與tkw是否相等以檢測(cè)對(duì)應(yīng)密文的一致性.過(guò)程步驟②中用戶間傳遞的值被稱為Aut2中產(chǎn)生的中間值.
Com(Ct,Cw,tokent,w)作為參數(shù)所提交的密文,代理計(jì)算t=H1(C0,C1,C3,C4),并判斷等式e(C1,g)=e(utvC5w,C2)是否成立,如果不成立,則輸出⊥并中止.該算法的輸出結(jié)果:
Com1(Cw,tokent,w,Ct)作為參數(shù)所提交的密文,代理計(jì)算使用Com中述及的方法對(duì)密文進(jìn)行校驗(yàn),如果不成立,則輸出⊥并中止.該算法的輸出結(jié)果:
1) 加解密正確性
以用戶Ut的私鑰skt和使用pkt誠(chéng)實(shí)生成的密文C為例,正確性證明的推導(dǎo)為
等式對(duì)應(yīng)提取明文信息m與組件ω一步.
該等式對(duì)應(yīng)從C4中提取Hash值一步.
2) 一致性檢測(cè)正確性
在算法Com中,給定2個(gè)誠(chéng)實(shí)生成的密文Ct,Cw和相應(yīng)的令牌,Ct,tkt,tkr對(duì)應(yīng)的計(jì)算過(guò)程為
將Cw,tkw,tkr帶入式中,在mt=mw的情況下,將得到相同的結(jié)果,因此算法必定能夠判定2組密文保持一致性.反之,當(dāng)且僅當(dāng)發(fā)生Hash碰撞時(shí),該函數(shù)會(huì)輸出錯(cuò)誤判斷.根據(jù)前文中Hash函數(shù)的定義,該事件的發(fā)生概率是可忽略的.
對(duì)于Com1算法以及Aut2算法的一致性檢測(cè)正確性證明與該證明過(guò)程類似,故此省略.
定理1.在G1上的XDH假設(shè)、G上的DBDH假設(shè)成立的前提下,3.1節(jié)構(gòu)造的FG-PKEET方案在標(biāo)準(zhǔn)模型下具備針對(duì)二類敵手的IND-CCA2安全性.
證明. 為證明該方案具備相關(guān)安全性質(zhì),可以第2節(jié)中定義的IND-CCA2游戲?yàn)榛A(chǔ),構(gòu)建一系列游戲,最終使敵手在最后一個(gè)游戲中的優(yōu)勢(shì)是可忽略的,且敵手無(wú)法將其與原游戲區(qū)分.
游戲0. 與定義3中的IND-CCA2游戲描述一致.
游戲1.挑戰(zhàn)者對(duì)挑戰(zhàn)密文進(jìn)行改動(dòng):
我們將通過(guò)引理1,證明當(dāng)DBDH假設(shè)成立時(shí),PPT敵手區(qū)分游戲0和游戲1的概率是可忽略的.
引理1.如果G上的DBDH假設(shè)成立,則以不可忽略概率區(qū)分Game0,Game1的PPT敵手不存在.
2) 查詢階段-1.
e(C1,utvrd)=e(g,C2).
(m*‖ω*)T=(m*‖ω*)×e(g1,g2)s×e(g1,g2)z-s= ((m*‖ω*)×e(g1,g2)z-s)×e(g1,g2)s.
由于(m*‖ω*)×e(g1,g2)z-s與(Invalidm ω)屬于同一分布,該結(jié)論成立.
εdbdh+PrAbort≤εdbdh+ADVCR+query/p,
引理1證畢.
游戲2.在游戲1的基礎(chǔ)上,挑戰(zhàn)者對(duì)挑戰(zhàn)密文進(jìn)行改動(dòng)為
引理2將證明敵手視角下,游戲1與游戲2具備不可區(qū)分性.
引理2.如果G1上的XDH假設(shè)成立,則以不可忽略概率區(qū)分Game1,Game2的PPT敵手不存在.
2) 查詢階段1.
4) 查詢階段2.解密預(yù)言機(jī)添加額外限制:當(dāng)C*和用戶序號(hào)t作為參數(shù)被一起提交時(shí),解密預(yù)言機(jī)輸出⊥.
引理2證畢.
εIND-CCA2=Advdistinguish0,1+Advdistinguish1,2+εGame2≤εdbdh+ADVCR+query/p+εxdh+0,
其中εxdh為敵手在XDH問(wèn)題中的優(yōu)勢(shì).易見(jiàn)在定理1中述及的相關(guān)假設(shè)成立的前提下,εIND-CCA2是可忽略的.
定理1證畢.
定理2.在G上的DBDH假設(shè)及H2函數(shù)的抗碰撞性成立的前提下,3.1節(jié)中提出的FG-PKEET方案對(duì)于1類敵手具備OW-CCA2安全性.
證明.為了簡(jiǎn)化證明過(guò)程,首先需模擬令牌生成的整個(gè)過(guò)程.OW-CCA2游戲中設(shè)立的令牌預(yù)言機(jī)生成token(t,i):
類似地,一類令牌預(yù)言機(jī)生成token(t,i,Ct)的過(guò)程為
其中,m是由PKt加密所得密文Ct解密所得的明文.
二類令牌預(yù)言機(jī)以如下結(jié)構(gòu)生成二類令牌token(t,i,Ct,Ci):
其中,γ←r分別為Ct,Ci解密所得的明文.
挑戰(zhàn)密文其他組件的生成方式與原方案描述一致.
我們將在引理3中證明游戲0和游戲1的不可區(qū)分性.
引理3.如果G上的DBDH假設(shè)成立,則以不可忽略概率區(qū)分Game0,Game1的PPT敵手不存在.
2) 查詢階段-1.
① 解密預(yù)言機(jī).與引理1中的描述相同;
Advdistinguish0,1≤εdbdh+Prabortion≤εdbdh+AdvCR+query/p.
顯而易見(jiàn),在引理3中述及的相關(guān)假設(shè)成立的前提下,Advdistinguish0,1是可忽略的.
引理3證畢.
綜上所述,一類敵手在OW-CCA2游戲中的優(yōu)勢(shì)為
AdvOW-CCA2=Advdistinguish0,1+AdvGame1≤εdbdh+AdvCR+query/p+AdvPR,
其中,AdvPR指代Hash函數(shù)H2的原像性被攻破的概率.易見(jiàn)敵手在OW-CCA2游戲中的優(yōu)勢(shì)是可忽略的.
定理2證畢.
定理3.在G1,G2上的Ex-DBDH假設(shè)、G上的DBDH假設(shè)成立的前提下,3.1節(jié)構(gòu)造的FG-PKEET方案在標(biāo)準(zhǔn)模型下具備針對(duì)一類敵手的FG-Auth安全性質(zhì).
證明.為證明3.1節(jié)所提及方案具備FG-Auth性質(zhì),我們需要構(gòu)建一系列游戲:
游戲0.挑戰(zhàn)者的行為與定義2的FG-Auth游戲中所描述一致.
游戲1.在該游戲中,生成關(guān)于用戶Ut或Uw令牌的方法被改變,挑戰(zhàn)者秘密地選取隨機(jī)值ht,hw←rq.
在該過(guò)程中,均需按照原方案所述,對(duì)密文進(jìn)行校驗(yàn).
為證明游戲1和游戲2的不可區(qū)分性,我們沿用引理1的方法證明引理4.
引理4.如果G上的DBDH假設(shè)成立,以不可忽略概率區(qū)分游戲1和游戲2的PPT敵手不存在.
當(dāng)b=1時(shí),顯然游戲1與游戲2對(duì)于敵手而言是不可區(qū)分的,下文中我們將證明如果當(dāng)b=0時(shí),敵手無(wú)法區(qū)分游戲1和游戲2.
2) 查詢階段-1.
② 令牌預(yù)言機(jī):與游戲1中所述行為一致.
4) 查詢階段-2.
類似引理1中得出的結(jié)論,游戲1與游戲2的區(qū)分優(yōu)勢(shì)的上界為
Prdistinguish1,2≤query/p+ADVCR+εdbdh.
引理4證畢.
為了將FG-Auth游戲的困難性最終歸約至Ex-DBDH假設(shè),我們需要構(gòu)建一系列游戲,并用與引理4相似的方法證明游戲之間的不可區(qū)分性,其原理類似于混合參數(shù)(hybrid argument).
游戲3.對(duì)比游戲2,挑戰(zhàn)密文改動(dòng)為
我們將用引理5證明游戲2與游戲3的不可區(qū)分性:
引理5.如果G上的DBDH假設(shè)成立,則不存在能夠以不可忽略概率區(qū)分游戲2與游戲3的PPT敵手.
2) 查詢階段-1.
② 令牌預(yù)言機(jī).與游戲1中所述的行為一致.
4) 查詢階段-2.
Advdistinguish2,3≤query/p+ADVCR+εdbdh.
對(duì)于PPT敵手而言其概率是可忽略的.
引理5證畢.
游戲4.挑戰(zhàn)密文如以下方式生成,其與游戲5中挑戰(zhàn)密文的唯一區(qū)別在于mb的賦值:
其中m#←rM.
引理6將用于證明游戲3與游戲4對(duì)于PPT敵手的不可區(qū)分性.
引理6.如果G上的DBDH假設(shè)成立,則以不可忽略概率區(qū)分游戲3與游戲4的PPT敵手不存在.
2) 查詢階段-1.
② 令牌預(yù)言機(jī).與游戲1中所述的行為一致.
4) 查詢階段-2.
Advdistinguish3,4≤query/p+ADVCR+εdbdh.
最終,我們構(gòu)建游戲5,其與游戲4統(tǒng)計(jì)不可區(qū)分.
挑戰(zhàn)密文對(duì)生成:
其中,若挑戰(zhàn)者隨機(jī)生成的比特值b=0,則賦值X=α,否則,X←rG1.
顯然,游戲4與游戲5不可區(qū)分.我們將證明如果G1,G2上的Ex-DBDH假設(shè)成立,則敵手在游戲5中的優(yōu)勢(shì)是可忽略的.
B設(shè)置相應(yīng)的密鑰參數(shù)為
其余公私鑰參數(shù)則根據(jù)3.1節(jié)中述及的方法正常生成.
2) 查詢階段-1.
3) 挑戰(zhàn)階段.與游戲5中的描述一致.
4) 查詢階段-2.
其中,γt←rq.
引理6證畢.
最終,敵手攻破方案3.1的FG-Auth性質(zhì)的優(yōu)勢(shì)上界可表示為
AdvFG-SEC=Advdistinguish1,2+Advdistinguish2,3+Advdistinguish3,4+AdvGame5= 3×(εdbdh+AdvCR+query/p)+εex-dbdh.
顯而易見(jiàn),如果相應(yīng)假設(shè)成立,則敵手的優(yōu)勢(shì)是可忽略的.
定理3證畢.
表1對(duì)各個(gè)PKEET方案的特性進(jìn)行了描述和匯總,其中方案[1]不具備令牌機(jī)制,因而不具備針對(duì)二類敵手的IND-CCA2性質(zhì),在安全性方面遜于其余PKEET方案.由表1可見(jiàn),我們所提出的方案是唯一集成了FG-PKEET與PKEET-FA方案功能性,與此同時(shí),安全性基于標(biāo)準(zhǔn)模型的密文一致性檢測(cè)公鑰加密方案.
Table 1 Property Comparison of PKEET Schemes表1 PKEET方案特性對(duì)比
Table 2 Efficiency Comparison on Encryption/Decryption of PKEET Schemes表2 PKEET方案加解密效率對(duì)比
Table 3 Efficiency Comparison on Token-Related Operation of PKEET Schemes表3 PKEET方案令牌操作效率對(duì)比
由于生成一類令牌時(shí)雙方用戶授權(quán)客體不同,即一方授權(quán)特定一條密文信息,另一方對(duì)自己公鑰加密所得的所有密文進(jìn)行授權(quán),因此在令牌生成時(shí)間上有所區(qū)別,并用符號(hào)“/”劃分.
某些場(chǎng)合下某些方案的令牌生成時(shí)間為0,這是由于在這些情況中,令牌在公私鑰對(duì)生成過(guò)程中一并生成,只需被重復(fù)地分發(fā)給代理即可完成授權(quán).
由于Lee等人的方案[6]、Zeng等人的方案[7]均為通用型方案,因此在進(jìn)行效率計(jì)算時(shí),我們特別聲明文獻(xiàn)[6]方案采用的一次性簽名方案和IBE方案分別為文獻(xiàn)[13]方案、文獻(xiàn)[14]方案.文獻(xiàn)[7]方案所基于的難題為離散對(duì)數(shù)難題.
在我們的方案中,當(dāng)某個(gè)用戶需生成關(guān)于同一密文的多個(gè)一次、二次令牌時(shí),只需執(zhí)行一次Dec操作.由表2、表3可見(jiàn),相比已有方案,我們方案在計(jì)算效率與存儲(chǔ)開銷方面相當(dāng).
針對(duì)當(dāng)前PKEET方案在令牌授權(quán)機(jī)制方面無(wú)法兼顧彈性授權(quán)機(jī)制特性與細(xì)粒度授權(quán)機(jī)制特性的問(wèn)題,本文提出了一種新的PKEET方案,該方案具備細(xì)粒度特性,即允許發(fā)放一致性檢測(cè)令牌的用戶能夠?qū)⑴c檢測(cè)的另一客體進(jìn)行約束.同時(shí),該方案具備彈性授權(quán)機(jī)制,允許令牌授權(quán)的客體可在用戶級(jí)別及密文級(jí)別間進(jìn)行選擇,結(jié)合上文提及的細(xì)粒度特性,方案的令牌類別總共可分為用戶-用戶令牌、密文-密文令牌及密文-用戶令牌共計(jì)3類令牌,使該方案能夠在令牌授權(quán)機(jī)制方面為用戶提供了更細(xì)粒度的控制手段.
方案安全性方面,本文所提及方案在功能性層面的延展使我們需對(duì)方案的安全性質(zhì)定義做出修改及補(bǔ)充,并最終證明了我們所設(shè)計(jì)方案具備適應(yīng)性選擇密文攻擊安全性及授權(quán)細(xì)粒度安全性.相比于此前擁有細(xì)粒度特性或彈性授權(quán)機(jī)制的方案,本文所提出方案的安全性首次建立于標(biāo)準(zhǔn)模型之上在安全性方面更加具有可靠性.