李珍 姚寒冰 穆逸诚
摘 要:针对密文检索中存在的计算量大、检索效率不高的问题,提出一种基于Simhash的安全密文排序检索方案。该方案基于Simhash的降维思想构建安全多关键词密文排序检索索引(SMRI),将文档处理成指纹和向量,利用分段指纹和加密向量构建B+树,并采用“过滤精化”策略进行检索和排序,首先通过分段指纹的匹配进行快速检索,得到候选结果集;然后通过计算候选结果集与查询陷门的汉明距离和向量内积进行排序,带密钥的Simhash算法和安全k近邻(SkNN)算法保证了检索过程的安全性。实验结果表明,与基于向量空间模型(VSM)的方案相比,基于SMRI的排序检索方案计算量小,能节约时间和空间成本,检索效率高,适用于海量加密数据的快速安全检索。
关键词:密文检索;排序检索;Simhash;隐私保护;安全k近邻
中图分类号:TP391
文献标志码:A
Secure ranked search scheme based on Simhash over encrypted data
LI Zhen1,2*, YAO Hanbing1,2, MU Yicheng1
1.College of Computer Science and Technology, Wuhan University of Technology, Wuhan Hubei 430063, China;
2.Hubei Key Laboratory of Transportation Internet of Things (Wuhan University of Technology), Wuhan Hubei 430070, China
Abstract:
Concerning the large computation and low search efficiency in ciphertext retrieval, a secure ranked search scheme based on Simhash was proposed. In this scheme, a Secure Multi-keyword Ranked search Index (SMRI) was constructed based on the dimensionality reduction idea of Simhash, the documents were processed into fingerprints and vectors, the B+ tree was built with the segmented fingerprints and encrypted vectors and the “filter-refine” strategy was adopted to searching and sorting. Firstly, the candidate result set was obtained by matching the segmented fingerprints to perform the quick retrieval, then the top-k results were ranked by calculating the Hamming distance and the vector inner product between candidate result set and query trapdoor, and the Simhash algorithm with secret key and the Secure k-Nearest Neighbors (SkNN) algorithm ensured the security of the retrieval process. Simulation results show that compared with the method based on Vector Space Model (VSM), the SMRI-based ranked search scheme has lower computational complexity, saves time and space cost, and has higher search efficiency. It is suitable for fast and secure retrieval of massive ciphertext data.
Key words:
ciphertext retrieval; ranked search; Simhash; privacy-preserving; Secure k-Nearest Neighbors (SkNN)
0 引言
隨着云存储的发展,越来越多的企业和个人将数据存储到云服务器。云服务器不是完全可信的,为保护敏感数据,用户常将数据加密后存储至云服务器,加密后的数据失去了明文特征,用户无法高效地进行检索。对海量加密数据进行高效检索并保障数据的隐私成为一个亟待解决的问题[1]。
Song等[2]提出了对称可搜索加密方案,为解决密文检索的问题提供了思路,引起了学术界的普遍关注。Goh等[3]将关键词信息映射在布隆过滤器中,通过布隆过滤器判断关键词的有无,实现密文快速检索。Kuzu[4]、Krishna等[5]基于倒排索引,提出了根据关键词相关分进行排序的密文检索方案,这些方案只适用于单关键词搜索。Wang等[6]将改进的计数布隆过滤器直接作为向量计算内积进行排序,但是该方案没有构建搜索索引,不适用于海量密文检索。Yao等[7]、Li等[8]基于布隆过滤器,改进了传统的倒排索引结构,结合“TF×IDF(Term Frequency-Inverse Document Frequency)”规则进行相关分排序,这些方案都需要授权用户在客户端对结果倒排表进行解密和排序,再向服务器发送请求才能得到top-k密文文档,增加了网络通信量和计算量。
Cao等[9]提出了MRSE多关键词密文排序检索方案,基于向量空间模型(Vector Space Model, VSM)将每篇文档处理成空间向量,通过计算向量夹角余弦值可以直接在云端完成排序操作,但是该方案没有保证关键词的隐私安全。后来许多研究学者,如Li等[10]采用安全k近邻(Secure k-Nearest Neighbors, SkNN)[11]算法加密向量,将向量与“TF×IDF”规则结合,既保证了安全性,又提高了排序精度。Xia等[12]、Zhu等[13]根据加密向量构建了平衡二叉树,Chen等[14]、杨宏宇等[15]基于MRSE框架,采用动态K-means聚类算法构建了层次索引树。这些方案都是基于VSM,通过计算高维特征向量的内积进行检索和排序,时间复杂度高,计算量大。
Simhash算法由Charikar[16]提出,Manku等[17]将该技术运用于海量网页的去重。杨旸等[18]基于Simhash的思想,利用n-gram分词技术将单个词处理成哈希指纹,构建指纹索引树,该方案只适用于单关键词,无法进行多关键词的相关分排序。
针对密文多关键词检索存在的计算量大、检索效率不高的问题,本文提出了一种基于Simhash的安全密文排序检索方案。采用AES算法加密文档,通过带密钥的Simhash函数Sim(hk,·) 将文档处理成Simhash指纹。基于SkNN算法生成加密向量,将分段指纹与加密向量构成的二元组作为叶子节点构建多关键词密文排序检索索引(Simhash-based Secure Multi-keyword Ranked search Index, SMRI)。根据用户的检索关键词生成查询陷门,通过分段指纹的匹配进行快速检索,得到候选结果集,通过计算查询指纹与候选集中指纹的汉明距离,以及查询向量与候选集中向量的内积完成结果排序,相对于已有方案减少了检索排序计算量。
1 相关定义
本方案主要涉及3个主体:
1)数据拥有者(Data Owner, DO),主要负责文档指纹和文档特征向量的生成、SMRI索引的构建,以及文档的加密。
2)云服务器(Cloud Server, CS),负责密文多关键词的检索和排序工作,并將排序后的top-k加密文档发送给授权用户。
3)授权用户(Data User, DU),提交查询请求,并根据云端返回的top-k密文结果进行解密,最终得到符合需求的明文文件。
为了方便描述,本方案定义如下符号:
1)F:明文文档集,规模为n,表示为F={f1, f2,…, fn};
2)EF:密文文档集,表示为EF={d1,d2,…,dn},di对应于fi;
3)S:文档指纹集,表示为S={S1,S2,…,Sn},Si对应于fi;
4)W:关键词词典,规模为m,表示为W={w1,w2,…,wm};
5)V:明文文档向量集,表示为V={dv1,dv2,…,dvn},dvi对应于fi;
6)FV:扩展文档向量集,表示为FV={DV1,DV2,…,DVn},DVi对应于dvi;
7)EV:加密文档向量集,表示为EV={ev1,ev2,…,evn},evi对应于DVi;
8)Doc:文档指纹与文档向量构成的二元组集,表示为Doc={doci=(Si,evi)|i=1,2,…,n},doci对应于fi;
9)Tq:查询陷门,表示为Tq={Sq,eq},其中Sq表示查询指纹,eq表示加密的查询向量。
2 基于Simhash的密文排序检索方案
本方案采用“过滤精化”思想,先通过分段指纹匹配进行初步排序得到候选结果集,缩小目标结果集范围,减少排序计算量,再通过计算汉明距离和向量内积进行精确化排序,得到与查询关键词相关分最高的top-k结果集。
2.1 SMRI索引的构建
1)文档预处理。数据拥有者利用AES算法将明文文档集合F加密得到密文文档集合EF,抽取文档集关键词得到关键词词典W,词典规模为m。然后将每篇文档处理成64位的Simhash指纹Si,利用VSM将每篇文档处理成m维文档向量,文档向量的每个维度是对应关键词的权重值TF,若文档中不存在该对应位的关键词,则TF的值为0,TF采用式(1)计算:
TFwi=TFf,wi′∑wi∈w(TFf,wi′)2(1)
其中:TFwi是文件f中的关键字wi的词频值,TFf,wi′=1+ln Nf,wi,Nf,wi是文件f中关键词wi的数量。
2)向量加密。基于文献[11]中SkNN加密算法的思想,数据拥有者随机生成一个(m+u)维{0,1}指示向量P和两个(m+u)×(m+u)维可逆矩阵M1、M2,记为sk={P, M1, M2},sk是加密密钥,并发送给授权的数据使用者。对于每个文档向量dvi,首先扩展文档向量得到DVi={dvi,r1,r2,…,ru},其中r1~ru是随机数。然后利用P分割扩展向量:当P[j]=0时,DV′[j]=DV″[j]=DV[j];当P[j]=1时,将DV′[j]设置为一个随机数,DV″[j]=DV[j]-DV′[j]。最后通过矩阵变换加密文档向量得到evi={MlT×DV′, M2T×DV″}。
3)构建B+树。本文利用分段指纹和加密向量构建搜索索引树,B+树的叶子节点结构如式(2)所示:
leafNode=〈segKey,docList〉(2)
其中:segkey指分段指纹,docList指具有相同分段指纹的doc集合。例如,指纹S3和S4的第一个分段都是001011,则插入B+树后即为叶子节点〈001011, {(S1, ev1), (S2, ev2)}〉。
B+树的非叶节点结构如式(3)所示:
Node=〈segKeyList,child[t]〉(3)
其中:segkeyList指分段指纹集合,分段指纹是二进制序列,可以进行大小排序;child[t]是指向孩子节点的指针,t是B+树的阶数。
对于64位的哈希指纹,当指纹之间的汉明距离不大于3时,文档被定义为相似的[17]。为了快速找到汉明距离不大于3的指纹,将Simhash指纹分成4段,根据抽屉原理,则必有1段是相等的。为了方便讲解索引树的构建和检索排序过程,将指纹简化为16位。假设有4篇文档,如图1所示,将每个指纹分为4段,前面两位表示分段位置。具体的索引构简算法如算法1所示。
算法1 SMRI索引构建算法。
输入:Doc集合;
输出:SMRI索引。
有序号的程序——————————Shift+Alt+Y
程序前
1)
for each doc in Doc do
2)
splitSimhash=split(doc.Si);//将doc中的Simhash指纹分为4段
3)
for each Si, j in splitSimhash// j=1,2,3,4
4)
if(不存在segKey等于Si, j的叶节点)
5)
if(没有节点需要分裂)
6)
newLeafNode.insert(〈Si, j, {doc}〉//直接插入新的叶子节点
7)
else
8)
按照B+树结构进行节点分裂;
9)
newLeafNode.insert(〈Si, j, {doc}〉);
10)
end if
11)
else
12)
leaf = findLeafNode(Si, j);// 找到segkey等于Si, j的叶节点leaf;
13)
leaf.insert(doc);// 将doc添加至leaf的docList
14)
end if
15)
end for
16)
end for
17)
return SMRI
程序后
2.2 基于SMRI的多關键词检索
1)生成查询陷门Tq。授权用户提交查询关键词Wq,将Wq处理成64位查询指纹Sq并将指纹分成四段,然后利用VSM生成查询向量q,查询向量的每个维度是对应的关键词的IDF值,IDF的值采用式(2)计算:
IDFwi=IDFwi′∑wi∈w(IDFwi′)2(4)
其中:IDFwi′是关键字wi的逆文档频率,IDFwi′=ln(1+N/Nwi),Nwi是包含关键字wi的文件数量,N是总文件数。
授权用户根据数据拥有者发送的加密密钥sk加密查询向量。首先扩展查询向量q得到Q={R*q, R1, R2, …, Ru},从R1~Ru中随机选取v位置为1,其余u-v位置为0。然后利用P分割扩展向量:当P[j]=0时,将Q′[j]设置为一个随机数,Q″[j]=Q[j]-Q′[j];当P[j]=1时,Q′[j]=Q″[j]=Q[j]。最后通过矩阵变换得到加密查询向量eq={Ml-1×Q′, M2-1×Q″}。查询陷门Tq记为Tq = (Sq, eq),授权用户将分段指纹和查询陷门提交给云服务器。
2)基于SMRI的分段指纹匹配检索。云服务器根据分段查询指纹在SMRI索引中进行检索,找到所有segKey等于分段指纹的叶子节点,得到候选结果集CR。如图2所示,假设分段指纹Sq=1011001101010110,以第一个分段查询指纹Sq1=001011为例,由根节点Node0开始搜索,在Node0的segKeyList中进行二分查找找到100011,由于001011小于100011,于是向左边查找到Node1,在Node1的segKeyList中进行二分查找得到010010,由于001011小于010010,继续向左边查找到Node4,在Node4的segKeyList中进行二分查找找到与Sq1相等的二进制序列001011,从而得到叶子节点leafNode3,将leafNode3中的docList={(S3,ev3),(S4,ev4)}添加至CR。Sq2、Sq3、Sq4以同样的方式进行查找,分别得到{(S3,ev3)}、{(S3, ev3), (S4, ev4)}、{(S3,ev3), (S3, ev3), (S4, ev4)},最后将所有结果取并集得到CR={(S2, ev2), (S3, ev3), (S4,ev4)}。
2.3 top-k检索结果排序
通过2.2节的分段指纹查找已经过滤了大量不相关文档,完成了初步排序,即汉明距离大于3的文档。汉明距离用式(4)计算:
Hd(Sm,Sn)=∑64i=1Sm[i]⊕Sn[i](5)
其中:Sm、Sn都是n位的Simhash指纹,⊕表示异或运算。
相关性分数是用来度量文档与查询关键字的匹配程度。根据“TF×IDF”规则,原始文档向量与查询向量的相关性分数由式(5)计算:
Score(dv,q)=dv·q=∑wi∈wqTFwi×IDFwi(6)
扩展向量的相关分计算如下:
Score(DV,Q)=Score(dv,q)+∑ui=1ri×Ri=
Score(dv,q)+ε(7)
直接将明文向量部署到云服务器上,攻击者可以根据向量每个维度的词频值进行统计攻击,对照词频字典攻击关键词信息,引起隐私泄漏等安全问题。因此在云服务器端计算的是加密向量的相关分,加密文档向量与加密查询向量的相关分计算如式(8):
Score(ev,eq)=(M1TDV′)·(M1-1Q′)+(M2TDV″)·(M2-1Q″)=
(M1TDV′)TM1-1Q′+(M2TDV″)T·M2-1Q″=
DV′TM1M1-1Q′+DV″M2M2-1Q″=
DV′·Q′+DV″·Q″=DV·Q(8)
由式(8)可得,加密向量的相关分与扩展向量相关分保持一致。按照这种方法便可以在云服務器计算各个文档与多关键词查询陷门的相关分并进行排序。
对于2.2节中得到的候选集CR,排序过程如图3所示。假设用户要求返回文档数为2,首先计算查询指纹与候选文档指纹的汉明距离Hd,根据汉明距离排序得到对应的排序向量集合VR,再计算加密查询向量与VR的向量内积score,根据内积进行排序,得到最后的top-k结果并返回给用户。
3 安全性分析
1)文档隐私保障。对文档集采用AES算法加密。由于文档和索引向量采用不同的方式进行加密,增加了攻击者的攻击难度。对文件的检索、插入和删除操作都是基于哈希指纹,不会涉及到文件的内容,因此不会泄露文档信息。
2)关键词隐私保障。假设u=0,如果要解出文档向量,就要构建方程组C′=M1T×DV′和C″=M2T×DV″,在n篇文档向量中有2n×(m+1)个未知量,在可逆矩阵(M1, M2)中有2(m+1)2个未知量,由于只有2n×(m+1)个等式,少于未知量的个数,对于查询向量同理,所以没有足够的信息推断出向量或者密钥矩阵(M1, M2),攻击者无法得到关键词有关信息。
3)相关分隐私保障。根据式(7),在相关分中引入随机值ε。如果ε有2ω种可能性,则两两相等的概率是1/2ω。本文将查询向量扩展u位,随机选取v位设为1,那么ε就有Cvu种不同的组合,取v=u/2时,ε能取得最多的可能性。即随机选择一半的扩展位置为1生成扩展查询向量。设置每个扩展位服从均匀分布U(μ′-, μ′+),根据中心极限定理可得,ε服从正态分布N(u,σ2),并且μ=0.5uμ′,σ=(1/6)u·。由此可见,词频统计的特殊性被打破,保障了关键词的相关分隐私安全。
4)索引隐私保障。指纹索引树中含有指纹及加密后的文档向量,2)中已经分析了文档向量的隐私安全性。文档指纹是基于单向密钥Simhash函数生成的,定义如下:
Sim(hk,data):{0,1}nhk{0,1}m(9)
假设Sim(hk,data)在选择明文攻击中,不具有不可区分性,那么敌手A可以构建一个算法A′,并利用该算法区分一些函数Sim′(·)是伪随机函数还是真实的随机函数。当A′访问预言机OSim′(·)时,输入一个参数a,OSim′(·)返回结果值Sim′(a)。敌手A收到指纹生成请求后,通过询问OSim′(·)进行应答。然后敌手输出两个长度相同的挑战c1和c2,A′选择一个随机数b (0
5)查询无关联性。数据使用者根据数据拥有者发送的密钥sk,通过添加u个虚位扩展查询向量的维度,并将扩展向量拆分成两个向量。向量分割是随机的,因此对于相同的查询,每次产生的查询陷门也不相同,实现了查询的无关联性。
4 实验结果与分析
选择百度学术上6000篇英文论文作为测试数据,实验环境:Windows 7 (64位),CPU为Intel Core i7-7700HQ@(2.80GHz),内存4GB,使用Java语言编程。
4.1 索引构建效率
本文方案与文献[12]中的EDMRS(Enhanced Dynamic Multi-keyword Ranked Search)方案和文献[13]中的EASMS(Efficient and Accurate Secure Multi-keyword Search)方案进行比较。假设文档数量为n,构建B+树的时间复杂度为O(n(logt n)(t是B+树的阶数,本方案中取t=8),3种方案的索引时间对比实验结果如图4所示。
图4(a)词典规模固定m=4000的情况下,EASMS方案和EDMRS方案都是直接构造了一个带有高维加密向量作为数据节点的索引树,时间复杂度为O(n·(m+u)2),m不变时随着文档规模的增大,索引构建时间呈线性增长。而本文SMRI方案是以维度很低的18位Simhash分段指纹为数据节点,通过比较二进制串的大小构建B+树,文档规模增大时,索引构建时间呈线性增长,但是由于主要的时间消耗在密钥矩阵的生成上,而当词典规模固定时,随着文档数量的增加,整体时间增长缓慢。图4(b)文档规模固定n=1000,影响3种方案构建索引的主要因素是向量维数。向量加密的复杂度为O((m+u)2),随着词典大小的增加,向量维数增加,加密向量耗时呈平方级增长,3种方案的索引构建时间都呈现迅速增长。但是由于EDMRS和EASMS方案是通过计算高维向量内积生成索引树的,而SMRI方案是通过分段指纹构建B+树,虽然都呈现平方增长,但是SMRI方案总体耗时较少,增长速度相对缓慢,而且随着词典规模的逐步增加,优势愈发明显,前两个方案可能造成高维空间的“维度灾难”。
设定文件数n=1000,不同词典规模下三种方案的索引空间开销如表1所示。当叶节点的数量相同时,B+树具有比二叉树更少的节点个数,并且内部节点是低维散列指纹,高维向量仅存储在叶节点中,相比EDMRS方案和EASMS方案,本方案降低了空间存储代价。
4.2 索引检索效率
如图5所示,假设包含关键词的叶节点数为θ,在EDMRS方案中,索引树的高度为lb n,相关分计算复杂度为O(m+u),整体检索时间复杂度为O(θ·(m+u)(lb n),EASMS方案具有与EDMRS相同的时间复杂度。EASMS方案构建了层次化聚类索引树,先找到聚类中心再计算聚类向量的内积,检索时间接近EDMRS方案的一半。在本方案中,t阶B+树的最大高度为logt/2(n/2)+1,二分查找的时间复杂度为lb t,因此检索的时间复杂度为O(lb t·(logt/2(n/2)+1)+θ·(1+m+u))。在实际检索中时间一定小于lb t·(logt/2(n/2)+1)+θ·(1+m+u),因为一些节点具有共同的祖先并且具有相同的访问路径,不需要每次都从根节点重新搜索。而且本方案在检索过程中是对哈希指纹进行异或操作,EASMS和EDMRS方案是通过计算高维向量的内积进行检索,因此本方案的实际检索耗时很少。
图5(a) 固定词典规模m=4000,返回结果数k=20,用户输入检索词个数Wq=10,随着文档规模的增加,EASMS和EDMRS需要计算的向量个数也随之增加,检索时间随文档规模的增加而呈对数增长。对于本方案来讲,在指纹匹配阶段可能对比的节点数会增加,也是呈现对数级增长,但是增长趋势缓慢。
图5(b) 词典规模固定m=4000,文档规模固定n=1000,用户输入检索词个数Wq=10,随着返回结果数k的增加,EASMS和EDMRS需要计算的向量数增加,检索时间随之增加,本方案只需要通过指纹匹配找到候选集,然后计算陷门与候选集中每个元素之间的相关性,复杂度为O(m+u),这样减少了向量内积的计算,节省了大量时间并显著地提高检索效率。
图5(c)当检索关键词数量增加時,EDMRS和EASMS方案深度遍历二叉树计算向量内积进行排序的时间复杂度和时间不会受到影响,SMRI方案进行分段指纹和向量内积计算的时间复杂度和耗时也不会受到影响,由于SMRI方案前期通过二进制字符串的匹配检索和初步排序,后期计算内积的向量个数相比前两个方案大大减少,因此整体检索时间较少。
5 结语
保证数据的机密性和检索的高效性是密文检索的重点,目前基于VSM的多关键词排序检索方案存在计算量大、检索速度慢的问题。本文提出了一种基于SMRI的密文多关键词排序检索方案,该方案基于“过滤精化”策略,利用Simhash的降维思想构建搜索索引,减少了索引的计算和存储开销,提高了检索排序效率,使用单向密钥哈希算法和SkNN算法保证了检索过程的安全,实验结果证明了该方案的高效性。下一步研究工作将集中在多关键词模糊检索方面,提高方案的实用性。
参考文献
[1]冯登国,张敏,张妍,等.云计算安全研究[J].软件学报,2011,22(1):71-83.(FENG D G, ZHANG M, ZHANG Y, et al. Study on cloud computing security [J]. Journal of Software, 2011, 22(1): 71-83.)
[2]SONG D X, WAGNER D, PERRIG A. Practical techniques for searches on encrypted data [C]// Proceedings of the 2000 IEEE Symposium on Security and Privacy. Piscataway, NJ: IEEE, 2000: 44-55.
[3]GOH E. Secure indexes [EB/OL]. [2018-12-16]. https://eprint.iacr.org/2003/216.pdf.
[4]KUZU M, ISLAM M S, KANTARCIOGLU M. Efficient similarity search over encrypted data [C]// Proceedings of the IEEE 28th International Conference on Data Engineering. Piscataway, NJ: IEEE, 2012: 1156-1167.
[5]KRISHNA C R, MITTAL S A. Privacy preserving synonym based fuzzy multi-keyword ranked search over encrypted cloud data [C]// Proceedings of the 2016 International Conference on Computing, Communication and Automation. Piscataway, NJ: IEEE, 2016: 1187-1194.
[6]WANG J, YU X, ZHAO M. Privacy-preserving ranked multi-keyword fuzzy search on cloud encrypted data supporting range query [J]. Arabian Journal for Science and Engineering, 2015, 40(8): 2375-2388.
[7]YAO H, XING N, ZHOU J, et al. Secure index for resource-constraint mobile devices in cloud computing [J]. IEEE Access, 2016, 4: 9119-9128.
[8]LI X, CUI Y, ZHOU M, et al. Efficient multi-keyword fuzzy search on encrypted data in cloud storage [C]// Proceedings of the 2017 4th International Conference on Information Science and Control Engineering. Washington, DC: IEEE Computer Society, 2017, 1: 288-294.
[9]CAO N, WANG C, LI M, et al. Privacy-preserving multi-keyword ranked search over encrypted cloud data [J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(1): 222-233.
[10]LI H, YANG Y, LUAN T H, et al. Enabling fine-grained multi-keyword search supporting classified sub-dictionaries over encrypted cloud data [J]. IEEE Transactions on Dependable and Secure Computing, 2016, 13(3): 312-325.
[11]WONG W K, CHEUNG D W, KAO B, et al. Secure kNN computation on encrypted databases[C]// Proceedings of the 2009 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2009: 139-152.
[12]XIA Z, WANG X, SUN X, et al. A secure and dynamic multi-keyword ranked search scheme over encrypted cloud data [J]. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(2): 340-352.
[13]ZHU X, DAI H, YI X, et al. MUSE: an efficient and accurate verifiable privacy-preserving multi-keyword text search over encrypted cloud data [J]. Security and Communication Networks, 2017, 2017(2): No.1923476.
[14]CHEN L, SUN X, XIA Z, et al. An efficient and privacy-preserving semantic multi-keyword ranked search over encrypted cloud data [J]. International Journal of Security and its Applications, 2014, 8(2): 323-332.
[15]楊宏宇,王玥.云存储环境下的多关键字密文搜索方法[J].计算机应用,2018,38(2):343-347.(YANG H Y, WANG Y. Multi-keyword ciphertext search method in cloud storage environment [J]. Journal of Computer Applications, 2018, 38(2): 343-347.)
[16]CHARIKAR M S. Similarity estimation techniques from rounding algorithms[C]// Proceedings of the 34th Annual ACM Symposium on Theory of Computing. New York: ACM, 2002: 380-388.
[17]MANKU G S, JAIN A, das SARMA A. Detecting near-duplicates for Web crawling [C]// Proceedings of the 16th International Conference on World Wide Web. New York: ACM, 2007: 141-150.
[18]杨旸,杨书略,柯闽.加密云数据下基于Simhash的模糊排序搜索方案[J].计算机学报,2017,40(2):431-444.(YANG Y, YANG S L, KE M. Ranked fuzzy keyword search based on Simhash over encrypted cloud data [J]. Chinese Journal of Computers, 2017, 40(2): 431-444.)
This work is partially supported by the Fund of Hubei Key Laboratory of Inland Shipping Technology (NHHY2017003), the Fund of Hubei Key Laboratory of Transportation Internet of Things (2017Ⅲ028-002).
LI Zhen, born in 1994, M. S. candidate. Her research interests include information security.
YAO Hanbing, born in 1976, Ph. D., associate professor. His research interests include information security.
MU Yicheng, born in 1998, B. S. candidate. His research interests include information security.