密文一致性检测公钥加密方案(public key encryption with equality test, PKEET)最初由Yang等人提出[1],其允许用户在不持有对应私钥的情况下检测一组密文解密所得明文的一致性,受检测的密文对加密时所用的公钥不必相同.
然而,Yang等人提出的PKEET方案允许任意用户对密文进行一致性检测.为了避免这一特性带来的安全风险,Tang[2]提出了全有或全无密文一致性检测方案(all-or-nothing PKEET, AoN-PKEET,在该方案中,私钥持有者通过选择性地发放由私钥生成的令牌,自主授权“代理”执行密文一致性检测操作.令牌机制在隐私保护方面起到关键作用,因而被大量相关工作借鉴沿用[2-7](1)多项已有工作将AoN-PKEET方案视作一种特殊的PKEET方案,并直接称呼其为PKEET方案,本文将沿用这一做法..
后续工作中,细粒度授权密文一致性检测公钥加密方案(fine-grained PKEET, FG-PKEET)[3]允许一对用户通过交互生成令牌并将其发送至代理.该令牌只可被用于检测2个用户公钥加密所得任意密文的一致性.
由Ma等人 [4]提出的灵活授权密文一致性检测公钥加密方案(PKEET with flexible authorization, PKEET-FA)则将授权客体从用户层次扩展至密文层次:其在PKEET方案的基础上添加多类令牌,分别用于检测2个指定密文的一致性,即密文-密文级别令牌,或是检测一指定密文和另一指定用户的任意密文的一致性,即密文-用户级别令牌.
到目前为止,相关工作中提及的FG-PKEET,PKEET-FA方案在功能性方面互不包含,并且拥有各自适用的应用场景.FG-PKEET方案的授权客体类型局限于用户类型.同时,以具体的PKEET-FA方案[4]为例,尽管该方案中,密文-密文级别、密文-用户级别的令牌的授权客体可以为指定某一密文,但是该方案未能实现FG-PKEET方案中的令牌功能,即能够检测指定2位特定用户的任意密文一致性的用户-用户级别令牌.此外,目前提出的FG-PKEET,PKEET-FA方案的安全性证明均建立于随机预言机模型之上,需要在安全证明中设立随机预言机扮演方案中的Hash函数.
针对现状,我们的FG-PKEET方案具备2个创新点:
1) 我们所提出的FG-PKEET方案在功能性上兼顾了FG-PKEET方案与PKEET-FA方案的特性,拥有更细的令牌授权粒度,并且具备对应的安全性质.
2) 在实际应用场景中,使用具体的Hash函数来代替随机预言机存在安全隐患[8].我们所提出方案的安全性则建立于标准模型之上,在安全性方面更加可靠.
本节我们将对文中所用符号与密码学原语的定义进行简要解释;汇总并介绍相关工作成果;对本方案安全性质所依赖的密码学假设进行介绍.
1) 符号定义
对于一个有限集合S,我们使用公式s←rS来指代从有限集合S中均匀随机采样得一个随机元素S这一过程.
我们声称函数f关于λ是可忽略的,当且仅当不等式f(λ)≤1/p(λ)对于所有的多项式p(·)和足够大的λ成立.
2) Hash函数
在我们所提出的方案中使用的Hash函数,应具备2个性质:
① 单向性.函数H:X→Y满足单向性,当且仅当其能够在多项式时间内执行完毕,且多项式时间敌手
成功还原函数原像的几率是可忽略的,即:
关于λ是可忽略的.
② 抗碰撞性.函数H:X→Y满足抗碰撞性,当且仅当H可在多项式时间内计算完毕.并且多项式敌手
在函数中发现一个碰撞的概率是可忽略的,即:
关于λ是可忽略的.
3) 双线性映射
令q是一个素数,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方案相比较,FG-PKEET方案之中用户需消耗更多的时间消耗令牌,但是能够获得更细粒度的授权机制.
PKEET-FA方案由Ma等人首次提出[4].在该方案中,授权客体类别包括用户类和密文类.
以Ma的具体方案为例,它总共包含4类令牌:1)一类令牌,用户级别令牌,其定义与PKEET方案中令牌的定义一致;2)二类令牌,密文级别令牌,如果一名代理接收到2个密文对应的二类令牌,那么他能够检测该2个密文的一致性;3)三类令牌,密文-密文级别令牌,其授权客体为2个指定密文,即该令牌只能够被用于检测这2个指定密文的一致性;4)四类令牌,密文-用户级别令牌,该令牌的授权客体是一个密文和一名用户.接收到该令牌的代理能够使用其检测指定密文和指定用户公钥加密所得的密文的一致性.
在安全性方面,文献[10]指出在标准模型下设计可证明安全的密码学方案是一项重要的研究课题.近来,已有多种具备标准模型安全性的PKEET方案被提出.其中Zhang等人[5]提出的方案基于特定的数论假设,其在具体设计思路上借鉴了由Lai等人提出的公钥加密方案[11];其余2种PKEET方案分别由Lee等人提出[6]和Zeng等人[7]提出,前者在设计方案中使用了密码学原语基于身份加密方案(identity-based encryption, IBE)和一次性签名方案(one-time signature scheme),而后者使用Hash证明系统(Hash proof system, HPS),因此这2种方案均为可灵活选择所依赖的具体数论假设的通用方案.
1) 判定性双线性Diffie-Hellman(decisional bilinear Diffie-Hellman, DBDH)假设
考虑在挑战者
与敌手
间的游戏:令Gen为一个接收安全参数λ作为输入的函数,其输出元组(p,G,GT,e,g),其中G,GT是阶为p的乘法循环群.e是一个映射G×G至GT的双线性对,g是G的生成元.
首先
运行Gen生成公共参数元组(p,G,GT,e,g),随后其从
p中随机选择a,b,c三元素,并从0,1中随机选取元素β.如果
随机选取GT中的一个元素e(g,g)z并令其为T,反之令T=e(g,g)abc.
将挑战元组(ga,gb,gc,T)发送至
输出其对于β的猜测结果β′.我们定义敌手在游戏中的优势为
G,GT上的DBDH假设声称对于任意PPT敌手,其在上述游戏中的优势对于安全参数λ是可忽略的.
2) 外部判定性Diffie-Hellman(external decisional bilinear Diffie-Hellman, Ex-DDH)假设
该假设首次在文献[12]中被提出.考虑在挑战者
与敌手
间的游戏:令Gen为一个接收安全参数λ作为输入的函数,其输出元组(p,G1,G2,GT,e,g1),其中G1,G2,GT是阶为p的乘法循环群.g1,g2分别是G1,G2的生成元.e是将G1×G2映射至GT的第3类双线性对映射.
首先
运行Gen生成公共参数元组(p,G1,G2,GT,e,g),随后其从
p中随机选择a,b两个元素,并从0,1中随机选取元素β.如果
随机选取G1中的一个元素
并令其为T,反之令T=(g1)ab.
将挑战元组
发送至
输出其对于β的猜测结果β′.我们定义敌手在上述游戏中的优势为
G1,G2,GT上的Ex-DDH假设声称对于任意PPT敌手,其在游戏中的优势对于安全参数λ是可忽略的.
3) 外部判定性双线性Diffie-Hellman假设(external decisional bilinear Diffie-Hellman assumption, Ex-DBDH)
该假设在FG-PKEET方案[3]中首次被提出,并被用于方案安全性的归约证明.
考虑在挑战者
与敌手
间的游戏:令Gen为一个接收安全参数λ作为输入的函数,其输出元组(p,G1,G2,GT,e,g1),其中G1,G2,GT是阶为p的乘法循环群.g1,g2分别是G1,G2的生成元.e是将G1×G2映射至GT的第3类双线性对映射.首先
运行Gen生成公共参数元组(p,G1,G2,GT,e,g).
其次,
生成ga,gd,ge←rG1,gb,gc←rG2作为公共参数,以及x1,y1←r
p,α,β←rG1,bit←r{0,1}作为秘密参数.
向敌手发送元组Xbit,其定义为
输出其对于bit的猜测结果bit′.我们定义敌手在游戏中的优势为
G1,G2,GT上的Ex-DBDH假设声称对于任意PPT敌手,其在上述游戏中的优势对于安全参数λ是可忽略的.
本节我们将对所设计的细粒度密文一致性检测方案进行介绍,包括方案模型定义、合理性定义、方案安全模型定义以及方案安全性质定义.
本节会提及多个特定用户的密文元组/密钥对,本文将使用下标区分它们.
1) 方案各函数定义
KeyGen(λ):该非确定性算法接收一个安全参数作为输入,输出公私钥对(PK,SK).
Enc(m,PK):该非确定性算法接收一个取自消息空间M的明文消息m以及一个公钥作为输入,输出密文C.
Dec(C,SK):该确定性算法接收一个密文、一个私钥作为输入,其输出解密所得的消息m,或输出⊥表示解密失败.
Aut(SKi,SKj):该非确定性算法需要用户Ui,Uj以及一名代理交互执行.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以及一名代理交互执行,使用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以及一名代理交互执行,使用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算法执行生成的令牌后,当m=m′时,代理必定判定2组密文代理必定判定2组密文经对应私钥解密所得的明文是相同的,即这对密文具备一致性.反之,代理误判一致性的概率是可忽略的.
Aut2(SKt,Enc(m,pkt),SKw,Enc(m′,pkw)).
首先,为了简化模型,我们需对模型中各类用户的行为进行假设:
1) 所有用户诚实地生成他们的公私钥对,执行Aut,Aut1,Aut2算法,并且Aut,Aut1,Aut2算法的交互过程是在可信信道中完成的.
2) 代理是半诚信的,并且能够被授权检测多对用户的密文的一致性.
3) 普通用户集合与代理集合不存在交集.
PKEET的功能性使得基于不可区分的安全性质能够被拥有特定令牌的敌手轻易攻破.为此我们参考Tang提出的建模方法[3],将敌手分为2类:
1) 一类敌手.该类敌手为半诚信的,经Ut,Uw授权的代理.
2) 二类敌手.该类敌手指代的潜在敌手包括除Ut,Uw以外的普通用户,以及未被Ut授权的代理.
对于不同种类的敌手,灵活细粒度密文一致性检测方案能够保证相应级别的安全性质,在此不妨令受攻击的用户为Ut,Uw:
针对一类敌手,灵活细粒度密文一致性检测方案应满足2个性质:
1) 适应性选择密文攻击下的密文单向性(one-wayness adaptive chosen ciphertext attack, OW-CCA2).OW-CCA2安全性保证一名敌手无法从挑战密文中恢复对应明文,即使他能够在特定限制下访问解密预言机.
2) 细粒度授权性(fine-grained authorization, FG-Auth).如果2名用户没有授权一名代理对他们的密文进行一致性检测,FG-Auth性质保证该代理无法越权检测2名用户密文的一致性.
针对二类敌手,细粒度一致性检测方案应满足性质为:
适应性选择密文攻击下的密文不可区分性(indistinguishability adaptive chosen ciphertext attack, IND-CCA2).IND-CCA2性质保证敌手无法从挑战密文中恢复明文,即使他能够指定一对明文并要求挑战者只能选择其中一个生成挑战密文.CCA2性质允许敌手带有限制地访问解密预言机,同时,根据对于二类敌手的定义,其能够以普通用户的身份参与令牌的生成过程.
定义1. 细粒度密文一致性检测方案具备针对一类敌手的OW-CCA2安全性,则多项式时间敌手在下述的OW-CCA2游戏中的优势是可忽略的,敌手的优势由式
表示.
为便于后文描述,我们将查询阶段中序号为i的Dec请求称为关于用户Ui的解密请求.
OW-CCA2游戏的具体定义为:
1) 初始化.敌手声明一个序号t∈[1,N]作为其攻击对象.挑战者执行KeyGen函数,生成若干生成公私钥对(PKi,SKi),其中1≤i≤N.
2) 查询阶段-1.在该阶段中敌手被允许向挑战者提交3个请求:
① Dec.提交密文C和序号i作为输入,挑战者返回Dec(C,SKi)
② Aut.提交2个序号i,j作为输入,挑战者执行Aut算法,敌手在算法中扮演“代理”角色.
③ Aut1,Aut2.提交序号i,j和密文ci(密文ci,cj)作为输入,挑战者执行Aut1,Aut2算法,敌手在算法中扮演“代理”角色.
3) 挑战阶段.挑战者随机选取消息m∈M,执行函数Enc(mt,PKt)并将结果
发送给敌手.
4) 查询阶段-2.敌手可继续发起查询阶段-1中同类的请求,但包含一项额外限制:挑战密文
不能和序号t一同被作为Dec预言机的请求参数.
5) 敌手输出他对于挑战消息的猜测,游戏结束.
定义2. 细粒度密文一致性检测方案具备FG-Auth安全性,则多项式时间的敌手在FG-Auth游戏的优势是可忽略的,敌手的优势由式
表示.
FG-Auth游戏的具体定义为:
1) 初始化.敌手声明2个不同的序号t,w∈[1,N]作为其攻击对象.挑战者执行KeyGen函数,为1≤i≤N生成公私钥对(PKi,SKi).
2) 查询阶段-1.在该阶段中敌手被允许向挑战者提交3个请求:
① Dec.提交密文C和序号i作为输入,挑战者返回Dec(C,SKi).
② Aut.提交2个序号i,j作为输入,挑战者执行Aut算法,敌手在算法中扮演“代理”角色.限制是i,j不能同时为t,w.
③ Aut1,Aut2.提交序号i,j和密文Ci(密文Ci,密文Cj)作为输入,挑战者执行Aut1,Aut2算法,敌手在算法中扮演“代理”角色.
3) 挑战阶段.挑战者随机选取消息m0,m1∈M,随机生成一个比特b.如果b=0,发送挑战密文
及
至敌手,否则发送
及![]()
4) 查询阶段-2.敌手可以发起与查询阶段-1中同类的请求,但存在额外限制:挑战密文
不能和序号t(w)一同作为Dec预言机的请求参数;
无法作为提交至Aut1预言机的参数;
无法作为提交至Aut2预言机的参数.
5) 敌手输出他对于挑战消息的猜测b′,游戏结束.
定义3. 细粒度密文一致性检测方案具备针对二类敌手的IND-CCA2安全性,则多项式时间的敌手在IND-CCA2游戏中的优势是可忽略的,敌手的优势由式
表示.
IND-CCA2游戏的具体定义为:
1) 初始化.敌手声明特定序号t∈[1,n]作为其攻击对象.挑战者执行KeyGen函数,为1≤i≤N生成公私钥对(PKi,SKi).
2) 查询阶段-1.在该阶段中敌手被允许向挑战者提交4个请求:
① KeyRetrieve.提交序号i作为输入,挑战者返回SKi,敌手不可使用t作为参数.
② Dec.提交密文C和序号i作为输入,挑战者返回Dec(C,SKi).
③ Aut.提交2个序号t,j作为输入,其中j≠t,挑战者执行Aut算法,敌手在算法中扮演Uj角色.
④ Aut1(Aut2).提交序号t,j和密文c1(密文c1,c2)作为输入,其中j≠t.挑战者执行Aut1(Aut2)算法,敌手在算法中扮演Uj角色.
敌手选择2个消息m0,m1并发送至挑战者,进入下一阶段.
3) 挑战阶段.挑战者随机生成一个比特b.如果b=0,发送挑战密文
至敌手,反之发送![]()
4) 查询阶段-2.敌手可以发起与查询阶段-1中同类的请求,但存在额外限制:挑战密文
不能和序号t一同作为Dec预言机的请求参数;
无法作为Aut1预言机的请求参数;
无法作为Aut2预言机的请求参数,其中j∈[1,n],Cj为任意密文.
5) 敌手输出他对于挑战消息的猜测b′,游戏结束.
1) 公共参数定义
我们所提出的细粒度密文一致性检测方案包含
作为公共参数,它们的定义为:
λ为安全参数,G为阶为p的乘法群,g是G的生成元.e:G×G→GT是一类双线性对.G1,G2是阶为q的乘法群,以g3,g4作为它们各自的生成元.
是第3类双线性对.H1: GT×G×G1×G1→
p是一个安全Hash函数.H2:{0,1}*→G1是另一个安全Hash函数.
2) 函数定义
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):该算法需执行运算:
s,r←r![]()
![]()
![]()
C1=gs;C2=(utvrd)s; t=H1(C0‖C1‖C3‖C4).
在加密算法和解密算法中,我们需要一个公共的编码/解码函数,其在二元组m,ω与GT间映射.为简洁起见,我们在后面的公式中省略“encode”,“decode”下标.该公共函数使得|
p|,|
q|间存在隐含关系:令消息明文空间为
q,那么不等式|
q|2≤|
p|必须成立.
Dec(C,sk)→m:出于校验目的,Dec函数首先计算:
并判断
=C2是否成立,如果不成立,则输出⊥并中止.反之,则继续执行:
Aut(skt,skw)→token(t,w)为用户Ut和Uw交互并输出令牌,其结构为
其中γ←r![]()
.具体过程为:
① 用户Ut,Uw各自随机选取 γt,γw←r![]()
并将
发送给彼此.
② 用户Ut,Uw各自秘密地生成
和
并将其发送给代理.
③ 代理将
设作算法Aut(skt,skw)产生的令牌(tkr,tkt,tkw).如果2位用户表现诚实,那么
与上述公式不可区分.上述过程步骤①中用户间传递的值被称作Aut中产生的中间值.
Aut1(Ct,skt,skw)→token(t,w,Ct):Ut和Uw交互并生成一类令牌,其结构为
其中γ←r![]()
表示密文Ct解密后所对应的明文.我们声称token(t,w,Ct)是密文Ct关于用户Ut的一类令牌.
具体过程为:
① 用户Ut,Uw各自随机选取 γt,γw←r![]()
分别将
和
发送至对方.
② 用户Ut使用私钥解密Ct,如果解密结果为⊥,那么整个过程中止并输出⊥.这一解密行为可视作对密文Ct的校验操作,输出⊥表示校验失败,反之则校验成功.
③ 用户Ut秘密地生成
并将其发送给代理;用户Uw进行计算并将计算结果和
一同发送给代理:
④ 代理令算法Aut1(Ct,skt,skw)产生的令牌(tkr,tkt,tkw)为
如果2位用户表现诚实,
与④中公式不可区分.过程步骤①中用户间传递的值被称作Aut1中产生的中间值.
Aut2(Ct,Cw,skt,skw)→token(t,w,Ct,Cw):Ut和Uw交互并生成二类令牌,其结构为
其中γ←r![]()
表示密文Ct,Cw解密后所得明文.我们声称token(t,w,Ct,Cw)是密文Ct关于用户Ut、密文Cw关于用户Uw的二类令牌.
具体过程为:
① 用户Ut使用私钥解密Ct,如果解密结果为⊥,那么整个过程中止并输出⊥,用户Uw执行类似的步骤.解密行为可对应视作为对密文Ct,Cw的校验操作,输出⊥表示校验失败,反之则校验成功.
② Uw随机选择γw←r![]()
并发送
至Ut;Ut随机选取γt←![]()
并发送
至Uw.
③ Ut进行计算,并将计算结果和
一同发送至代理,Uw执行类似的步骤:
④ 代理令H2(mt)γtγw,H2(mw)γtγw为所接收到的二类令牌(tkt,tkw).如果2位用户表现诚实,
与③中公式不可区分.
显然,代理可通过判断tkt与tkw是否相等以检测对应密文的一致性.过程步骤②中用户间传递的值被称为Aut2中产生的中间值.
Com(Ct,Cw,tokent,w)作为参数所提交的密文,代理计算 t=H1(C0,C1,C3,C4),并判断等式e(C1,g)=e(utvC5w,C2)是否成立,如果不成立,则输出⊥并中止.该算法的输出结果:
Com(Ct,Cw,token(t,w))= 
Com1(Cw,tokent,w,Ct)作为参数所提交的密文,代理计算使用Com中述及的方法对密文进行校验,如果不成立,则输出⊥并中止.该算法的输出结果:
Com1(Cw,token(t,w,Ct))= 
1) 加解密正确性
以用户Ut的私钥skt和使用pkt诚实生成的密文C为例,正确性证明的推导为
等式对应解密步骤中检查
是否成立一步.
等式对应提取明文信息m与组件ω一步.
该等式对应从C4中提取Hash值一步.
2) 一致性检测正确性
在算法Com中,给定2个诚实生成的密文Ct,Cw和相应的令牌,Ct,tkt,tkr对应的计算过程为
将Cw,tkw,tkr带入式中,在mt=mw的情况下,将得到相同的结果,因此算法必定能够判定2组密文保持一致性.反之,当且仅当发生Hash碰撞时,该函数会输出错误判断.根据前文中Hash函数的定义,该事件的发生概率是可忽略的.
对于Com1算法以及Aut2算法的一致性检测正确性证明与该证明过程类似,故此省略.
定理1. 在G1上的XDH假设、G上的DBDH假设成立的前提下,3.1节构造的FG-PKEET方案在标准模型下具备针对二类敌手的IND-CCA2安全性.
证明. 为证明该方案具备相关安全性质,可以第2节中定义的IND-CCA2游戏为基础,构建一系列游戏,最终使敌手在最后一个游戏中的优势是可忽略的,且敌手无法将其与原游戏区分.
游戏0. 与定义3中的IND-CCA2游戏描述一致.
游戏1. 挑战者对挑战密文进行改动:
我们将通过引理1,证明当DBDH假设成立时,PPT敌手区分游戏0和游戏1的概率是可忽略的.
引理1. 如果G上的DBDH假设成立,则以不可忽略概率区分Game0,Game1的PPT敌手不存在.
证明.
接收一个DBDH挑战元组(g,ga,gb,gc,T),其中T为e(g,g)abc或随机采样自
的目标是区分DBDH挑战元组,并且能够调用尝试区分Game0,Game1的敌手
作为子过程.
将以如下方法扮演
的挑战者:
1) 初始化.
随机选取xv,xd,yu,yv,yd∈
p,θ∈
q,设置g1=ga,g2=gb,u=gbgyu,v=gbxvgyv,d=gbxdgyd.用户Ut公钥元组pkt被发送给敌手![]()
pkt=(Z=e(g1,g2),u,v,d,
).
对应的私钥元组skt为(
=gab,x=b+yu,y=bxv+yv,z=bxd+yd,θ).
2) 查询阶段-1.
① 解密预言机.当
发起密文c=(C0,C1,C2,C3,C4,r)关于用户Ut的解密请求时,B首先计算t=H(C0,C1,C3,C4)并判断等式是否成立:
e(C1,utvrd)=e(g,C2).
若不成立,则中止解密过程并返回⊥.其次
检查 t+rxv+xd=0是否成立,如果成立,
中止整个游戏并输出一个随机值.
由于敌手
不知道xv,xd的值,该类中止事件发生的概率为query/p,其中query为
查询解密预言机的次数.
随机选取δ←r
p并进行计算:
令
得
可从待解密密文中提取明文的值:
![]()
需要检查密文元组C0,C4所包含的明文和Hash是否对应,因此,
的输出结果为
② 令牌预言机.
已知θ的值,因此其可以扮演用户Ut生成一类、二类令牌步骤中对应的中间值.由于在IND-CCA2游戏中,敌手扮演的是另一用户,
无需完整生成令牌并发送给代理.
3) 挑战阶段. 敌手
输出2个明文
生成β←r0,1并构造挑战密文:
输出
作为挑战密文元组.
4) 查询阶段-2. 在该阶段中,敌手
对解密预言机的访问将增加如下限制:
① 如果
提交的解密请求中密文C=C*,且用户序号为t,输出 ⊥.
② 如果
且H1(C0,
中止整个游戏并输出一个随机比特,该类中止的发生概率ADVCR为H1抗碰撞性被攻破的概率.
当敌手
提交挑战密文关于用户Ut的一类、二类令牌请求时,
将忽略对挑战密文的校验操作并直接生成中间值发送至敌手![]()
5) 输出阶段. 敌手
输出0或者1,表示其对于游戏类别的猜测,
对应输出对于DBDH挑战元组的猜测T=e(g,g)abc或者T=e(g,g)z.
类似于文献[5]中的结论,
中止的概率上界为ADVCR+query/p,对应查询阶段-1,2中的描述.
当T=e(g,g)abc且
没有中止时,敌手
的视角与其在游戏0中的视角一致,反之则与游戏1中的视角一致:游戏1中均匀随机生成
与T=e(g,g)z时挑战密文组件
不可区分.因为令z∈
ps.t. T=e(g1,g2)z,有:
(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 ω)属于同一分布,该结论成立.
综上所述,敌手
区分Game0,Game1的优势为Advdistinguish0,1为
εdbdh+PrAbort≤εdbdh+ADVCR+query/p,
其中εdbdh为敌手在DBDH问题中的优势.易见,在引理1中述及的相关假设成立的前提下,敌手
的优势是可忽略的.
引理1证毕.
游戏2. 在游戏1的基础上,挑战者对挑战密文进行改动为
引理2将证明敌手视角下,游戏1与游戏2具备不可区分性.
引理2. 如果G1上的XDH假设成立,则以不可忽略概率区分Game1,Game2的PPT敌手不存在.
证明. 接收到一个XDH挑战元组后,
扮演敌手
的挑战者:
1) 初始化.
使用3.1节中所描述的方法产生密钥对,并使用XDH挑战元组
代替用户Ut的密钥、挑战密文中的对应部分![]()
2) 查询阶段1.
① 解密预言机.在扮演解密预言机对用户Ut的密文进行解密时,
需通过如下方式判断解密密文所包含的明文值、明文Hash值是否对应并输出相应结果为
由于在该游戏中,
已知除θ外的所有私钥元组元素,因此他能够提取C0中的ω并将其用于上述过程.
② 令牌预言机.由于
已知ω,
的值,因此可以正常地生成一类、二类令牌.在IND-CCA2游戏中,敌手扮演的是另一用户,所以
无需生成令牌并发送给代理.
3) 挑战阶段.
使用所给的XDH元组生成挑战密文中的
挑战密文元组具体生成方式为
4) 查询阶段2.解密预言机添加额外限制:当C*和用户序号t作为参数被一起提交时,解密预言机输出⊥.
当敌手
提交挑战密文关于用户Ut的一类、二类令牌请求时,
忽略对挑战密文的校验操作,将 Ex-DDH挑战元组中的
视作
,并用以生成令牌交互过程中所需的中间值.由于在IND-CCA2游戏中,敌手扮演的是另一用户,
不需要生成令牌组件并发送给代理.
5) 输出阶段. 敌手
输出1或者2,表示其对于游戏类别的猜测,
对应输出对于XDH挑战元组的猜测
或者![]()
如果
敌手
的视角与游戏1中的视角一致,否则与游戏2中的视角一致.因此敌手
区分游戏1和游戏2的优势小于等于攻破XDH假设的优势εxdh.
引理2证毕.
在游戏2中,敌手
的优势显然是可忽略的,因为挑战密文元组中的信息与mβ无关,由此,敌手在IND-CCA2游戏中的优势为
εIND-CCA2=Advdistinguish0,1+Advdistinguish1,2+εGame2≤ εdbdh+ADVCR+query/p+εxdh+0,
其中εxdh为敌手在XDH问题中的优势.易见在定理1中述及的相关假设成立的前提下,εIND-CCA2是可忽略的.
定理1证毕.
定理2. 在G上的DBDH假设及H2函数的抗碰撞性成立的前提下,3.1节中提出的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解密所得的明文.
3.1节中生成一类、二类令牌时对密文实施的校验步骤同样需要执行.显然,对于身为1类敌手的
而言,定理2证明中生成令牌的方式与原方案中的方式不可区分.
游戏0.在该游戏中,挑战者
的行为与定义1的OW-CCA2游戏中挑战者的行为一致,但是按上述方法生成各类令牌.
游戏1.在该游戏中,挑战者
生成挑战密文:
挑战密文其他组件的生成方式与原方案描述一致.
当被要求生成关于挑战密文的一类令牌、二类令牌时,挑战者
直接使用H2(m*)生成,并跳过校验步骤.
我们将在引理3中证明游戏0和游戏1的不可区分性.
引理3. 如果G上的DBDH假设成立,则以不可忽略概率区分Game0,Game1的PPT敌手不存在.
证明. 我们令
为一个尝试攻破DBDH假设的敌手,其试图通过调用尝试区分OW-CCA2游戏0与OW-CCA2游戏1的敌手
以攻破该假设.
1) 初始化.
采用与引理1中相同的方法生成用户Ut的公钥元组并发送给敌手![]()
2) 查询阶段-1.
① 解密预言机.与引理1中的描述相同;
② 令牌预言机.由于敌手
在OW-CCA2游戏中扮演代理角色,因此
需要完整地生成令牌并发送给
令牌的生成方法与游戏0中的描述一致.
3) 挑战阶段.
生成挑战明文m*←rM并使用与引理1相同的方法生成挑战密文.
4) 查询阶段-2.在该阶段中
使用与引理1查询阶段-2相同的方法扮演解密预言机、使用与查询阶段-1中相同的方法扮演令牌预言机.但当
被要求生成挑战密文与用户Ut相关的一类、二类令牌时,
使用H(m*)生成令牌并忽略对挑战密文的检验步骤.
5) 输出阶段.敌手
输出0或者1,表示其对于游戏类别的猜测,
对应输出猜测T=e(g,g)abc或者T=e(g,g)z.
当DBDH挑战元组中T=e(g,g)abc时,敌手
的视角与其在游戏0中的视角一致,否则与其在游戏1中的视角一致,该结论成立的理由与在引理1中所述理由一致.
和引理1中的情况相仿,挑战者
可能会中止运行,继而无法利用敌手
输出对于DBDH元组的猜解.
中止的概率同为Prabortion≤AdvCR+query/p.
最后我们使用Advdistinguish0,1表示敌手
区分2个游戏的概率,其上界为
Advdistinguish0,1≤εdbdh+Prabortion≤ εdbdh+AdvCR+query/p.
显而易见,在引理3中述及的相关假设成立的前提下,Advdistinguish0,1是可忽略的.
引理3证毕.
如果一名敌手能够在游戏1中取得不可忽略的优势,那么他可以被用来攻破Hash函数的抗碰撞性,这是因为游戏1中的挑战密文中,除了
以外其余元组均与挑战明文m*无关,且
能够利用Hash函数抗碰撞的挑战值H2(m*)扮演游戏1中的挑战者.
综上所述,一类敌手在OW-CCA2游戏中的优势为
AdvOW-CCA2=Advdistinguish0,1+AdvGame1≤ εdbdh+AdvCR+query/p+AdvPR,
其中,AdvPR指代Hash函数H2的原像性被攻破的概率.易见敌手在OW-CCA2游戏中的优势是可忽略的.
定理2证毕.
定理3. 在G1,G2上的Ex-DBDH假设、G上的DBDH假设成立的前提下,3.1节构造的FG-PKEET方案在标准模型下具备针对一类敌手的FG-Auth安全性质.
证明. 为证明3.1节所提及方案具备FG-Auth性质,我们需要构建一系列游戏:
游戏0.挑战者的行为与定义2的FG-Auth游戏中所描述一致.
游戏1.在该游戏中,生成关于用户Ut或Uw令牌的方法被改变,挑战者秘密地选取随机值ht,hw←r
q.
当接收到参数为(i,t)的Aut令牌生成请求时,挑战者返回元组
其中γ←r
q.当Aut的参数为(j,w)时,执行类似的生成步骤.
当接收到参数为(i,t,Ct)的Aut1一类令牌生成请求时,挑战者解密获取mt,及对应的Hash值并返回令牌三元组
其中γ←r
q.当参数为(j,w,ctw)时,执行类似步骤.
当接收到参数为(t,i,Ct,Ci)的Aut2二类令牌请求时,挑战者解密获取mt,mi,并生成对应的Hash值H2(mt),H2(mi),和对应令牌:
其中γ←r
q.当参数为(w,i,Cw,Ci)时,执行类似步骤.
在该过程中,均需按照原方案所述,对密文进行校验.
游戏2.在该游戏中,我们对挑战密文对中的
中的
组件进行修改,在挑战阶段输出的密文对为
其中,
的定义为
在游戏2中,当b=0时,挑战者使用H3(mb)生成
关于Uw的一类令牌、二类令牌,并在生成令牌过程中忽略对
的校验步骤.
为证明游戏1和游戏2的不可区分性,我们沿用引理1的方法证明引理4.
引理4. 如果G上的DBDH假设成立,以不可忽略概率区分游戏1和游戏2的PPT敌手不存在.
当b=1时,显然游戏1与游戏2对于敌手而言是不可区分的,下文中我们将证明如果当b=0时,敌手无法区分游戏1和游戏2.
证明. 令
为尝试攻破DBDH问题的敌手,其能够调用尝试区分游戏1和游戏2的敌手
作为子过程.
1) 初始化.
接收DBDH挑战五元组(g,ga,gb,gc,T).同时依照3.1节方案为用户Ut生成一个正常的密钥对.
随机选取bit←r{0,1}.如果bit=0,其使用chgdbdh和随机生成的θw←r
q扮演用户Uw,否则,其生成另一个正常密钥对来扮演Uw.
2) 查询阶段-1.
① 解密预言机:当bit=0时,
使用引理1中的方法处理关于Uw的解密请求,否则使用3.1节中述及的方法处理解密请求;
② 令牌预言机:与游戏1中所述行为一致.
3) 挑战阶段. 如果
使用引理1中所述及的方式生成挑战密文
为
其他情况下
使用正常密钥生成挑战密文.
4) 查询阶段-2.
① 解密预言机.
会根据FG-Auth游戏中的描述拒绝特定的挑战密文解密请求.当bit=0时,
使用引理1中查询阶段-2的方法关于Uw的解密请求.在其他场合下,
使用3.1节中的解密方法处理解密请求.
② 令牌预言机.与查询阶段-1描述一致.但是当bit=0时,挑战者
直接使用H2(m0)以生成挑战密文
关于用户Uw一类令牌、二类令牌,并忽略校验步骤.
5) 输出阶段.如果
保持chgdbdh不变并重新调用敌手
否则,若
将游戏识别为游戏1则输出对DBDH元组的猜测T=e(g,g)abc,若不然,输出T=e(g,g)z.
与引理1中理由类似,当T=e(g,g)z时,敌手
的视角与其在游戏2中的视角一致,反之与其在游戏1中的视角一致.
类似引理1中得出的结论,游戏1与游戏2的区分优势的上界为
Prdistinguish1,2≤query/p+ADVCR+εdbdh.
引理4证毕.
为了将FG-Auth游戏的困难性最终归约至Ex-DBDH假设,我们需要构建一系列游戏,并用与引理4相似的方法证明游戏之间的不可区分性,其原理类似于混合参数(hybrid argument).
游戏3.对比游戏2,挑战密文改动为
其中,
经由等式生成:
当挑战者
被要求生成
关于Ut的一类令牌或二类令牌时,他将使用
来生成它,且不对其进行校验.当b=0时,
使用
生成
关于Uw的一类令牌或二类令牌而不对其进行校验.
我们将用引理5证明游戏2与游戏3的不可区分性:
引理5. 如果G上的DBDH假设成立,则不存在能够以不可忽略概率区分游戏2与游戏3的PPT敌手.
证明. 令
为尝试攻破DBDH问题的敌手,其能够调用尝试区分游戏2和游戏3的敌手![]()
1) 初始化.
接收DBDH挑战五元组(g,ga,gb,gc,T),他使用chgdbdh和随机生成的θt←r
q扮演用户Ut,并生成一个正常密钥对来扮演Uw.
2) 查询阶段-1.
① 解密预言机.
使用引理1中的方法处理关于Ut的密文解密请求,其余情况下使用3.1部分中的方法处理解密请求;
② 令牌预言机.与游戏1中所述的行为一致.
3) 挑战阶段. 敌手敌手
随机选择b←r{0,1}.
如果b=1,则通过正常加密过程加密 m1←rM得到![]()
对于挑战密文
首先生成m0←rM,其次,根据引理1所述的方案,生成密文元组:
如果
的生成方法不变,对于
则先使用Uw的密钥正常加密m1←rGT得到
并进行修改:
4) 查询阶段-2.
① 令牌预言机.与查询阶段-1中的描述一致.但是当b=0时,挑战者
使用H(m0)生成挑战密文
关于用户Uw的一类、二类令牌;无论b为何值时,均使用H(m0)生成挑战密文
关于用户Ut的一类、二类令牌;
② 解密预言机.
会根据FG-Auth游戏中的描述拒绝特定的挑战密文解密请求,并使用引理1中查询阶段-2的方法处理关于Ut的解密请求.
5) 输出阶段. 若
将游戏识别为游戏2则输出对DBDH元组的猜测T=e(g,g)abc,若不然,输出T=e(g,g)z.
与引理1,引理4中的理由类似,当T=e(g,g)z时,敌手
的视角与其在游戏2中的视角一致,反之与其在游戏3中的视角一致.因此,敌手区分游戏2与游戏3的概率上界为
Advdistinguish2,3≤query/p+ADVCR+εdbdh.
对于PPT敌手而言其概率是可忽略的.
引理5证毕.
游戏4.挑战密文如以下方式生成,其与游戏5中挑战密文的唯一区别在于mb的赋值:
其中m#←rM.
该游戏中
的产生:
引理6将用于证明游戏3与游戏4对于PPT敌手的不可区分性.
引理6. 如果G上的DBDH假设成立,则以不可忽略概率区分游戏3与游戏4的PPT敌手不存在.
证明. 令
为尝试攻破DBDH问题的敌手,其能够调用尝试区分游戏3与游戏4的敌手![]()
1) 初始化. 敌手
从DBDH挑战者处获取DBDH挑战五元组(g,ga,gb,gc,T),同时为Ut生成一个正常的密钥对.
随机生成bit←r{0,1}.当
使用DBDH元组θw←r
q,根据引理1中所述的方法产生Uw的密钥对,否则,为Uw生成正常的密钥对.
2) 查询阶段-1.
① 解密预言机.当bit=1时,
根据引理1中的方法处理关于Uw的解密请求,其余场合使用3.1节中的方法处理解密请求;
② 令牌预言机.与游戏1中所述的行为一致.
3) 挑战阶段.
随机生成的明文m0,m1.如果bit=0,使用正常的密钥对对分别对m0,m1,生成
并进行修改:
其中![]()
如果
的生成方式与bit=0时一致.
通过使用引理1中生成挑战密文的方法产生:
4) 查询阶段-2.
① 令牌预言机.当b=1时,
使用H2(m1)生成挑战密文
关于用户Uw的一类令牌、二类令牌,反之挑战者
使用
生成挑战密文
关于用户Uw;挑战者
使用
生成
关于用户Ut的一类、二类令牌;剩余情况与查询阶段-1描述一致;
② 解密预言机.
会根据FG-Auth游戏中的描述拒绝特定的挑战密文解密请求.当bit=1时,
将使用引理1中查询阶段-2的方法处理关于Uw的解密请求.
5) 输出阶段.如果
保持chgdbdh不变并重新调用敌手
作为子过程,否则,若
将游戏识别为游戏3则输出对DBDH元组的猜测T=e(g,g)abc,若不然,输出T=e(g,g)z.
与引理1,引理4中的理由类似,当T=e(g,g)z时,敌手
的视角与其在游戏3中的视角一致,反之与其在游戏4中的视角一致.因此,敌手区分游戏3与游戏4的概率上界为
Advdistinguish3,4≤query/p+ADVCR+εdbdh.
最终,我们构建游戏5,其与游戏4统计不可区分.
游戏5.对比游戏4我们修改挑战密文组件
最终使得敌手攻破该假设的困难性能够被归约至Ex-DBDH问题,与Tang在文献[3]中的证明类似.
挑战密文对生成:
其中,若挑战者随机生成的比特值b=0,则赋值X=α,否则,X←rG1.
显然,游戏4与游戏5不可区分.我们将证明如果G1,G2上的Ex-DBDH假设成立,则敌手在游戏5中的优势是可忽略的.
1) 初始化.
使用Ex-DBDH挑战元组以及随机生成的
来扮演游戏5的挑战者.以2.1节中提及的元组X0为例,令![]()
B设置相应的密钥参数为
其余公私钥参数则根据3.1节中述及的方法正常生成.
2) 查询阶段-1.
① 解密预言机.在游戏5中,
能够校验关于用户Ut,Uw的非挑战密文C#中包含的明文与Hash值是否相应,以Ut为例,
可通过判定等式是否成立:
其中,m′,ω′可由非挑战密文组件
提取而得.
② 令牌预言机.
会根据FG-Auth游戏中的描述拒绝特定的令牌生成请求.
生成由非挑战密文
关于Ut,Uw的一类令牌:
其中,m#指代使用解密预言机解密
所得的明文.其余情况下,
采用类似办法生成相应的一类令牌、二类令牌.
3) 挑战阶段.与游戏5中的描述一致.
4) 查询阶段-2.
① 解密预言机.与查询阶段-1中的描述一致,但
会根据FG-Auth游戏中的描述拒绝特定的挑战密文解密请求.
② 令牌预言机.
会根据FG-Auth游戏中的描述拒绝特定的令牌生成请求.
生成关于挑战密文,参数为
的一类令牌
其中,
元组
为该一类令牌的结构.
生成挑战密文与非挑战密文
关于Ut,Ui的二类令牌
其中,γt←r
q.
由于
能够以上述方式模拟游戏5的挑战者,因此我们可将游戏5的攻破困难性归约至Ex-DBDH假设.
引理6证毕.
最终,敌手攻破方案3.1的FG-Auth性质的优势上界可表示为
AdvFG-SEC=Advdistinguish1,2+Advdistinguish2,3+ Advdistinguish3,4+AdvGame5= 3×(εdbdh+AdvCR+query/p)+εex-dbdh.
显而易见,如果相应假设成立,则敌手的优势是可忽略的.
定理3证毕.
表1对各个PKEET方案的特性进行了描述和汇总,其中方案[1]不具备令牌机制,因而不具备针对二类敌手的IND-CCA2性质,在安全性方面逊于其余PKEET方案.由表1可见,我们所提出的方案是唯一集成了FG-PKEET与PKEET-FA方案功能性,与此同时,安全性基于标准模型的密文一致性检测公钥加密方案.
Table 1 Property Comparison of PKEET Schemes
表1 PKEET方案特性对比
方案所基于假设∕原语安全模型功能性文献[1]CDH预言机模型PKEET文献[2]CDH预言机模型PKEET文献[6]IBE+One-Time Sigunature标准模型PKEET文献[7]Hash Proof System标准模型PKEET文献[5]DBDH标准模型PKEET文献[3]XDDH+EX-DBDH预言机模型FG-PKEET文献[4]CDH预言机模型PKEET-FA本文方案XDDH+DBDH+EX-DBDH标准模型FG-PKEET+PKEET-FA
表2、表3展示了各个PKEET方案的计算效率与存储开销.其中|G|,|GT|分别代表双线性对G×G→GT中对应群中元素的大小.
分别代表第3类双线性对
中对应群中元素的大小;EXP,BP,BP3,DEC分别表示实施一次幂运算、双线性对、第3类双线性对、解密操作所需的复杂度.
Table 2 Efficiency Comparison on Encryption/Decryption of PKEET Schemes
表2 PKEET方案加解密效率对比
方案加密∕解密公钥长度私钥长度密文长度加密时间复杂度解密时间复杂度文献[1]|G||ZZp|3|G|+|ZZp|3EXP3EXP文献[2]2|G|2|ZZp|4|G|+|ZZp|+2λ5EXP2EXP文献[6]5|G||G|(2λ+15)|G|+|ZZp|1BP+14EXP9BP+11EXP文献[7]4|G|8|ZZp|5|G|4EXP4EXP文献[5]3|G|+2|GT|2|G|+3|ZZp|2|G|+2|GT|+|ZZp|6EXP2BP+1EXP文献[3]4|G|2|ZZp||G|+2|G1|+2λ4EXP2EXP文献[4]3|G|3|ZZp|5|G|+|ZZp|6EXP5EXP本文方案|GT|+3|G|+|G1||G2|+3|ZZp|+|ZZq||GT|+2|G|+|ZZp|+2|G1|3EXP+1BP37EXP
Table 3 Efficiency Comparison on Token-Related Operation of PKEET Schemes
表3 PKEET方案令牌操作效率对比
方案令牌长度令牌生成时间复杂度一致性检测时间复杂度生成令牌所需交互轮数文献[1]2BP文献[2] (令牌)|ZZp|04EXP1文献[6](令牌)3|G|06BP+10EXP1文献[7](令牌)2|ZZp|04EXP1文献[5](令牌)|G|02BP1文献[3](令牌)3|G1|3EXP4BP32文献[4](令牌)|ZZp|02BP+2EXP1本文方案(令牌)3|G2|3EXP4BP32文献[4] (一类令牌)|G|+|ZZp|2EXP∕02BP+2EXP1本文方案(一类令牌)|G1T|+2|G2|(2EXP+1DEC+1BP3)∕(2EXP)2BP32文献[4](二类令牌)2|G|+2|GT|2BP+2EXP2BP+2EXP1本文方案(二类令牌)2|G1T|DEC+3EXP+1BP302
由于生成一类令牌时双方用户授权客体不同,即一方授权特定一条密文信息,另一方对自己公钥加密所得的所有密文进行授权,因此在令牌生成时间上有所区别,并用符号“/”划分.
某些场合下某些方案的令牌生成时间为0,这是由于在这些情况中,令牌在公私钥对生成过程中一并生成,只需被重复地分发给代理即可完成授权.
由于Lee等人的方案[6]、Zeng等人的方案[7]均为通用型方案,因此在进行效率计算时,我们特别声明文献[6]方案采用的一次性签名方案和IBE方案分别为文献[13]方案、文献[14]方案.文献[7]方案所基于的难题为离散对数难题.
在我们的方案中,当某个用户需生成关于同一密文的多个一次、二次令牌时,只需执行一次Dec操作.由表2、表3可见,相比已有方案,我们方案在计算效率与存储开销方面相当.
针对当前PKEET方案在令牌授权机制方面无法兼顾弹性授权机制特性与细粒度授权机制特性的问题,本文提出了一种新的PKEET方案,该方案具备细粒度特性,即允许发放一致性检测令牌的用户能够对参与检测的另一客体进行约束.同时,该方案具备弹性授权机制,允许令牌授权的客体可在用户级别及密文级别间进行选择,结合上文提及的细粒度特性,方案的令牌类别总共可分为用户-用户令牌、密文-密文令牌及密文-用户令牌共计3类令牌,使该方案能够在令牌授权机制方面为用户提供了更细粒度的控制手段.
方案安全性方面,本文所提及方案在功能性层面的延展使我们需对方案的安全性质定义做出修改及补充,并最终证明了我们所设计方案具备适应性选择密文攻击安全性及授权细粒度安全性.相比于此前拥有细粒度特性或弹性授权机制的方案,本文所提出方案的安全性首次建立于标准模型之上在安全性方面更加具有可靠性.
[1]Yang Guomin, Tan C H, Huang Qiong, et al. Probabilistic public key encryption with equality test[G] //LNCS 5985: Topics in Cryptology-CT-RSA 2010. Berlin: Springer, 2010: 119-131
[2]Tang Qiang. Public key encryption supporting plaintext equality test and user-specified authorization[J]. Security and Communication Networks, 2012, 5(12): 1351-1362
[3]Tang Qiang. Towards public key encryption scheme supporting equality test with fine-grained authorization[G] //LNCS 6812: Proc of the 16th Australasian Conf Security and Priracy. Berlin: Springer, 2011: 389-406
[4]Ma Sha, Huang Qiong, Zhang Mingwu, et al. Efficient public key encryption with equality test supporting flexible authorization[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(3): 458-470
[5]Zhang Kai, Chen Jie, Lee H T, et al. Efficient public key encryption with equality test in the standard model[J]. Theoretical Computer Science, 2019, 755(3): 65-80
[6]Lee H T, Ling San, Seo J H, et al. Public key encryption with equality test in the standard model[J]. Information Sciences, 2020, 516(11): 89-108
[7]Zeng Ming, Chen Jie, Zhang Kai, et al. Public key encryption with equality test via Hash proof system[J]. Theoretical Computer Science, 2019, 795(43): 20-35
[8]Canetti R, Goldreich O, Halevi S. The random oracle methodology, revisited[J]. Journal of the ACM, 2004, 51(4): 557-594
[9]Galbraith S D, Paterson K G, Smart N P. Pairings for cryptographers[J]. Discrete Applied Mathematics, 2008, 156(16): 3113-3121
[10]Zhou Jun, Dong Xiaolei, Cao Zhenfu. Research advances on privacy preserving in recommender systems[J]. Journal of Computer Research and Development, 2019, 56(10): 2033-2048 (in Chinese)(周俊,董晓蕾,曹珍富. 推荐系统的隐私保护研究进展[J]. 计算机研究与发展, 2019, 56(10): 2033-2048)
[11]Lai Junzuo, Deng R H, Liu Shengli, et al. Efficient CCA-Secure PKE from identity-based techniques[G]//LNCS 5985: Topics in Cryptology—CT-RSA 2010. Berlin: Springer 2010: 132-147
[12]Ballard L, Green M, Medeiros B de, et al. Correlation-resistant storage via keyword-searchable encryption[EB/OL].IACR Cryptology EPrint Archive, 2005(2005-11-22). https://eprint.iacr.org/2005/417
[13]Boneh D, Shen E, Waters B. Strongly unforgeable signatures based on computational diffie-hellman[G] //LNCS 3958: Proc of Int Conf on Theory and Practice of Public-Key Cryptography 2006. Berlin: Springer 2006: 229-240
[14]Boneh D, Boyen X. Efficient selective-ID secure identity-based Encryption without random oracles[G] //LNCS 3027: Advances in Cryptology—EUROCRYPT 2004. Berlin: Springer, 2004, 223-238
Deng Xiangtian, born in 1996. Master. His main research interests include network security and cryptography.
邓翔天,1996年生.硕士.主要研究方向为网络安全与密码学.
Qian Haifeng, born in 1977. PhD, professor. His main research interests include network security, cryptography, and algebraic geometry.
钱海峰,1977年生.博士,教授.主要研究方向为网络安全、密码学与代数几何.