当前位置: 首页 > 专利查询>安徽大学专利>正文

云环境中基于迭代加密的多关键词密文检索方法技术

技术编号:20117437 阅读:95 留言:0更新日期:2019-01-16 12:00
本发明专利技术公开一种云环境中基于迭代加密的多关键词密文检索方法,包括系统初始化、建立索引、加密索引和文件、数据上传、查询请求生成、服务器搜索、数据返回、用户发送更新数据请求。本发明专利技术基于迭代加密方式实现快速查找,不依赖于倒排索引结构,同样可以达到相同的效果,在搜索过程中,服务器收到请求后,根据文件标签迭代密文,使用对称加密算法进行迭代解密,可以获得相应的文件标签,然后根据文件标签查找布隆过滤器,从而返回满足条件的文件给用户。因为使用了迭代加密的技巧,在不泄露关键字和文件标签之间关系同时,达到了前向安全的要求。

Iterative Encryption-based Multi-keyword Ciphertext Retrieval in Cloud Environment

The invention discloses a multi-keyword ciphertext retrieval method based on iterative encryption in cloud environment, including system initialization, index establishment, encryption index and file, data upload, query request generation, server search, data return, and user sending update data request. In the search process, the server receives the request, iterates the ciphertext according to the file label, and decrypts the ciphertext iteratively using the symmetric encryption algorithm. The corresponding file label can be obtained, and then the Bloom filter can be searched according to the file label, so as to return to the satisfaction. The condition file is given to the user. Because of the use of iterative encryption techniques, the requirement of forward security is achieved without revealing the relationship between keywords and file labels.

【技术实现步骤摘要】
云环境中基于迭代加密的多关键词密文检索方法
本专利技术属于云环境加密技术,具体涉及一种云环境中基于迭代加密的多关键词密文检索方法。
技术介绍
可搜索加密是一种重要的搜索技术,在云存储中可以保护用户数据安全和隐私。随着云计算的迅速发展,用户开始将数据迁移到云端服务器,以此避免繁琐的本地数据管理并获得更加便捷的服务。为了保证数据安全和用户隐私,数据一般是以密文存储在云端服务器中,但是用户将会遇到如何在密文上进行查找的难题。可搜索加密是近年来发展的一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。前向安全是指用来产生会话密钥的长期密钥泄露出去,不会造成之前通讯时使用的会话密钥的泄露,也就不会泄露以前的通讯内容。一般而言,满足前向安全的公钥环境下方案,其公钥是固定的,而密钥则随着时间进行更新。这个更新过程是单向的,因此也就保证了拿到当前的密钥,是无法恢复出以前的密钥,从而保证了前向安全。现在有很多学者开始关注对支持前向安全的可搜索加密的研究。早在2005年,ChangandMitzenmacher等人首次提出支持前向安全的动态可搜索加密方案,和之前的方案相比关注的问题不同,更有实际意义,但是搜素效率低。直到最近几年,该问题受到大量学者的关注,提出了许多方案,在性能上有很大提升。2014年,Stefanov等人提出的方案在效率上做了提升,使搜索时间从线性提升到压线性时间复杂度。在他们的交互更新过程中,客户端从服务器获取大量的数据,在遗忘的排序算法上来运行。此外,数据库中的数据删除是合法的,但是只有在搜索过程中进行修改,当删除的数据超过一半时,作者建议重新加密数据库。2015年,YavuzandGuajardo等人提出了一个新的结构,基于矩阵的数据结构,矩阵的横和行分别代表关键字和文件标识,有两个哈希表,一个用作倒排索引一个用作前向索引,倒排索引用来搜索前向索引用来更新数据,然而他们方案矩阵的横和行是提前确定的,因此,该方案可以看作是静态的对称可搜索加密。2016年,Sophos提出了基于门限置换的方案,他们的方案在计算和通信上有很好的性能,但是他们的置换是基于公钥加密算法,需要很高的计算开销,还有他们的方案不支持并行计算,因为门限置换需要逐次迭代。还有该方案只支持增加和搜索操作,不支持删除。因此,Sophos的动态特性是通过运行两个实例来提供的,一个用于添加,另一个用于删除。在对关键字w进行搜索查询处理过程,服务器计算并返回两个实例中与w对应的文档标识符之间的差异。这些因素降低了服务器存储和搜索操作的实用性。2017年,KeeandMinkyu等人提出了双子典的数据结构,一个字典是倒排索引一个字典是前向索引,不同之处是,这两个字典之间是有关联不是独立的。该结构很好的实现了数据的动态更新。以上方案都只关注单关键字搜索,不支持多关键字搜索。2018年,MinxinDuandQianWang等人提出了一种新的索引结构,概率倒排索引编码结构,支持多关键字的搜索,在搜索和更新过程中很好的隐藏了关键字的信息,达到了不泄漏关键字和文件之间的关系,但是效率低,要遍历整个数据库。综上所述,现有的倒排索引是关键字和文件标签集合对,例如一个关键字对应多个文件(wi,(id1,id2…idt)),或者是关键字-文件对(wi,id1),(wi,id2)…(wi,idt),均需要把这两个索引加密后发送给服务器,当下次访问时服务器根据关键字wi的密文找到对应的数组,解密该数组获得相应的文件标签,然后根据文件标签找到对应的布隆过滤器从而判断是否为要找的文件。
技术实现思路
专利技术目的:本专利技术的目的在于解决现有技术中存在的不足,提供一种云环境中基于迭代加密的多关键词密文检索方法,本专利技术的搜索效率高,基于使用迭代加密可获得需要搜索的文件标识,不需要建立倒排索引,节省建立倒排索引的代价。技术方案:本专利技术的一种云环境中基于迭代加密的多关键词密文检索方法,包括以下步骤:(1)数据拥有者本地处理(1.1)系统初始化:选择安全参数λ,矩阵M1、和向量S∈{0,1}m;采用SKE.Gen(1λ)为密钥生成法产生密钥,sk1、sk2←SKE.Gen(1λ);(1.2)建立索引:(1.2.1)从文件集合d中提取关键字选择r个哈希函数;hj∈[1,r]={hj|j∈[1,r],hj:{0,1}*→{0,1}l};(1.2.2)初始化数组Cnt、T、D和布隆过滤器BF;(Cnt数组记录关键字在不同的文件中出现的次数,即记录了其在迭代过程中迭代的次数,数组T记录关键字对应的文件标签迭代加密后的密文,数组D记录了文件状态,是否已删除);(1.2.3)对每一个关键字wi∈W分别进行迭代加密;i∈[1,n],n表示关键字总个数;(1.2.4)数组T记录每个关键字以及其对应的迭代加密之后的密文T[wi,ei];(1.3)加密索引和文件;对每一个布隆过滤器,如果S[i]=0,I′[i]=I″[i]=BF[i];如果S[i]=1,计算I″};对每一个文件加密ci=E(idi,k);其中,S[i]是分割向量用于分割布隆过滤器BF[i];I′[i]和I″[i]是布隆过滤器BF[i]变换后的向量,用于加密使用;(1.4)数据上传,用户把数组D、布隆过滤器BF和密文集合c上传给服务器;(2)使用者搜索数据:(2.1)查询请求生成;(2.2)服务器搜索;(2.3)数据返回;(3)用户发送更新数据请求。进一步的,所述步骤(1)中对每一个关键字进行迭代加密的过程为:(A)从d(wi)中每次提取一个文件标签ids;(B)查找数组Cnt[wi],如果Cnt[wi]=0,e0={0,1}λ;(C)Cnt[wi]=Cnt[wi]+1;(D)es=Enc(es-1||ids,sk1);此处,e代表迭代的密文,s的取值范围为[1,|d(wi)|],|d(wi)|表示包含关键字wi文件集合的文件总数;(E)D[ids]=F(ids||1,sk2),当flag=1表示文件存在,当flag=0表示文件已删除;(F)BF[ids][t]=1,t∈{h1(wi),h2(wi),…,hr(wi)}。进一步的,所述步骤(2.1)中查询请求生成的具体过程为:查询关键字为首先选择一个关键字用户查找数组Cnt和T,得到m=Cnt[wi]和建立查询关键字的布隆过滤器bfq;发送给服务器。进一步的,所述步骤(2.2)中服务器搜索的详细过程:服务器收到后,根据迭代次数m和进行迭代解密计算;ei-1||ids=Enc(ei,sk1),解密一次获取一个文件标签id和一个密文e,文件标签用来与bfq计算内积,密文e用来进行下一次解密;重复计算m次,共获得m个文件标签。进一步的,所述步骤(2.3)中数据返回的过程为:服务器计算文件标签BF[id]与bfq的内积,记录符合条件的文件标签id;返回文件标签id相对应的密文c给用户。进一步的,所述步骤(3)的过程为:增加文件dg,对每一个关键字wi∈D(dg),计算相应的迭代标签ei,计算布隆过滤器BF[dg],更新本地数组Cnt和T,D[dg]=F(idg||1,sk2),发送token={BF[本文档来自技高网
...

【技术保护点】
1.一种云环境中基于迭代加密的多关键词密文检索方法,其特征在于:包括以下步骤:(1)数据拥有者本地处理(1.1)系统初始化:选择安全参数λ,矩阵M1、

【技术特征摘要】
1.一种云环境中基于迭代加密的多关键词密文检索方法,其特征在于:包括以下步骤:(1)数据拥有者本地处理(1.1)系统初始化:选择安全参数λ,矩阵M1、和向量S∈{0,1}m;SKE.Gen(1λ)为密钥生成法,产生密钥sk1、sk2←SKE.Gen(1λ);(1.2)建立索引:(1.2.1)从文件集合d中提取关键字选择r个哈希函数;hj∈[1,r]={hj|j∈[1,r],hj:{0,1}*→{0,1}l};(1.2.2)初始化数组Cnt、T、D和布隆过滤器BF;其中,Cnt数组记录关键字在不同的文件中出现的次数,数组T记录关键字对应的文件标签迭代加密后的密文,数组D记录文件状态;(1.2.3)对每一个关键字分别进行迭代加密;i∈[1,n],n表示关键字总个数;(1.2.4)数组T记录每个关键字以及其对应的迭代加密之后的密文T[wi,ei];(1.3)加密索引和文件;对每一个布隆过滤器,如果S[i]=0,I′[i]=I″[i]=BF[i];如果计算对每一个文件加密ci=E(idi,k);其中,S[i]是分割向量用于分割布隆过滤器BF[i];I′[i]和I″[i]是布隆过滤器BF[i]变换后的向量,用于加密使用;(1.4)数据上传,用户把数组D、布隆过滤器BF和密文集合c上传给服务器;(2)使用者搜索数据:(2.1)查询请求生成;(2.2)服务器搜索;(2.3)数据返回;(3)用户发送更新数据请求。2.根据权利要求1所述的云环境中基于迭代加密的多关键词密文检索方法,其特征在于:所述步骤(1)中对每一个关键字进行迭代加密的过程为:(A)从d(wi)中每次提取一个文件标签ids;(B)查找数组Cnt[wi],如果Cnt[wi]=0,e0={0,1}λ;(C)Cnt[wi]=Cnt[wi]+1;(D)es=Enc(es-1||ids,sk1);此处,e代表迭代的密文,s的取值范围为[1,|d(wi)|],|d(wi)|...

【专利技术属性】
技术研发人员:崔杰孙越仲红许艳田苗苗应作斌陈志立
申请(专利权)人:安徽大学
类型:发明
国别省市:安徽,34

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

1