可授权的基于身份的带关键词搜索加密方法与流程

文档序号:17373736发布日期:2019-04-12 23:04阅读:508来源:国知局
可授权的基于身份的带关键词搜索加密方法与流程

本发明涉及网络空间安全技术领域,特别是涉及一种可授权的基于身份的带关键词搜索加密方法。



背景技术:

随着云计算的快速发展,大量企业、机构和组织选择将数据加密后存储在云端,并在需要时取回这些数据。在这种模型下,云服务器上存储的始终是加密的文件,云端的管理员无法看到明文的数据内容,因此无法精确地返回期望的数据。在查找符合指定关键词的数据时,传统的做法是,取回云端所有可能包含此关键词的数据,进行解密,并从解密的数据中找出需要的内容。随着存在云端的数据量的增加,取回数据是一种越来越繁重的任务,同时也对用户的网络接入带宽等提出了严峻的考验;当数据量太大时,取回所有数据进行逐一解密查找的做法通常是不可行的。由于在传统的模型下,云服务器无法看到数据明文,无法对加密数据进行任何形式的、有利于确定数据取回集合范围的处理,不能充分利用服务器上的计算资源。因此,亟需一种对加密文件进行检索的方法。

在2004年,danboneh等人提出一种基于公钥密码体制的可搜索加密方法。此方法的出现解决了基本的加密数据检索的问题,但随后的研究表明,此方法存在关键词猜测攻击风险:恶意的服务器可以根据自己“感兴趣”的关键词提前生成公钥加密可搜索关键词对(peks),并和用户在进行搜索时传来的搜索陷门(tw)进行逐一验证,一旦验证成功即可获知用户正在检索的关键词。除了安全性方面的问题以外,此方法也不具有可代理的特性,这限制了此方法的具体应用环境。

考虑如下情况:为了节约经营成本,某企业经理将自己每天的大量生产数据加密后上传到云端;其多个合作部门每天会对数据进行检索,以获取必要的工作资料。同时,企业希望保护自身的商业信息的安全性,不希望云服务器猜测出查询的关键词。由于出差或者接受调查等原因,该经理无法接触到生产数据,但是企业每天产生的大量生产数据需要及时的上传,并且交由其他合作部门检索。这种情况下,为了减少企业无法及时上传数据带来的额外损失,可以采用代理授权机制,原始数据拥有者通过代理机制指定一个代理对文件进行处理并且上传,在授权的情况下,代理上传的数据等同于原始数据拥有者本身上传的数据。

目前,虽然出现了一些数据的可搜索方法,但是这些方法几乎不具备同时抗内部关键词猜测攻击和可代理的特性。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种可授权的基于身份的带关键词搜索加密方法。

本发明的目的是通过以下技术方案来实现的:可授权的基于身份的带关键词搜索加密方法,包括:

系统初始化步骤:设置并公开全局参数,所述全局参数包括超奇异椭圆曲线的参数、哈希函数和双线性对映射函数;密钥生成中心选取自身的私钥;

用户私钥生成步骤:密钥生成中心利用用户的身份、密钥生成中心自身的私钥以及全局参数生成用户身份对应的用户私钥,并将该用户私钥发送给用户,所述用户包括原始数据拥有者、代理者和数据接收者;用户在收到用户私钥后对其进行有效性验证,若验证未通过,则用户向密钥生成中心请求再次颁发用户私钥;

授权凭证签发步骤:原始数据拥有者创造一个授权凭证,并利用自身的用户私钥产生授权凭证的数字签名,并将授权凭证发送给代理者,所述授权凭证的内容包括代理者的身份、授权内容、授权权限以及授权有效期;代理者在收到授权凭证后对其进行有效性验证,若验证未通过,则代理者拒绝该授权凭证的授权内容;

可授权加密的公私钥生成步骤:代理者利用自身的用户私钥和授权凭证生成可授权加密的公私钥对;

带关键词搜索的加密步骤:代理者提取明文信息的关键词,并利用公钥加密算法将明文信息进行加密,同时利用可授权加密的私钥以及数据接收者的公钥产生明文信息对应的关键词的密文,然后将明文信息的密文以及关键词的密文上传云服务器;

搜索陷门生成步骤:数据接收者选取关键词,并利用自身的用户私钥计算关键词的搜索陷门,并将搜索陷门发送到云服务器;

云服务器搜索测试步骤:云服务器接收到搜索陷门后逐一对存储的明文信息的密文和关键词的密文进行测试匹配,当匹配成功时,云服务器向数据接收者返回对应的明文信息的密文。

优选的,所述系统初始化步骤包括:

密钥生成中心选取模q上的剩余类环zq上的椭圆曲线e,p是椭圆曲线上阶为q的点,且p还是加法循环群g1=<p>的生成元;

密钥生成中心随机选取并计算ppub=sp,其中,ppub是密钥生成中心的公钥,s是密钥生成中心的私钥;

选取抗碰撞哈希函数h1:{0,1}*→zq、哈希函数h2:{0,1}*→zq、哈希函数h3:{0,1}*×g1→zq和哈希函数h4:{0,1}*→g1;

设置双线性对映射e:g1×g1→g2,其中g2是q阶乘法循环群;

密钥生成中心公开全局参数para=(q,e,p,ppub,h1,h2,h3,h4,e)。

优选的,所述用户私钥生成步骤包括:

对于用户id,所述用户id包括原始数据拥有者ido、代理者idp和数据接收者idr,密钥生成中心随机选取计算随机变量rid=ridp和用户私钥skid=sh1(id)+rid,然后将二元组(rid,skid)发送给用户id;

用户id收到二元组(rid,skid)后,计算用户id的公钥qid=skidp,并验证方程e(h1(id)ppub,p)e(rid,p)=e(qid,p)是否成立,若该方程不成立,则验证未通过,用户向密钥生成中心请求再次颁发用户私钥。

优选的,所述授权凭证签发步骤包括:

原始数据拥有者ido选取随机数并计算以及随机变量x=xp,其中cert为授权凭证,然后将三元组(y,x,cert)发送给代理者idp;

代理者idp收到三元组(y,x,cert)后,首先判断授权凭证cert所述的代理关系是否正确,然后计算公开常量y=yp,验证方程是否成立,若代理关系正确且方程成立,则验证通过,否则验证未通过,验证未通过时代理者idp拒绝该授权凭证cert的授权内容。

优选的,所述可授权加密的公私钥生成步骤包括:

代理者idp随机选取随机数并利用代理者idp对应的用户私钥计算作为可授权加密的私钥,并计算对应的可授权加密的公钥

优选的,所述带关键词搜索的加密步骤包括:

代理者idp提取明文信息的关键词kw,选取随机数并利用可授权加密的私钥计算关键词kw的密文c=(c1,c2),其中,密文分量一c1=skproh4(kw)+αp,密文分量二为数据接收者idr对应的公钥;代理者idp利用公钥加密算法产生明文信息的密文ξ,并将密文ξ和对应的关键词的密文c=(c1,c2)上传云服务器。

优选的,所述搜索陷门生成步骤包括:

数据接收者idr选取关键词kw',并计算作为搜索陷门,然后将搜索陷门发送给云服务器。

优选的,所述云服务器搜索测试步骤包括:

云服务器接收到搜索陷门后逐一对存储明文信息的密文ξ和关键词的密文c=(c1,c2)进行搜索测试,若测试方程成立,则表明关键词kw和关键词kw'相等,此时匹配成功,并将对应的密文ξ发送给数据接收者idr。

优选的,用户向密钥生成中心请求再次颁发用户私钥的同时向密钥生成中心返回错误信息。

优选的,数据接收者在收到云服务器返回的明文信息的密文后,利用自身的用户私钥解密该密文得到相应关键词对应的明文信息。

本发明的有益效果是:

(1)本发明的方法具备可授权功能,具有较强的应用灵活性,不仅可以解决可搜索加密文件的代理上传问题,而且提供了抗关键词猜测的特性,服务器无法猜测用户正在查询的关键词,有效地保障了云端数据的信息安全;

(2)本发明的方法支持原始数据拥有者授权给代理者帮助其上传明文信息的密文及关键词的密文到云服务器,同时方便与原始数据拥有者共享的数据接收者搜索特定关键词对应的密文信息,这样有助于解决在云存储的可搜索环境中,原始数据拥有者不便或者无法接触数据的情形下,解决可搜索环境下的数据代理上传问题,在保障数据秘密的前提下,有效地利用了云服务器的计算资源,极大地降低了原始数据拥有者的计算和存储开销;

(3)本发明中,由于第三方代理者在产生带关键词搜索加密过程中,除了要用数据接收者的公钥,更重要的还是需要用到自己的可授权加密的私钥,本质上产生的是可认证的关键词的密文;这样即便内部云服务器得到来自数据接收者的搜索陷门,也不能通过穷举分析猜测到原始数据拥有者所选取的特定关键词的信息,从而无法知道原始数据拥有者想搜索的加密信息,保护了原始数据拥有者的隐私;

(4)本发明是基于身份的密码体制设计的,无需部署代价昂贵的公钥基础设施来实现复杂的证书管理,具有更低的实施成本和维护成本;此外,通过分析比较,本发明相较于现有技术具有更好的性能优势,特别在保密性需求较高的政府部门以及需要保护核心技术的国有企业,具有重要的应用价值。

附图说明

图1为可授权的基于身份的带关键词搜索加密方法的流程框图。

具体实施方式

下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,本发明提供一种可授权的基于身份的带关键词搜索加密方法:

可授权的基于身份的带关键词搜索加密方法包括:

s1.系统初始化步骤:设置并公开全局参数,所述全局参数包括超奇异椭圆曲线的参数、哈希函数和双线性对映射函数;密钥生成中心选取自身的私钥。

所述系统初始化步骤包括:

s11.密钥生成中心选取模q上的剩余类环zq上的椭圆曲线e,p是椭圆曲线上阶为q的点,且p还是加法循环群g1=<p>的生成元;

s12.密钥生成中心随机选取并计算ppub=sp,其中,ppub是密钥生成中心的公钥,s是密钥生成中心的私钥;

s13.选取抗碰撞哈希函数h1:{0,1}*→zq、哈希函数h2:{0,1}*→zq、哈希函数h3:{0,1}*×g1→zq和哈希函数h4:{0,1}*→g1;

s14.设置双线性对映射e:g1×g1→g2,其中g2是q阶乘法循环群;

s15.密钥生成中心公开全局参数para=(q,e,p,ppub,h1,h2,h3,h4,e)。

s2.用户私钥生成步骤:密钥生成中心利用用户的身份、密钥生成中心自身的私钥以及全局参数生成用户身份对应的用户私钥,并将该用户私钥发送给用户,所述用户包括原始数据拥有者、代理者和数据接收者;用户在收到用户私钥后对其进行有效性验证,若验证通过,则说明用户私钥有效,若验证未通过,则用户向密钥生成中心返回错误信息并请求再次颁发用户私钥。即本步骤中,分别为原始数据拥有者、代理者和数据接收者生成各自的用户私钥。

所述用户私钥生成步骤包括:

s21.对于用户id,所述用户id包括原始数据拥有者ido、代理者idp和数据接收者idr,密钥生成中心随机选取计算随机变量rid=ridp和用户私钥skid=sh1(id)+rid,然后将二元组(rid,skid)发送给用户id;

s22.用户id收到二元组(rid,skid)后,计算用户id的公钥qid=skidp,并验证方程e(h1(id)ppub,p)e(rid,p)=e(qid,p)是否成立,若该方程成立,则验证通过,说明用户私钥skid=sh1(id)+rid有效,若该方程不成立,则验证未通过,用户向密钥生成中心返回错误信息并请求再次颁发用户私钥。

s3.授权凭证签发步骤:原始数据拥有者创造一个授权凭证,并利用自身的用户私钥产生授权凭证的数字签名,并将授权凭证发送给代理者;代理者在收到授权凭证后对其进行有效性验证,若验证通过,说明授权凭证所述的授权信息真实有效,若验证未通过,则代理者立即拒绝该授权凭证的授权内容。

所述授权凭证签发步骤包括:

s31.原始数据拥有者ido选取随机数并计算以及随机变量x=xp,其中cert为授权凭证,然后将三元组(y,x,cert)发送给代理者idp;

s32.代理者idp收到三元组(y,x,cert)后,首先判断授权凭证cert所述的代理关系是否正确,然后计算公开常量y=yp,验证方程是否成立,若代理关系正确且方程成立,则验证通过,说明授权凭证cert所述的授权信息真实有效,否则验证未通过,验证未通过时代理者idp拒绝该授权凭证cert的授权内容。

s4.可授权加密的公私钥生成步骤:代理者利用自身的用户私钥和授权凭证生成可授权加密的公私钥对。

所述可授权加密的公私钥生成步骤包括:

代理者idp随机选取随机数并利用代理者idp对应的用户私钥计算作为可授权加密的私钥,并计算对应的可授权加密的公钥

s5.带关键词搜索的加密步骤:代理者提取明文信息的关键词,并利用公钥加密算法将明文信息进行加密,同时利用可授权加密的私钥以及数据接收者的公钥产生明文信息对应的关键词的密文,然后将明文信息的密文以及关键词的密文上传云服务器。

所述带关键词搜索的加密步骤包括:

代理者idp提取明文信息的关键词kw,选取随机数并利用可授权加密的私钥计算关键词kw的密文c=(c1,c2),其中,密文分量一c1=skproh4(kw)+αp,密文分量二为数据接收者idr对应的公钥;代理者idp利用公钥加密算法产生明文信息的密文ξ,并将密文ξ和对应的关键词的密文c=(c1,c2)上传云服务器。

s6.搜索陷门生成步骤:数据接收者选取关键词,并利用自身的用户私钥计算关键词的搜索陷门,并将搜索陷门发送到云服务器。

所述搜索陷门生成步骤包括:

数据接收者idr选取关键词kw',并计算作为搜索陷门,然后将搜索陷门发送给云服务器。

s7.云服务器搜索测试步骤:云服务器接收到搜索陷门后逐一对存储的明文信息的密文和关键词的密文进行测试匹配,当匹配成功时,云服务器向数据接收者返回对应的明文信息的密文,数据接收者在收到云服务器返回的明文信息的密文后,利用自身的用户私钥解密该密文得到想搜索的关键词对应的明文信息。

所述云服务器搜索测试步骤包括:

云服务器接收到搜索陷门后逐一对存储明文信息的密文ξ和关键词的密文c=(c1,c2)进行搜索测试,若测试方程成立,则表明关键词kw和关键词kw'相等,此时匹配成功,并将对应的密文ξ发送给数据接收者idr,数据接收者idr在收到云服务器返回的明文信息的密文ξ后,利用自身的用户私钥解密该密文ξ得到想搜索的关键词对应的明文信息。

所述测试方程的正确性推导如下所示:

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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