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