CN108829714A - 一种密文数据多关键词的模糊搜索方法 - Google Patents

一种密文数据多关键词的模糊搜索方法 Download PDF

Info

Publication number
CN108829714A
CN108829714A CN201810422118.1A CN201810422118A CN108829714A CN 108829714 A CN108829714 A CN 108829714A CN 201810422118 A CN201810422118 A CN 201810422118A CN 108829714 A CN108829714 A CN 108829714A
Authority
CN
China
Prior art keywords
keyword
file
data
cloud server
index function
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.)
Pending
Application number
CN201810422118.1A
Other languages
English (en)
Inventor
宋威
王保仓
周立国
柴炎廷
杨爱洁
马晨阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201810422118.1A priority Critical patent/CN108829714A/zh
Publication of CN108829714A publication Critical patent/CN108829714A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Abstract

本发明提出一种密文数据多关键词的模糊搜索方法,用于解决现有技术中存在的应用范围较窄的技术问题。实现步骤为:数据拥有者根据安全要求生成公钥和主密钥,并根据主密钥生成数据使用者的密钥;提取明文文件集合的关键词;构建文件索引函数集合f(x);对明文文件集合f进行加密,得到密文文件集合F;向云服务器发送密文文件集合F和索引函数集合f(x);数据拥有者获取哈希值集合,并发送给数据使用者;数据使用者向云服务器发送关键词哈希值集合;云服务器对密文文件集合F进行搜索,得到包含多关键词的密文文件集合F′;数据使用者解密密文文件集合F′,得到对应的明文文件集合f′,本发明的应用范围宽,本地存储开销小。

Description

一种密文数据多关键词的模糊搜索方法
技术领域
本发明属于信息安全领域,涉及一种模糊搜索方法,具体涉及一种密文数据多关键词的模糊搜索方法,可应用于云计算、大数据环境等重要数据密态形式的关键词模糊搜索。
背景技术
随着互联网的发展,云计算的诞生,数据库服务的广泛使用,越来越多的用户或组织选择将数据外包给云服务器,以节省本地数据管理开销和系统维护开支。但是,由于云服务器容易遭受内部或外部攻击,云端数据存在隐私泄露问题,所以将数据外包给云服务器之前要对其进行加密;使用传统加密方法可以保护数据隐私信息,但却使得用户或组织利用和计算云端数据变得非常困难。因此,迫切需要提出一种既不会泄露云端数据隐私信息,同时又可以方便用户或组织利用云端数据的方案,可搜索加密技术应运而生。
可搜索加密技术是一种密码学原语,它可以在保护数据隐私的情况下完成密文数据的搜索。但是,传统的可搜索加密方案支持精确的关键词搜索,当搜索的关键词出现偏差时,这些方案将失去作用,所以模糊关键词搜索很大程度上增强了方案的可用性。现在的模糊搜索方案分为单关键词模糊搜索方案和多关键词模糊搜索方案,单关键词模糊搜索方案仅能完成用户输入单关键词的查询请求,当用户输入多个关键词时,方案搜索的精确度将会大幅度降低,并且搜索结果会耗费巨大的存储开销,导致单关键词模糊搜索方案实用性较低。而现存的多关键词模糊搜索方案搜索原理是:当用户想要搜索包含多个关键词的明文文件时,用户计算多个关键词的陷门集合,云服务器根据用户提交的陷门集合在云端搜索密文文件,倘若密文文件与陷门集合匹配,则表明搜索成功,返回该密文文件,用户通过密钥解密密文文件,得到明文文件;这些方案可以完成用户输入多关键词的查询请求,但是实现步骤复杂,搜索效率低下,或者仅能完成简单的模糊多关键词查询请求,应用范围较窄,且需要存储关键词陷门集合,导致开销较大。
近些年来,多个学者针对上面存在的问题给出了一些多关键词模糊搜索方案,提高了多关键词搜索的效率。Xiehua Li、Yaping Cui等人在论文“Efficient Multi-KeywordFuzzy Search on Encrypted Data in Cloud Storage”(International Conference onInformation Science and Control Engineering.2017.Pages 288-294)中,公开了一种云存储中密文数据高效的多关键词模糊搜索方法:数据拥有者根据安全需求产生公钥和主密钥,根据主密钥为每个数据使用者生成各自的密钥;数据拥有者提取每个文件的关键词并生成关键词陷门集合,然后,根据哈希函数计算关键词哈希值,利用关键词哈希值构建文件索引函数,并加密明文文件生成密文文件;数据拥有者将密文文件和文件索引函数发送给云服务器;数据使用者根据哈希函数计算出对应的关键词哈希值集合,并将关键词哈希值集合发送给云服务器;云服务器根据接收到的关键词哈希值集合构建索引曲线,并与接收到的文件索引函数进行匹配,若匹配成功,则返回该文件索引对应的密文文件,并将其发送给数据使用者,数据使用者使用密钥进行解密,得到包含关键词集合的明文文件。该方案给出了一种关键词哈希值映射方法,将相似关键词转换为相似哈希值,引入索引函数,通过索引函数与哈希值进行匹配,从而可以实现高效的多关键词模糊搜索,但是不足之处在于:(1)云服务器在搜索过程中仅能处理关键词缺失的模糊搜索情况,应用范围较窄;(2)数据拥有者在提取关键词时需要存储关键词的陷门集合,导致本地存储开销增大。
发明内容
本发明的目的是针对上述现有技术的缺陷,提出了一种密文数据多关键词的模糊搜索方法,用于解决现有多关键词模糊搜索方法中存在的应用范围较窄的技术问题。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)数据拥有者生成密钥:
数据拥有者根据安全要求随机生成公钥PK和主密钥MK,并根据MK为T个数据使用者生成密钥Kt,其中t=1,2,…,T;
(2)数据拥有者提取明文文件集合的关键词:
数据拥有者从明文文件集合f中提取每个文件的多个关键词,f={f1,f2,…,fi,…,fn},得到每个明文文件fi的关键词集合Wi其中,i=1,2,…,n,n表示明文文件个数,mj表示每个明文文件中关键词个数;
(3)数据拥有者构建文件索引函数集合:
(3.1)数据拥有者构建哈希函数H:H=y[1]||y[2]||…||y[s],其中y表示任意单词,s是单词y的长度,y[1],y[2],…,y[s]是单词y的每个字母对应的ASCII值,符号||表示并接;
(3.2)数据拥有者根据哈希函数H,计算Wi对应的关键词哈希值集合H(wi):并通过H(wi)构建文件索引函数集合f(x):f(x)={f1(x),f1(x),…,fi(x),…,fn(x)},其中fi(x)是文件fi的索引函数;
(4)数据拥有者对明文文件集合f进行加密:
数据拥有者对明文文件集合f中的每个明文文件进行加密,得到f对应的密文文件集合F:F={F1,F2,…,Fn};
(5)数据拥有者向云服务器发送密文文件集合F和索引函数集合f(x):
数据拥有者将密文文件集合F和索引函数集合f(x)通过安全信道发送给云服务器;
(6)数据拥有者获取哈希值集合H(w′):
数据拥有者根据哈希函数H,计算数据使用者通过安全信道发送的关键词集合W′对应的关键词哈希值集合H(w′):{H(w1′),H(w2′),…,H(wl′)},并通过安全信道将其发送给数据使用者,其中,W′={w1′,w2′,…,wl′},l表示集合W′中的关键词的个数;
(7)数据使用者向云服务器发送关键词哈希值集合H(w′):
数据使用者将接收到的关键词哈希值集合H(w′)通过安全信道发送给云服务器;
(8)云服务器对密文文件集合F进行搜索:
(8.1)云服务器在云端创建密文文件集合F′;
(8.2)云服务器在F′中添加密文文件:
(8.2.1)云服务器将关键词哈希值集合H(w′)与每个索引函数fi(x)的系数进行比较,并判断H(w′)是否为索引函数fi(x)系数集合的子集,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.2);
(8.2.2)云服务器判断H(w′)中的每一个关键词哈希值与索引函数fi(x)的每个系数的差中0的个数是否大于或等于索引函数fi(x)当前系数的长度的一半,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.1),直至索引函数集合f(x)中所有的索引函数都完成匹配;
(8.2.3)云服务器将索引函数fi(x)对应的密文文件Fi添加至F′中;
(8.3)云服务器将包含密文文件Fi的密文文件集合F′通过安全信道发送给数据使用者,其中
(9)数据使用者解密密文文件集合F′:
数据使用者通过密钥Kt解密密文文件集合F′,得到包含搜索多关键词的明文文件集合f′。
本发明与现有技术相比,具有以下优点:
本发明由于云服务器在对密文文件进行搜索时,是通过将关键词哈希值集合与每个索引函数的系数进行比较实现的,即判断关键词哈希值集合是否为索引函数系数集合的子集,再判断关键词哈希值与索引函数系数的差中0的个数是否大于或等于索引函数当前系数的长度的一半,既可以完成关键词缺失的查询请求又可以完成关键词反转错误的查询请求,避免了现有技术中通过使用关键词陷门集合与密文文件进行匹配带来的缺陷,有效地拓宽了搜索方法的应用范围,同时节省了本地的存储开销。
附图说明
图1为本发明的实现流程图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细说明。
(1)数据拥有者生成密钥:
数据拥有者根据安全要求随机生成公钥PK和主密钥MK,并根据MK为T个数据使用者生成密钥Kt,其中t=1,2,…,T,第t个数据使用者的密钥是Kt
(2)数据拥有者提取明文文件集合的关键词:
数据拥有者从明文文件集合f中提取每个文件的多个关键词,f={f1,f2,…,fi,…,fn},得到每个明文文件fi的关键词集合Wi采用TF-IDF算法,实现步骤为:
(2.1)计算明文文件fi中每一个词w出现的频率计算公式为:
其中,为词w在文件fi中出现的次数,为文件fi中所有的词的个数;
(2.2)计算文件fi的反文档频率计算公式为:
其中,|f|表示文件总数,|p:w∈fq|表示出现词w的文件的总数,fq∈f;
(2.3)计算并将值大于或等于预先设定的阈值时的词w,作为文件fi的关键词。
其中,i=1,2,…,n,n表示明文文件个数,mj表示每个明文文件中关键词个数;
(3)数据拥有者构建文件索引函数集合:
(3.1)数据拥有者构建哈希函数H:H=y[1]||y[2]||…||y[s],其中y表示任意单词,s是单词y的长度,y[1],y[2],…,y[s]是单词y的每个字母对应的ASCII值,符号||表示并接;
(3.2)数据拥有者根据哈希函数H,计算Wi对应的关键词哈希值集合H(wi):并通过H(wi)构建文件索引函数集合f(x):f(x)={f1(x),f1(x),…,fi(x),…,fn(x)},其中文件索引函数集合f(x)中任一文件对应的索引函数fi(x)的表达式为:
其中,表示集合H(wi)中任一哈希值。
(4)数据拥有者对明文文件集合f进行加密:
数据拥有者对明文文件集合f中的每个明文文件进行加密,得到f对应的密文文件集合F:F={F1,F2,…,Fn};
(5)数据拥有者向云服务器发送密文文件集合F和索引函数集合f(x):
数据拥有者将密文文件集合F和索引函数集合f(x)通过安全信道发送给云服务器;
(6)数据拥有者获取哈希值集合H(w′):
数据拥有者根据哈希函数H,计算数据使用者通过安全信道发送的关键词集合W′对应的关键词哈希值集合H(w′):{H(w1′),H(w2′),…,H(wl′)},并通过安全信道将其发送给数据使用者,其中,W′={w1′,w2′,…,wl′},l表示集合W′中的关键词的个数;
(7)数据使用者向云服务器发送关键词哈希值集合H(w′):
数据使用者将接收到的关键词哈希值集合H(w′)通过安全信道发送给云服务器;
(8)云服务器对密文文件集合F进行搜索:
(8.1)云服务器在云端创建密文文件集合F′;
(8.2)云服务器在F′中添加密文文件:
(8.2.1)云服务器将关键词哈希值集合H(w′)与每个索引函数fi(x)的系数进行比较,并判断H(w′)是否为索引函数fi(x)系数集合的子集,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.2);
(8.2.2)云服务器判断H(w′)中的每一个关键词哈希值与索引函数fi(x)的每个系数的差中0的个数是否大于或等于索引函数fi(x)当前系数的长度的一半,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.1),直至索引函数集合f(x)中所有的索引函数都完成匹配;
(8.2.3)云服务器将索引函数fi(x)对应的密文文件Fi添加至F′中;
(8.3)云服务器将包含密文文件Fi的密文文件集合F′通过安全信道发送给数据使用者,其中
(9)数据使用者解密密文文件集合F′:
数据使用者通过密钥Kt解密密文文件集合F′,得到包含搜索多关键词的明文文件集合f′。

Claims (3)

1.一种密文数据多关键词的模糊搜索方法,其特征在于包括如下步骤:
(1)数据拥有者生成密钥:
数据拥有者根据安全要求随机生成公钥PK和主密钥MK,并根据MK为T个数据使用者生成密钥Kt,其中t=1,2,…,T;
(2)数据拥有者提取明文文件集合的关键词:
数据拥有者从明文文件集合f中提取每个文件的多个关键词,f={f1,f2,…,fi,…,fn},得到每个明文文件fi的关键词集合Wi其中,i=1,2,…,n,n表示明文文件个数,mj表示每个明文文件中关键词个数;
(3)数据拥有者构建文件索引函数集合:
(3.1)数据拥有者构建哈希函数H:H=y[1]||y[2]||…||y[s],其中y表示任意单词,s是单词y的长度,y[1],y[2],…,y[s]是单词y的每个字母对应的ASCII值,符号||表示并接;
(3.2)数据拥有者根据哈希函数H,计算Wi对应的关键词哈希值集合H(wi):并通过H(wi)构建文件索引函数集合f(x):f(x)={f1(x),f1(x),…,fi(x),…,fn(x)},其中fi(x)是文件fi的索引函数;
(4)数据拥有者对明文文件集合f进行加密:
数据拥有者对明文文件集合f中的每个明文文件进行加密,得到f对应的密文文件集合F:F={F1,F2,…,Fn};
(5)数据拥有者向云服务器发送密文文件集合F和索引函数集合f(x):
数据拥有者将密文文件集合F和索引函数集合f(x)通过安全信道发送给云服务器;
(6)数据拥有者获取哈希值集合H(w′):
数据拥有者根据哈希函数H,计算数据使用者通过安全信道发送的关键词集合W′对应的关键词哈希值集合H(w′):{H(w1′),H(w2′),…,H(wl′)},并通过安全信道将其发送给数据使用者,其中,W′={w1′,w2′,…,wl′},l表示集合W′中的关键词的个数;
(7)数据使用者向云服务器发送关键词哈希值集合H(w′):
数据使用者将接收到的关键词哈希值集合H(w′)通过安全信道发送给云服务器;
(8)云服务器对密文文件集合F进行搜索:
(8.1)云服务器在云端创建密文文件集合F′;
(8.2)云服务器在F′中添加密文文件:
(8.2.1)云服务器将关键词哈希值集合H(w′)与每个索引函数fi(x)的系数进行比较,并判断H(w′)是否为索引函数fi(x)系数集合的子集,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.2);
(8.2.2)云服务器判断H(w′)中的每一个关键词哈希值与索引函数fi(x)的每个系数的差中0的个数是否大于或等于索引函数fi(x)当前系数的长度的一半,若是,则H(w′)与fi(x)匹配成功,执行步骤(8.2.3),否则,执行步骤(8.2.1),直至索引函数集合f(x)中所有的索引函数都完成匹配;
(8.2.3)云服务器将索引函数fi(x)对应的密文文件Fi添加至F′中;
(8.3)云服务器将包含密文文件Fi的密文文件集合F′通过安全信道发送给数据使用者,其中
(9)数据使用者解密密文文件集合F′:
数据使用者通过密钥Kt解密密文文件集合F′,得到包含搜索多关键字的明文文件集合f′。
2.根据权利要求1所述的一种密文数据多关键词的模糊搜索方法,其特征在于,步骤(2)中所述的数据拥有者从明文文件集合f中提取每个文件的多个关键词,采用TF-IDF算法,实现步骤为:
(2.1)计算明文文件fi中每一个词w出现的频率计算公式为:
其中,为词w在文件fi中出现的次数,为文件fi中所有的词的个数;
(2.2)计算文件fi的反文档频率计算公式为:
其中,|f|表示文件总数,|p:w∈fq|表示出现词w的文件的总数,fq∈f;
(2.3)计算并将值大于或等于预先设定的阈值时的词w,作为文件fi的关键词。
3.根据权利要求1所述的一种密文数据多关键词的模糊搜索方法,其特征在于,步骤(3.2)中所述的数据拥有者根据集合H(wi)构建文件索引函数集合f(x),其中文件索引函数集合f(x)中任一文件对应的索引函数fi(x)的表达式为:
其中,mj表示文件fi关键词的个数,表示集合H(wi)中任一哈希值。
CN201810422118.1A 2018-05-04 2018-05-04 一种密文数据多关键词的模糊搜索方法 Pending CN108829714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810422118.1A CN108829714A (zh) 2018-05-04 2018-05-04 一种密文数据多关键词的模糊搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810422118.1A CN108829714A (zh) 2018-05-04 2018-05-04 一种密文数据多关键词的模糊搜索方法

Publications (1)

Publication Number Publication Date
CN108829714A true CN108829714A (zh) 2018-11-16

Family

ID=64147377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810422118.1A Pending CN108829714A (zh) 2018-05-04 2018-05-04 一种密文数据多关键词的模糊搜索方法

Country Status (1)

Country Link
CN (1) CN108829714A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN109858263A (zh) * 2019-01-21 2019-06-07 北京城市网邻信息技术有限公司 数据存储检索方法、装置、电子设备及存储介质
CN110807021A (zh) * 2019-11-06 2020-02-18 桂林电子科技大学 一种基于可搜索加密的数据库审计系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN106874401A (zh) * 2016-12-30 2017-06-20 中安威士(北京)科技有限公司 一种面向数据库加密字段模糊检索的密文索引方法
CN107798047A (zh) * 2017-07-26 2018-03-13 上海壹账通金融科技有限公司 重复工单检测方法、装置、服务器和介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874401A (zh) * 2016-12-30 2017-06-20 中安威士(北京)科技有限公司 一种面向数据库加密字段模糊检索的密文索引方法
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN107798047A (zh) * 2017-07-26 2018-03-13 上海壹账通金融科技有限公司 重复工单检测方法、装置、服务器和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIEHUA LI等: "Efficient Multi-Keyword Fuzzy Search on Encrypted Data in Cloud Storage", 《IEEE》 *
李小平: "《网络影视课程编导论》", 30 April 2016 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN109858263A (zh) * 2019-01-21 2019-06-07 北京城市网邻信息技术有限公司 数据存储检索方法、装置、电子设备及存储介质
CN110807021A (zh) * 2019-11-06 2020-02-18 桂林电子科技大学 一种基于可搜索加密的数据库审计系统及方法

Similar Documents

Publication Publication Date Title
Fu et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement
CN104765848B (zh) 混合云存储中支持结果高效排序的对称可搜索加密方法
CN106326360B (zh) 一种云环境中密文数据的模糊多关键词检索方法
Fu et al. Achieving efficient cloud search services: multi-keyword ranked search over encrypted cloud data supporting parallel computing
CN104008174A (zh) 一种海量图像检索的隐私保护索引生成方法
CN109493017A (zh) 基于区块链的可信外包存储方法
CN106599311A (zh) 一种基于云计算的互联网教育平台资源库的图像检索方法
CN102629261A (zh) 由钓鱼网页查找目标网页的方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
WO2020177326A1 (zh) 一种支持位置保护和查询隐私的可搜索加密方法
CN108829714A (zh) 一种密文数据多关键词的模糊搜索方法
CN108363689A (zh) 面向混合云的隐私保护多关键词Top-k密文检索方法及系统
CN103970889A (zh) 一种中英文关键词模糊搜索的安全云盘
CN102143159A (zh) 一种das模型中的数据库密钥管理方法
CN109885650B (zh) 一种外包云环境隐私保护密文排序检索方法
CN104036050A (zh) 一种密文云数据复杂查询方法
CA3031113A1 (en) Protected indexing and querying of large sets of textual data
CN110166466A (zh) 一种可高效更新权限的多用户可搜索加密方法和系统
Wang et al. Towards secure and effective utilization over encrypted cloud data
CN110134718A (zh) 一种基于属性加密的支持多关键字的模糊搜索方法
Xia et al. A similarity search scheme over encrypted cloud images based on secure transformation
CN109740378A (zh) 一种抗关键词隐私泄露的安全对索引构造及其检索方法
CN108549701A (zh) 云环境加密外包数据语义扩展搜索方法及系统
CN108768651A (zh) 支持多维区间范围查询的可搜索公钥加密方法
CN109766314A (zh) 基于概率陷门的密文数据多关键词搜索方法

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181116