CN108712366B - 云环境中支持词形词义模糊检索的可搜索加密方法及系统 - Google Patents

云环境中支持词形词义模糊检索的可搜索加密方法及系统 Download PDF

Info

Publication number
CN108712366B
CN108712366B CN201810258546.5A CN201810258546A CN108712366B CN 108712366 B CN108712366 B CN 108712366B CN 201810258546 A CN201810258546 A CN 201810258546A CN 108712366 B CN108712366 B CN 108712366B
Authority
CN
China
Prior art keywords
word
vector
index
keyword
retrieval
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
Application number
CN201810258546.5A
Other languages
English (en)
Other versions
CN108712366A (zh
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 CN201810258546.5A priority Critical patent/CN108712366B/zh
Publication of CN108712366A publication Critical patent/CN108712366A/zh
Application granted granted Critical
Publication of CN108712366B publication Critical patent/CN108712366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于信息安全技术领域,公开了一种云环境中支持词形词义模糊检索的可搜索加密方法及系统,采用布隆过滤器结构建立关键词的安全索引,以支持文件动态更新;采用局部敏感哈希函数来完成词形模糊匹配;利用自然语言工具箱对关键词进行词义拓展,构造词义模糊集,并插入构建的安全索引中,从而将支持词义关键词检索转化为精确匹配检索;通过构建查询向量与索引向量进行内积运算实现对检索结果的排序;使用哈希函数和安全knn算法使得该发明能够有效的抵抗选择关键词攻击,实现了在云服务器半可信的情况下对密文的搜索。实现了密文搜索功能,支持词形和词义模糊匹配、多关键词检索、动态添加和删除文档。

Description

云环境中支持词形词义模糊检索的可搜索加密方法及系统
技术领域
本发明属于信息安全技术领域,尤其涉及一种云环境中支持词形词义模糊检索的可搜索加密方法及系统。
背景技术
目前,业内常用的现有技术是这样的:随着人们在云端存储数据的不断普及,人们把越来越多的数据存储到云端的同时,其数据的安全性与可靠性就受到了前所未有的关注程度。虽然利用加密技术将文件加密存储于云端可有效的保证数据的保密性,但是通过这种方式用户的数据丧失了许多的可操作性,例如,对密文文件进行关键字检索。为了能够提供密文搜索方法,大量的可搜索加密方式应运而生。对加密数据进行高效多关键字模糊搜索是云存储数据外包的理想目标,目前已经提出了各种方案来处理密文搜索这个问题,福州大学提出了云存储安全中基于通配符的可搜索加密方法,支持至多两个通配符的关键词模糊匹配密文检索,但不支持多关键词搜索和同义词的模糊匹配;电子科技大学提出了一种云存储中基于KCB树和布隆过滤器的高效密文检索方法,实现了关键词的高效检索并降低了加密索引在服务器上的存储开销,但这种方法没有实现关键词的模糊匹配,不支持关键词的同义词扩展搜索。大多数现有技术着重于多关键字精确匹配或单关键字模糊搜索,在已实现的多关键字模糊搜索技术中,还只支持基于词形的模糊匹配,对于拼写错误的搜索有效,但不能解决同义词的模糊检索。
综上所述,现有技术存在的问题是:经典的模糊可搜索加密仅支持词形模糊匹配,即可以支持有拼写错误的请求,忽视了关键词词义上的模糊;已实现的支持同义词模糊检索的方案对关键词进行同义词扩展,却不能支持词形的模糊匹配;另一方面,已有方案中对词形模糊匹配使用较多的方式是基于通配符构建词形模糊集,耗费了大量的存储空间。所以,需要一种同时支持词形和词义模糊匹配的可搜索加密方法来满足实际应用。
解决上述技术问题的难度和意义:加密存储后的文件是否可以使用检索技术,检索请求时是否支持多关键词检索,是否支持词形模糊检索,是否支持同义词模糊检索,检索结果能否返回与用户检索内容最相匹配的密文文件,这些都是现有可搜索加密技术亟需解决的问题。
发明内容
针对现有技术存在的问题,本发明提供了一种云环境中支持词形词义模糊检索的可搜索加密方法及系统。
本发明是这样实现的,一种云环境中支持词形词义模糊检索的可搜索加密方法,所述云环境中支持词形词义模糊检索的可搜索加密方法采用布隆过滤器结构建立关键词的安全索引,支持文件动态更新;采用局部敏感哈希函数来完成词形模糊匹配;利用自然语言工具箱对关键词进行词义拓展,构造词义模糊集,并插入构建的安全索引中,将支持词义关键词检索转化为精确匹配检索;通过构建查询向量与索引向量进行内积运算实现对检索结果的排序;使用哈希函数和安全knn算法抵抗选择关键词攻击,实现在云服务器半可信的情况下对密文的搜索。
进一步,所述云环境中支持词形词义模糊检索的可搜索加密方法包括以下步骤:
步骤一,文档预处理,对要处理的明文文件集合F,生成每个文件的文件标识符,将要上传的明文文档fi,使用分词软件进行分词,构建关键词集Wi,通过自然语言工具箱中英语词典提取与关键词集Wi中的每一个元素词义相近的词,运算得到目标关键词集Wi的同义词集Synset(Wi),构造词义模糊集
Figure GDA0002852068050000021
将Wi
Figure GDA0002852068050000022
合并形成词集Wi′;
步骤二,密钥生成,输入安全参数,根据安全参数生成加密密钥sk,加密索引和查询关键字都需要该密钥;
步骤三,构建布隆过滤器,根据上传的文档集关键字信息,针对每一个文档构建k位的布隆过滤器Bi,将每一个关键字映射到布隆过滤器中,然后存储该条记录;
步骤四,加密索引向量,根据步骤二生成的密钥sk,对布隆过滤器进行加密,生成关键词加密索引Ii,并将加密后的索引和数据文件共同提交至服务器;
步骤五,检索陷门生成,被授权用户根据需要搜索的关键词,本地采用同样的方式生成关键词向量结构并加密生成查询关键词陷门,将查询陷门发送到云服务器端;
步骤六,搜索匹配,云服务器将获取的陷门信息与关键词索引进行匹配,并计算相似度分数,根据分数进行排序后将最为相关的加密文件返回给授权用户。
进一步,在步骤一中文档预处理过程包括:
第一步,对要处理的明文文件集合F,生成每个文件的文件标识符fi
第二步,将要上传的明文文档fi使用分词软件进行分词,计算词语出现的频率,并按照频率选择前n个词语作为文档fi的关键词,构建关键词集Wi
第三步,通过自然语言工具箱提取与关键词集Wi中的每一个元素词义相近的词,运算得到目标关键词集Wi的同义词集Synset(Wi),构造词义模糊词集
Figure GDA0002852068050000032
将Wi
Figure GDA0002852068050000031
合并形成词集W′i
进一步,在步骤二中所述密钥生成过程包括:
第一步,输入安全随机数,随机构建两个k×k维的可逆矩阵M1,M2作为加密矩阵;
第二步,利用伪随机函数发生器随机构建一个k维的二进制指示向量S=(s1,s2,…,sk),用于构建索引和检索陷门时分割Bloom Filter向量进行加密,为了阻止蛮力攻击,k要足够长,且S中的0和1的个数要相当,以实现最大化随机性;
第三步,输出sk=(M1,M2,S)为加密索引和生成陷门的密钥。
进一步,在步骤三中所述构建布隆过滤器过程包括:
第一步,为每个文件fi分配一个k位的Bloom Filter Bi,Bi的每一位初始值都设为0;
第二步,把关键词字符集Wi′使用对偶编码算法转换为向量集合表示,将每个关键词wj转换采用262长度的二进制向量vj∈{0,1}676来表示,转换成的向量集合为Vi={v1,v2,…,vt};
第三步,选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),哈希函数族的形式为
Figure GDA0002852068050000041
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量;
第四步,对于向量集合Vi中的每一个向量vj,将(H1(vj),H2(vj),…,Hl(vj))计算出来的哈希结果值依次找到Bi中对应的位置设为1,当前位置已经是1,则无需更改,将Bi表示为(b1,b2,…,bk)。
进一步,在步骤四中所述加密索引向量过程包括:
第一步,将构建的关键词索引Bi=(b1,b2,…,bk)基于安全k-近邻算法使用密钥S=(s1,s2,…,sk)进行向量分割,将Bi分割为B′i=(b′1,b′2,…,b′k)和B″i=(b″1,b″2,…,b″k),选择一个随机数r∈R,依次遍历Bi中的每一位bj,S中对应的sj=1,则b′j=b″j=bj;若S中对应的sj=0,则令
Figure GDA0002852068050000042
第二步,计算
Figure GDA0002852068050000043
第三步,生成关键词Wi′的索引Ii=(I′i,I″i);则所有文档集标识符以及对应的索引I=(F,I1,I2,…,In),将I上传至云服务器中。
进一步,在步骤五中所述生成检索陷门过程包括:
第一步,输入查询的关键词集合Q={q1,q2,…,qm},将Q使用对偶编码算法转换成二进制向量集合V={v1,v2,…,vm},每个二进制向量vj都是262位;
第二步,为查询集合设置一个长为k的Bloom Filter B;
第三步,对于每一个向量vj,选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),其中哈希函数族的形式为
Figure GDA0002852068050000051
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量;
第四步,将(H1(vj),H2(vj),…,Hl(vj))计算出来的哈希结果值依次找到B中对应的位置设为1,如果当前位置已经是1,则无需更改,设置完成B=(b1,b2,…,bk);
第五步,将构建的关键词索引B=(bq1,bq2,…,bqk)基于安全k-近邻算法使用密钥S=(s1,s2,…,sk)进行向量分割,与加密索引向量的分割方式恰好相反,将B分割为B′=(b′q1,b′q2,…,b′qk)和B″=(b″q1,b″q2,…,b′qk),首先选择一个随机数a∈R,依次遍历B中的每一位bqj,如果S中对应的sj=0,则b′qj=b″qj=bqj;若S中对应的sj=1;
Figure GDA0002852068050000052
第六步,计算
Figure GDA0002852068050000053
最后生成搜索陷门Iq=(I′q,I″q),发送给云服务器。
进一步,在步骤六中所述搜索匹配过程包括:
第一步,设置一个空数组FR,用以存储服务器搜索匹配到的文件标识符;
第二步,云服务器收到数据用户发送的检索陷门后,将Iq与存储的索引向量I=(F,I1,I2,…,In)中的每一个加密索引Ii进行向量内积运算Ii·Iq,内积大小作为检索关键词与文件的匹配度;
第三步,按排序算法将计算的向量内积作排序,将排序序列中的前λ条记录加入到结果集合FR中;
第四步,将FR中文件标识符对应的密文文档返回给授权用户,用户在本地解密查看。
本发明的另一目的在于提供一种所述云环境中支持词形词义模糊检索的可搜索加密方法的可搜索加密系统,所述可搜索加密系统包括:
数据拥有者,用于确定具体的明文数据,使用加密算法对文件进行加密,同时对数据集中的文件进行关键字的提取,构建关键词和文件之间的索引并加密后上传到服务器中,掌握加密和生成索引的密钥;
授权用户,用户检索文件时,根据需要检索的关键词,通过密钥将关键词加密生成查询陷门,发送到云服务器,检索阶段,服务器匹配到所要检索的文档,授权用户下载密文文档,解密得到所需要的数据;
云服务器,用于存储数据拥有者上传的安全索引和密文文件集,当云服务器收到授权用户的搜索请求时,根据查询陷门查找索引文件,得到与检索请求相匹配的文件标识,并根据相关度得分对检索结果排序,选择top-k个加密文档返回给数据使用者。
综上所述,本发明的优点及积极效果为:本发明通过使用对称可搜索加密的方式,将布隆过滤器和局部敏感哈希函数引入关键词密文检索领域,构造出一种新的数据结构来表示多关键词向量结构,采用自然语言工具箱为文档关键词集构建同义词模糊集,将词义模糊检索转换为精确匹配,并利用局部敏感哈希函数的特点,将高维空间中相似的点高概率的哈希到低维空间中同一个值,实现了词形的模糊匹配。大多数的可搜索加密方案都是静态索引,当需要更新索引的时候需要重新构建索引来替换旧的索引文件,本发明中,使用布隆过滤器作为文档关键词的索引,实现索引的动态添加和删除操作。最后采用可逆矩阵加密算法对关键词向量结构进行加密,以保证索引结构以及关键词结构的安全性,本发明在安全knn检索技术的基础上,不仅能实现多关键词模糊检索,而且能够有效抵御陷门关联攻击等,简化了关键词索引加密、解密的过程,实现了云服务器半可信的情况下对密文的搜索。
附图说明
图1是本发明实施例提供的云环境中支持词形词义模糊检索的可搜索加密方法流程图。
图2是本发明实施例提供的云环境中支持词形词义模糊检索的可搜索加密方法实现流程图。
图3是本发明实施例提供的云环境中支持词形词义模糊检索的可搜索加密系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明在安全knn检索技术的基础上,不仅能实现多关键词模糊检索,而且能够有效抵御陷门关联攻击等,简化了关键词索引加密、解密的过程,实现了云服务器半可信的情况下实现对密文的搜索。首先,数据拥有者拥有需要上传的明文文件集合F,文件集F中的所有文件都由数据所有者使用加密算法进行加密,加密后形成加密文件集合C,数据所有者需要对文件数据集F中的文件提取关键字集合,并构建关键词的同义词模糊集W;其次,通过基于局部敏感哈希函数族的Bloom Filter和安全knn算法为关键字集合W构建索引I并进行加密处理,将加密后的索引与密文文件集合C一起上传给云服务器;然后,在授权用户通过关键词搜索云服务器端的密文时,客户端会按照与加密关键词索引相同的方式生成关键词陷门向量,并发送给服务器,服务器收到陷门信息后,与云服务器端的索引信息进行匹配,返回给授权用户匹配到最相关的密文集;最后,授权用户将接受到的密文文件解密获取搜索的相关文件。
如图1所示,本发明实施例提供的云环境中支持词形词义模糊检索的可搜索加密方法包括以下步骤:
S101:利用自然语言工具箱对关键词进行词义拓展,构造词义模糊集,将支持词义关键词检索转化为精确匹配检索;
S102:采用局部敏感哈希函数来将关键词集散列到布隆过滤器中,建立关键词的安全索引,以支持文件动态更新以及词形模糊匹配;使用安全knn算法加密索引,有效抵抗选择关键词攻击;
S103:通过构建查询向量与索引向量进行内积运算实现对检索结果的排序,完成云服务器半可信的情况下对密文的搜索。
如图3所示,本发明实施例提供的云环境中支持词形词义模糊检索的可搜索加密系统包括:数据拥有者、授权用户、云服务器。
数据拥有者用于确定具体的明文数据,使用加密算法对文件进行加密,同时对数据集中的文件进行关键字的提取,构建关键词和文件之间的索引并加密后上传到服务器中,掌握加密和生成索引的密钥;
授权用户,用户检索文件时,根据需要检索的关键词,通过密钥将关键词加密生成查询陷门,将其发送到云服务器,检索阶段,服务器匹配到所要检索的文档,授权用户下载密文文档,解密得到所需要的数据;
云服务器用于存储数据拥有者上传的安全索引和密文文件集,当云服务器收到授权用户的搜索请求时,根据查询陷门查找索引文件,得到与检索请求相匹配的文件标识,并根据相关度得分对检索结果排序,选择top-k个加密文档返回给数据使用者。
下面结合附图对本发明的应用原理作进一步的描述。
如图2所示,本发明实施例的云环境中支持词形词义模糊检索的可搜索加密方法具体步骤如下:
(1)文档预处理
对要处理的明文文件集合F,使用分词软件进行分词,构建关键词集Wi以及词义模糊词集
Figure GDA0002852068050000081
文档预处理过程包括:
1a)对要处理的明文文件集合F,生成每个文件的文件标识符fi
1b)将要上传的明文文档fi使用分词软件进行分词,计算词语出现的频率,并按照频率选择前n个词语作为文档fi的关键词,构建关键词集Wi
1c)通过自然语言工具箱提取与关键词集Wi中的每一个元素词义相近的词,运算得到目标关键词集Wi的同义词集Synset(Wi),构造词义模糊词集
Figure GDA0002852068050000082
将Wi
Figure GDA0002852068050000083
合并形成词集Wi′。
(2)密钥生成
根据安全参数生成加密密钥sk,密钥生成过程包括:
2a)输入安全随机数,随机构建两个k×k维的可逆矩阵M1,M2作为加密矩阵;
2b)利用伪随机函数发生器随机构建一个k维的二进制指示向量S=(s1,s2,…,sk),用于构建索引和检索陷门时分割Bloom Filter向量进行加密,为了阻止蛮力攻击,k要足够长,且S中的0和1的个数要相当,以实现最大化随机性;
2c)输出sk=(M1,M2,S)为加密索引和生成陷门的密钥。
(3)构建布隆过滤器
根据上传的文档集关键字信息,针对每一个文档构建k位的布隆过滤器Bi,将每一个关键字映射到布隆过滤器中,然后存储该条记录:
3a)为每个文件fi分配一个k位的Bloom Filter Bi,Bi的每一位初始值都设为0。
3b)把关键词字符集Wi′使用对偶编码算法转换为向量集合表示,将每个关键词wj转换采用262长度的二进制向量vj∈{0,1}676来表示,转换成的向量集合为Vi={v1,v2,…,vt}。
3c)选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),哈希函数族的形式为
Figure GDA0002852068050000091
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量。
3d)对于向量集合Vi中的每一个向量vj,将(H1(vj),H2(vj),…,Hl(bj))计算出来的哈希结果值依次找到Bi中对应的位置设为1,如果当前位置已经是1,则无需更改,将Bi表示为(b1,b2,…,bk)。
(4)加密索引向量
根据密钥sk,对布隆过滤器进行加密,生成关键词加密索引Ii,并将加密后的索引和数据文件共同提交至服务器:
4a)将构建的关键词索引Bi=(b1,b2,…,bk)基于安全knn算法使用密钥S=(s1,s2,…,sk)进行向量分割,将Bi分割为B′i=(b′1,b′2,…,b′k)和B″i=(b″1,b″2,…,b″k),选择一个随机数r∈R,依次遍历Bi中的每一位bj,如果S中对应的sj=1,则b′j=b″j=bj;若S中对应的sj=0,则令
Figure GDA0002852068050000101
4b)计算
Figure GDA0002852068050000102
4c)生成关键词Wi′的索引Ii=(I′i,I″i)。则所有文档集标识符以及对应的索引I=(F,I1,I2,…,In),将I上传至云服务器中。
(5)检索陷门生成
被授权用户根据需要搜索的关键词,生成关键词向量结构并加密生成查询关键词陷门,将查询陷门发送到云服务器端:
5a)输入查询的关键词集合Q={q1,q2,…,qm},将Q使用对偶编码算法转换成二进制向量集合V={v1,v2,…,vm},每个二进制向量vj都是262位;
5b)为查询集合设置一个长为k的Bloom Filter B;
5c)对于每一个向量vj,选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),其中哈希函数族的形式为
Figure GDA0002852068050000103
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量;
5d)将(H1(vj),H2(vj),…,Hl(vj))计算出来的哈希结果值依次找到B中对应的位置设为1,如果当前位置已经是1,则无需更改,设置完成B=(b1,b2,…,bk)
5e)将构建的关键词索引B=(bq1,bq2,…,bqk)基于安全knn算法使用密钥S=(s1,s2,…,sk)进行向量分割,与加密索引向量的分割方式恰好相反,将B分割为B′=(b′q1,b′q2,…,b′qk)和B″=(b″q1,b″q2,…,b″qk),首先选择一个随机数a∈R,依次遍历B中的每一位bqj,如果S中对应的sj=0,则b′qj=b″qj=bqj;若S中对应的sj=1,
Figure GDA0002852068050000104
5f)计算
Figure GDA0002852068050000111
最后生成搜索陷门Iq=(I′q,I″q),发送给云服务器。
(6)搜索匹配
云服务器将获取的陷门信息与关键词索引进行匹配,并计算相似度分数,根据分数进行排序后将top-k最为相关的加密文件为授权用户,搜索匹配过程包括:
6a)设置一个空数组FR,用以存储服务器搜索匹配的文件标识符;
6b)云服务器收到数据用户发送的检索陷门后,将Iq与存储的索引向量I=(F,I1,I2,…,In)中的每一个加密索引Ii进行向量内积运算Ii·Iq,内积大小作为检索关键词与文件的匹配度;
6c)按排序算法将计算的向量内积作排序,将排序序列中的前λ条记录加入到结果集合FR中;
6d)将FR中文件标识符对应的密文文档返回给授权用户,用户在本地解密查看。
为了更好地理解本实施范例中的方法与过程,选取依次搜索阶段进行详细说明,该过程主要是由云服务器端完成,云端服务器根据接收到的授权用户发送的查询陷门信息Iq后,设置一个空数组FR,用以存储服务器搜索匹配到的文件标识符;将Iq与存储的索引向量I=(F,I1,I2,…,In)中的每一个加密索引Ii进行向量内积运算Ii·Iq,内积大小作为检索关键词与文件的匹配度;按排序算法将计算的向量内积作排序,将排序序列中的前λ条记录加入到结果集合FR中;将FR中文件标识符对应的密文文档返回给授权用户,用户在本地解密查看。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种云环境中支持词形词义模糊检索的可搜索加密方法,其特征在于,所述云环境中支持词形词义模糊检索的可搜索加密方法采用布隆过滤器结构建立关键词的安全索引,支持文件动态更新;采用局部敏感哈希函数来完成词形模糊匹配;利用自然语言工具箱对关键词进行词义拓展,构造词义模糊集,并插入构建的安全索引中,将支持词义关键词检索转化为精确匹配检索;通过构建查询向量与索引向量进行内积运算实现对检索结果的排序;使用哈希函数和安全knn算法抵抗选择关键词攻击,实现在云服务器半可信的情况下对密文的搜索;
所述云环境中支持词形词义模糊检索的可搜索加密方法包括以下步骤:
步骤一,文档预处理,对要处理的明文文件集合F,生成每个文件的文件标识符,将要上传的明文文档fi,使用分词软件进行分词,构建关键词集Wi,通过自然语言工具箱中英语词典提取与关键词集Wi中的每一个元素词义相近的词,运算得到目标关键词集Wi的同义词集Synset(Wi),构造词义模糊集
Figure FDA0002852068040000011
将Wi
Figure FDA0002852068040000012
合并形成词集Wi′;
步骤二,密钥生成,输入安全参数,根据安全参数生成加密密钥sk,加密索引和查询关键字都需要该密钥;
步骤三,构建布隆过滤器,根据上传的文档集关键字信息,针对每一个文档构建k位的布隆过滤器Bi,将每一个关键字映射到布隆过滤器中,然后存储该条记录;所述构建布隆过滤器过程包括:
第一步,为每个文件fi分配一个k位的Bloom Filter Bi,Bi的每一位初始值都设为0;
第二步,把关键词字符集Wi′使用对偶编码算法转换为向量集合表示,将每个关键词wj转换采用262长度的二进制向量vj∈{0,1}676来表示,转换成的向量集合为Vi={v1,v2,…,vt};
第三步,选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),哈希函数族的形式为
Figure FDA0002852068040000021
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量;
第四步,对于向量集合Vi中的每一个向量vj,将(H1(vj),H2(vj),…,Hl(vj))计算出来的哈希结果值依次找到Bi中对应的位置设为1,当前位置已经是1,则无需更改,将Bi表示为(b1,b2,…,bk);
步骤四,加密索引向量,根据步骤二生成的密钥sk,对布隆过滤器进行加密,生成关键词加密索引Ii,并将加密后的索引和数据文件共同提交至服务器;
步骤五,检索陷门生成,被授权用户根据需要搜索的关键词,本地采用同样的方式生成关键词向量结构并加密生成查询关键词陷门,将查询陷门发送到云服务器端;所述生成检索陷门过程包括:
第一步,输入查询的关键词集合Q={q1,q2,…,qm},将Q使用对偶编码算法转换成二进制向量集合V={v1,v2,…,vm},每个二进制向量vj都是262位;
第二步,为查询集合设置一个长为k的Bloom Filter B;
第三步,对于每一个向量vj,选取l个LSH函数族H={H1,H2,…,Hl}中的函数计算(H1(vj),H2(vj),…,Hl(vj)),其中哈希函数族的形式为
Figure FDA0002852068040000022
且b是[0,w]的随机数,a为每个元素满足稳定分布的262维向量;
第四步,将(H1(vj),H2(vj),…,Hl(vj))计算出来的哈希结果值依次找到B中对应的位置设为1,如果当前位置已经是1,则无需更改,设置完成B″′=(b1,b2,…,bk);
第五步,将构建的关键词索引B=(bq1,bq2,…,bqk)基于安全k-近邻算法使用密钥S=(s1,s2,…,sk)进行向量分割,与加密索引向量的分割方式恰好相反,将B分割为B′=(b′q1,b′q2,…,b′qk)和B″=(b″q1,b″q2,…,b″qk),首先选择一个随机数a∈R,依次遍历B中的每一位bqj,如果S中对应的sj=0,则b′qj=b″qj=bqj;若S中对应的sj=1;
Figure FDA0002852068040000031
第六步,计算
Figure FDA0002852068040000032
最后生成搜索陷门Iq=(I′q,I″q),发送给云服务器;可逆矩阵M1,M2
步骤六,搜索匹配,云服务器将获取的陷门信息与关键词索引进行匹配,并计算相似度分数,根据分数进行排序后将最为相关的加密文件返回给授权用户。
2.权利要求1所述的云环境中支持词形词义模糊检索的可搜索加密方法,其特征在于,在步骤一中文档预处理过程包括:
第一步,对要处理的明文文件集合F,生成每个文件的文件标识符fi
第二步,将要上传的明文文档fi使用分词软件进行分词,计算词语出现的频率,并按照频率选择前n个词语作为文档fi的关键词,构建关键词集Wi
第三步,通过自然语言工具箱提取与关键词集Wi中的每一个元素词义相近的词,运算得到目标关键词集Wi的同义词集Synset(Wi),构造词义模糊词集
Figure FDA0002852068040000033
将Wi
Figure FDA0002852068040000034
合并形成词集Wi′。
3.权利要求1所述的云环境中支持词形词义模糊检索的可搜索加密方法,其特征在于,在步骤二中所述密钥生成过程包括:
第一步,输入安全随机数,随机构建两个k×k维的可逆矩阵M1,M2作为加密矩阵;
第二步,利用伪随机函数发生器随机构建一个k维的二进制指示向量S=(s1,s2,…,sk),用于构建索引和检索陷门时分割Bloom Filter向量进行加密,为了阻止蛮力攻击,k要足够长,且S中的0和1的个数要相当,以实现最大化随机性;
第三步,输出sk=(M1,M2,S)为加密索引和生成陷门的密钥。
4.权利要求1所述的云环境中支持词形词义模糊检索的可搜索加密方法,其特征在于,在步骤四中所述加密索引向量过程包括:
第一步,将构建的关键词索引Bi=(b1,b2,…,bk)基于安全k-近邻算法使用密钥S=(s1,s2,…,sk)进行向量分割,将Bi分割为B′i=(b′1,b′2,…,b′k)和B″i=(b″1,b″2,…,b″k),选择一个随机数r∈R,依次遍历Bi中的每一位bj,S中对应的sj=1,则b′j=b″j=bj;若S中对应的sj=0,则令
Figure FDA0002852068040000041
第二步,计算
Figure FDA0002852068040000042
第三步,生成关键词Wi′的索引Ii=(I′i,I″i);则所有文档集标识符以及对应的索引I=(F,I1,I2,…,In),将I上传至云服务器中。
5.权利要求1所述的云环境中支持词形词义模糊检索的可搜索加密方法,其特征在于,在步骤六中所述搜索匹配过程包括:
第一步,设置一个空数组FR,用以存储服务器搜索匹配到的文件标识符;
第二步,云服务器收到数据用户发送的检索陷门后,将Iq与存储的索引向量I=(F,I1,I2,…,In)中的每一个加密索引Ii进行向量内积运算Ii·Iq,内积大小作为检索关键词与文件的匹配度;
第三步,按排序算法将计算的向量内积作排序,将排序序列中的前λ条记录加入到结果集合FR中;
第四步,将FR中文件标识符对应的密文文档返回给授权用户,用户在本地解密查看。
6.一种如权利要求1所述云环境中支持词形词义模糊检索的可搜索加密方法的可搜索加密系统,其特征在于,所述可搜索加密系统包括:
数据拥有者,用于确定具体的明文数据,使用加密算法对文件进行加密,同时对数据集中的文件进行关键字的提取,构建关键词和文件之间的索引并加密后上传到服务器中,掌握加密和生成索引的密钥;
授权用户,用户检索文件时,根据需要检索的关键词,通过密钥将关键词加密生成查询陷门,发送到云服务器,检索阶段,服务器匹配到所要检索的文档,授权用户下载密文文档,解密得到所需要的数据;
云服务器,用于存储数据拥有者上传的安全索引和密文文件集,当云服务器收到授权用户的搜索请求时,根据查询陷门查找索引文件,得到与检索请求相匹配的文件标识,并根据相关度得分对检索结果排序,选择top-k个加密文档返回给数据使用者。
CN201810258546.5A 2018-03-27 2018-03-27 云环境中支持词形词义模糊检索的可搜索加密方法及系统 Active CN108712366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810258546.5A CN108712366B (zh) 2018-03-27 2018-03-27 云环境中支持词形词义模糊检索的可搜索加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810258546.5A CN108712366B (zh) 2018-03-27 2018-03-27 云环境中支持词形词义模糊检索的可搜索加密方法及系统

Publications (2)

Publication Number Publication Date
CN108712366A CN108712366A (zh) 2018-10-26
CN108712366B true CN108712366B (zh) 2021-02-19

Family

ID=63866324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810258546.5A Active CN108712366B (zh) 2018-03-27 2018-03-27 云环境中支持词形词义模糊检索的可搜索加密方法及系统

Country Status (1)

Country Link
CN (1) CN108712366B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582818B (zh) * 2018-11-07 2020-03-27 南京邮电大学 一种基于可搜索加密的曲库云检索方法
CN109740378B (zh) * 2018-12-28 2022-07-19 福建国科信息科技有限公司 一种抗关键词隐私泄露的安全对索引构造及其检索方法
CN109740362B (zh) * 2019-01-03 2021-02-26 中国科学院软件研究所 一种基于熵编码的密文索引生成与检索方法及系统
CN110134718B (zh) * 2019-03-21 2023-07-07 西安电子科技大学 一种基于属性加密的支持多关键字的模糊搜索方法
CN110138561B (zh) * 2019-03-22 2021-09-17 西安电子科技大学 基于cp-abe自动校正的高效密文检索方法、云计算服务系统
CN110188271A (zh) * 2019-05-27 2019-08-30 南京信息工程大学 搜索方法以及装置
CN110851481B (zh) * 2019-11-08 2022-06-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质
TWI728611B (zh) * 2019-12-20 2021-05-21 遠東科技大學 結合查詢關鍵字擴展技術之花語查詢系統
CN111292741B (zh) * 2019-12-31 2023-04-18 重庆和贯科技有限公司 智能语音交互机器人
CN111400624A (zh) * 2020-03-17 2020-07-10 广东电网有限责任公司 一种多功能排序系统
CN111552849B (zh) * 2020-03-19 2022-12-16 西安电子科技大学 可搜索加密方法、系统、存储介质、车载网、智能电网
CN112632598B (zh) * 2020-12-09 2022-10-18 西安电子科技大学 一种加密数据检索与共享方法、系统、介质、设备及应用
CN112966086A (zh) * 2021-03-12 2021-06-15 湖南大学 一种基于位置敏感哈希函数的可验证模糊搜索方法
CN113076319B (zh) * 2021-04-13 2022-05-06 河北大学 基于离群值检测技术和位图索引的动态数据库填充方法
CN113626645B (zh) * 2021-07-07 2023-09-29 武汉大学 分级优化的高效密文模糊检索方法及相关设备
CN113642038B (zh) * 2021-08-09 2024-02-13 杭州安恒信息技术股份有限公司 一种可搜索加密方法、装置、设备及存储介质
CN115292737B (zh) * 2022-10-08 2022-12-09 成都泛联智存科技有限公司 一种多关键词模糊搜索加密方法、系统及电子设备
CN115495792B (zh) * 2022-11-08 2023-03-28 三未信安科技股份有限公司 一种具有隐私保护的模糊关键词可搜索加密方法和系统
CN116107967B (zh) * 2023-02-14 2024-04-30 山东大学 基于同态加密和树结构的多关键词密文搜索方法及系统
CN116961907B (zh) * 2023-09-19 2023-12-29 广州市艾索技术有限公司 一种分布式无纸化会议数据加密传输保护方法
CN117521118B (zh) * 2024-01-05 2024-04-26 深圳万海思数字医疗有限公司 一种医疗数据可搜索加密隐私保护及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955537A (zh) * 2014-05-16 2014-07-30 福州大学 一种语义模糊可搜索加密云盘设计方法及系统
CN105069358A (zh) * 2015-07-13 2015-11-18 西安理工大学 基于带有存储结构的Bloom过滤器的关键词可搜索加密方法
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2925723B1 (fr) * 2007-12-21 2010-01-15 Sagem Securite Identification basee sur des donnees biometriques chiffrees
US10282448B2 (en) * 2014-11-18 2019-05-07 Huawei International Pte. Ltd. System and method for searching a symmetrically encrypted database for conjunctive keywords

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955537A (zh) * 2014-05-16 2014-07-30 福州大学 一种语义模糊可搜索加密云盘设计方法及系统
CN105069358A (zh) * 2015-07-13 2015-11-18 西安理工大学 基于带有存储结构的Bloom过滤器的关键词可搜索加密方法
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Multi-Keyword Fuzzy and Sortable Ciphertext Retrieval Scheme for Big Data;Kai Fan; Jie Yin等;《2017 IEEE Global Communications Conference (GLOBECOM 2017)》;20171231;全文 *
支持词形词义模糊检索的可搜索加密算法;赵晨阳;《信息技术》;20170423(第4期);全文 *
面向密文的多关键词模糊检索方法研究;张猛;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20170831(第08期);全文 *

Also Published As

Publication number Publication date
CN108712366A (zh) 2018-10-26

Similar Documents

Publication Publication Date Title
CN108712366B (zh) 云环境中支持词形词义模糊检索的可搜索加密方法及系统
US11537626B2 (en) Full-text fuzzy search method for similar-form Chinese characters in ciphertext domain
CN108388807B (zh) 一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法
US11023477B2 (en) Method and system for fuzzy keyword search over encrypted data
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
Fu et al. Privacy-preserving smart similarity search based on simhash over encrypted data in cloud computing
US9946720B1 (en) Searching data files using a key map
CN109255244B (zh) 数据加密方法及其装置、数据加密检索系统
Handa et al. A cluster based multi-keyword search on outsourced encrypted cloud data
CN115757676A (zh) 模糊可搜索加密方法、装置及电子设备
Mittal et al. Privacy preserving synonym based fuzzy multi-keyword ranked search over encrypted cloud data
CN114528370A (zh) 动态多关键字模糊排序搜索方法及系统
Mayan et al. Semantic based multi lexical ranking technique for an effective search in protected cloud
CN102855292A (zh) 密文全文检索系统的安全覆盖网构建方法及对应的全文检索方法
CN111966778B (zh) 一种基于关键词分组倒排索引的多关键词密文排序检索方法
CN113626836A (zh) 一种基于lsm的对称可搜索加密方法及系统
CN109582818B (zh) 一种基于可搜索加密的曲库云检索方法
Gampala et al. An efficient Multi-Keyword Synonym Ranked Query over Encrypted Cloud Data using BMS Tree
Kamini et al. Encrypted multi-keyword ranked search supporting gram based search technique
CN110569327A (zh) 一种支持动态更新的多关键字密文检索方法
CN113626485B (zh) 一种适用于数据库管理系统的可搜索加密方法及系统
CN102629274B (zh) 基于动态后继树索引结构的密文全文检索系统的索引更新方法
Li et al. Multi-keyword ranked fuzzy search over encrypted data in cloud supporting dynamic update
Liu et al. A secure multi-keyword fuzzy search with polynomial function for encrypted data in cloud computing
Sampada et al. Privacy Preserving Keyword Search Over Hash Encrypted Data in Distributed Environment

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