一种基于属性的多用户连接关键字可搜索加密方法与流程

文档序号:22397180发布日期:2020-09-29 18:06阅读:211来源:国知局
一种基于属性的多用户连接关键字可搜索加密方法与流程

本发明涉及可搜索加密技术领域,具体涉及一种基于属性的多用户连接关键字可搜索加密方法。



背景技术:

随着互联网的发展,越来越多的用户选择将自己的数据存储在高性能、低成本的云服务器上,但是用户又担心云服务器会“窥探”自己的隐私敏感数据,出于对云服务器的不信任,可搜索加密技术应运而生。

可搜索加密技术解决的是如何在密文上进行高效的检索,并返回数据使用者想要的密文数据,随着互联网的高速发展,可搜索加密的适用场景也在不断演化,对于可搜索加密技术提出了更高的要求,例如数据拥有者与数据使用者,由单一用户拓展到了多用户对多用户,为了提高检索精度,由原来的单关键词检索演化为连接关键词检索。目前很多学者研究出不同的解决方案,但是其中一些方案仍存在一些难点,比如不能满足多用户,不能满足多关键词,不能满足带有访问控制等等。

guo等人在《efficientattribute-basedsearchableencryptiononthecloudstorage》中构造了一个满足多用户环境下的有效的可搜索加密方案,该方案使用and门构造访问结构进行访问控制,利用双线性映射进行关键词匹配。这个方案能够解决多用户环境下的可搜索加密,但不支持连接关键词检索,即不支持多关键词的检索,这会给用户筛选检索结果造成很大的困扰,因为随着系统的数据的不断增加,检索同一个关键词的检索结果也会愈发的增多,从检索结果中筛选出用户真正需要的结果就变得异常重要。

现有的基于属性的多用户连接关键词检索方案中,token生成是由数据拥有者生成,通过数据使用者将关键词告诉数据拥有者的方式,数据拥有者根据关键词生成对应的token陷门,token的生成对象直接关系到检索用户的关键词隐私,检索陷门由数据拥有者生成,会导致数据使用者的关键词隐私泄露。



技术实现要素:

为了克服现有技术存在的缺陷与不足,本发明提供一种基于属性的多用户连接关键字可搜索加密方法,本发明能够保证数据在云服务器上的数据安全的同时,能够只允许拥有权限的用户才能对加密数据进行检索操作,除此之外检索陷门是由数据使用者生成的而不是由数据拥有者生成的,并且因为本发明的密文大小是固定的,所以减少了时间复杂度和宽带开销,同时本发明支持连接关键词检索,克服了单一关键词检索匹配结果不精确的问题,通过检索多个关联关键词,能够有效地缩小结果范围,实现更为精确的检索。

为了达到上述目的,本发明采用以下技术方案:

本发明提供一种基于属性的多用户连接关键字可搜索加密方法,包括下述步骤:

可信机构初始化系统参数,每个用户将自身属性集合发给可信机构,可信机构为每个用户派发解密私钥;

数据拥有者制定相应的访问策略结构,采用对称密钥将文件加密成文件密文,将文件的多个关键词加密成关键词密文,把关键词密文、文件密文发给云服务器;

数据使用者采用可信机构派发的私钥加密要检索的关键词,采用私钥生成关键词陷门,将关键词陷门发给云服务;

云服务器检测数据使用者是否符合访问策略,如果符合,则进行关键词的匹配,如果关键词也匹配成功,则将相关联的文件密文形式发给数据使用者。

作为优选的技术方案,所述属性集合表示为:u={attr1,attr2,…,attrn},其中,n表示属性集合的大小,对于每一个属性attri,属性值有两种状态:vi或者其中,vi表示属性attri存在,表示属性attri不存在。

作为优选的技术方案,所述解密私钥表示为:

sk=(yuser,<v,σuser>,ξ)

其中,

v=gac

ξ=gab

输入公共参数和主密钥,分别表示为:

pp=(g,ga,gb,gc,(ui,yi)|1≤i≤2n)

msk=(a,b,c,(ri,xi)|1≤i≤2n)

其中,pp表示主参数,msk表示主密钥,n表示用户自身属性集合的大小。

作为优选的技术方案,所述访问策略结构表示为:

其中,u’={attr′2,attr′3,…,attr′n},attr′i=vi或者

作为优选的技术方案,所述关键词陷门表示为:

tok=(tok1,tok2,{ij})

其中,

tq1=gas,tq2=gbs,tq3=gcstok2=(tq1,tq2,tq3,tq4),{ij}表示关键词标识。

作为优选的技术方案,所述云服务器检测数据使用者是否符合访问策略,计算公式为:

若计算结果为e=e(g,g)acst′,则说明数据使用者的属性满足数据拥有者指定的访问策略,则开始计算关键词部分是否匹配,首先根据数据使用者的索引标志il′将数据拥有者提供的索引标志il相关di和d′i分别与数据使用者提供的tq1与tq2配对,计算值记为d:

计算验证下面等式是否成立:

e(tq1,b)·d·e=e(a,tq4)·e(tq3,c)

若等式成立则将cphf作为结果rslt输出,否则rslt为⊥,拿到密文结果后使用对称密钥解密获取明文。

本发明与现有技术相比,具有如下优点和有益效果:

(1)本发明的token是由数据使用者生成,数据使用者根据自己要检索的关键词来生成对应的token陷门,很好地保护数据使用者的关键词隐私。

(2)本发明支持连接关键词检索,克服了单一关键词检索匹配结果不精确的问题,通过检索多个关联关键词,能够有效地缩小结果范围,实现更为精确的检索。

附图说明

图1为本实施例基于属性的多用户连接关键字可搜索加密方法的应用场景示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

如图1所示,本实施例提供一种基于属性的多用户连接关键字可搜索加密方法,通过数据拥有者制定访问策略,生成访问结构,然后将关键字加密成索引密文上传到云服务器,数据使用者通过自己的属性以及要查询的连接关键词生成对应的查询陷门,发给云服务器进行查询,云服务器获取到查询请求后,首先验证数据使用者属性是否满足数据拥有者的访问策略,若满足,则进一步验算关键词是否匹配,若匹配则将数据拥有者的密文数据发给数据使用者。

在本实施例中,设置有一个可信机构(trustedauthority,ta)、多个数据拥有者(dataowner,do)、多个数据使用者(datauser,du)、一个云服务器(cloudserver,cs)。

本实施例基于属性的多用户连接关键字可搜索加密方法的具体步骤为:

s1:可信机构ta初始化系统参数,每个用户(数据使用者)将自己的属性集合发给可信机构ta,可信机构ta为每个用户派发解密私钥sk,解密私钥sk用于生成关键词查询陷门;

在本实施例中,系统属性集合为u={attr1,attr2,…,attrn},其中n是属性集合的大小,对于每一个属性attri(1≤i≤n)来说,其属性值只有两种状态vi或者vi表示属性attri存在,而表示属性attri不存在,同时系统还会给出关键词字典集合wd={w1,w2,…,wm},其中,m表示关键词个数。

在本实施例中,给定一个对称双线性映射:e:g×g→gt,p是群g和gt的阶,设定一个单向哈希函数h:{0,1}*→zp,均匀随机的选择三个数a,b,c←zp。给出两个集合:集合r1,r2,…,r2n←zp和集合x1,x2,…,x2n←zp。令同时令yi=e(xi,h),以上所有的i满足1≤i≤2n,然后输出公共参数和主密钥:

公共参数:pp=(g,ga,gb,gc,(ui,yi)|1≤i≤2n)

主密钥:msk=(a,b,c,(ri,xi)|1≤i≤2b)

在本实施例中,输入数据使用者的属性集合u″={attr″2,attr″3,…,attr″n},系统公共参数pp和主密钥msk,其中每个数据使用者的属性attr″i都只能有两种状态,要么是vi或者令v=gac,ξ=gab,若每个数据使用者的属性attr″i=vi,则令则令分别计算则最终派发给用户的私钥为:sk=(yuser,<v,σuser>,ξ);

s2:数据拥有者do会根据自己想要分享数据文件给哪个角色而制定相应的访问策略结构s,将文件使用对称密钥加密成密文cphf,将该文件的关键字进行加密,把关键词密文cphw、文件密文cphf发给云服务器cs;

在本实施例中,选择两个随机数t1,t2∈zp,令t=t1+t2,构造访问策略结构即采用and门构造的树,数据拥有者的属性attr′i=vi或者假设想要满足访问策略结构s,则数据拥有者的属性集合u’={attr′2,attr′3,…,attr′n},每个数据拥有者的属性attr″i都只能有两种状态,要么是vi(第i个属性存在)或者(第i个属性不存在),若attr″i=vi,则令u″i=ui,若则令u′i=ui+n,选取一个随机数t’∈zp,计算使用对称密钥加密文件cphf,该文件的关键词集合w={wi},1≤i≤l,其中l为要加密的关键词个数,且满足l≤m;

本实施例记第i个关键词的哈希值为hi=h(wi),计算a=gt,b=gct,c=ga(t+t′)并且给出关键词标志{ii},1≤i≤l,其中cphw=(a,b,c,{<di,d′i>},ugate,{ii}),1≤i≤l,则最终的输出密文为cph=(cphw,cphf)。

s3:数据使用者du使用可信机构ta派发的私钥加密要检索的关键词,使用私钥生成关键词陷门,将陷门发给云服务器cs;

在本实施例中,输入用户私钥sk,公共参数pp,用户要检索的关键词集合w′={wj},1≤j≤l′,其中l′为要加密的关键词个数,并且满足关系l′≤l≤m,同样记hi=h(wi),均匀随机选取随机数s∈zp,计算然后计算tq1=gas,tq2=gbs,tq3=gcstok2=(tq1,tq2,tq3,tq4),并且给出关键词标识{ij},1≤j≤l′,则最终输出的关键词陷门为tok=(tok1,tok2,{ij})。

s4:云服务器cs首先检测该数据使用者du是否符合该数据拥有者do的访问策略,如果满足,则进行关键词的匹配,如果关键词也匹配成功,则将相关文件密文形式发给数据使用者du,完成整个检索过程。

在本实施例中,输入密文cph及检索tok,首先会计算:

若计算结果为e=e(g,g)acst′,则说明数据使用者的属性满足数据拥有者指定的访问策略,则开始计算关键词部分是否匹配,首先根据数据使用者的索引标志il′将数据拥有者提供的索引标志il相关di和di′分别与数据使用者提供的tq1与tq2配对,计算值记为d。

进一步计算验证下面等式是否成立

e(tq1,b)·d·e=e(a,tq4)·e(tq3,c)

若等式成立则将cphf作为结果rslt输出,否则rslt为⊥。拿到密文结果再使用对称密钥解密就可以获取明文了。

整个过程中云服务器cs获取不到任何数据明文,关键词的信息,获取不到数据拥有者do的身份信息、数据文件信息和关键词索引的信息,也获取不到数据使用者du的身份信息、检索关键词信息,保护了数据拥有者和数据使用者的隐私。

比如应用场景在医院,医院内拥有很多的医生,同时拥有很多的患者信息。医生会根据他们的主治病症,分为心脏病医生,胃病医生,呼吸道医生等等,患者也会依据其患病情况被安排各种各样的医生为其诊断,假设患者的个人信息及病症信息都存放在该医院的系统中并为每个患者指定了医生,这时候如果医生想要快速找到他要诊断的病人以及该病人的信息,就可以使用上述基于属性的连接关键词可搜索加密系统。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1