移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统与流程

文档序号:13391527阅读:331来源:国知局
导航: X技术> 最新专利> 电子通信装置的制造及其应用技术
移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统与流程

本发明涉及一种云计算安全技术,具体涉及具体涉及一种移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统。



背景技术:

目前,云计算被认为是一种高效的数据计算方法,它可以通过互联网向公众提供存储和计算功能。在这种计算方法中,数据所有者经常将其消息发送到云服务器。外包数据给云端除了给我们带来计算上的优势之外,也可能会导致一些隐私问题,因为在外包的数据中含有一些敏感信息。外包之前加密一直是一个被视为在云服务器上保护数据隐私的基本方法。但是,如何让这些加密过的数据被高效的使用又成为了另外一个挑战。因此,我们更加重视这个问题,从安全关键字搜索,安全双方计算和半伪加密技术等,都在理论上提供了解决这个问题的方法。但是,仍然存在计算成本太高的问题。

可搜索加密是近来发展的一个用来有效搜索存储在云服务器上的数据的基本方法。在可搜索加密中,数据拥有者加密所有文件以及与其相关联的关键字并外包到云服务器上。搜索用户会生成一些加密陷门,其中包含了用户感兴趣的并且已经存储在云上的关键字。最后,经过云服务器的搜索操作,返回给用户匹配到的结果。为了提高搜索的准确度,提出的可搜索加密方案应该支持多关键字搜索,而不是只支持单关键字搜索。而且,为了使可搜索加密方案支持更多的实际应用场景,例如多数据拥有者和多用户,我们的方案应该支持搜索授权,这意味着云服务器仅仅会返回搜索结果给已获得权限的用户。

据所知,在所有可搜索的加密方案中,假设当用户发出搜索请求时,用户具有其自己的解密密钥。基于这个假设,另一个发送方必须知道查询数据的用户的身份,以便使用相应的加密密钥进行加密,这里问题便产生了。如果加密的数据在多个接收者之间共享,并存储在不可完全信任存储服务中,该怎么办?我们将拥有相同数据由不同密钥加密之后由生成的加密数据。

基于属性加密(abe)的提出解决了上述的问题。2005年,sahai和waters首次引入了基于属性的加密(abe)的概念。它是基于身份加密的扩展,也就是说用户的“身份”取决于他们的属性。在这样的系统中,只有当生成用户密钥的属性集与生成密文的访问策略相互匹配时,才可以完成解密。然后,goyal等人给出了abe系统的正式定义,将abe可以分为密文策略abe(cp-abe)和密钥策略abe(kp-abe)两类。在cp-abe中,使用访问策略构建密文,并使用属性集来构建用户密钥。在kp-abe中,上述过程恰恰相反。

同时,随着对基于属性的可搜索加密(abse)的深入研究,其也存在许多的缺陷:由于abe中的配对操作数量较多(配对操作的计算成本远高于其他操作),配对操作随着属性数量的增加而线性增加,因此,用户加密和解密的计算成本也随着访问策略属性数量或复杂程度的增加而增加,这是一个非常严重的问题。



技术实现要素:

发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统。

技术方案:本发明的一种移动云环境下基于属性的在线/离线关键字搜索方法,依次包括以下步骤:

(1)系统初始化,ta生成系统公钥和主密钥:

由ta执行系统初始化算法,输入安全参数λ和一个属性集合u,选择两个p阶循环群g和gt;系统随机选择g,h,u,v,w∈g和α∈zp;ta计算e(g,g)α(即是指群g上的配对运算),生成系统公钥pp=(g,gt,p,g,h,u,v,w,e(g,g)α,h,f)和系统主密钥msk=(α);

其中,h:{0,1}→zp为安全的哈希函数,f为消息认证函数;

(2)离线阶段,ta为新加入的用户离线生成中间密钥ski=(skmain,skatt);

(3)新用户完成在ta上的注册,获得属性私钥sk;

(4)ta为注册成功的用户生成外包密钥skt,用于最后阶段的用户解密;

(5)数据主在移动设备端对明文进行预处理,离线加密信息,获得中间密文it;

(6)数据主对离线加密得到的中间密文it进行在线加密,获得完整密文ct并将其发送至云服务器;

(7)数据主生成索引集ctw,用户利用自身属性生成相关陷门tw,将索引集和加密陷门一同发送给云服务器;

(8)云服务器接收到加密索引及陷门,执行关键字搜索操作;

(9)用户解密,得到目标信息。

所述步骤(2)的具体过程为:

(2.1)ta随机选取r,x和n,计算两个密钥元组skmain=(r,k0,k1,kv)和skatt=(x,n,k2,k3);

其中,k0=gαwr,k1=gr,kv=v-r;k2=gn,k3=(uxh)nv-r,r,x,n∈zp;

(2.2)ta生成新用户的中间密钥ski=(skmain,skatt)。

所述步骤(3)的具体过程为:

(3.1)用户定义一个其拥有的用户属性集合s,s={a1,a2,…,ak};

(3.2)ta从pooling池中随机选择一个skmain和k个skatt,j=(x,n,kj,2,kj,3);

(3.3)令1≤j≤k,ta计算kj,4=nj·(aj-xj),最后得到用户属性私钥sk=(s,k0,k1,{kj,2,kj,3,kj,4}j∈[1,k]),ta根据不同的用户属性随机选取对应的x和n,nj和xj分别是对应用户属性下x和n中的对应一个。

所述步骤(4)的具体过程为:

(4.1)ta随机选择t∈zp,计算d′=wrg;然后,ta计算d0=k01/t,d1=k11/t,dj,2=kj,21/t,dj,3=kj,31/t,生成转换密钥tk=(d0,d1,dj,2,dj,3);

(4.2)ta利用转换密钥生成用户外包密钥skt=(t,s,d,tk),其中d′=wrg,d=d′1/t,s={a1,a2,…,ak},r∈zp;

所述步骤(5)的具体过程为:

(5.1)数据主构造pooling池;

(5.2)在pooling池中,s∈zp,数据主随机选择λ′,x′,z∈zp,计算任意个密文元组itmain和itatt,itmain=(c,c0),itatt=(λ′,x′,z,c1,c2,c3);

其中,c=kee(g,g)αs,c0=gs,c1=wλ′vz,c2=(ux′h)-z,c3=gz

(5.3)数据主利用密文元组,计算得到中间密文it,it=(itmain,itatt)。

所述步骤(6)的具体过程为:

(6.1)数据主构造访问策略a=(m,ρ),即为lsss访问控制结构;

(6.2)随机选择一个itmain=(c,c0)和l个itatt,j=(λ′j,x′j,zj,cj,1,cj,2,cj,3),其中l为矩阵m的行数;

(6.3)数据主随机选择一个向量y=(s,y2,y3,…,yn)∈zp,计算cj,4=λj-λj′,cj,5=-zj(ρ(j)-xj′),得到完整密文ct=((m,ρ),c,c0,{cj,1,cj,2,cj,3,cj,4,cj,5}j∈[1,l]),1≤j≤k。

所述步骤(7)的具体过程为:

(7.1)数据主对索引进行哈希,计算得到加密索引集

其中,ti为随机字符串,ki=e(g,g)αs×e(g,h(wi)s);

(7.2)当用户需要搜索关键字w时,用户计算qw=h(w)×d,然后计算获得加密关键字陷门tw=(qw,tk);

(7.3)将加密索引集ctw和加密陷门tw发送给云服务器;

其中,

所述步骤(8)的具体过程为:

(8.1)云服务器计算中间元组dt=e(g,w)rs/t

(8.2)判断用户陷门与数据主的索引属性是否相符;

服务器利用中间元组dt,计算得到f(kw,ti);通过比较加密索引集中的f(ki,ti)与f(kw,ti)是否相等,判断陷门与索引的属性是否相符,其中kw=e(g,g)αse(g,h(w)s);

(8.3)云服务器对目标密文进行部分解密:

若步骤(8.2)中用户陷门与数据主的索引属性相符,云服务器利用转换密钥tk和中间元组dt,计算e(c0,d0)/dt=e(g,g)αs/t,得到转换密文ct′=(c,e(g,g)αs/t)并发送给用户。

所述步骤(9)的具体过程为:

(9.1)用户计算对称密钥也就是由用户使用c恢复出ke,其中t0=c,c=kee(g,g)αs,t1=e(g,g)αs/t

(9.2)用户使用对称密钥ke解密,得到目标信息。

本发明还公开了一种移动云环境下基于属性的在线/离线关键字搜索方法的云计算应用系统,包括数据主、用户、ta以及云服务器;数据主分别发送加密文件集和加密索引给云服务器;新用户在ta进行注册,并从ta获得属性私钥,然后发送加密陷门以及转换密钥给云服务器,最后对得到的目标密文进行解密;在云服务器上进行关键字搜索以及部分解密操作。

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

(1)本发明首次通过结合在线/离线abe技术来实现关键字的搜索。在本发明中,我们将大量的abe密钥生成以及加密操作放在离线阶段进行,提前预处理配对运算等复杂操作,大大降低了数据主在加密阶段所要消耗的计算代价。

(2)本发明考虑了在可搜索加密技术下,用户的搜索权限问题,数据拥有者上传数据后,只有符合数据拥有者设定的权限的用户才能搜索数据。本发明设置了ta作为属性授权机构,对新加入系统中的用户进行属性授权,每个用户都有由属性授权机构颁发的属性主密钥,用来证明该用户拥有某个属性,从而可以判断用户是否拥有搜索数据的权限,以防非法用户攻击,防止了恶意用户可能对系统造成的威胁。

(3)本发明考虑了用户端解密开销问题。本发明使用了外包解密技术,在用户解密之前,让云服务器先进行部分的解密,剩下的解密操作由用户自身执行。这样,在用户本身的计算代价就被降到最低的同时还保护了数据隐私。

(4)本发明考虑了移动设备耗电量问题。使用在线/离线技术以及外包计算技术,有效的节省了移动设备的用电量,延长使用时间。

综上所述,本发明基于属性加密机制实现了可搜索加密,保护了用户隐私的同时,大大降低了用户端的计算开销。

附图说明

图1为本发明的整体流程图;

图2为本发明所应用的系统功能模块示意图;

图3为本发明中步骤(3)的具体流程图;

图4为本发明的步骤(5)的具体流程图;

图5为本发明中步骤(6)的具体流程图;

图6为本发明中步骤(7)的具体流程图;

图7为本发明中步骤(8)的具体流程图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

为便于理解本发明的技术方案,此处,对相关技术术语进行解释和说明。

数据主:数据集的拥有者,需要将数据集和查询索引加密后外包到云服务器。

用户:需要从数据拥有者上传的数据中搜索到自己想要的数据。

ta:在发明中起到了授权机构的作用,他负责系统参数的初始化和私钥的生成,根据用户属性集合生成属性私钥并返还给用户。

云服务器:存储数据拥有者的数据集,会忠实地执行用户发出的搜索请求,但有可能窥探数据拥有者的数据隐私和用户的查询隐私。

数据集:数据拥有者需要上传至云端的数据。

属性加密机制:基于属性加密(abe),又称模糊的基于身份的加密(fuzzyidentity-basedencryption)。它把身份标识被看作是一系列的属性。ibe中解密者,只有当自己的身份信息和信息加密者描述的信息是一致的时候,才可以解密加密者加密的信息。和ibe不同的是,采用基于属性加密后,当用户拥有的属性超过加密者所描述的预设门槛时,用户是可以解密的。但这种基于预设门槛的方案不具有通用性。

公钥:由ta生成并公开。

主密钥:由ta生成且仅由ta有。

中间密钥:由ta为生成且保留。

属性私钥:ta颁发给用户、数据拥有者的密钥,不同的对象获得的属性私钥不同,用于执行加密操作。

外包密钥:由ta为用户生成,用于服务器的解密。

中间密文:数据主在离线阶段生成的密文。

转换密文:由云服务器经过比分解密得到的密文。

实施例1:

如图1所示,本实施例的一种移动云环境下基于属性的在线/离线关键字搜索方法,包含以下步骤:

步骤(1)、系统初始化,ta生成系统公钥和主密钥:由ta执行系统初始化算法,输入安全参数λ和一个属性集合u,选择两个p阶循环群g,gt。系统随机选择g,h,u,v,w∈g和α∈zp。ta计算e(g,g)α。令h:{0,1}→zp为一个安全的哈希函数,f为一个消息认证函数,生成系统公钥pp=(g,gt,p,g,h,u,v,w,e(g,g)α,h,f)和系统主密钥msk=(α)。

步骤(2)、离线阶段,ta为新加入的用户离线生成中间密钥;具体实施过程如下:

(2.1)在离线阶段,离线密钥生成算法首先随机选择r∈zp。ta计算k0=gαwr,k1=gr,kv=v-r,我们可以得到skmain=(r,k0,k1,kv)。然后,ta随机选择x,n∈zp并且计算k2=gn,k3=(uxh)nv-r。我们可以得到skatt=(x,n,k2,k3)。

(2.2)ta计算出skmain和skatt后,计算得到中间密钥ski=(skmain,skatt);

步骤(3)、新用户完成在ta上的注册,获得属性私钥;如图3所示,具体实施过程如下:

(3.1)用户定义一个其拥有的属性集合s={a1,a2,…,ak};

(3.2)ta从pooling池中随机选择一个skmain和多个skatt,j;

(3.3)令1<=j<=k,ta计算kj,4=nj·(aj-xj),最后得到用户属性私钥sk=(s,k0,k1,{kj,2,kj,3,kj,4}j∈[1,k])。

步骤(4)、ta为注册成功的用户生成外包密钥,用于最后阶段的用户解密;具体实施过程如下:

(4.1)ta随机选择t∈zp,计算d′=wrg。然后,ta计算d0=k01/t,d1=k11/t,dj,2=kj,21/t,dj,3=kj,31/t作为转换密钥tk;

(4.2)ta利用转换密钥生成用户外包密钥skt=(t,s,d,tk),其中d′=wrg,d=d′1/t

步骤(5)、数据主在移动设备端对明文进行预处理,离线加密信息,获得中间密文;如图4所示,具体实施过程如下:

(5.1)数据主使用pooling池概念构造一个大型的cp-abe系统;

(5.2)数据主随机选择s∈zp,计算任意个密文元组itmain=(c,c0)和itatt=(λ′,x′,z,c1,c2,c3),其中c=kee(g,g)αs,c0=gs,c1=wλ′vz,c2=(ux′h)-z,c3=gz

(5.3)数据主利用密文元组,计算得到中间密文it=(itmain,itatt)。

步骤(6)、数据主对离线加密得到的中间密文进行在线加密,获得完整密文并发送至云服务器;如图5所示,具体实施过程如下:

(6.1)本阶段,数据主需要使用一个itmain和l个itatt。令a=(m,ρ)为一个lsss访问控制结构;

(6.2)数据主随机选择一个itmain和多个itatt,j;

其中,itmain=(c,c0)和多个itatt,j=(λ′j,x′j,zj,cj,1,cj,2,cj,3);

(6.3)数据主随机选择一个向量y=(s,y2,y3,…,yn)∈zp,计算cj,4=λj-λj′,cj,5=-zj(ρ(j)-xj′),得到完整密文ct=((m,ρ),c,c0,{cj,1,cj,2,cj,3,cj,4,cj,5}j∈[1,l]).

步骤(7)、数据主生成索引集、用户利用自身属性生成相关陷门,一同发送给云服务器;如图6所示,具体实施过程如下:

(7.1)对任意wi∈w,数据主选择一个随机字符串ti并且计算ki=e(g,g)αs×e(g,h(wi)s),得到加密索引集

(7.2).当用户需要搜索关键字w时,用户计算qw=h(w)×d,然后计算获得加密陷门tw=(qw,tk);

(7.3).将与tw=(qw,tk)发送给云服务器。

步骤(8)、云服务器接收到加密索引及陷门,执行关键字搜索操作;如图7所示,具体实施过程如下:

(8.1)云服务器首先验证用户的属性集与数据主的访问控制策略是否匹配,如果不匹配,算法结束;否则,令i={i:ρ(i)∈s}。如果{λi}是s秘密共享的值,计算得到{wi∈zp}i∈i。

云服务器计算:

(8.2)云服务器计算f(kw,ti)并且与加密索引ctw相匹配,如果匹配成功,服务器就执行下一步操作。其中,

(8.3)云服务器计算e(c0,d0)/dt=e(g,g)αs/t,得到转换密文ct′=(c,e(g,g)αs/t)并发送给搜索用户。

步骤(9)、用户解密,得到目标信息,具体实施过程如下:

(9.1)用户计算t0=c,t1=e(g,g)αs/t。然后,用户计算得到对称密钥

(9.2)用户使用对称密钥ke解密,得到目标信息。

如图2所示,将上述移动云环境下基于属性的在线/离线关键字搜索方法应用于云计算系统,该系统包括数据主、ta、用户、以及云服务器。数据主分别发送加密文件集和加密索引给云服务器;新用户在ta进行注册,并从ta获得属性私钥,然后发送加密陷门以及转换密钥给云服务器,最后对得到的目标密文进行解密;在云服务器上进行关键字搜索以及部分解密操作。

验证分析

(1)安全性分析

1、.数据隐私安全

本发明使用密钥转换算法和abe密文转换算法,输出两个密钥。第一个是elgamal键t,第二个是转换密钥tk。当云服务器对授权用户进行认证时,云服务器利用转换密钥将abe密文转换为elgamal密文。用户可以在获得elgamal密文后,用密钥t解密密文。在密文转换算法中,abe密文通过代理转换为elgamal形式的密文。虽然需要部分解密操作,但不会公开私钥和明文的任何信息。

2、关键字安全

本发明中,关键字索引在索引算法中被加密。首先,使用哈希函数h处理关键字,然后,数据主使用随机数s和公共参数pp加密关键字。在此过程中,系统执行配对操作。因此,分析表明加密索引不会显示有关关键字索引和文件的任何信息。此外,云服务器将无法从索引获取任何有用的信息,我们的发明具有关键字安全功能。

3、搜索可控性

本发明中,将abe技术与关键字搜索相结合,abe可以实现对用户的访问控制,使用这一点来实现关键字搜索权限控制。在本发明中,如果用户想要搜索关键字,首先得执行验证算法来验证其身份。云服务器执行验证算法,判断用户的属性集和密文中的访问策略是否相互满足。如果满足,云服务器执行关键字搜索操作。否则,算法结束。

4、陷门不可链接性

如果用户想要隐藏他真正想要查询的信息,用户应该向cs发送加密的陷门。在本发明中,即使在某些陷门中含有相同的关键字,这些关键字生成的陷门也应该是不同的。cs不应该找到这些陷门间任何的联系,陷门生成算法也不能确定。因此,应该随机设置陷门生成函数。本发明中,陷门被分为两部分。第一部分中,用户使用哈希函数h处理关键字,然后乘以d。我们可以得到qw=h(w)×d。在这里,d是skt的一部分,这是一个安全的参数。第二部分是转换密钥tk,也不会透露任何信息的内容。通过上述分析,可以说本发明支持陷门不可链接性。

(2)效率分析

本发明中,定义h′表示一个哈希函数;f表示消息认证函数;p表示配对操作;n表示用户拥有的属性个数;n表示访问树中叶子节点的个数;e表示在群g上的指数运算;et表示在群gt上的指数运算;mt表示在群gt上的乘法运算。tske.g和tske.e分别表示分别代表对称加密的密钥生成算法和对称加密算法。表1比较了本发明与chen的方案在在线阶段密钥生成与加密的计算复杂度:

表1在线计算复杂度比较

从表1可以看出本发明在在线加密阶段的计算复杂度与chen的计算复杂度是一样的,但是本发明在线密钥生成的计算复杂度要大大优于chen的方案。所以,总体而言,本发明在在线阶段的计算复杂度上要优于chen的方案。

表2搜索过程计算复杂度比较

表2分别从索引生成、陷门生成和用户解密三个方面的计算复杂度进行对比,可以看出,本发明在这三个方面的计算复杂度都要远远低于wei和sun的方案。所以,再次证明本发明的高效性。

通过上述实施例以及验证分析,可以看出本发明在密钥生成阶段做了预处理,提高了系统整体的运行效率;并且用户使用代价更低。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 一种基于区块链实现共享零售的...
  • IPv6无状态地址分配方法及...
  • 一种语音质检金融安全控制系统...
  • 一种云地结合的数据处理方法及...
  • 一种大数据查询处理的隐私保护...
  • 一种网页检测方法、装置和设备...
  • 通用多屏智能信息推送方法及装...
  • 一种报文传输方法及装置与流程
  • Flask安全模块、构建方法...
  • 无线大数据部署方法及装置与流...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

聚圣源磁力星球大圣经典起名玩物人生山东电视台在线直播抚顺起名鼠年女孩起啥名字好手机app文件夹创意起名字湖北剧院银兴影城血恋2西宁破特大贩毒案用诗经楚辞起名子单姓怎么起名库里中国行房产投资起名孙氏中国素材网免费下载饼干店起名海宴宝宝起名五行缺什么姓宁的起姓名大全起名字带木的字有哪些湖北省中医院地址唐宁墨霆小说全文免费阅读完整版逆天九小姐帝尊别跑battlefield4王思聪蛋糕事件怎么说的给老师的一封信作文大唐荣耀百度云恶之花姚晨伊甸园字幕组淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化