CN109213731B - 云环境中基于迭代加密的多关键词密文检索方法 - Google Patents
云环境中基于迭代加密的多关键词密文检索方法 Download PDFInfo
- Publication number
- CN109213731B CN109213731B CN201810860176.2A CN201810860176A CN109213731B CN 109213731 B CN109213731 B CN 109213731B CN 201810860176 A CN201810860176 A CN 201810860176A CN 109213731 B CN109213731 B CN 109213731B
- Authority
- CN
- China
- Prior art keywords
- file
- ciphertext
- keyword
- server
- cnt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种云环境中基于迭代加密的多关键词密文检索方法,包括***初始化、建立索引、加密索引和文件、数据上传、查询请求生成、服务器搜索、数据返回、用户发送更新数据请求。本发明基于迭代加密方式实现快速查找,不依赖于倒排索引结构,同样可以达到相同的效果,在搜索过程中,服务器收到请求后,根据文件标签迭代密文,使用对称加密算法进行迭代解密,可以获得相应的文件标签,然后根据文件标签查找布隆过滤器,从而返回满足条件的文件给用户。因为使用了迭代加密的技巧,在***露关键字和文件标签之间关系同时,达到了前向安全的要求。
Description
技术领域
本发明属于云环境加密技术,具体涉及一种云环境中基于迭代加密的多关键词密文检索方法。
背景技术
可搜索加密是一种重要的搜索技术,在云存储中可以保护用户数据安全和隐私。随着云计算的迅速发展,用户开始将数据迁移到云端服务器,以此避免繁琐的本地数据管理并获得更加便捷的服务。为了保证数据安全和用户隐私,数据一般是以密文存储在云端服务器中,但是用户将会遇到如何在密文上进行查找的难题。可搜索加密是近年来发展的一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的网络和计算开销,并充分利用云端服务器庞大的计算资源进行密文上的关键字查找。
前向安全是指用来产生会话密钥的长期密钥泄露出去,不会造成之前通讯时使用的会话密钥的泄露,也就不会泄露以前的通讯内容。一般而言,满足前向安全的公钥环境下方案,其公钥是固定的,而密钥则随着时间进行更新。这个更新过程是单向的,因此也就保证了拿到当前的密钥,是无法恢复出以前的密钥,从而保证了前向安全。
现在有很多学者开始关注对支持前向安全的可搜索加密的研究。早在2005年,Chang and Mitzenmacher等人首次提出支持前向安全的动态可搜索加密方案,和之前的方案相比关注的问题不同,更有实际意义,但是搜素效率低。直到最近几年,该问题受到大量学者的关注,提出了许多方案,在性能上有很大提升。2014年,Stefanov等人提出的方案在效率上做了提升,使搜索时间从线性提升到压线性时间复杂度。在他们的交互更新过程中,客户端从服务器获取大量的数据,在遗忘的排序算法上来运行。此外,数据库中的数据删除是合法的,但是只有在搜索过程中进行修改,当删除的数据超过一半时,作者建议重新加密数据库。2015年,Yavuz and Guajardo等人提出了一个新的结构,基于矩阵的数据结构,矩阵的横和行分别代表关键字和文件标识,有两个哈希表,一个用作倒排索引一个用作前向索引,倒排索引用来搜索前向索引用来更新数据,然而他们方案矩阵的横和行是提前确定的,因此,该方案可以看作是静态的对称可搜索加密。2016年,Sophos提出了基于门限置换的方案,他们的方案在计算和通信上有很好的性能,但是他们的置换是基于公钥加密算法,需要很高的计算开销,还有他们的方案不支持并行计算,因为门限置换需要逐次迭代。还有该方案只支持增加和搜索操作,不支持删除。因此,Sophos的动态特性是通过运行两个实例来提供的,一个用于添加,另一个用于删除。在对关键字w进行搜索查询处理过程,服务器计算并返回两个实例中与w对应的文档标识符之间的差异。这些因素降低了服务器存储和搜索操作的实用性。2017年,Kee and Minkyu等人提出了双子典的数据结构,一个字典是倒排索引一个字典是前向索引,不同之处是,这两个字典之间是有关联不是独立的。该结构很好的实现了数据的动态更新。以上方案都只关注单关键字搜索,不支持多关键字搜索。2018年,Minxin Du and Qian Wang等人提出了一种新的索引结构,概率倒排索引编码结构,支持多关键字的搜索,在搜索和更新过程中很好的隐藏了关键字的信息,达到了***漏关键字和文件之间的关系,但是效率低,要遍历整个数据库。
综上所述,现有的倒排索引是关键字和文件标签集合对,例如一个关键字对应多个文件(wi,(id1,id2…idt)),或者是关键字-文件对(wi,id1),(wi,id2)…(wi,idt),均需要把这两个索引加密后发送给服务器,当下次访问时服务器根据关键字wi的密文找到对应的数组,解密该数组获得相应的文件标签,然后根据文件标签找到对应的布隆过滤器从而判断是否为要找的文件。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种云环境中基于迭代加密的多关键词密文检索方法,本发明的搜索效率高,基于使用迭代加密可获得需要搜索的文件标识,不需要建立倒排索引,节省建立倒排索引的代价。
技术方案:本发明的一种云环境中基于迭代加密的多关键词密文检索方法,包括以下步骤:
(1)数据拥有者本地处理
(1.2)建立索引:
(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];
其中,S[i]是分割向量用于分割布隆过滤器BF[i];I′[i]和I″[i]是布隆过滤器BF[i]变换后的向量,用于加密使用;
(1.4)数据上传,用户把数组D、布隆过滤器BF和密文集合c上传给服务器;
(2)使用者搜索数据:
(2.1)查询请求生成;
(2.2)服务器搜索;
(2.3)数据返回;
(3)用户发送更新数据请求。
(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)中查询请求生成的具体过程为:
进一步的,所述步骤(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[dg],cg,D[dg],add}给服务器,服务器更新布隆过滤器BF和数组D,c添加到密文C中;删除文件dg,计算D[dg]=F(idg||0,sk2)发送token={g,D[dg],del}给服务器,服务器更新数组D和删除相应的布隆过滤器BF[dg],删除密文cg。
有益效果:
本发明用迭代加密技术,把wi对应的所有文件标签(id1,id2…idt)进行依次迭代,最后得到一个密文e。当搜索时,用户把wi对应的密文e发送给服务器,服务器只要依次解密t次就可以得到所有的文件标签,再根据标签访问布隆过滤器查找相应符合条件的文件。本发明基于迭代加密的技术,在不用构建倒排索引的情况下,可以达到同等的作用,使索引结构更加简洁,在保护隐私的前提下,达到了高效的搜索效果。
附图说明
图1为现有技术中的可搜索加密架构示意图;
图2为本发明的整体流程图;
图3为本发明中数据拥有者本地处理的具体流程图;
图4为本发明中使用者搜索数据的具体流程图;
图5为本发明中用户发送更新数据请求的具体流程图;
图6为本实施例中实验对比图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,现有技术的可搜索加密架构中,用户首先根据文件集合提取相应的关键字集合,然后根据关键字建立搜索索引,在本地加密文件和索引,之后把文件的密文和加密后的索引上传给云端服务器。当用户想查找某个文件时,根据搜索关键字建立搜索凭证,然后发送给云服务器,服务器收到查询请求后,查询索引,返回相应的密文。这样现有技术所存在的问题是:文件注入攻击,当文件进行更新或者多次对同一个关键字进行查询时,会泄露关键字和文件之间联系。
如图2所示,本发明的一种云环境中基于迭代加密的多关键词密文检索方法,依次包括以下步骤:
(1)数据拥有者本地初始化处理:***初始化、建立索引、加密索引和文件和数据上传;
(2)使用者搜索数据:查询请求生成、服务器搜索和数据返回;
(3)用户发送更新数据请求。
图3为本发明中步骤(1)的具体流程图;
(1)***初始化过程包括以下步骤:
2)产生密钥,sk1、sk2←SKE.Gen(1λ)。
(2)索引建立过程包括以下步骤:
2)初始化数组Cnt,T和D,布隆过滤器BF;(Cnt数组记录关键字在不同的文件中出现的次数,即记录了其在迭代过程中迭代的次数,数组T记录关键字对应的文件标签迭代加密后的密文,数组D记录了文件状态,是否已删除。)
(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)}。
(3)加密索引和文件过程包括以下步骤:
(4)数据上传过程包括以下步骤:
1)用户把数组D,布隆过滤器BF,和密文集合c上传给服务器。
图4为本发明中步骤(2)的具体流程图;
(1)查询请求生成过程包括以下步骤:
(2)服务器搜索过程包括以下步骤:
服务器收到后,根据迭代次数m和进行迭代解密计算;ei-1||ids=Enc(ei,sk1),解密一次获取一个文件标签id和一个密文e,文件标签用来与bfq计算内积,密文e用来进行下一次解密;重复计算m次,共获得m个文件标签。
(3)数据返回过程包括以下步骤:
1)服务器计算文件标签BF[id]与bfq的内积,记录符合条件的文件标签id;
2)返回文件标签id相对应的密文c给用户。
图5为本发明中步骤(3)的具体流程图;
更新数据过程包括以下步骤:增加文件dg,对每一个关键字wi∈D(dg),计算相应的迭代标签ei,计算布隆过滤器BF[dg],更新本地数组Cnt和T,D[dg]=F(idg||1,sk2),发送token={BF[dg],cg,D[dg],add}给服务器,服务器更新布隆过滤器BF和数组D,cg添加到密文C中;删除文件dg,计算D[dg]=F(idg||0,sk2)发送token={g,D[dg],del}给服务器,服务器更新数组D和删除相应的布隆过滤器BF[dg],删除密文cg。
实施例:
本实施例以Request For Comments(RFC文档),作为测试文件集。实验中选取了5000个文件,筛选5000个关键词进行测试。编程语言为java,机器配置为Windows7***,Intel Core i5(3.2GHZ,8GB RAM)。方案中伪随机函数和对称加密算法都使用AES算法。
如图6所示,方案BEIS-Ⅰ、BEIS-Ⅱ都与文件集合大小线性相关,因为云服务器执行一次搜索需要遍历所有的文件索引向量,所以其搜索的复杂度为θ(#d)。本发明IEDSE使用了迭代加密的搜索技巧,在不需要倒排索引的情况下,也可以实现相同的作用,其搜索的复杂度为θ(#d(w)),搜索效率有了提升。此外本发明很好实现了隐藏关键字和文件标签之间的关系,在隐私和效率之间做了权衡。
本发明在搜索效率上明显高于BEIS方案,因为BEIS方案在搜索时需要遍历整个文件索引向量。
本发明的隐私保护说明:
考虑到云服务器获取到的内容,分别为加密的文件集,加密的索引以及多个查询陷门。以下对这三个方面分别进行安全性分析。
(1)文件集的隐私。本发明中,存储在云服务器中的文件集通过AES加密算法加密,能够保护文件集的隐私。另外,对称密钥是数据拥有者通过安全渠道分享给数据使用者的,而两者都是可信的,保证了密钥的安全性。(加密文件的明文时使用对称加密算法,索引的加密使用迭代加密)。
(2)索引隐私。本发明在云服务器的索引只用前向布隆过滤器,除了文件标签的泄露之外,服务器不能知道关键字的任何信息,能够避免服务器对关键字与文件对的统计攻击,有效的抵抗了文件注入攻击。
(3)查询陷门。查询索引向量采用了安全的kNN方法加密,能够保证查询门限的机密性。
Claims (5)
1.一种云环境中基于迭代加密的多关键词密文检索方法,其特征在于:包括以下步骤:
(1)数据拥有者本地处理
(1.2)建立索引:
(1.2.2)初始化数组Cnt、T、D和布隆过滤器BF;其中,Cnt数组记录关键字在不同的文件中出现的次数,数组T记录关键字对应的文件标签迭代加密后的密文,数组D记录文件状态;
(1.2.4)数组T记录每个关键字以及其对应的迭代加密之后的密文T[wi,ei];
其中,S[i]是分割向量用于分割布隆过滤器BF[i];I′[i]和I″[i]是布隆过滤器BF[i]变换后的向量,用于加密使用;
(1.4)数据上传,用户把数组D、布隆过滤器BF和密文集合c上传给服务器;
(2)使用者搜索数据:
(2.1)查询请求生成;
(2.2)服务器搜索;
(2.3)数据返回;
(3)用户发送更新数据请求;
(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),…,ht(wi)}。
4.根据权利要求1所述的云环境中基于迭代加密的多关键词密文检索方法,其特征在于:所述步骤(2.3)中数据返回的过程为:服务器计算文件标签BF[id]与bfq的内积,记录符合条件的文件标签id;返回文件标签id相对应的密文c给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810860176.2A CN109213731B (zh) | 2018-08-01 | 2018-08-01 | 云环境中基于迭代加密的多关键词密文检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810860176.2A CN109213731B (zh) | 2018-08-01 | 2018-08-01 | 云环境中基于迭代加密的多关键词密文检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213731A CN109213731A (zh) | 2019-01-15 |
CN109213731B true CN109213731B (zh) | 2021-05-14 |
Family
ID=64990417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810860176.2A Active CN109213731B (zh) | 2018-08-01 | 2018-08-01 | 云环境中基于迭代加密的多关键词密文检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109213731B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933618B (zh) * | 2019-03-08 | 2023-05-12 | 西安电子科技大学 | 一种新型的加密数据挖掘*** |
CN111767364B (zh) * | 2019-03-26 | 2023-12-29 | 钉钉控股(开曼)有限公司 | 数据处理方法、装置和设备 |
US11048816B2 (en) * | 2019-04-02 | 2021-06-29 | Sap Se | Secure database utilizing dictionary encoding |
CN113132085A (zh) * | 2021-04-14 | 2021-07-16 | 上海同态信息科技有限责任公司 | 一种基于可搜索加密的密文查询方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141658B1 (en) * | 2007-09-28 | 2015-09-22 | Emc Corporation | Data classification and management for risk mitigation |
CN106599719A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 支持高效密钥管理的密文检索方法 |
CN107220343A (zh) * | 2017-05-26 | 2017-09-29 | 福州大学 | 基于局部敏感哈希的中文多关键词模糊排序密文搜索方法 |
WO2018059142A1 (zh) * | 2016-09-27 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 信息发送方法及装置、存储介质 |
CN107948146A (zh) * | 2017-11-20 | 2018-04-20 | 武汉科技大学 | 一种混合云中基于属性加密的连接关键词检索方法 |
-
2018
- 2018-08-01 CN CN201810860176.2A patent/CN109213731B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141658B1 (en) * | 2007-09-28 | 2015-09-22 | Emc Corporation | Data classification and management for risk mitigation |
WO2018059142A1 (zh) * | 2016-09-27 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 信息发送方法及装置、存储介质 |
CN106599719A (zh) * | 2016-12-12 | 2017-04-26 | 西安电子科技大学 | 支持高效密钥管理的密文检索方法 |
CN107220343A (zh) * | 2017-05-26 | 2017-09-29 | 福州大学 | 基于局部敏感哈希的中文多关键词模糊排序密文搜索方法 |
CN107948146A (zh) * | 2017-11-20 | 2018-04-20 | 武汉科技大学 | 一种混合云中基于属性加密的连接关键词检索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109213731A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815350B (zh) | 一种云环境中动态的密文多关键词模糊搜索方法 | |
Du et al. | Privacy-preserving indexing and query processing for secure dynamic cloud storage | |
CN109213731B (zh) | 云环境中基于迭代加密的多关键词密文检索方法 | |
EP3058678B1 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
CN112800088A (zh) | 基于双向安全索引的数据库密文检索***及方法 | |
CN112800445B (zh) | 一种用于密文数据的前后向安全和可验证的布尔查询方法 | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN109471964A (zh) | 一种基于同义词集的模糊多关键词可搜索加密方法 | |
Chen et al. | DMRS: an efficient dynamic multi-keyword ranked search over encrypted cloud data | |
Rizomiliotis et al. | ORAM based forward privacy preserving dynamic searchable symmetric encryption schemes | |
CN107094075B (zh) | 一种基于收敛加密的数据块动态操作方法 | |
CN103970889A (zh) | 一种中英文关键词模糊搜索的安全云盘 | |
Li et al. | Multi-keyword fuzzy search over encrypted cloud storage data | |
Handa et al. | A cluster based multi-keyword search on outsourced encrypted cloud data | |
CN116010546A (zh) | 一种基于语义扩展的密文检索方法 | |
CN106874379B (zh) | 一种面向密文云存储的多维区间检索方法与*** | |
Al-Sakran et al. | Efficient Cryptographic Technique for Securing and Accessing Outsourced Data | |
CN109165226B (zh) | 一种面向密文大型数据集的可搜索加密方法 | |
Pang et al. | Privacy-preserving noisy keyword search in cloud computing | |
Sun et al. | Research of data security model in cloud computing platform for SMEs | |
CN114490773A (zh) | 一种基于云平台的数据查询方法及云端数据管理*** | |
Das et al. | Algorithm for multi keyword search over encrypted data in cloud environment | |
Handa et al. | An efficient approach for secure information retrieval on cloud | |
Kamini et al. | Encrypted multi-keyword ranked search supporting gram based search technique | |
Shi et al. | Fuzzy multi-keyword query on encrypted data in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230719 Address after: 606, Building 8, Nan'an Ruizhi, No. 99, Shengtai Road, Jiangning District, Nanjing, Jiangsu Province, 210000 Patentee after: Jiangsu Qingxin Technology Co.,Ltd. Address before: 230000 No. 111 Kowloon Road, Hefei Economic Development Zone, Anhui Patentee before: ANHUI University |
|
TR01 | Transfer of patent right |