指定验证者与可撤销重加密的可搜索加密方案
电子健康记录系统(electronic health record, EHR)为用户提供了存储和管理个人健康记录的功能,辅助医生为病人制定合理的医疗方案[1].在EHR系统中,用户将自身的病例数据外包到服务器端,不同的医院和医生可以与用户一起分享健康数据,从而为用户提供更加准确和优质的服务.目前已经有许多较为成熟的EHR系统,例如微软公司推出的Microsoft Medical Vault以及谷歌的Google Health等.
《吕氏春秋》里记载了一个故事。有人过江,见一人正要把一个婴儿投到江里去,孩子啼哭不止,过江的人忙问原因,那个人说:“此其父善游。”
由于外包到服务端的数据可能包含有用户的敏感隐私信息,而服务端的非完全可信状态可能导致隐私数据发生泄漏.因此,在数据外包前进行加密处理就成为防止其被非法访问的一种有效的途径.但是,其他合法的数据使用者也需要获得数据的访问权,例如EHR系统中的医院或者医生就需要在特定的环境下访问病人的病例数据从而做出正确的诊断.最直接的方法就是将用户的全部加密数据下载到本地,然后利用共享的密钥进行解密并执行数据的访问操作.然而由于数据量可能非常庞大,全部下载会给本地的计算资源带来难以承受的负荷[2].所以,依赖于用户提交的关键词并有选择地返回使用者所需要的数据,就成为一种有效可行的解决方法.但是,由于用户数据在服务器端是以密文的形式存储,传统的明文关键词搜索方案并不适用.因此,研究高效的可搜索加密方案就对密文环境下用户隐私数据的安全访问控制产生重要的意义.
可搜索加密方案(searchable encryption, SE)可以在保证数据隐私性和安全性的基础上提供密文检索等操作.目前已有许多可搜索加密策略,例如文献[3-5].Liu等人[4]利用从明文中提取出的关键词组成词典设计了密文检索策略;He等人[5]基于双线性对提出了一种较文献[4]更加高效的支持模糊关键字查询的方案.总体来说,目前已有的SE加密策略可以分成2类:1)对称的可搜索加密策略(sear-chable symmetric encryption, SSE),这类策略要求在数据访问者之间共享密钥;2)非对称的可搜索加密策略(searchable asymmetric encryption, SAE),也称为公钥可搜索加密策略(public key encryption scheme with keyword search, PEKS).在公钥可搜索加密研究领域,已有一些研究成果,如文献[6-8].其中,Zhang等人[8]提出了一种支持合取关键词搜索的PEKS方案;而Shen等人[9]则在PEKS策略的基础上提出了支持内积运算的谓词加密(predi-cate encryption, PE)方案.较之传统的PEKS方案,PE方案可以提供更加细粒度的密文访问控制.同时,谓词加密也可以引申出很多高效可行的加密策略,这其中就包括隐藏向量加密(hidden vector encryption, HVE)方案.与传统的PEKS加密方案一样,在HVE加密方案中,数据的发送者Bob与数据的接收者Alice是不同的实体.只有当数据使用者依据关键词生成的访问令牌(token)与数据拥有者定义的数据关联属性(attribute)匹配时,检索操作才可以顺利执行[10].较之一般的PEKS方案或者PE方案,HVE加密策略可以更加有效地支持关键词的合取和范围搜索等集合操作,因此可以被应用在诸如EHR系统等敏感数据检索领域.
目前已有许多关于HVE加密方案的研究成果,例如文献[11-13].其中,Mitsuhiro等人[13]设计的HVE加密策略引入了代理重加密的概念,但是代理者的访问权限无法变更;同时,文献[11-13]的方案均无法抵御离线关键词测试攻击(off-line keyword guessing attack, KG).在EHR系统中,检索关键词一般均取自范围较小的特定医学术语集合,这就给了攻击者实施离线关键词测试攻击的机会.同时,数据拥有者需要授权医生对其敏感的病例数据进行访问,而访问权限应该可以由患者进行细粒度的管控,当患者不希望医生再执行访问操作,或者当患者更改了医院或医生时,之前的访问权限能够被及时地撤销.一种可行的方法是当访问权限发生改变时,数据拥有者重新加密所有敏感数据,但这会带来很大的计算负荷.针对加密方案中数据访问权的细粒度可控问题,文献[14-17]均提出了相应的解决方案.其中Yang等人[14]提出了基于时间控制的代理重加密PEKS方案.通过引入可信的时间服务器生成时间戳,并将时间戳嵌入到搜索令牌中来实现代理访问权的控制.但是,文献[14]的验证操作需要O(l)次的双线性对运算(l为查询向量的维数),重加密操作需要额外的O(l)次的指数运算,令牌的空间复杂度也是O(l),因此方案在实际应用时效率较低.
综上所述,目前公钥可搜索加密或HVE加密的研究领域尚存在3点可以改进的地方:
1) 已有的HVE方案尚未考虑离线关键词测试攻击问题.
2) 已有的支持代理重加密的HVE方案不具有细粒度的代理权限管控的能力.
3) 已有的支持代理重加密的PEKS方案要么只能检索单个关键词,要么在令牌尺寸、解密和重加密的时间复杂度等方面线性依赖于查询向量的维数,导致方案的实际应用效率较低.
针对这些问题,本文基于HVE加密方案,提出了支持指定验证者与可撤销代理重加密的DT_aPRE_HVE加密策略.
本文的主要贡献归纳为4个方面:
1) 提出的DT_aPRE_HVE方案是第1个支持基于时间的可撤销代理重加密功能的HVE加密策略.与已有方案相比,本文将时间戳引入到重加密过程中,使数据拥有者可以为不同的数据访问者指定不同的时间区间,彼此互不影响,从而达到细粒度权限控制的目的.相比于文献[14],本文方案不需要引入额外的时间服务器,降低了系统复杂度.同时,由于时间戳是嵌入到密文中的,即使数据拥有者处于离线状态,数据的访问权限也可以被自动管控.
2) 提出的DT_aPRE_HVE方案是首个通过引入指定验证者来抵御离线关键词测试攻击的HVE加密策略.尽管有许多PEKS加密方案,如文献[18-19],通过指定验证者来抵御KG攻击,目前尚无HVE方案考虑KG攻击这一问题.而由于在EHR系统中,关键词集合可能只在特定的医学术语中产生,因此,能够抵御KG攻击就对HVE方案在EHR系统中的应用具有重要意义.
如果整体样本充分性度量值(Measure of Sample Adequacy, MSA)>0.70,Bartlett’s的P值≤0.01时,说明该条目可以用于后续的因子分析。通过正交旋转修改最初的问卷条目的分类结构进行EFA,并将其用于SEM中的测量模型。
3) 与已有的支持指定验证者或代理重加密功能的PEKS和HVE方案相比,本文方案的计算和通信复杂度均较低.具体地,本文方案的搜索令牌空间复杂度为O(1),验证算法的双线性对运算次数为O(1),重加密算法的时间复杂度也限定在O(1)常数上限内.
4) 本文提出的DT_aPRE_HVE方案在标准模型下面对选择密文、选择时间攻击是可证明安全的.同时,基于扩展判定线性假设(augmented decision linear assumption)可以证明方案在标准模型下面对离线关键词测试攻击也是可证明安全的.
1 相关工作
1.1 谓词加密PE与隐藏向量加密HVE
在谓词加密方案中,主密钥的拥有者可以为特定谓词集合中的任意谓词向量P生成相应的解密密钥skP.如果密文的关联属性为向量x,则当且仅当P(x)=1时,skP才可以解密密文.关于谓词加密方案目前已经有很多研究成果,如文献[20-24].其中,Katz等人[20]提出的谓词加密策略可以很好地支持关键词合取、析取和内积等操作.然而,所有这些谓词加密策略均需要至少O(l)次的双线性对运算来执行一次解密或验证操作,令牌的空间复杂度也为O(l)(l为查询向量的维数),因此方案的效率较低.
2) 判定性线性假设DLP (decision linear problem).设(g,gz1,gz2,gz1z3,gz2z4,Z)∈G6,判定Z=gz3+z4或
1.2 离线关键词测试攻击
离线关键词测试攻击KG,也称为字典攻击.当关键词取值集合的空间复杂度与搜索令牌的熵较小时,攻击者就可以实施KG攻击,而一旦攻击者通过枚举或猜测建立了令牌与关键词之间的映射关系,就可以威胁整个加密方案的安全性.一种解决KG攻击的方法是指定验证者来执行验证算法,防止攻击者直接判断令牌和密文的匹配程度,如文献[31-33].然而,这些方案均无法支持关键词合取或集合运算,方案的计算复杂度也较高.
其余参数同2.1,在占槽比为1/4和不同电流密度条件下滚镀。当电流密度低于0.8 A/dm2时,虽然样品表面均匀覆盖了银层,但电镀过程中镀液逐渐由无色变为蓝色,表明镀件和溶液中的银离子发生了置换反应。电流密度为0.8 A/dm2和1.0 A/dm2时,镀层均匀、光亮,镀液始终保持无色透明状态。而电流密度为1.5 A/dm2和1.8 A/dm2时,镀层发黄。继续增大电流密度,镀层严重发黄。由于样品在滚镀过程中只有部分零件可以直接接触电极而带电,其他零件以传导方式带电,而这一过程受到接触电阻的影响,因此电流密度成为影响制约电镀效果和镀层性能的一个重要因素。
1.3 支持代理重加密功能的可搜索加密策略
代理重加密机制通过引入一个代理服务器,将原始密文转化为代理者可以访问的重加密密文.Shi与Waters在文献[34]中考虑了如何将代理重加密机制与谓词加密策略进行合并,并进而提出了支持代理重加密的HVE加密机制.在文献[34]中,通过将搜索令牌经代理服务器进行分发共享来赋予代理用户访问密文的权限.但是他们的方案依然基于合数阶双线性群,因此计算和存储的开销较大.而且令牌的共享机制除了需要额外的安全信道外,也难以及时的撤销过期的访问权限.同样支持代理重加密功能的还有文献[35-37]提出的PEKS方案,但这些方案均不能高效地撤销代理权限,且不能支持多关键词搜索.Wang等人[38]提出了支持关键词合取搜索且具有代理重加密能力的PEKS方案,但是该方案仅在随机预言模型下是可证明安全的.在实际应用中,很难保证诸如Hash函数等对象可以按照在随机预言证明中所假设的那样,实现完全的随机化,从而难以保证系统的实际安全性[39].文献[10]利用授权矩阵方式动态地分配代理权限,然而方案无法支持多关键词检索,限制了方案的实用性.文献[15-17]通过引入时间戳来实现细粒度的权限控制.与文献[10,35-38]提出的方案相比,基于时间的代理访问控制可以高效的实现代理权的撤销,且不同代理者之间互不影响,达到了用户级的权限管理.然而这些方案无法支持密文检索.针对时间可控的代理访问与可搜索加密结合的问题,Yang等人[14]基于PEKS方案,通过引入额外的时间服务器,使得数据拥有者可以更加自由地控制密文的访问权限.同时,文献[14]采用基于延迟加密的重加密策略[40]以减轻代理服务器的运行负荷.然而,额外的时间服务器会增加系统的复杂度,也带来了更多的安全隐患.而且文献[14]的方案的通信和计算复杂度均较高,需要至少O(l)次的双线性对运算来执行一次验证操作,搜索令牌的大小也是O(l),重加密过程也需要额外的O(l)次的指数运算.
1.4 系统模型
在传统的PEKS系统中,一般定义4种类型的通信实体:1)可信的第三方服务器(trusted third party, TTP)为各方实体生成密钥;2)数据拥有者(data owner)将数据与关键词集合分别加密后上传到服务器;3)数据访问者(data user)生成搜索令牌并发起搜索请求;4)半诚实的服务器执行令牌与密文的匹配验证操作,返回相应的密文搜索结果.
本文在传统的PEKS系统的基础上增加了代理服务器(proxy server, PS),如图1所示:
![width=563,height=398,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/010091e9cc328a260a49c7b848fe26b5.png)
Fig. 1 DT_aPRE_HVE system model图1 DT_aPRE_HVE系统模型
与文献[14]中的方案不同,本文方案不需要额外的时间服务器来生成时间戳,而是在授权过程中嵌入时间戳.具体地,在文献[14]中,当数据拥有者发起授权操作时,需要同时给代理服务器和时间服务器发送通知,时间服务器根据数据拥有者的要求,利用自身的密钥生成时间戳,并将时间戳发送给代理者以供其生成合法的搜索令牌.额外的时间服务器不仅增加了系统的复杂度,也增加了安全风险.然而在本文方案中,时间戳被封装在授权密钥中,由TTP生成.在授权阶段,数据拥有者为TTP生成一份代理人和时间区间的列表,而TTP通过特定的授权算法为列表中的每个代理者生成包含各自时间区间的授权密钥.在重加密阶段,代理服务器依据数据拥有者指定的时间区间重加密密文.代理者利用自身的密钥以及TTP发送的授权密钥生成搜索令牌.当服务器验证查询向量与密文属性相匹配,且搜索令牌与重加密密文中的时间区间相匹配时,返回相应检索结果.
本文系统的安全性基于2个假设:1)服务器不会实施离线关键词测试攻击;2)服务器不会与外部攻击者进行合谋攻击.事实上,文献[14,31-33]等方案的安全性也基于这2个前提.本文考虑2种类型的敌手模型:1)半诚实的服务器端,其会在诚实的执行搜索操作的同时,试图获取用户的敏感数据;2)外部攻击者,通过窃听通信信道上的传输数据来试图分析用户的私有信息.与文献[14-17]中的安全模型不同的是,本文在安全游戏的挑战阶段之后,允许敌手进行关于挑战密文的重加密问询(显然重加密的目标身份不可以是敌手自己),并证明了重加密密文依然满足属性隐藏性,因此方案的安全性更高.与此同时,本文也考虑了离线关键词测试攻击问题,并在安全分析中证明了搜索令牌可以完全隐藏查询向量的信息,从而使敌手无法建立关键词与令牌之间的映射关系,达到抵御离散关键词测试攻击的目的.
2 DT_aPRE_HVE的形式化定义与安全模型
2.1 预备知识
标识与记号:设q为正素数,q表示
范围内的整数,
*q=
q
{0}.‖v‖2表示向量v的l2范数.|S|表示集合S中元素个数.本文中使用标准的O记号表示函数的复杂度上界,即g(n)=(f(n))当且仅当存在正常数c和n0,使得对任意的n≥n0有|g(n)|≤c|f(n)|成立.相应地,定义下界复杂度记号ω,即g(n)=ω(f(n))当且仅当存在正常数c和n0,使得对任意的n≥n0有|g(n)|≥c|f(n)|成立.
表示x随机取自集合S.定义关于n的可忽略函数negl(n),使得对任意多项式g(n),当n足够大时都有
如果概率p=1-negl(n)则称概率是压倒性成立的,若p=negl(n),则称概率是可忽略的.对于向量xb∈{0,1}l,记xbi∈{0,1}为xb的第i位.
定义1. 谓词函数[20].设Σ为任意的属性集合,*为通配符,Σ*=Σ∪{*},l为查询向量与密文属性的维数.设查询向量与属性向量分别为与x=(x1,x2,…,xl)∈Σl,集合S(σ)={i|σi≠*}.则谓词函数f:Σ×Σ*={0,1}定义为
![width=217,height=44,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/6e2e99617967f5ce7b8644531fe4253f.png)
当且仅当fσ(x)=1时,称x与σ匹配.
定义2. 双线性映射[14].设G与GT分别为阶为素数p的循环群,g∈G为群G的生成元.则双线性映射e:G×G→GT成立当且仅当:
1) 双线性性.对任意u,v∈G,a,b∈,有e(ua,vb)=e(u,v)ab.
2) 非退化性.e(g,g)≠1.
3) 可计算性.存在有效的多项式时间算法计算映射e.
定义3. 复杂性假设[27]:
1) 判定性BDH (bilinear Diffie-Hellman)假设.设(g,ga,gb,gc,Z)∈G4×GT,判定Z=e(g,g)abc或
结合表2中数据结果分析,综合组80例接种儿童的依从性评分显著高于参照组,P<0.05;相较于参照组,综合组家长临床护理满意度评分显著更高,P<0.05。详细数据可见下表2。
HVE加密作为谓词加密的一种,由Boneh和Waters[25]在2007年首次提出.在HVE加密策略中,密文关联的属性定义为字母表Σ上的向量x=(x1,x2,…,xl),查询向量定义为字母表Σ*=Σ∪{*}上的σ=(σ1,σ2,…,σl).当且仅当向量x与σ匹配时,才可以检索密文.Boyen[26]基于合数阶双线性群假设证明了提出的HVE方案的安全性.然而,基于合数阶双线性群的HVE方案的渐进性复杂度较高.针对这一问题,Park等人[27-28]提出了2个HVE策略,将方案的双线性对运算次数和搜索令牌的空间复杂度限定在了常数范围内,提高了HVE方案的执行效率.文献[29-30]也提出了同样高效的HVE方案.然而,这些方案均无法在保证较低的渐进性复杂度的同时,有效地抵御离线关键词测试攻击并支持代理重加密功能,影响了方案的实际应用性.
3) 扩展判定线性假设ADLP(augmented decision linear problem).设判定Z=gz1(z3+z4)或
基于混沌自适应粒子群算法的Logistic回归健康评估模型参数计算 蔡延光,梁秉毅,蔡颢,戚远航,Ole Hejlesen(1)
2.2 DT_aPRE_HVE的形式化定义
本文提出的支持指定验证者和可撤销代理重加密的DT_aPRE_HVE方案包含11个多项式时间算法:
1) 系统建立Setup(k).由TTP执行,输入安全参数k,输出主公钥Mpk与主密钥Msk.
2) 用户密钥生成KGuser(Mpk,Msk).设用户集user={user0,user1,…,usern},n为用户数.由TTP执行,输入Mpk和Msk,生成用户密钥对[pkuser,skuser].
3) 服务器密钥生成KGserver(Mpk,Msk).由TTP执行,输入Mpk和Msk,生成服务器密钥对[pkserver,skserver].
4) 令牌生成算法Trap(pkserver,pkuser,skuser,Mpk,σ).由数据访问者执行,输入pkserver,pkuser,skuser,Mpk以及查询向量σ,输出查询令牌TKσ.
5) 加密算法Enc(pkserver,pkuser,skuser,Mpk,x).由数据拥有者执行,输入pkserver,pkuser,skuser,Mpk以及属性向量x,输出密文CT.
6) 验证算法Test(CT,TKσ,skserver).由服务器执行,输入CT,TKσ,skserver,若fσ(x)=1,输出1,否则输出0.
7) 授权算法Autuser0→user1(skserver,pkuser0,skuser0,pkuser1,skuser1,T).由TTP执行,输入skserver,pkuser0,skuser0,pkuser1,skuser1以及时间区间T,其中pkuser0,skuser0
与
pkuser1,skuser1
分别为用户user0与user1的密钥对,且user0作为数据拥有者向代理者user1授权.输出授权密钥akuser0→user1.
8) 代理令牌生成算法Re_Trap(pkserver,pkuser1,skuser1,Mpk,σ,akuser0→user1).由代理数据访问者user1执行,输入pkserver,pkuser1,skuser1,Mpk,σ,akuser0→user1,输出查询令牌
农业机械技术培训不但要有理论内容,更要有实践操作。许多农村地区受经济发展限制,硬件设施不完善,机械化培训只能进行简单的理论知识培训,无法实现理论与实践的有机结合,培训的实际效果大打折扣。部分村庄的培训教室、培训时间及地点都不固定,农业机械技术培训工作存在严重的形式化。
9) 重加密密钥生成算法Re_KGuser0→user1(skserver,pkuser0,skuser0,pkuser1,skuser1).由TTP执行,输入skserver,pkuser0,skuser0,pkuser1,skuser1,输出重加密密钥rkuser0→user1.
10) 重加密算法Re_Enc(rkuser0→user1,CT,T).由代理服务器执行,输入rkuser0→user1,CT,T,输出重加密密文CTRe.
11) 重加密验证算法由服务器执行,输入
若fσ(x)=1,且
中的时间区间匹配,输出1,否则输出0.
2.3 安全模型
定义4. 选择消息、选择时间攻击的不可区分性(indistinguishable against chosen keyword chosen time attack, IND-CKCTA).如果概率多项式时间(probabilistic polynomial time, PPT)的敌手A赢得以下游戏Game的概率是可忽略的,则称本文提出的DT_aPRT_HVE方案是IND -CKCTA安全的.
如1.3节所述,本文针对半诚实服务器和外部恶意敌手分别定义了2个安全游戏与
其中在
中,定义Aserver为半诚实服务器,在
中定义Ae为恶意外部敌手.
2) 用户密钥生成KGuser(Mpk,Msk).由TTP执行.算法随机选取y1,y2,α,β,ε∈p,设Y1=gy1,Y2=gy2,输出用户的密钥对:pkuser={Y1,Y2,Ω,gε},skuser={y1,y2,α,β,ε},其中Ω=e(gα,Y1)e(gβ,Y2).
![width=123,height=20,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/61f62f5091c2c81ce03099bbe29b67b2.png)
1) 初始化Init.敌手Aserver提交2个密文属性向量
2) 系统建立Setup.输入安全参数k,挑战者C运行方案的Setup(k)算法生成主密钥对Mpk,Msk
,同时运行KGuser(Mpk,Msk)和KGserver(Mpk,Msk)生成用户和服务器的密钥对.若b=1,C将{Mpk,pkuser,pkserver,skserver}发送给AServer;否则,C将{Mpk,pkuser,skuser,pkserver}发送给Ae.
3) 敌手适应性的进行如下问询.
① 令牌问询.若b=1,敌手Aserver提交查询向量且满足
返回相应的令牌TKσ.
1) 初始化Init.敌手提交2个查询向量
Ae由于拥有自己的密钥因此不需要进行令牌或代理令牌问询.
由于沙盘实训中各经营团队在动态的竞争环境中开展经营活动,经营成败在所难免。一方面,经营者对经营的成败会进行归因;另一方面,经营的失败也往往会带来打击,使心理遭受挫折。
③ 授权密钥问询.当b=2时,Ae提交身份对user0,user1
,时间区间T,C返回授权密钥akuser0→user1.
所以,分级阅读实在是个“奢侈品”,只可能诞生在英国这样阅读历史悠久、阅读习惯世代相传,换句话说,爷爷就开始接受高品质“语文”教育的国家里。至于“英美孩子真的是按分级阅读读书吗?”答案是:是的,在英国分级阅读是小学教学“语文”的基本手段。但是必须说明的是,在家里,英国人更习惯尊重孩子的兴趣来选择阅读内容,让孩子获得阅读的快乐远远重于通过阅读学到什么,孩子的阅读内容更为自主和宽泛。
这是一个坚强的人在患难中求援的喊声,但比尔并没有回头。他的伙伴干瞧着他,只见他古里古怪地一瘸一拐地走着,跌跌冲冲地前进,摇摇晃晃地登上一片不陡的斜坡,向矮山头上不十分明亮的天际走去。他一直瞧着他跨过山头,消失了踪影。于是他掉转眼光,慢慢扫过比尔走后留给他的那一圈世界。
⑤ 重加密问询.敌手A提交身份对user0,user1
,原始密文CT,时间区间T,C返回重加密密文CTRe.
4) 挑战阶段Challenge.若则必有
掷币随机ε∈{0,1},运行方案的Enc算法生成挑战密文
并发送给A.
④ 重加密密钥问询.敌手A提交身份对user0,user1
,C返回重加密密钥rkuser0→user1.
5) 敌手可以适应性地进行步骤3涉及的问询.其中,令牌和令牌重生成问询需满足重加密密文问询中,若密文为挑战密文,则身份user1不可以是敌手自己,且敌手提交时间对
T0,T1
.同时敌手不可以针对Tε和
进行代理令牌问询.
6) 猜测Guess.敌手猜测输出ε′,若ε′=ε,则称敌手赢得游戏.优势为则当且仅当
关于安全参数n是可忽略的时,方案是IND-CKCTA安全的.
定义5. 针对离线关键词测试攻击的不可区分性(indistinguishable against keyword guessing attack, IND-KGA).如果PPT敌手A赢得以下游戏Game3的概率是可忽略的,则称本文方案面对离线关键词测试攻击是IND-KGA安全的.
Game3:
② 代理令牌生成问询.若b=1,敌手Aserver提交查询向量以及身份对
user0,user1
,时间区间T,且有
返回相应的令牌
2) 系统建立Setup.输入安全参数k,挑战者C运行方案的Setup(k)算法生成主密钥对Mpk,Msk
,同时运行KGuser(Mpk,Msk)和KGserver(Mpk,Msk)生成用户和服务器的密钥对.C将{Mpk,pkuser,pkserver}发送给A.
3) 敌手适应性的进行如下问询.
① 令牌问询.敌手A提交查询向量返回相应的令牌TKσ.
② 令牌重生成问询.敌手A提交查询向量以及身份对
user0,user1
,C返回相应的令牌
4) 挑战阶段Challenge.C掷币随机ε∈{0,1},运行Trap算法生成挑战令牌并发送给A.
由以上捐赠事例我们看出,民国时期图书馆的捐赠活动,有其特殊的文化背景和捐赠主体,另外,图书馆自身所做出的努力、图书馆捐赠的制度及方式等,不仅对于当时社会文化,尤其是图书馆事业的发展产生了巨大的影响,对于当下的图书馆捐赠工作也同样具有有益的参考和借鉴意义。
5) 敌手可以适应性地进行步骤3涉及的问询.其中敌手提交的查询向量不可以是
6) 猜测Guess.敌手猜测输出ε′,若ε′=ε,则称敌手赢得游戏.优势为则当且仅当
关于安全参数n是可忽略的时,方案是IND-KGA安全的.
(3)进一步丰富地理信息资源并扩展应用。一方面,生产数据库的构建,扩展和丰富了基础地理信息数据和地理国情数据,其成果的可塑性增加了提供地理信息数据个性化服务、地理国情乃至省情监测和统计分析等需求的可能性;另一方面,通过融合生产的实施,可大幅提升我省基础地理信息数据覆盖率和更新频次,保持数据的完整性和现势性。
3 DT_aPRE_HVE方案的具体实现
本节给出DT_aPRE_HVE方案的具体实现.方案包括11个多项式时间算法.
1) 系统建立Setup(k).由TTP执行.设g∈G为循环群G的生成元,算法随机取整数v1,v2,…,vl;t1,t2,…,tl∈p.算法随机选取群元素a1,a2,…,al;b1,b2,…,bl;c1,c2,…,cl∈G.对每个i∈{1,2,…,l},设Vi=gvi,Ti=gti.H:{0,1}*→
p为TTP任意选定的抗碰撞Hash函数.算法输出主密钥对:
上式中,λj(j=1,2,…,n)表示n个DMU的组合权重,和分别表示虚构DMU的投入和产出,Xj0和Yj0分别表示所评价的第j0个DMU的投入和产出,和分别表示松弛变量。可以证明:当参数满足θ*=VD=1且S*-=S*+=0时,第j0个DMU为DEA有效;当参数仅满足θ*=VD=1时,第j0个DMU为弱DEA有效;当参数θ*=VD≠1时,第j0个DMU为非DEA有效。
3) 服务器密钥生成KGserver(Mpk,Msk).由TTP执行.设s,τ∈输出服务器密钥对pkserver=gs,skserver=
s,τ
.
4) 令牌生成算法Trap(pkserver,pkuser,skuser,Mpk,σ).由数据访问者执行,设S(σ)={i|σi≠*},算法随机选择A,B,C∈p,(ri,ki),(ηi,τi),(mi,ni)∈
p,且对于i∈S(σ)均有riy1+kiy2=A,ηiy1+τiy2=B,miy1+niy2=C,则算法输出搜索令牌如下:
K3=gA,K4=gB,K5=gΔC,
其中,Δ=|S(σ)|.
5) 加密算法Enc(pkserver,pkuser,skuser,Mpk,x).由数据拥有者执行,x=(x1,x2,…,xl)∈(Σ)l为密文关联的关键词属性,算法随机选取s1,s2∈p,输出密文:
然而,在人们抬头仰望“互联网之光”时,也有一批人在低头铺就技术脚下的路。在技术之下还有一张安全的大网在铺开,因为美好需要守护,所以人们在对数字技术上下求索的路途中,不仅仅在构画未来,也在保卫未来。
CT={C1=,C2=
,
C5=gεs1,C6=gs2,C7=Ωs1}.
6) 验证算法Test(CT,TKσ,skserver).由服务器执行,验证C7是否成立,若成立输出1,否则输出0.其中
且
正确性:
e(K1,C1)e(K2,C2)=e((ci)s1,gηiy1+τiy2)e((gεs)s1,gmiy1+niy2)=
因此,若fσ(x)=1,Test(CT,TKσ,skserver)=1,否则算法输出0.
7) 授权算法Autuser0→user1(skserver,pkuser0,skuser0,pkuser1,skuser1,T).由TTP执行,设pkuser0={Y0,1,Y0,2,Ω0,gε0},skuser0={y0,1,y0,2,α0,β0,ε0}为用户user0的密钥对,pkuser1={Y1,1,Y1,2,Ω1,gε1},skuser1={y1,1,y1,2,α1,β1,ε1}为用户user1的密钥对.设user0为数据拥有者,通过TTP向代理者user1发起授权,T由user0指定.则授权密钥akuser0→user1为
g(α0y0,1-ε1τ0+H(T,pkuser1))
y1,1,
8) 代理令牌生成算法Re_Trap(pkserver,pkuser1,skuser1,Mpk,σ,akuser0→user1).由代理数据访问者user1执行,算法随机选择A1,B1,C1∈p,(r1,i,k1,i),(η1,i,τ1,i),(m1,i,n1,i)∈
p,且对于i∈S(σ)有r1,iy1,1+k1,iy1,2=A1,η1,iy1,1+τ1,iy1,2=B1,m1,iy1,1+n1,iy1,2=C1,算法输出
如下:
其中,Δ=|S(σ)|.
9) 重加密密钥生成算法Re_KGuser0→user1(skserver,pkuser0,skuser0,pkuser1,skuser1).由TTP执行,输出重加密密钥给代理服务器.
10) 重加密算法Re_Enc(rkuser0→user1,CT,Tc).由代理服务器执行,时间区间为Tc(user0指定),生成重加密密文:
![width=313,height=117,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/3e11c87d32a56071557ccd15d7cce281.png)
11) 重加密验证算法由服务器执行,验证
是否成立,若成立算法输出1,否则输出0.其中
设
关联的时间区间为T,CTRe关联的时间区间为Tc.当且仅当T=Tc时:
e(g(α0y0,1-ε1τ0+H(T,pkuser1))/y1,1×
e(g(β0y0,2-ε1τ0+H(T,pkuser1))
y1,2×
e((gεs)s1,gΔC1)×e(g,g-2s1(ε1τ0-H(T,pkuser1)))×e(g,g2s1(ε1τ0-H(T,pkuser1)))=
e((gεs)s1,gΔC1).
同时有:
因此,若fσ(x)=1,且否则算法输出0.
提出的DT_aPRE_HVE方案的验证算法依赖于2个条件,分别是fσ(x)以及T,Tc是否匹配.数据拥有者通过授权密钥的方式将T隐式地发送给代理者用于代理令牌的生成.在重加密过程中,可以将Tc嵌入到密文中,实现访问控制.在fσ(x)=1的前提下,所有T=Tc的代理用户都可以访问密文,同时,数据拥有者也可以为不同时间区间的用户,如T1,T2,…,Tn
,分别生成对应的时间区间为
Tc1,Tc2,…,Tcn
的重加密密文,且互不影响.即使数据拥有者处于离线模式,代理权限依然可控.同时,DT_aPRE_HVE方案的代理令牌生成和重加密算法只需要O(1)次指数运算,较之文献[14]中O(l)次指数运算,可以更高效地支持这种细粒度的重加密策略.
4 DT_aPRE_HVE方案的安全证明
本节给出DT_aPRE_HVE方案的安全性证明,包括方案的IND-CKCTA安全性以及IND-KGA安全性.设集合不失一般性,假设D={1,2,…,|D|}.设{R3,1,R3,2,…,R3,|D|},{R4,1,R4,2,…,R4,|D|}均为循环群G中的随机元素.设Δy=|S(σ)|.
在证明IND-CKCTA安全性方面,首先定义一系列混合游戏如下:
Game0.与2.3节定义的安全游戏一样,若敌手为Aserver,则Game0恰为否则为
此时挑战密文由方案的正常加密算法Enc生成.
Game1.与Game0基本一致,唯一区别是在挑战阶段.Game1中,挑战密文的C7为群GT中的随机元素,即
同时设Game1为Game2,0.
Game2,1.与Game1基本一致,唯一区别是在挑战阶段,挑战密文为
Game2,i.与Game2,i-1基本一致,唯一区别是在挑战阶段,挑战密文为
Game2,|D|.与Game2,|D|-1基本一致,唯一区别是在挑战阶段,挑战密文为
根据集合D的定义以及密文的定义,Game2,|D|不会泄露任何属性向量的信息,因此,如果能够证明Game0与Game2,|D|是计算不可区分的,则方案面对半诚实服务器和恶意外部敌手均是IND-CKCTA安全的.
在具体证明之前,定义3种类型的搜索令牌或代理令牌问询,以及2种类型的授权密钥问询.
1) 搜索令牌或代理令牌问询方面
类型1. S(σ)∩D=∅且满足对任意的i∈S(σ),均有此时
类型2. 存在i∈S(σ)∩D满足且
此时
类型3. 存在i∈S(σ)∩D使得或
此时
2) 授权密钥问询方面
类型1. 此时Ae作为授权发起方,在授权密钥问询中作为user0.
类型2. 此时Ae作为被授权方,在授权密钥问询中作为user1.
定理1. 若BDH假设以及ADLP假设在循环群G中成立,则所提出的DT_aPRE_HVE方案在标准模型下是IND-CKCTA安全的.
定理1可以通过4个引理进行证明.引理1和引理2证明方案面对半诚实服务器的IND-CKCTA安全性.引理3和引理4证明方案面对恶意外部敌手的IND-CKCTA安全性.
引理1. 设BDH假设在循环群G中成立,则对于任意PPT敌手Aserver,Game0与Game1计算不可区分.即若Aserver以区分Game0与Game1,则存在多项式时间算法B,以至少
的概率解决判定性双线性BDH问题,其中qT为令牌和代理令牌问询次数.
证明. 设挑战者为C,构造C与Aserver之间的概率多项式时间算法B如下:
1) 初始化Init.敌手Aserver提交2个密文属性向量设(g,ga,gb,gc,Z)∈G4×GT为判定性双线性假设实例.
2) 系统建立Setup.算法随机选取r1,r2,y1,y2,v1,v2,…,vl,t1,t2,…,tl,θ1,θ2,…,θl,φ1,φ2,…,φl,λ1,λ2,…,λl以及s,ε,τ∈p.若y1+y2=0,则重新选择y1,y2.C设置Y1=gy1,Y2=gy2.对任意i∈[1,l],设
将参数集合
给敌手Aserver,注意,对C与Aserver来说,α=ab+r1与β=ab+r2均是未知的.这里假设skuser={y1,y2,ε,α,β}是某个用户userx的密钥.
3) 敌手适应性地进行如下问询.
① 令牌问询.敌手Aserver提交查询向量且满足
类型1. B随机输出{0,1}并退出.由于此时对于加密算法Enc来说,相当于在挑战阶段C随机生成相同的挑战密文,只需隐式的令s1=c,即可由判定性双线性得到Game0恰为Game1.
类型2或类型3. 此时存在j∈S(σ)使得σj≠*且设
p,(ri,ki),(ηi,τi),(mi,ni)∈
p,且对于任意满足
的i∈S(σ)有riy1+kiy2=A,ηiy1+τiy2=B,miy1+niy2=C.返回TKσ如下:
TKσ=
其中,隐式成立.若隐式设
则
且
此时TKσ为正确令牌.
② 代理令牌生成问询.设身份对user0,user1
,且满足
分2种情况考虑.
Ⅰ 若user0≠userx,C调用方案的KGuser(Mpk,Msk)算法生成user0和user1的密钥,再调用方案的Autuser0→user1和Re_Trap算法正常生成代理令牌并发送给Aserver.
Ⅱ 若user0=userx,C回答敌手Aserver:
类型1. 与①一样,B随机输出{0,1}并退出,此时Game0恰为Game1.
类型2或类型3. 此时存在j∈S(σ)使得σj≠*且选择
p,且对于任意满足
的i∈S(σ),有返回
若隐式令且
则有
则
为正确的代理令牌.
③ 重加密密钥问询.敌手Aserver提交身份对user0,user1
,C调用KGuser(Mpk,Msk)算法生成user0和user1的密钥,之后调用Re_KGuser0→user1算法返回重加密密钥rkuser0→user1并发送给Aserver.
④ 重加密问询.敌手Aserver提交身份对user0,user1
以及原始密文CT,时间区间Tc,C首先进行重加密密钥问询获得rkuser0→user1,之后调用方案的Re_Enc算法生成重加密密文CTRe.
4) 挑战阶段Challenge.若随机输出{0,1}并退出;否则,C任取s2∈
p,生成
![width=261,height=70,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/50de4f254ea21a8b4cb85e71785260af.png)
其中,若令Z=e(g,g)abc,则
此时为游戏Game0,若
则为游戏Game1.
5) 敌手Aserver可以适应性地进行步骤3涉及的问询.其中,令牌和令牌重生成问询需满足若在重加密问询中,敌手提交的密文为挑战密文
则C取s2∈
p,pkuser1,y1,1,y1,2,ε1由KGuser(Mpk,Msk)生成的user1密钥.user1≠Aserver.返回
![width=313,height=96,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/895e33c3d489caffbd3e8b21edc44375.png)
其中,若Z=e(g,g)abc,则
此时重加密密文对应Game0,否则为游戏Game1.
6) 猜测Guess.敌手Aserver输出猜测ε′,若ε′=ε,B输出1,否则输出0.
概率分析:若敌手Aserver以概率区分Game0与Game1,则算法B可以以至少
的概率解决BDH假设,由于
是可忽略的,因此
也是可忽略的,从而Game0与Game1是计算不可区分的.
证毕.
引理2. 设扩展判定线性假设在循环群G中成立,则对于任意PPT敌手Aserver,Game2,j与Game2,j+1计算不可区分.即若Aserver以区分Game2,j与Game2,j+1,则存在多项式时间算法B,以至少
的概率解决ADLP假设问题.
证明. 设挑战者为C,构造C与Aserver之间的概率多项式时间算法B如下:
1) 初始化Init.敌手Aserver提交2个密文属性向量设
为ADLP假设实例.
2) 系统建立Setup.设Dj+1=δ,算法随机取r1,r2,y1,y2,v1,v2,…,vl,t1,t2,…,tl,θ1,θ2,…,θl,φ1,φ2,…,φl,λ1,λ2,…,λl以及s,τ,w∈p,且
其中
和
对挑战者C不可见,对任意i∈[1,l]且i≠δ,设
对i=δ,有
令Ω=e(gr1,Y1)e(gr2,Y2),C将参数集合
发送给敌手Aserver.
3) 敌手适应性的进行如下问询.
① 令牌问询.敌手Aserver提交查询向量且满足
类型1. 此时δ∉S(σ),C随机选择A,B,C∈p,(ri,ki),(ηi,τi),(mi,ni)∈
p,且对任意i∈S(σ),riy1+kiy2=A,ηiy1+τiy2=B,miy1+niy2=C,C返回TKσ:
其中,隐式成立.若隐式令
则
此时TKσ为正确的令牌.
类型2. 此时δ∈S(σ)满足且
对任意i∈S(σ)
δ,随机选择A,B,C∈
p,(ri,ki),(ηi,τi),(mi,ni)∈
p且满足riy1+kiy2=A,ηiy1+τiy2=B,miy1+niy2=C.C返回TKσ:
其中,隐式成立,若隐式令
则
此时TKσ为正确的令牌.
类型3. 此时存在δ,j∈S(σ),满足且
随机选择A,B,C∈
p,(ri,ki),(ηi,τi),(mi,ni)∈
p,且对任意i∈S(σ),riy1+kiy2=A,ηiy1+τiy2=B,miy1+niy2=C,C返回TKσ:
其中,隐式成立,若隐式的令
则此时TKσ为正确的令牌.
② 代理令牌生成问询.设身份对user0,user1
,且满足
调用方案的KGuser(Mpk,Msk)算法生成user0和user1的密钥,再调用方案的Autuser0→user1和Re_Trap算法正常生成代理令牌并发送给Aserver.
③ 重加密密钥问询.敌手Aserver提交身份对user0,user1
,C调用KGuser(Mpk,Msk)算法生成user0和user1的密钥,之后调用Re_KGuser0→user1算法返回重加密密钥rkuser0→user1并发送给Aserver.
④ 重加密问询.敌手Aserver提交身份对user0,user1
以及原始密文CT,时间区间Tc,C首先进行重加密密钥问询获得rkuser0→user1,之后调用方案的Re_Enc算法生成重加密密文CTRe.
4) 挑战阶段Challenge.若随机输出{0,1}并退出;否则,生成挑战密文:
![width=305,height=126,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/1dfae4482342b38d32f8e4b6856340a6.png)
其中,隐式成立.若Z=gz1(z3+z4),则
同理有
此时为Game2,j,否则为Game2,j+1.
5) 敌手Aserver可以适应性地进行步骤3涉及的问询.其中,令牌和令牌重生成问询需满足若在重加密问询中,敌手提交的密文为挑战密文
设pkuser1,y1,1,y1,2,ε1为由KGuser(Mpk,Msk)生成的user1密钥.user1≠Aserver.C返回挑战密文的重加密密文为
![width=313,height=76,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/6c961b939e45cfde098323d5d18dc031.png)
此时,因此为合理的重加密密文.与挑战阶段同理可得,Z=gz1(z3+z4)时为
时为Game2,j+1.
6) 猜测Guess.敌手Aserver输出猜测ε′,若ε′=ε,B输出1,否则B输出0.
概率分析:若敌手Aserver以概率区分Game2,j与Game2,j+1,则算法B可以以至少
的概率解决扩展判定线性假设,由于
是可忽略的,因此
也是可忽略的,从而Game2,j与Game2,j+1是计算不可区分的.
证毕.
引理3. 设BDH假设在循环群G中成立,则对于任意PPT敌手Ae,Game0与Game1计算不可区分.即若Ae以区分Game0与Game1,则存在多项式时间算法B,以至少
的概率解决BDH问题.
证明. 设挑战者为C,构造C与Ae之间的概率多项式时间算法B.
1) 初始化Init.敌手Ae提交2个密文属性向量设(g,ga,gb,gc,Z)∈G4×GT为判定性双线性假设实例.
2) 系统建立Setup.算法随机选取整数r,αe,βe,r1,r2,y1,y2,ye,1,ye,2,v1,v2,…,vl,t1,t2,…,tl,以及θ1,θ2,…,θl,φ1,φ2,…,φl,λ1,λ2,…,λl∈p,s,εe,ε,τ∈
p,若y1+y2=0或ye,1+ye,2=0,则重新选择y1,y2或ye,1,ye,2.设Y1=gy1,Y2=gy2,Ye,1=gye,1,Ye,2=gye,2,对任意i∈[1,l],设
将参数ye,1,ye,2以及集合
发送给Ae.相当于pkAe={Ye,1,Ye,2,Ωe,gεe},skAe={ye,1,ye,2,αe,βe,εe}.
3) 敌手适应性地进行如下问询.
① 授权密钥问询.Ae提交身份对user0,user1
与时间区间T.若user0≠Ae且user1≠Ae,算法直接调用KGuser(Mpk,Msk)生成
user0,user1
的密钥并调用Autuser0→user1生成授权密钥akuser0→user1返回敌手.否则.
类型1. Type代表前文授权密钥的问询类型.随机选择p,返回授权密钥
给Ae.
类型2. 随机选择p,返回
给Ae.
② 重加密密钥问询.敌手Ae提交身份对user0,user1
,C调用KGuser(Mpk,Msk)算法生成user0和user1的密钥,之后调用Re_KGuser0→user1算法返回重加密密钥rkuser0→user1并发送给Ae.
③ 重加密问询.敌手Ae提交身份对user0,user1
以及原始密文CT,时间区间Tc,C首先进行重加密密钥问询获得rkuser0→user1,之后调用方案的Re_Enc算法生成重加密密文CTRe.
4) 挑战阶段Challenge.若随机输出{0,1}并退出.否则,任取s2∈
p,生成
![width=261,height=70,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/50de4f254ea21a8b4cb85e71785260af.png)
其中,与引理1的证明一样,若Z=e(g,g)abc,则
此时为游戏Game0,若
则为游戏Game1.
5) 敌手Ae可以适应性地进行步骤3涉及的问询.其中,令牌和令牌重生成问询需满足若在重加密问询中,敌手提交的密文为挑战密文
则C任取s2∈
p,pkuser1,y1,1,y1,2,ε1由KGuser(Mpk,Msk)生成的user1密钥.user1≠Ae.返回
如下:
其中,若Z=e(g,g)abc,则
此时重加密密文对应Game0,否则为游戏Game1.
6) 猜测Guess.敌手Ae输出猜测ε′,若ε′=ε,B输出1,否则输出0.
概率分析:若敌手Ae以概率区分Game0与Game1,则算法B可以以至少
的概率解决BDH假设,由于
是可忽略的,因此
也是可忽略的,从而Game0与Game1是计算不可区分的.
证毕.
引理4. 设扩展判定线性假设在循环群G中成立,则对于任意PPT敌手Ae,Game2,j与Game2,j+1计算不可区分.即若Ae以区分Game2,j与Game2,j+1,则存在多项式时间算法B,以至少
的概率解决ADLP问题.
证明. 设挑战者为C,构造C与Ae之间的概率多项式时间算法B如下:
1) 初始化Init.敌手Ae提交2个密文属性向量设
为扩展判定线性假设实例.
2) 系统建立Setup.设Dj+1=δ,算法随机取r,y1,y2,αe,βe,r1,r2,ye,1,ye,2,v1,v2,…,vl,t1,t2,…,tl以及θ1,θ2,…,θl,φ1,φ2,…,φl,λ1,λ2,…,λl,s,w,εe,τ∈p.设
对任意i∈[1,l]且
设
将参数ye,1,ye,2以及集合
发送给Ae.相当于pkAe={Ye,1,Ye,2,Ωe,gεe},skAe={ye,1,ye,2,αe,βe,εe}.
3) 敌手适应性的进行如下问询.
① 授权密钥问询.与引理3中的授权密钥问询一样.
② 重加密密钥问询.与引理3中的重加密密钥问询一样.
③ 重加密问询.与引理3中的重加密问询一样.
4) 挑战阶段Challenge.若随机输出{0,1}并退出;否则,C任取s2∈
p,生成
![width=304,height=123,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/3603231646a11189bbd3c8561ec11516.png)
其中,隐式成立.若Z=gz1(z3+z4),则
同理有
此时为Game2,j,否则为Game2,j+1.
5) 敌手Ae可以适应性地进行步骤3涉及的问询.其中,令牌和令牌重生成问询需满足若在重加密问询中,敌手提交的密文为挑战密文
则与引理2一样,设pkuser1,y1,1,y1,2,ε1由KGuser(Mpk,Msk)生成的user1密钥.user1≠Ae.C返回挑战密文的重加密密文如下:
![width=313,height=73,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/7ecc55c744d7b428e78a9a3eb3b9f3ac.png)
此时,因此为合理的重加密密文.与挑战阶段同理可得,Z=gz1(z3+z4)时为
时为Game2,j+1.
6) 猜测Guess.敌手Ae输出猜测ε′,若ε′=ε,B输出1,否则输出0.
概率分析:若敌手Ae以概率区分Game2,j与Game2,j+1,则算法B可以以至少
的概率解决ADLP假设,由于
是可忽略的,因此
也是可忽略的,从而Game2,j与Game2,j+1是计算不可区分的.
证毕.
由引理1~4可知,方案在面对半诚实的服务器Aserver以及恶意外部攻击者Ae两类敌手时,基于BDH假设和ADLP假设,Game0均不可区分于Game2,|D|.由于Game2,|D|不会泄露任何属性向量的信息,因此敌手获胜优势
是可忽略的,从而由定义4可知方案是IND-CKCTA安全的.
定理2. 设ADLP假设在循环群G中成立,则所提出的DT_aPRE_HVE方案在标准模型下是IND-KGA安全的.
整体思路:与定理1的证明一样,构造游戏Game0与Game1.其中,Game0与2.3节定义5的安全游戏一样,挑战令牌为方案算法Trap正常生成.而在Game1中,挑战令牌中的为循环群G中的随机值.根据方案的定义,只有组件K1,K2包含查询向量σ,所以Game1不会泄露任何关于查询向量的信息.因此,如果Game0与Game1是计算不可区分的,则敌手在Game0中的优势
是可忽略的,方案为IND-KGA安全的.即若存在PPT敌手A以
区分Game0与Game1,则存在多项式时间算法B,以至少
的概率解决扩展判定线性假设问题.
证明. 设挑战者为C,构造C与A之间的概率多项式时间算法B如下:
1) 初始化Init.敌手A提交2个查询向量设
为ADLP假设实例.
2) 系统建立Setup.算法随机选取r1,r2,y1,y2,φ1,φ2,…,φl,λ1,λ2,…,λl,τ∈p,设
由此可知
隐式成立.对于任意
将参数集合
发送给敌手A.
3) 敌手适应性的进行如下问询.
① 令牌问询.敌手A提交查询向量随机选择A,B,C∈
p,(ri,ki),(ηi,τi),(mi,ni)∈
p,对于任意i∈S(σ)且
ηiy1+τiy2=B,miy1+niy2=C成立.设
则C返回TKσ:
其中,隐式成立,且显然
成立,因此为合法令牌.
② 令牌重生成问询.敌手A提交查询向量以及身份对
user0,user1
,时间区间T,C首先调用KGuser(Mpk,Msk)算法生成
user0,user1
的密钥,之后调用方案的Autuser0→user1和Re_Trap算法正常生成代理令牌并发送给A.
4) 挑战阶段Challenge.挑战者输出挑战令牌:
其中,s=z4.可以看出,若令保证
从而有:
且同理:
此时为Game0,否则,若则为Game1.
5) 敌手可以适应性地进行步骤3涉及的问询.其中敌手提交的查询向量不可以是
6) 猜测Guess.敌手猜测输出ε′,若ε′=ε,B输出1,否则输出0.
概率分析:若敌手以概率区分Game0与Game1,则算法B可以以至少
的概率解决扩展判定线性假设,由于
是可忽略的,因此
也是可忽略的,从而Game0与Game1是计算不可区分的.因此敌手区分查询向量的优势
是可忽略的,从而由定义5可知方案是IND-KGA安全的.
证毕.
5 DT_aPRE_HVE方案的效率分析
本节将所提出的DT_aPRE_HVE方案与其他典型的PEKS或HVE方案,如文献[13-17,21-24,27-33,35-38]进行安全性、渐进性复杂度(时间和空间复杂度)以及算法执行效率等方面的对比.
方案的安全性对比如表1所示:
Table 1 Comparison of Security of PEKS and HVE Schemes表1 PEKS方案与HVE方案的安全性对比
![width=733,height=539,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/0b3caae19e5e415b84ac484b61c9f32c.png)
SchemesConjunctiveProxyControlledRangeKGResistanceStandardModelRef[13]YesYesNoYesNoNoRef[14]YesYesYesNoYesYesRef[15]NoNoYesNoNoYesRef[16]NoNoYesNoNoRef[17]NoNoYesNoNoNoRef[21]YesNoNoYesNoNoRef[22]YesNoNoYesNoYesRef[23]YesNoNoYesNoYesRef[24]YesNoNoYesNoNoRef[27]YesNoNoYesNoYesRef[28]YesNoNoYesNoYesRef[29]YesNoNoYesNoYesRef[30]YesNoNoYesNoYesRef[31]NoNoNoNoYesNoRef[32]NoNoNoNoYesYesRef[33]NoNoNoNoYesNoRef[35]NoYesNoNoNoNoRef[36]NoYesNoNoNoNoRef[37]NoYesNoNoNoNoRef[38]YesYesNoNoNoNoOursYesYesYesYesYesYes
由表1可以看出,本文提出的DT_aPRE_HVE方案是第1个具有可撤销重加密代理功能并抵御KG攻击的HVE方案.尽管有许多PEKS方案可以支持代理重加密功能,但这些方案只能进行单关键词查询,这在实际应用中,尤其是EHR等环境下并不可行.文献[14,38]支持合取关键词查询与可控的代理重加密功能,然而文献[14]无法支持范围查询,文献[38]则只在随机预言模型下是可证明安全的.其余的HVE方案基本没有考虑到KG攻击问题,而在EHR环境中,由于关键词集合较小,抵御KG攻击的能力对于方案的应用具有重要意义.因此,本文方案的实际应用安全性更高.
设te为一次指数运算的时间,tp为一次双线性对运算的时间,l为查询向量的维数,|S(σ)|为S(σ)集合的大小.s1,s2分别为群G,GT中元素的大小.忽略整数的空间占用、乘法运算和Hash函数运算时间.方案的空间和时间复杂度对比分别如表2和表3所示.
由表2和表3可以看出,只有本文提出的DT_aPRE_HVE方案的原始令牌或代理令牌的空间复杂度均为O(1).尽管文献[15,17]以及文献[27-30,32-33,35-37]的令牌尺寸也为O(1),但是其要么无法支持合取关键词搜索,要么无法撤销代理者权限.在公钥或私钥尺寸方面,尽管文献[14-17,31,33,35-37]优于本文方案,但是文献[14]的令牌尺寸为O(l),私钥尺寸与本文一样也为O(l),且文献[15-17,31,33]无法支持代理重加密,文献[31,33,35-37]只允许单个关键词搜索.在加密算法、重加密算法、令牌生成算法和验证算法方面,本文的时间复杂度优于文献[13-14]提出的方案.与文献[15,17,27,32-33,35-37]相比,本文的加密算法时间复杂度较高,这主要是由于文献[15,17,27,32-33]不需要支持代理重加密,而文献[35-37]不需要支持多关键词检索且代理权限不可撤销,从而减少了额外的计算开销.综合来看,本文方案在实现了合取关键词检索和可撤销的代理重加密的基础上,保证了较低的渐进性复杂度,具有更好的实用性.
Table 2 Comparison of Space Complexity of PEKS and HVE Schemes表2 PEKS方案与HVE方案的空间复杂度对比
![width=733,height=475,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/d870fd2ecef42daf8549d8f6f87a46c2.png)
SchemesPublicKeySecretKeyCiphertext⁃OriginalRe_EncCiphertextToken⁃DelegatorToken⁃DelegateeRef[13]8s1O(l)s1O(l)s2O(l)s2O(l)s1O(l)s1Ref[14]s1s1O(l)s1+s2O(l)s1+s2O(l)s1O(l)s1Ref[15]s1s17s19s1Ref[16]3s12s1O(l)s1O(l)s1Ref[17]s1s17s17s1Ref[21]O(l)s12s1O(l)s1+s2O(l)s1Ref[22](l2)s1O(l)s1O(l)s1+s2O(l)s1Ref[23]O(l)s1O(l)s1O(l)s1+s2O(l)s1Ref[24]O(l)s1O(l)s1O(l)s1+s2O(l)s1Ref[27]O(l)s1+2s24s1O(l)s1+s27s1Ref[28]O(l)s1+s2O(l)s1O(l)s1+s29s1Ref[29]O(l)s1O(l)s1O(l)s1+s26s1Ref[30]O(l)s1O(l)s1O(l)s1+s26s1Ref[31]3s1O(l)s1O(l)s1O(l)s1Ref[32]6s1s14s12s1Ref[33]s1s12s12s1Ref[35]s1s17s1s17s1Ref[36]s1s12s12s12s1Ref[37]5s15s17s14s14s1Ref[38]O(l)s13s1O(l)s13s1O(l)s1Ours3s1+s25s1O(l)s1+s2O(l)s1+s26s17s1
Table 3 Comparison of Time Complexity of PEKS and HVE Schemes表3 PEKS方案与HVE方案的时间复杂度对比
![width=733,height=475,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/bd1226125103a85a6b712839f8d837c0.png)
SchemesKGEncRe_EncTrapRe_TrapTestTestReRef[13]O(l)teO(l)te+tpO(l)te+tpO(l)teO(l)teO(l)tpO(l)tpRef[14]teO(l)teO(l)teO(l)teO(l)teO(l)tpO(l)tpRef[15]te8te+4tp4teRef[16]5teO(l)te+tpO(l)te+tpRef[17]te7te+tp7teRef[21]O(l)teO(l)teO(l)teO(l)tpRef[22]O(l)teO(l)teO(l)teO(l)tpRef[23]O(l)teO(l)teO(l)teO(l)tpRef[24]O(l)teO(l)teO(l)teO(l)tpRef[27]O(l)te4te6te6tpRef[28]O(l)teO(l)te9te9tpRef[29]O(l)teO(l)teO(l)te4tpRef[30]O(l)teO(l)te8te4tpRef[31]O(l)teO(l)teO(l)teO(l)tpRef[32]te6te+tp4te2tpRef[33]2te2te+tp3tetpRef[35]te5te+2tptetetpRef[36]te3te+tpte3tetpRef[37]5te3te+3tp2te+tp2tetpRef[38]O(l)teO(l)te2tpte2tpOurs3teO(l)te4teO(|S(σ)|)teO(|S(σ)|)te6tp7tp
在效率对比方面,本文只选取了文献[13-14]作为对比对象,主要原因是文献[13]与本文方案均基于HVE方案,对比度较高,而文献[14]同样支持可撤销的代理重加密功能.虽然文献[38]也支持代理重加密,但是由于其既不支持合取关键词搜索,也无法撤销代理权限,因此不作为对比对象.本文主要对比Enc,Trap,Test等算法以及针对代理者的Re_Enc,Re_Trap,TestRe算法.本文选择了与文献[14]一样的模拟环境,利用PBC(pair-based cryptography Library)函数库,群G,GT的阶也为160 b,仿真对比结果如图2所示:
![width=693,height=610,dpi=110](https://qkk.lw71.com/uploads/image/2018/05/18fc8b94934519c24d000cf176967b34.png)
Fig. 2 Comparison of Efficiency of the Proposed Scheme and the Schemes in Ref [13] and Ref [14]图2 本文方案与文献[13]、文献[14]的算法效率对比
从图2可以看出,本文方案在算法的执行效率上优于文献[13-14]的方案.主要原因是本文方案在Test,TestRe算法中只需要O(1)次双线性对运算,而文献[13-14]均需要O(l)次.本文方案的Test,TestRe算法依然依赖于查询向量维数l,需要O(|S(σ)|)次的乘法运算,但对比O(l)次的双线性对运算,时间有所降低,且文献[103-14]同样需要额外O(l)次的乘法运算.在加密算法Enc中,DT_aPRE_HVE方案不需要双线性对运算,而文献[13]需要额外1次双线性对运算.在重加密算法Re_Enc方面,文献[13-14]均需要额外的O(l)次指数运算,本文方案只需要4次指数运算.在令牌生成算法Trap,Re_Trap方面,本文方案依赖于O(|S(σ)|),显然有O(|S(σ)|)≤O(l)≤O(l2).因此,本文方案在应用效率方面较文献[13-14]有所提高.
6 结束语
本文基于隐藏向量加密(HVE)提出了支持指定验证者与可撤销代理重加密的加密搜索方案DT_aPRE_HVE.在安全性方面,本文方案可以有效地抵御外部攻击者实施的离线关键词测试攻击.同时,本文采用将时间戳嵌入到授权密钥中的方法,在不需要额外的时间服务器的基础上实现了用户级的细粒度的代理权限管理.在效率方面,本文方案搜索令牌的空间复杂度、重加密算法和验证算法的双线性对运算次数均限定在了常数上限内.因此,较之已有的具有多关键词搜索和代理重加密功能的可搜索加密方案,本文方案具有较好的实用价值.
本文方案存在2点可以改进的地方:1)在密文空间复杂度和加密算法的时间复杂度方面,本文方案线性依赖于查询向量的维数.2)在验证算法中,虽然双线性对运算次数为常数,但需要O(|S(σ)|)次的乘法运算,尽管相比于O(l)次的双线性对运算,效率有所提高,但依然可以改进优化.此外,目前的谓词加密策略和隐藏向量加密策略还无法有效的支持排序搜索.一种解决方法是将关键词和密文的词频、逆词频关系嵌入到验证算法中,在验证查询向量和属性向量是否匹配的同时计算匹配程度,进而实现排序检索.然而由于验证算法大多数基于双线性对运算,较难构造具有单调性的函数,导致验证结果的比较成为一个研究难点.因此,下一步的研究重点将集中在构建具有排序检索功能的隐藏向量加密方面,进一步提高隐藏向量加密的安全性与实用性.
参考文献
[1]Wang Jie, Yu Xiao, Zhao Ming. Privacy-preserving ranked multi-keyword fuzzy search on cloud encrypted data supporting range query[J]. Arabian Journal for Science and Engineering, 2015, 40(8): 2375-2388
[2]Xu Qunqun, Shen Hong, Sang Yingpeng, et al. Privacy-preserving ranked fuzzy keyword search over encrypted cloud data[C] //Proc of the 14th Int Conf on Parallel & Distributed Computing, Application and Technologies. Los Alamitos, CA: IEEE Computer Society, 2013: 239-245
[3]Li Jin, Wang Qian, Wang Cong, et al. Fuzzy keyword search over encrypted data in cloud computing[C] //Proc of the 29th IEEE INFOCOM 2010. Piscataway, NJ: IEEE, 2010: 1-5
[4]Liu Chang, Zhu Liehuang, Li Longyi, et al. Fuzzy keyword search on encrypted cloud storage data with small index[C] //Proc of the 1st IEEE Int Conf on Cloud Computing and Intelligence Systems. Piscataway, NJ: IEEE, 2011: 269-273
[5]He Tuo, Ma Wenping. An efficient fuzzy keyword search scheme in cloud computing[C] //Proc of the 2nd Int Conf on Intelligent Networking and Collaborative Systems. Piscataway, NJ: IEEE, 2013: 786-789
[6]Park D J, Kim K, Lee P J. Public key encryption with conjunctive field keyword search[G] //LNCS 3325: Information Security Applications. Berlin: Springer, 2005: 73-86
[7]Hwang Y H, Lee P J. Public key encryption with conjunctive keyword search and its extension to a multi-user system[G] //LNCS 4575: Proc of the 1st Int Conf on Pairing-Based Cryptography. Berlin: Springer, 2007: 2-22
[8]Zhang Bo, Zhang Fangguo. An efficient public key encryption with conjunctive-subset keywords search[J]. Journal of Network and Computer Applications, 2011, 34(1): 262-267
[9]Shen E, Shi E, Waters B. Predicate privacy in encryption systems[G] //LNCS 5444: Theory of Cryptography Conference. Berlin: Springer, 2009: 457-473
[10]Li Zhen, Jiang Han, Zhao Minghao. A discretionary searchable encryption scheme in multi-user settings[J]. Journal of Computer Research and Development, 2015, 52(10): 2313-2322 (in Chinese)
(李真, 蒋瀚, 赵明昊. 一个自主授权的多用户可搜索加密方案[J]. 计算机研究与发展, 2015, 52(10): 2313-2322)
[11]Caro A D, Iovino V, Persiano G. Fully secure hidden vector encryption[G] //LNCS 7708: Proc of the 5th Int Conf on Pairing-Based Cryptography. Berlin: Springer, 2012: 102-121
[12]Iovino V, Persiano G. Hidden-vector encryption with groups of prime order[G] //LNCS 5209: Proc of Int Conf on Pairing-Based Cryptography. Berlin: Springer, 2008: 75-88
[13]Mitsuhiro H, Takato H, Takashi I, et al. Ciphertext-policy delegatable hidden vector encryption and its application to searchable encryption in multi-user setting[G] //LNCS 7089: Proc of the 13th IMA Int Conf on Cryptography and Coding. Berlin: Springer, 2011: 190-209
[14]Yang Yang, Mao Maode. Conjunctive keyword search with designated tester and timing enabled proxy re-encryption function for e-health clouds[J]. IEEE Trans on Information Forensics and Security, 2016, 11(4): 746-759
[15]Keita E, Atsuko M, Kazumasa O. A timed-release proxy re-encryption scheme and its application to fairly-opened multicast communication[G] //LNCS 6402: Proc of the 4th Int Conf on Provable Security. Berlin: Springer, 2010: 200-213
[16]Liu Qin, Wang Guojun, Wu Jie. Time-based proxy re-encryption scheme for secure data sharing in a cloud environment[J]. Information Sciences, 2014, 258(3): 355-370
[17]Liang Kaitai, Huang Qiong, Roman S, et al. A conditional proxy broadcast re-encryption scheme supporting timed-release[G] //LNCS 7863: Information Security Practice and Experience. Berlin: Springer, 2013: 132-146
[18]Rhee H S, Park J H, Lee D H. Generic construction of designated tester public-key encryption with keyword search[J]. Information Sciences, 2012, 205(1): 93-109
[19]Rhee H S, Susilo W, KiM H J. Secure searchable public key encryption scheme against keyword guessing attacks[J]. IEICE Electronics Express, 2009, 6(5): 237-243
[20]Katz J, Sahai A, Waters B. Predicate encryption supporting disjunctions, polynomial equations, and inner products[G] //LNCS 4965: Proc of the EUROCRYPT 2008. Berlin: Springer, 2008: 146-162
[21]Lewko A, Okamoto T, Sahai A, et al. Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption[G] //LNCS 6110: Advances in Cryptology-EUROCRYPT 2010. Berlin: Springer, 2010: 62-91
[22]Okamoto T, Takashima K. Adaptively attribute-hiding (hierarchical) inner product encryption[G] //LNCS 7237: Advances in Cryptology-EUROCRYPT 2012. Berlin: Springer, 2012: 591-608
[23]Okamoto T, Takashima K. Fully secure functional encryption with general relations from the decisional linear assumption[G] //LNCS 6223: Advances in Cryptology-CRYPTO 2010. Berlin: Springer, 2010: 191-208
[24]Park J H. Inner-product encryption under standard assumptions[J]. Designs, Codes and Cryptology, 2011, 58(3): 235-257
[25]Boneh D, Waters B. Conjunctive, subset, and range queries on encrypted data[G] //LNCS 4392: Proc of the 4th Int Conf on Theory of Cryptology. Berlin: Springer, 2007: 535-554
[26]Boyen X. A tapestry of identity-based encryption: practical frameworks compared[J]. International Journal of Applied Cryptography, 2008, 1(1): 3-21
[27]Park J H. Efficient hidden vector encryption for conjunctive queries on encrypted data[J]. IEEE Trans on Knowledge and Data Engineering, 2011, 23(10): 1483-1497
[28]Park J H, Lee K S, Susilo W, et al. Fully secure hidden vector encryption under standard assumptions[J]. Information Sciences, 2013, 232(5): 188-207
[29]Park J H, Lee D H. A hidden vector encryption scheme with constant-size tokens and pairing computations[J]. IEICE Trans on Fundamentals of Electronics Communications & Computer Sciences, 2010, 93-A(9): 1620-1631
[30]Lee K, Lee D H. Improved hidden vector encryption with short ciphertext and tokens[J]. Designs, Codes and Cryptology, 2011, 58(3): 297-319
[31]Baek J, Nani R S, Susilo W. Public key encryption with keyword search revisited[G] //LNCS 5072: Proc of 2008 Int Conf on Computational Science and Its Applications. Berlin: Springer, 2008: 1249-1259
[32]Guo Lifeng, Yau Weichuen. Efficient secure-channel free public key encryption with keyword search for EMRs in cloud storage[J]. Journal of Medical Systems, 2015, 39(2): 1-11
[33]Rhee H S, Park J H, Susilo W, et al. Trapdoor security in a searchable public-key encryption scheme with a designated tester[J]. Journal of Systems and Software, 2010, 83(5): 763-771
[34]Shi E, Waters B. Delegating capabilities in predicate encryption systems[G] //LNCS 5126: Proc of the 35th Int Colloquium on Automata, Languages, and Programming. Berlin: Springer, 2008: 560-578
[35]Shao Jun, Cao Zhenfu, Liang XIaohui, et al. Proxy re-encryption with keyword search[J]. Information Sciences, 2010, 180(13): 2576-2587
[36]Yau W C, Phan C W, Heng S H, et al. Proxy re-encryption with keyword search: New definitions and algorithms[G] //LNCS 122: Security Technology, Disaster Recovery and Business Continuity. Berlin: Springer, 2010: 149-160
[37]Fang Liming, Susilo W, Ge Chunpeng, et al. Chosen-ciphertext secure anonymous conditional proxy re-encryption with keyword search[J]. Theoretical Computer Science, 2012, 462(1): 39-58
[38]Wang Xuan, Huang Xinyi, Yang Xiaoyuan, et al. Further observation on proxy re-encryption with keyword search[J]. Journal of Systems and Software, 2012, 85(3): 643-654
[39]Bellare M, Boldyreva A, Palacio A. An uninstantiable random oracle-model scheme for a hybrid-encryption problem[G] //LNCS 3027: Proc of the EUROCRYPT 2004. Berlin: Springer, 2004: 171-188
[40]Li Jiguo, Shi Yuerong, Zhang Yichen. Searchable ciphertext-policy attribute-based encryption with revocation in cloud storage[OL]. [2015-02-19]. https://www.infona.pl/resource/bwmeta1.element.wiley-dac-v-30-i-1-dac2942
下一篇:《计算机研究与发展》征订启事