CN106951411A - 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法 - Google Patents

一种云计算中保护数据隐私的快速多关键词语义排序搜索方法 Download PDF

Info

Publication number
CN106951411A
CN106951411A CN201710181664.6A CN201710181664A CN106951411A CN 106951411 A CN106951411 A CN 106951411A CN 201710181664 A CN201710181664 A CN 201710181664A CN 106951411 A CN106951411 A CN 106951411A
Authority
CN
China
Prior art keywords
document
vector
cloud server
sid
owned cloud
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.)
Granted
Application number
CN201710181664.6A
Other languages
English (en)
Other versions
CN106951411B (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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN201710181664.6A priority Critical patent/CN106951411B/zh
Publication of CN106951411A publication Critical patent/CN106951411A/zh
Application granted granted Critical
Publication of CN106951411B publication Critical patent/CN106951411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,将域加权评分的概念引入文档的评分当中,对标题、摘要等不同域中的关键词赋予不同的权重加以区分;对检索关键词进行语义拓展,计算语义相似度,将语义相似度、域加权评分和相关度分数三者结合,设计了一种三因子排序方法,云服务器能够对搜索结果进行精确的排序并返回给搜索用户;针对可搜索加密方案查询效率不高的缺陷,设计了一种向量分块标记匹配算法,将向量空间模型创建的文档向量分块,生成维数较小的标记向量。本发明可以提高查询效率、降低索引创建时间,并实现语义的密文关键词搜索。

Description

一种云计算中保护数据隐私的快速多关键词语义排序搜索 方法
技术领域
本发明涉及云计算领域,特别是一种云计算中保护数据隐私的快速多关键词语义排序搜索方法。
背景技术
随着云计算技术的飞速发展,敏感数据越来越多的存储到云中,如电子邮件、个人健康记录、私人视频和照片、公司财务数据和政府文件等。云服务器提供了高质量的数据存储服务,将数据存储到云中,可以减少用户的数据存储和维护开销。但是数据拥有者和云服务器不在同一个信任域中会使外包数据处于危险之中,为了保护用户的隐私安全,将数据加密后再存储到云服务器是一种常见的解决方法。然而数据经过加密后不再具有原有的特性,当用户需要某些数据时,无法直接在密文中分辨出所需要的数据,在数据量很小的情况下,可以将所有的密文数据下载至本地,解密后在明文中搜索自己想要的数据。然而随着云端数据规模的急剧增长,这种浪费了大量时间开销与带宽功耗的做法显然已经不能满足用户的实际需求,因此,如何在大量密文中搜索到需要的文档成为了一个难题。
在Song等提出通过密钥流加密数据并实现可搜索加密方案后,Wang等提出了单关键词排序搜索方案,通过保序加密对文档的tf-idf(词频-逆文档频率)进行加密,实现对搜索结果的精确排序。Cao等提出了多关键词排序可搜索加密方案,引入了向量空间模型和安全KNN(secure k-nearest neighbor)方法,通过矩阵对索引向量进行加密,并对索引向量和搜索向量计算内积相似度来实现了多关键词的排序搜索。Li等提出了支持布尔查询的可搜索加密方案,将执行“或”、“与”、“非”查询词的权重设置为三组正数递增序列ai,bj,ck,并且序列间满足超递增,即∑ai<b1,∑ai+∑bj<c1,接着将执行“非”查询词的权重ck置换成对应的相反数-ck,则相关度分数大于0的文档即为满足布尔查询的相关文档。但是上述方案没有考虑到文档向量的高度稀疏性,一篇文档中往往只会出现少量的关键词,因此文档向量中会出现大量的0,在检索时,云服务器无法知道哪些是相关文档,因而要对所有的文档进行相似度分数的计算和排序,浪费了大量的时间,降低了方案的查询效率。
用户输入的搜索请求经常会出现拼写错误或格式不匹配的情况,以上方案并不能满足用户的实际需求。因此,Li等实现了关键词的模糊搜索方案,用通配符的方法构造关键词模糊集合,并以编辑距离作为相似度度量标准。Liu等提出了节省存储空间的模糊搜索方案,通过字典来构造模糊集,但是搜索的精确度有所降低。Chai等人首次提出了“半诚实且好奇”的云服务器模型,服务器提供商为了节省计算量和带宽资源,可能仅仅执行了部分搜索操作并返回部分搜索结果,因此,文章提出了基于查找树索引结构的可验证的可搜索加密方案。Wang等利用通配符和索引树,实现了高效的模糊搜索方案。Chuah等为了提高搜索效率,实现了基于BedTree的多关键词模糊搜索方案。Wang等将局部敏感哈希和安全KNN方法(secure k-nearest neighbor)结合,实现了一种新的多关键词模糊搜索方案。Wang等人在关键词模糊搜索的基础上,通过构造符号索引树,提出了可验证的关键词模糊搜索方案。但是以上的模糊搜索方案仅仅考虑了关键词字符上的相似,并没有考虑到关键词语义上的相似。因此,Fu等对文档关键词进行同义词拓展,通过计算内积的方式,实现了支持同义词查询的多关键词排序搜索方案。Xia等为文档集创建倒排索引,利用语义库扩展查询关键词,并且通过一对多保序加密函数对相关度分数进行加密,实现了多关键词语义排序搜索方案。然而,这些语义模糊搜索方案没有将语义相似度参与到文档的评分中,并且忽略了不同域中的关键词的权重差异。
针对目前的密文关键词搜索方案中,查询效率低、索引创建时间长、排序结果不精确等问题,本发明提出了一种可以提高查询效率、降低索引创建时间,并实现语义的密文关键词搜索方案。
发明内容
有鉴于此,本发明的目的是提出一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,可以提高查询效率、降低索引创建时间,并实现语义的密文关键词搜索。
本发明采用以下方案实现:一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,包括数据拥有者、授权用户、私有云服务器以及公有云服务器,具体包括以下步骤:
步骤S1:数据拥有者从明文文档集合F=(f1,f2,…,fm)中抽取关键词,得到关键词集合W=(w1,w2,…,wn);
步骤S2:数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n;接着,数据拥有者生成一个加密文档的密钥sk,将密钥SK、sk发送给授权用户;
步骤S3:创建索引:数据拥有者为每篇文档fi生成文档向量若文档fi中包含关键词wj,则令否则令接着将文档向量分u块,得到文档标记向量bi=(bb1,bb2,…,bbu)与ei=(bi,sidi),然后计算关键词wj在文档fi中的词频权重wft,f、逆文档频率idft和域加权得分Zij后,将中1的值置为Zij·(wft,f×idft);接着对进行维度扩展,其中第(n+1)位设置成一个随机数ε,第(n+2)位设置成1,那么表示为
采用安全KNN算法加密文档向量得到Ii=(sidi,Vi);其中,为向量的***向量;最后,数据拥有者将E=(e1,e2,···,em)发送给私有云服务器,将索引集合上传给公有云服务器;
步骤S4:数据拥有者使用对称加密算法对文档集合F=(f1,f2,…,fm)进行加密,得到密文集合C=(c1,c2,…,cm)并上传给公有云服务器;
步骤S5:构建陷门:当授权用户搜索时,首先输入η个搜索关键词Γ=(q1,q2,…,qs,…,qη),接着进行语义扩展,计算原单词qs和拓展词之间的语义相似度并排序,选取最相关的前σ个拓展词作为最终拓展词,得到语义拓展集合Q=(q1,q2,…,qη1,…,δσ)及其对应的语义相似度分数SC=(sc1,sc2,…,scη,scη+1,…,scη+σ);根据语义扩展集Q创建查询向量若wj∈Q,则令否则分为u块,得到查询标记向量接着将查询向量中的1置为对应的语义相似度分数scj,然后将扩展成(n+1)维且第(n+1)位设置为1,用大于0的随机数r对缩放,并扩展成(n+2)维,第(n+2)位设置成η+σ,因此表示为
采用安全KNN算法加密查询向量得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器;
步骤S6:私有云服务器接收到授权用户发送的查询标记向量后,将其和文档标记向量bi=(bb1,bb2,…,bbu)进行匹配,得到可能包含搜索关键词的候选索引标识符集合SID=(···,sidi,···,sidj,···,sidz,···);
私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户;
步骤S7:授权用户使用数据拥有者分发的密钥sk,对返回的top-k篇密文进行解密,获得所需的明文文档集。
进一步地,还包括分别对文档向量和查询向量进行分块,生成维数较小的文档标记向量和查询标记向量,通过文档标记向量和查询标记向量的匹配,快速过滤掉大量无关文档。
进一步地,对文档向量进行分块具体包括以下步骤:
步骤S11:文档向量分为u块,若某个块全为0,则标记值bbs=0,否则bbs=1,得到文档标记向量bi=(bb1,bb2,…,bbu);
步骤S12:遍历所有文档,得到文档标记向量集合B=(b1,b2,...,bm)。
进一步地,通过文档标记向量和查询标记向量的匹配具体包括以下步骤:
步骤S21:私有云服务器接收到授权用户发送的查询标记向量后,依次用中每一位1去匹配ei中对应的块,即块的标记值bbs是否为0;
步骤S22:块的标记值bbs若为0,则说明该文档对应的块没有搜索的关键词,如果为1则将对应的索引标识符sidi记录下来,得到可能包含搜索关键词的候选索引标识符集合SID=(···,sidi,···,sidj,···,sidz,···);
步骤S23:私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户。
进一步地,还包括将文档向量分段,将每一段分别与维度减小的矩阵相乘,具体包括以下步骤:
步骤S31:数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n;
步骤S32:数据拥有者在构建索引时,根据安全KNN算法将文档向量***成后,将分别分成h段,得到 然后使用密钥SK进行加密,得到和对应的索引Ii=(sidi,Vi);最后,数据拥有者将E=(e1,e2,···,em)发送给私有云服务器,将索引集合上传给公有云服务器;
步骤S33:授权用户在生成陷门时也采用步骤S32中构建索引时类似的操作,得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器;
步骤S34:公有云服务器在计算相关度分数时,采用的公式如下:
进一步地,所述排序采用三因子排序方法,对处于文档不同域中的关键词赋予不同的权重,将语义相似度、域加权评分和相关度分数三者结合,具体包括以下步骤:
步骤S41:计算语义相似度:采用基于信息内容的Resnik算法;
步骤S42:计算域加权评分:给定一系列文档,假定每篇文档有l个域,其对应的权重系数分别是g1,…gl∈[0,1],他们满足:
令si为查询和文档的第i个域的匹配得分,其中1和0分别表示是否匹配,于是,域加权评分定义为:
步骤S43:计算相关度分数:基于tf-idf权值计算方法以及tf的亚线性尺度变换方法计算相关度分数。
与现有技术相比,本发明有以下有益效果:
1、本发明能够实现高效的查询效率:本发明针对可搜索加密方案效率不高的缺陷,设计了一种向量分块标记匹配算法,分别对文档向量和查询向量进行分块,生成维数较小的文档标记向量和查询标记向量。通过文档标记向量和查询标记向量的匹配,快速过滤掉大量无关文档,减少了计算文档相似度分数和排序的时间,提高了检索的效率。
2、本发明能够减少索引创建时间:可搜索加密方案创建的文档向量的维度通常很大,所以方案构建索引的时间主要花费在文档向量和矩阵的相乘上。本发明设计了一种向量分段加密算法,将文档向量分段,将每一段分别与维度大大减小的矩阵相乘,这使得此方案的索引构建时间大大减少。
3、本发明能够精确返回排序结果:本发明首次将域加权评分的概念引入文档的评分当中,对处于文档不同域中的关键词赋予不同的权重,解决了现有方案中未考虑关键词位置信息的缺陷,同时实现了语义模糊检索。本发明将语义相似度、域加权评分和相关度分数三者结合,设计了一种三因子排序方法,云服务器能够对搜索结果进行精确的排序并返回给搜索用户。
附图说明
图1为本发明实施例的***框架图。
图2为本实施例索引的创建过程。
图3为本发明实施例中陷门的构建过程。
图4为本发明实施例中当文档数量m=10,关键词数n=100,标记向量维度u=10时,向量分块标记算法的过程。
图5为本发明实施例中当文档数量m=10时,文档标记向量与查询标记向量匹配算法的过程。
图6为本发明实施例中向量分段加密算法的主要过程。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
图1为本发明实施例的***框架,包含四个实体:数据拥有者,授权用户,私有云服务器和公有云服务器。本实施例的索引和陷门加密采用安全KNN算法加密(可以参考Wong WK,Cheung W L,Kao B,et al.Secure kNN computation on encrypted databases//Proceedings of the ACM Sigmod International Conference on Management ofData.New York,USA,2009:139-152.)。本实施例的基本流程如下:
(1)Setup:数据拥有者从明文文档集合F=(f1,f2,…,fm)中抽取关键词,得到关键词集合W=(w1,w2,…,wn)。
(2)KeyGen(n):数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n。接着,数据拥有者生成一个加密文档的密钥sk,将密钥SK、sk发送给授权用户。
(3)BuildIndex(F,W,SK):图2为本实施例索引的创建过程,基于向量空间模型,数据拥有者为每篇文档fi生成文档向量若文档fi中包含关键词wj,则否则接着将文档向量分u块,得到文档标记向量bi=(bb1,bb2,…,bbu),ei=(bi,sidi)。然后计算关键词wj在文档fi中的词频权重wft,f、逆文档频率idft和域加权得分Zij后,将中1的值置为(Zij·(wft,f×idft))。接着对进行维度扩展,其中第(n+1)位设置成一个随机数ε,第(n+2)位设置成1,那么表示为
采用安全KNN算法加密文档向量得到Ii=(sidi,Vi)。最后,数据拥有者将E=(e1,e2,···,em)发送给私有云服务器,将索引集合上传给公有云服务器。
(4)Encrypt(F,sk):数据拥有者使用对称加密算法对文档集合F=(f1,f2,…,fm)进行加密,得到密文集合C=(c1,c2,…,cm)并上传给公有云服务器。
(5)Trapdoor(Γ,SK):图3为本发明实施例中陷门的构建过程,当授权用户搜索时,首先输入η个搜索关键词Γ=(q1,q2,…,qs,…,qη)。接着进行语义扩展,计算原单词qs和拓展词之间的语义相似度并排序,选取最相关的前σ个拓展词作为最终拓展词,得到语义拓展集合Q=(q1,q2,…,qη1,…,δσ)及其对应的语义相似度分数SC=(sc1,sc2,…,scη,scη+1,…,scη+σ)。根据语义扩展集Q创建查询向量若wj∈Q,则将否则分为u块,得到查询标记向量接着将向量中的1置为对应的语义相似度分数scj,然后将扩展成(n+1)维且(n+1)位设置为1,用大于0的随机数r对缩放,并扩展成(n+2)维,第(n+2)位设置成(η+σ),因此表示为
采用安全KNN算法加密查询向量得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器。
(6)Query私有云服务器接收到授权用户发送的查询标记向量后,将其和文档标记向量bi=(bb1,bb2,…,bbu)进行匹配,得到可能包含搜索关键词的候选索引标识符集合SID=(···,sidi,···,sidj,···,sidz,···)。
私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户。
(7)Decrypt(C,sk):授权用户使用数据拥有者分发的密钥sk,对返回的top-k篇密文进行解密,获得所需的明文文档集。
较佳的,本实施例还采用了向量分块标记匹配算法,具体如下:
可搜索加密方案创建的字典集一般很大,这使得MRSE方案(Cao N,Wang C,Li M,et al.Privacy-preserving multi-keyword ranked search over encrypted clouddata.IEEE Transactions on Parallel and Distributed Systems,2014,25(1):829-837)中创建的文档向量的维度通常很大。在检索时,云服务器无法知道哪些是相关文档,因而要对所有文档进行相似度分数的计算和排序,浪费了大量的时间。
本实施例分别对文档向量和查询向量进行分块,生成维数较小的文档标记向量和查询标记向量。通过文档标记向量和查询标记向量的匹配,快速过滤掉大量无关文档,减少了计算文档相似度分数和排序的时间,提高了检索的效率。
(1)向量分块标记算法:
文档向量分为u块,若某个块全为0,则标记值bbs=0,否则bbs=1,得到文档标记向量bi=(bb1,bb2,…,bbu);
遍历所有文档,得到文档标记向量集合B=(b1,b2,...,bm)。
图4表示当文档数量m=10,关键词数n=100,标记向量维度u=10时,向量分块标记算法的过程。
关键词数n=100,则文档向量的维数为100维。将分为u=10块,每一块有10个元素,若10个元素全为0,则将此块标记为bbs=0,10个元素中只要有一个元素为1,此块的标记就为1,得到文档标记向量b1=(1,0,0,0,0,1,0,0,1,0);
将10个文档依次按此操作得到文档标记向量b1到b10
(2)查询标记向量和文档标记向量的匹配算法:
私有云服务器接收到授权用户发送的查询标记向量后,依次用中每一位1去匹配ei中对应的块,即块的标记值bbs是否为0;
块的标记值bbs若为0,则说明该文档对应的块没有搜索的关键词,如果为1则将对应的索引标识符sidi记录下来,得到可能包含搜索关键词的候选索引标识符集合SID=(···,sidi,···,sidj,···,sidz,···);
私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户。
图5表示当文档数量m=10时,文档标记向量与查询标记向量匹配算法的过程。
当查询关键词的标记向量为时,将中的第二位1同10篇文档标记向量对应位置的值比较,得到b3所对应的文档可能包含查询的关键词,记录其索引的标识符sid3
依次将中的1与10篇文档的标记向量对应位置的值比较得到候选的索引标识符的集合SID=(sid3,sid8,sid5);
私有云服务器将候选索引标识符集合SID发送给公有云服务器,进行相似度分数的计算及排序操作。
较佳的,本实施例还采用了向量分段加密算法,具体如下:
MRSE方案(Cao N,Wang C,Li M,et al.Privacy-preserving multi-keywordranked search over encrypted cloud data.IEEE Transactions on Parallel andDistributed Systems,2014,25(1):829-837)创建的文档向量的维度通常很大,所以方案构建索引的时间主要花费在文档向量和矩阵的相乘上。本实施例将文档向量分段,将每一段分别与维度大大减小的矩阵相乘,这使得此方案的索引构建时间大大减少。
图6为向量分段加密算法的主要过程,步骤如下:
1)数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n。
2)数据拥有者在构建索引时,根据安全KNN算法将文档向量***成后,将分别分成h段,得到然后使用密钥SK进行加密,得到 和对应的索引Ii=(sidi,Vi)。最后,数据拥有者将E=(e1,e2,···,em)发送给私有云服务器,将索引集合上传给公有云服务器。
3)授权用户在生成陷门时也采用构建索引时类似的操作,得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器。
4)公有云服务器在计算相关度分数时,采用的公式如下:
较佳的,本实施例还采用了三因子排序方法。具体如下:
本实施例实现了语义模糊检索,当授权用户希望搜索到查询关键词语义相关的文档,或者由于各种原因无法输入准确的关键词时,也可以匹配到语义相关的文档并返回给授权用户,满足用户的搜索需求。
本实施例首次将域加权评分的概念引入文档的评分当中,对处于文档不同域中的关键词赋予不同的权重,将语义相似度、域加权评分和相关度分数三者结合,提出了一种三因子排序方法,使得排序结果更加精确。
(1)语义相似度
本实施例采用基于信息内容的Resnik算法(可以参考Resnik P.UsingInformation Content to Evaluate Semantic Similarity in a Taxonomy.//Proceedings of the 14th International Joint Conference on ArtificialIntelligence.Montreal,Canada,1995:448-453.)计算语义相似度,步骤如下:
1)采用Resnik算法计算两个概念c1和c2相似度,计算公式如下:
sim(c1,c2)=-log p(lso(c1,c2))=IC(lso(c1,c2))
其中lso(c1,c2)表示概念c1和c2在WordNet is-a树中最深层的公共父节点。
p(c)是WordNet语料库中出现概念c的名词的概率,其计算方法如下:
其中,N表示WordNet语料库中名词的个数,freq(c)表示语料库中包含概念c的单词个数,其计算公式如下:
其中,words(c)表示包含概念c的单词集合。
2)Resnik算法计算两个单词w1和w2相似度,计算公式如下:
其中,s(w1)和s(w2)分别表示单词w1和w2包含的概念集合,一个单词可能包含若干个概念。
(2)域加权评分
本实施例首次将域加权评分(可以参考Manning C D,Raghavan P,SchützeH.Introduction to information retrieval.Cambridge:Cambridge University Press,2008.)的概念引入文档的评分当中,给定一系列文档,假定每篇文档有l个域,其对应的权重系数分别是g1,…gl∈[0,1],它们满足:
令si为查询和文档的第i个域的匹配得分(1和0分别表示是否匹配),于是,域加权评分方法可以定义为:
(3)相关度分数
基于tf-idf权值计算方法,并参考tf的亚线性尺度变换方法(可以参考Jin L I,Chen X.Efficient multi-user keyword search over encrypted data in cloudcomputing.Computing&Informatics,2013,32(4):723-738),步骤如下:
1)计算词频权重wft,f
2)计算逆文档频率idft
本实施例将语义相似度、域加权评分和相关度分数三者结合,设计一种三因子排序方法,使得排序结果更加精确。公有云服务器上文档得分的计算公式如下:
其中,Zij、(wft,f×idft)和scj分别为文档fi中关键词wj的域加权评分、相关度分数和语义相似度。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:包括数据拥有者、授权用户、私有云服务器以及公有云服务器,具体包括以下步骤:
步骤S1:数据拥有者从明文文档集合F=(f1,f2,…,fm)中抽取关键词,得到关键词集合W=(w1,w2,…,wn);
步骤S2:数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n;接着,数据拥有者生成一个加密文档的密钥sk,将密钥SK、sk发送给授权用户;
步骤S3:创建索引:数据拥有者为每篇文档fi生成文档向量若文档fi中包含关键词wj,则令否则令接着将文档向量分u块,得到文档标记向量bi=(bb1,bb2,…,bbu)与ei=(bi,sidi),然后计算关键词wj在文档fi中的词频权重wft,f、逆文档频率idft和域加权得分Zij后,将中1的值置为Zij·(wft,f×idft);接着对进行维度扩展,其中第(n+1)位设置成一个随机数ε,第(n+2)位设置成1,那么表示为
采用安全KNN算法加密文档向量得到Ii=(sidi,Vi);其中,为向量的***向量;最后,数据拥有者将E=(e1,e2,…,em)发送给私有云服务器,将索引集合上传给公有云服务器;
步骤S4:数据拥有者使用对称加密算法对文档集合F=(f1,f2,…,fm)进行加密,得到密文集合C=(c1,c2,…,cm)并上传给公有云服务器;
步骤S5:构建陷门:当授权用户搜索时,首先输入η个搜索关键词Γ=(q1,q2,…,qs,…,qη),接着进行语义扩展,计算原单词qs和拓展词之间的语义相似度并排序,选取最相关的前σ个拓展词作为最终拓展词,得到语义拓展集合Q=(q1,q2,…,qη1,…,δσ)及其对应的语义相似度分数SC=(sc1,sc2,…,scη,scη+1,…,scη+σ);根据语义扩展集Q创建查询向量若wj∈Q,则令否则分为u块,得到查询标记向量接着将查询向量中的1置为对应的语义相似度分数scj,然后将扩展成(n+1)维且第(n+1)位设置为1,用大于0的随机数r对缩放,并扩展成(n+2)维,第(n+2)位设置成η+σ,因此表示为
采用安全KNN算法加密查询向量得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器;
步骤S6:私有云服务器接收到授权用户发送的查询标记向量后,将其和文档标记向量bi=(bb1,bb2,…,bbu)进行匹配,得到可能包含搜索关键词的候选索引标识符集合SID=(…,sidi,…,sidj,…,sidz,…);
私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户;
步骤S7:授权用户使用数据拥有者分发的密钥sk,对返回的top-k篇密文进行解密,获得所需的明文文档集。
2.根据权利要求1所述的一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:还包括分别对文档向量和查询向量进行分块,生成维数较小的文档标记向量和查询标记向量,通过文档标记向量和查询标记向量的匹配,快速过滤掉大量无关文档。
3.根据权利要求2所述的一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:对文档向量进行分块具体包括以下步骤:
步骤S11:文档向量分为u块,若某个块全为0,则标记值bbs=0,否则bbs=1,得到文档标记向量bi=(bb1,bb2,…,bbu);
步骤S12:遍历所有文档,得到文档标记向量集合B=(b1,b2,...,bm)。
4.根据权利要求2所述的一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:通过文档标记向量和查询标记向量的匹配具体包括以下步骤:
步骤S21:私有云服务器接收到授权用户发送的查询标记向量后,依次用中每一位1去匹配ei中对应的块,即块的标记值bbs是否为0;
步骤S22:块的标记值bbs若为0,则说明该文档对应的块没有搜索的关键词,如果为1则将对应的索引标识符sidi记录下来,得到可能包含搜索关键词的候选索引标识符集合SID=(…,sidi,…,sidj,…,sidz,…);
步骤S23:私有云服务器将SID上传给公有云服务器,公有云服务器根据索引的标识符sidi找到对应的安全索引Ii,将对应的Vi和陷门TQ计算文档的相似度分数,将所有分数排序后,返回前k篇文档给用户。
5.根据权利要求1所述的一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:还包括将文档向量分段,将每一段分别与维度减小的矩阵相乘,具体包括以下步骤:
步骤S31:数据拥有者随机产生一个(n+2)比特的向量S和两个(n+2)×(n+2)维的可逆矩阵{M1,M2},密钥SK由四元组{S,M1,M2,u}组成,u是一个正整数并且u|n;
步骤S32:数据拥有者在构建索引时,根据安全KNN算法将文档向量***成后,将分别分成h段,得到 然后使用密钥SK进行加密,得到和对应的索引Ii=(sidi,Vi);最后,数据拥有者将E=(e1,e2,…,em)发送给私有云服务器,将索引集合上传给公有云服务器;
步骤S33:授权用户在生成陷门时也采用步骤S32中构建索引时类似的操作,得到陷门最后,授权用户将查询标记向量发给私有云服务器,将陷门TQ上传到公有云服务器;
步骤S34:公有云服务器在计算相关度分数时,采用的公式如下:
6.根据权利要求1所述的一种云计算中保护数据隐私的快速多关键词语义排序搜索方法,其特征在于:所述排序采用三因子排序方法,对处于文档不同域中的关键词赋予不同的权重,将语义相似度、域加权评分和相关度分数三者结合,具体包括以下步骤:
步骤S41:计算语义相似度:采用基于信息内容的Resnik算法;
步骤S42:计算域加权评分:给定一系列文档,假定每篇文档有l个域,其对应的权重系数分别是g1,…gl∈[0,1],他们满足:
Σ i = 1 l g i = 1 ;
令si为查询和文档的第i个域的匹配得分,其中1和0分别表示是否匹配,于是,域加权评分定义为:
Z = Σ i = 1 l g i s i ;
步骤S43:计算相关度分数:基于tf-idf权值计算方法以及tf的亚线性尺度变换方法计算相关度分数。
CN201710181664.6A 2017-03-24 2017-03-24 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法 Active CN106951411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710181664.6A CN106951411B (zh) 2017-03-24 2017-03-24 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710181664.6A CN106951411B (zh) 2017-03-24 2017-03-24 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法

Publications (2)

Publication Number Publication Date
CN106951411A true CN106951411A (zh) 2017-07-14
CN106951411B CN106951411B (zh) 2019-10-15

Family

ID=59472824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710181664.6A Active CN106951411B (zh) 2017-03-24 2017-03-24 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法

Country Status (1)

Country Link
CN (1) CN106951411B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索***
CN108390855A (zh) * 2018-01-11 2018-08-10 中国人民解放军战略支援部队信息工程大学 一种面向云存储的属性基关键词搜索加密***及方法
CN108549701A (zh) * 2018-04-17 2018-09-18 上海海事大学 云环境加密外包数据语义扩展搜索方法及***
CN108647529A (zh) * 2018-05-09 2018-10-12 上海海事大学 一种基于语义的多关键词排序搜索隐私保护***及方法
CN108959567A (zh) * 2018-07-04 2018-12-07 武汉大学 一种云环境下适用于大规模图像的安全检索方法
CN109063509A (zh) * 2018-08-07 2018-12-21 上海海事大学 一种基于关键词语义排序的可搜索加密方法
CN109165520A (zh) * 2018-07-16 2019-01-08 哈尔滨工业大学(深圳) 数据加密方法及其装置、数据加密检索***
CN109271485A (zh) * 2018-09-19 2019-01-25 南京邮电大学 一种支持语义的云环境加密文档排序检索方法
CN109308264A (zh) * 2018-10-22 2019-02-05 北京天融信网络安全技术有限公司 数据脱敏效果的评价方法及相应设备和存储介质
CN109376288A (zh) * 2018-09-28 2019-02-22 北京北斗方圆电子科技有限公司 一种实现语义搜索的云计算平台及其均衡方法
CN109471964A (zh) * 2018-10-23 2019-03-15 哈尔滨工程大学 一种基于同义词集的模糊多关键词可搜索加密方法
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN109815730A (zh) * 2018-12-29 2019-05-28 中国科学院软件研究所 一种支持skyline查询的可搜索加密方法与***
CN109960757A (zh) * 2019-02-27 2019-07-02 北京搜狗科技发展有限公司 网页检索方法及装置
CN110175328A (zh) * 2019-05-16 2019-08-27 镇江市高等专科学校 一种基于关键词序列结构的文档相似度度量方法及***
CN110555198A (zh) * 2018-05-31 2019-12-10 北京百度网讯科技有限公司 用于生成文章的方法、装置、设备和计算机可读存储介质
CN110727951A (zh) * 2019-10-14 2020-01-24 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及***
CN110795544A (zh) * 2019-09-10 2020-02-14 腾讯科技(深圳)有限公司 内容搜索方法、装置、设备和存储介质
CN110858251A (zh) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 数据查询方法和装置
CN111966778A (zh) * 2020-07-08 2020-11-20 南京邮电大学 一种基于关键词分组倒排索引的多关键词密文排序检索方法
CN112134872A (zh) * 2020-09-16 2020-12-25 江苏省未来网络创新研究院 一种具有多应用层云计算功能的网络***
CN112966018A (zh) * 2021-03-03 2021-06-15 北京邮电大学 基于混合云的模糊检索方法
CN113139106A (zh) * 2021-05-07 2021-07-20 杭州世平信息科技有限公司 一种保密检查的事件审核方法和装置
CN113987593A (zh) * 2021-12-28 2022-01-28 北京妙医佳健康科技集团有限公司 一种数据处理方法
CN115630154A (zh) * 2022-12-19 2023-01-20 竞速信息技术(廊坊)有限公司 一种面向大数据环境的动态摘要信息构建方法及***
CN117278216A (zh) * 2023-11-23 2023-12-22 三亚学院 一种基于云计算虚拟化与网络存储文件的加密***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104765848A (zh) * 2015-04-17 2015-07-08 中国人民解放军空军航空大学 混合云存储中支持结果高效排序的对称可搜索加密方法
CN105335510A (zh) * 2015-10-30 2016-02-17 成都博睿德科技有限公司 文本数据高效搜索方法
CN106407447A (zh) * 2016-09-30 2017-02-15 福州大学 一种加密云数据下基于Simhash的模糊排序搜索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104765848A (zh) * 2015-04-17 2015-07-08 中国人民解放军空军航空大学 混合云存储中支持结果高效排序的对称可搜索加密方法
CN105335510A (zh) * 2015-10-30 2016-02-17 成都博睿德科技有限公司 文本数据高效搜索方法
CN106407447A (zh) * 2016-09-30 2017-02-15 福州大学 一种加密云数据下基于Simhash的模糊排序搜索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUN XU ET AL.: "Two-Step-Ranking Secure Multi-Keyword Search over Encrypted Cloud Data", 《2012 INTERNATIONAL CONFERENCE ON CLOUD AND SERVICE COMPUTING》 *
NING CAO ET AL.: "Privacy-preserving multi-keyword ranked search over encrypted cloud data", 《2011 PROCEEDINGS IEEE INFOCOM》 *

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索***
CN108390855A (zh) * 2018-01-11 2018-08-10 中国人民解放军战略支援部队信息工程大学 一种面向云存储的属性基关键词搜索加密***及方法
CN108549701A (zh) * 2018-04-17 2018-09-18 上海海事大学 云环境加密外包数据语义扩展搜索方法及***
CN108647529A (zh) * 2018-05-09 2018-10-12 上海海事大学 一种基于语义的多关键词排序搜索隐私保护***及方法
CN110555198B (zh) * 2018-05-31 2023-05-23 北京百度网讯科技有限公司 用于生成文章的方法、装置、设备和计算机可读存储介质
CN110555198A (zh) * 2018-05-31 2019-12-10 北京百度网讯科技有限公司 用于生成文章的方法、装置、设备和计算机可读存储介质
CN108959567A (zh) * 2018-07-04 2018-12-07 武汉大学 一种云环境下适用于大规模图像的安全检索方法
CN108959567B (zh) * 2018-07-04 2021-05-04 武汉大学 一种云环境下适用于大规模图像的安全检索方法
CN109165520A (zh) * 2018-07-16 2019-01-08 哈尔滨工业大学(深圳) 数据加密方法及其装置、数据加密检索***
CN109165520B (zh) * 2018-07-16 2020-08-11 哈尔滨工业大学(深圳) 数据加密方法及其装置、数据加密检索***
CN109063509A (zh) * 2018-08-07 2018-12-21 上海海事大学 一种基于关键词语义排序的可搜索加密方法
CN110858251A (zh) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 数据查询方法和装置
CN110858251B (zh) * 2018-08-22 2020-07-21 阿里巴巴集团控股有限公司 数据查询方法和装置
CN109271485A (zh) * 2018-09-19 2019-01-25 南京邮电大学 一种支持语义的云环境加密文档排序检索方法
CN109376288A (zh) * 2018-09-28 2019-02-22 北京北斗方圆电子科技有限公司 一种实现语义搜索的云计算平台及其均衡方法
CN109376288B (zh) * 2018-09-28 2021-04-23 邦道科技有限公司 一种实现语义搜索的云计算平台及其均衡方法
CN109308264A (zh) * 2018-10-22 2019-02-05 北京天融信网络安全技术有限公司 数据脱敏效果的评价方法及相应设备和存储介质
CN109308264B (zh) * 2018-10-22 2021-11-16 北京天融信网络安全技术有限公司 数据脱敏效果的评价方法及相应设备和存储介质
CN109471964A (zh) * 2018-10-23 2019-03-15 哈尔滨工程大学 一种基于同义词集的模糊多关键词可搜索加密方法
CN109815730A (zh) * 2018-12-29 2019-05-28 中国科学院软件研究所 一种支持skyline查询的可搜索加密方法与***
CN109766314A (zh) * 2019-01-07 2019-05-17 西安电子科技大学 基于概率陷门的密文数据多关键词搜索方法
CN109960757A (zh) * 2019-02-27 2019-07-02 北京搜狗科技发展有限公司 网页检索方法及装置
CN110175328B (zh) * 2019-05-16 2023-02-17 镇江市高等专科学校 一种基于关键词序列结构的文档相似度度量方法及***
CN110175328A (zh) * 2019-05-16 2019-08-27 镇江市高等专科学校 一种基于关键词序列结构的文档相似度度量方法及***
CN110795544B (zh) * 2019-09-10 2023-07-21 腾讯科技(深圳)有限公司 内容搜索方法、装置、设备和存储介质
CN110795544A (zh) * 2019-09-10 2020-02-14 腾讯科技(深圳)有限公司 内容搜索方法、装置、设备和存储介质
CN110727951B (zh) * 2019-10-14 2021-08-27 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及***
CN110727951A (zh) * 2019-10-14 2020-01-24 桂林电子科技大学 具有隐私保护的轻量级外包文件多关键词检索方法及***
CN111966778A (zh) * 2020-07-08 2020-11-20 南京邮电大学 一种基于关键词分组倒排索引的多关键词密文排序检索方法
CN112134872A (zh) * 2020-09-16 2020-12-25 江苏省未来网络创新研究院 一种具有多应用层云计算功能的网络***
CN112134872B (zh) * 2020-09-16 2022-07-26 江苏省未来网络创新研究院 一种具有多应用层云计算功能的网络***
CN112966018A (zh) * 2021-03-03 2021-06-15 北京邮电大学 基于混合云的模糊检索方法
CN112966018B (zh) * 2021-03-03 2022-04-01 北京邮电大学 基于混合云的模糊检索方法
CN113139106A (zh) * 2021-05-07 2021-07-20 杭州世平信息科技有限公司 一种保密检查的事件审核方法和装置
CN113139106B (zh) * 2021-05-07 2022-03-15 杭州世平信息科技有限公司 一种保密检查的事件审核方法和装置
CN113987593A (zh) * 2021-12-28 2022-01-28 北京妙医佳健康科技集团有限公司 一种数据处理方法
CN113987593B (zh) * 2021-12-28 2022-03-15 北京妙医佳健康科技集团有限公司 一种数据处理方法
CN115630154A (zh) * 2022-12-19 2023-01-20 竞速信息技术(廊坊)有限公司 一种面向大数据环境的动态摘要信息构建方法及***
CN117278216A (zh) * 2023-11-23 2023-12-22 三亚学院 一种基于云计算虚拟化与网络存储文件的加密***
CN117278216B (zh) * 2023-11-23 2024-02-13 三亚学院 一种基于云计算虚拟化与网络存储文件的加密***

Also Published As

Publication number Publication date
CN106951411B (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN106951411B (zh) 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法
Fu et al. Privacy-preserving smart semantic search based on conceptual graphs over encrypted outsourced data
CN104765848B (zh) 混合云存储中支持结果高效排序的对称可搜索加密方法
CN106997384B (zh) 一种排序可验证的语义模糊可搜索加密方法
Zhang et al. SE-PPFM: A searchable encryption scheme supporting privacy-preserving fuzzy multikeyword in cloud systems
Chen et al. Collabseer: a search engine for collaboration discovery
Fu et al. Towards efficient content-aware search over encrypted outsourced data in cloud
Tong et al. Center-piece subgraphs: problem definition and fast solutions
CN108647529A (zh) 一种基于语义的多关键词排序搜索隐私保护***及方法
CN107480163A (zh) 一种云环境下支持隐私保护的高效密文图像检索方法
CN109063509A (zh) 一种基于关键词语义排序的可搜索加密方法
Luo et al. Local community detection in multiple networks
Murugesan et al. Providing privacy through plausibly deniable search
CN107220343A (zh) 基于局部敏感哈希的中文多关键词模糊排序密文搜索方法
Zhong et al. Efficient dynamic multi-keyword fuzzy search over encrypted cloud data
CN108171071B (zh) 一种面向云计算的多关键字可排序密文检索方法
Liu et al. FSSE: An effective fuzzy semantic searchable encryption scheme over encrypted cloud data
CN109255244A (zh) 数据加密方法及其装置、数据加密检索***
CN109902143A (zh) 一种基于密文的多关键字扩展检索方法
Raghavendra et al. MSIGT: Most significant index generation technique for cloud environment
CN108549701A (zh) 云环境加密外包数据语义扩展搜索方法及***
CN109614521A (zh) 一种高效的隐私保护子图查询处理方法
Er et al. Set of t-uples expansion by example
Onal et al. Utilizing word embeddings for result diversification in tweet search
Hassanpour et al. An adaptive meta-search engine considering the user’s field of interest

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