可控制的可验证多用户端可搜索加密搜索方法技术

技术编号:13344891 阅读:40 留言:0更新日期:2016-07-14 13:06
本发明专利技术公开了一种可控制的可验证多用户端可搜索加密搜索方法。该方法设计一个具有权威性的注册模块及两个互相不勾结的云服务器。注册模块实现各个用户端的注册及信息录入,所述两个云服务器与注册模块进行通信,并同时具有每个合法用户端的信息。本发明专利技术建立了多用户端可搜索加密模型,同时提出了支持细粒度控制的可验证的多用户端可搜索加密算法,避免的侧信息的泄露。同时,用户端能验证搜索结果的完整性,并且被删除的用户端无法再获取相应的文件。

【技术实现步骤摘要】
可控制的可验证多用户端可搜索加密搜索方法
本专利技术涉及云
,尤其涉及一种可控制的可验证多用户端可搜索加密搜索方法。
技术介绍
在物联网、云计算、大数据相互融合的时代,我们随时都将面临相当大的信息量。越来越多的敏感信息如email、个人健康记录、公司金融数据等集中存储在云服务器上,因此,数据必须使用加密技术进行处理。云安全联盟已经指出:在云上如果文件没有加密,则此文件被认为已经丢失。云计算最基本的数据服务就包含了安全、高效的数据检索。然而,数据加密后使得在海量的密文文件中搜索特定的文件变得极为困难。可搜索加密技术可以通过特定的关键词来搜索加密后的文件。目前可搜索加密技术主要针对的是对称密钥体制下的单用户端搜索模式,而在多用户端环境下的公钥可搜索加密的研究相对较少。在多用户端的环境下,基本都是将用户端视为同一级别的,所有人都能上传数据,并且所有人都能对数据进行检索。虽然出现了一些对用户端进行分级的方案,然而这些方案仅仅是靠加密技术来保护数据的隐私,只是让不具备访问策略的用户端无法解密获取其搜索到的密文数据。但是这类方案都存在一定的信息泄露。例如:云服务器上存储了两个国家(A和B)的文件。国家A中的某个人想查阅下有关“原子弹”的文件,于是他向云服务器提出搜索请求,让云服务器返回有关“原子弹”的一系列文件。我们假设云服务器返回了100个文件,但是国家A的人员仅仅只能解密阅读20个文件,其他文件对该人员来讲并不能解密,因此他不能知道其他文件中的内容。在此过程中,看似是安全的,因为文件已加密,不符合访问策略的人无法解密文件。但是这泄露了一些侧信息。国家A的人员通过返回来的文件(即使他不能解密阅读其内容)知道还有80份关于“原子弹”的文件,而且这些文件是属于国家B的。这样国家A就对国家B在原子弹研究方面的进度进行了一定了解,知道了国家B也在进行原子弹研究。如果搜索的的文件只有20份,并且国家A的人员都能解密,那么说明国家B并没有进行原子弹研究,科技水平发展还不够。因此,由于一些侧信息的泄露,可能泄露许多相关的重要信息。因此,需要研究一种搜索模式,对于没有阅读权限的人员来讲不能让他们搜索到一些机密文件,即使这些文件包含了他们所想要关注的内容。另一方面,目前的多用户端可搜索加密方案中几乎都要求服务器诚实可信,然而,在现实生活中云服务器往往是不可信的。服务器可能为了节约自身的资源,懒惰的对密文文件进行搜索。比如,数据库里有100万个文件,而服务器只进行了20万个文件的检索,而返回用户端一些相关文件。或者,直接不进行搜索,而返回用户端一个空值,表明数据库里面并无用户端所需要的相关文件。由于文件都是不同用户端存放在云上的,因此用户端根本不知道到底有多少文件与自己所搜索的信息相关。因此,需要设计一种用户端能快速验证服务器是否对密文进行了完整搜索的可搜索加密算法。这两个方面是云计算中数据安全的一个关键技术难点,它对于促进云计算平台系统的稳定和实用有着重要的意义。在信息高速发展的当代,用户端将文件加密存放到云服务器上,然后通过可搜索加密技术对密文进行检索得到自己想搜索的文件。目前在可搜索加密的模型中,为了保护文件的隐私性,所用的方法几乎都是利用加密手段让不满足访问策略的用户端虽然能搜索到相关文件,但是无法解密得到真正的文件。然而这存在着侧信息的泄露。为了更好的实现数据安全共享,本专利提供了一种新的可搜索加密技术,使不满足访问策略的用户端无法搜索到含有用户端搜索信息的数据,避免了侧信息的泄露,保证了数据的安全存储。同时,对于懒惰的云服务器,使得用户端能高效的验证云服务器是否完整的对密文数据空间进行了检索。在云计算环境下,数据上传到网上必须加密,如果数据没有加密,则认为数据已经丢失。在大数据环境下,用户端只能将大量的数据存放到云服务器上来减少自身资源的消耗,节约存储空间。在不泄露隐私的情况下,对密文进行检索已经成为了目前的研究热点。但是目前的可搜索加密技术大多针对单用户端,针对多用户端的研究相对较少。然而,目前能实现多用户端检索的方案中,基本都是:用户端能搜索到相应的文件,但用户端只能解密自己权限范围内的文件。在这种搜索模式下,造成了一些侧信息的泄露。而且,现有的方案中几乎都要求服务器诚实,用户端不需要验证搜索结果。
技术实现思路
为解决上述问题,本专利技术提供了一种可控制的可验证多用户端可搜索加密搜索方法,该方法应用于所述可搜索加密系统,所述系统包括注册模块、第一云服务器、第二云服务器、多个用户端,所述方法包括如下步骤:步骤1:预先定义细粒度的可搜索加密方法,且注册模块构建系统并进行系统的设置,所述设置包括生成系统公钥、自己的私钥、公开参数。步骤2:各个用户端向注册模块申请加入,注册模块生成各个用户端的身份ID,并运用自己的私钥生成对应于各个用户端的私钥以及第一用户端信息、第二用户端信息。步骤3:注册模块将各个已经注册用户端的身份ID及用户端的身份名加入到自身的用户端信息列表中,注册模块将各个用户端的私钥发送给用户端,将第一用户端信息发送给第一云服务器,将第二用户端信息发送给服务器第二云服务器。步骤4:第一云服务器、第二云服务器分别将第一用户端信息、第二用户端信息加到各自的用户端信息列表中。步骤5:上传文件用户端运用系统公钥对待上传文件的关键词建立索引。步骤6:上传文件用户端建立对文件的访问策略,将被属性加密算法加密的对称密钥及关键词索引发送给第一云服务器,将用对称密钥加密的密文及关键词索引发送给第二云服务器。步骤7:搜索文件用户端运用系统公钥与自己的私钥以及所需要查询的关键词生成关键词的询问,然后将询问及在第一云服务器中的注册信息发送给第一云服务器,并且将询问及在第二云服务器中的注册信息发送给第二云服务器。步骤8:第一云服务器、第二云服务器先分别验证搜索文件用户端的注册信息是否在其用户端信息列表中,如果不在用户端信息列表中,则停止搜索工作,如果在用户端信息列表中,再对整个密文加密文件库进行搜索。步骤9:第一云服务器、第二云服务器验证用户端是否满足文件的访问策略并且文件是否包含用户端所查询的关键词,如不成立则跳过此文件,如果满足则第一云服务器将相应的用属性加密的对称密钥添加到第一文件集合中,第二云服务器将用对称密钥加密的密文添加到集合第二文件集合中;完成检索后,第一云服务器将第一集合返回给用户端,第二云服务器将第二文件集合返回给用户端。步骤10:搜索文件用户端将第一文件集合、第二文件集合作为匹配函数的参数对匹配函数进行运算,根据运算结果判断搜索结果是否正确;如果正确则进行步骤11。步骤11:搜索文件用户端用自己的私钥解密用属性加密算法加密的对称密钥,再用对称密钥对加密文件进行解密,进而得到搜索结果文件。进一步的,当注册过的用户端被系统删除,注册模块更新用户端信息列表,且通知第一云服务器与第二云服务器更新各自的用户端信息列表。进一步的,步骤一中生成公开参数及私钥的方法为:注册模块随机从有限域中选择t1,...,tn,所述t1,...,tn均为有限域中的随机数,并选择一个hash函数h(·)、一个带密钥的hash函数h(*,·)和一个门限值d,则公开参数生成公式为:注册模块的的私钥为:t1,...,tn,y。预先定义的细粒度的本文档来自技高网
...

【技术保护点】
可控制的可验证多用户端可搜索加密搜索方法,其特征在于,该方法应用于所述可搜索加密系统,所述系统包括注册模块、第一云服务器、第二云服务器、多个用户端,所述方法包括如下步骤:步骤1:预先定义细粒度的可搜索加密方法,且注册模块构建系统并进行系统的设置,所述设置包括生成系统公钥、自己的私钥、公开参数;步骤2:各个用户端向注册模块申请加入,注册模块生成各个用户端的身份ID,并运用自己的私钥生成对应于各个用户端的私钥以及第一用户端信息、第二用户端信息;步骤3:注册模块将各个已经注册用户端的身份ID及用户端的身份名加入到自身的用户端信息列表中,注册模块将各个用户端的私钥发送给用户端,将第一用户端信息发送给第一云服务器,将第二用户端信息发送给服务器第二云服务器;步骤4:第一云服务器、第二云服务器分别将第一用户端信息、第二用户端信息加到各自的用户端信息列表中;步骤5:上传文件用户端运用系统公钥对待上传文件的关键词建立索引;步骤6:上传文件用户端建立对文件的访问策略,将被属性加密算法加密的对称密钥及关键词索引发送给第一云服务器,将用对称密钥加密的密文及关键词索引发送给第二云服务器;步骤7:搜索文件用户端运用系统公钥与自己的私钥以及所需要查询的关键词生成关键词的询问,然后将询问及在第一云服务器中的注册信息发送给第一云服务器,并且将询问及在第二云服务器中的注册信息发送给第二云服务器;步骤8:第一云服务器、第二云服务器先分别验证搜索文件用户端的注册信息是否在其用户端信息列表中,如果不在用户端信息列表中,则停止搜索工作,如果在用户端信息列表中,再对整个密文加密文件库进行搜索;步骤9:第一云服务器、第二云服务器验证用户端是否满足文件的访问策略并且文件是否包含用户端所查询的关键词,如不成立则跳过此文件,如果满足则第一云服务器将相应的用属性加密的对称密钥添加到第一文件集合中,第二云服务器将用对称密钥加密的密文添加到集合第二文件集合中;完成检索后,第一云服务器将第一集合返回给用户端,第二云服务器将第二文件集合返回给用户端;步骤10:搜索文件用户端将第一文件集合、第二文件集合作为匹配函数的参数对匹配函数进行运算,根据运算结果判断搜索结果是否正确;如果正确则进行步骤11;步骤11:搜索文件用户端用自己的私钥解密用属性加密算法加密的对称密钥,再用对称密钥对加密文件进行解密,进而得到搜索结果文件。...

【技术特征摘要】
1.可控制的可验证多用户端可搜索加密搜索方法,其特征在于,该方法应用于可搜索加密系统,所述系统包括注册模块、第一云服务器、第二云服务器、多个用户端,所述方法包括如下步骤:步骤1:预先定义细粒度的可搜索加密方法,且注册模块构建系统并进行系统的设置,所述设置包括生成系统公钥、自己的私钥、公开参数;步骤2:各个用户端向注册模块申请加入,注册模块生成各个用户端的身份ID,并运用自己的私钥生成对应于各个用户端的私钥以及第一用户端信息、第二用户端信息;步骤3:注册模块将各个已经注册用户端的身份ID及用户端的身份名加入到自身的用户端信息列表中,注册模块将各个用户端的私钥发送给用户端,将第一用户端信息发送给第一云服务器,将第二用户端信息发送给服务器第二云服务器;步骤4:第一云服务器、第二云服务器分别将第一用户端信息、第二用户端信息加到各自的用户端信息列表中;步骤5:上传文件用户端运用系统公钥对待上传文件的关键词建立索引;步骤6:上传文件用户端建立对文件的访问策略,将被属性加密算法加密的对称密钥及关键词索引发送给第一云服务器,将用对称密钥加密的密文及关键词索引发送给第二云服务器;步骤7:搜索文件用户端运用系统公钥与自己的私钥以及所需要查询的关键词生成关键词的询问函数,然后将询问函数及在第一云服务器中的注册信息发送给第一云服务器,并且将询问函数及在第二云服务器中的注册信息发送给第二云服务器;步骤8:第一云服务器、第二云服务器先分别验证搜索文件用户端的注册信息是否在其用户端信息列表中,如果不在用户端信息列表中,则停止搜索工作,如果在用户端信息列表中,再对整个密文加密文件库进行搜索;步骤9:第一云服务器、第二云服务器验证用户端是否满足文件的访问策略并且文件是否包含用户端所查询的关键词,如不成立则跳过此文件,如果满足则第一云服务器将相应的用属性加密的对称密钥添加到第一文件集合中,第二云服务器将用对称密钥加密的密文添加到集合第二文件集合中;完成检索后,第一云服务器将第一集合返回给用户端,第二云服务器将第二文件集合返回给用户端;步骤10:搜索文件用户端将第一文件集合、第二文件集合作为匹配函数的参数对匹配函数进行运算,根据运算结果判断搜索结果是否正确;如果正确则进行步骤11;步骤11:搜索文件用户端用自己的私钥解密用属性加密算法加密的对称密钥,进而得到搜索结果文件。2.如权利要求1所述的可控制的可验证多用户端可搜索加密搜索方法,其特征在于,当注册过的用户端被系统删除,注册模块更新用户端信息列表,且通知第一云服务器与第二云服务器更新各自的用户端信息列表。3.如权利要求1所述的可控制的可验证多用户端可搜索加密搜索方法,其特征在于,步骤一中生成公开参数及私钥的方法为:注册模块随机从有限域中选择t1,...,tn,所述t1,...,tn均为有限域中的随机数,并选择一个hash函数h(·)、一个带密钥的hash函数h(*,·)和一个门限值d,则公开参数生成公式为:注册模块的的私钥为:t1,…,tn,y;预先定义的细粒度的可搜索加密方法为:当用户端的属性集合{ω}满足|{ω}∩{ω′}|≥d并且所查询的关键词与文件所含关键词一致时,用户端能检索到相应的文件,其中{ω}为所需属性集合,d为门限,|·|表示元素的个数,...

【专利技术属性】
技术研发人员:叶俊周贤林祝昌宇王宏
申请(专利权)人:四川理工学院
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1