CN114528370A - 动态多关键字模糊排序搜索方法及系统 - Google Patents

动态多关键字模糊排序搜索方法及系统 Download PDF

Info

Publication number
CN114528370A
CN114528370A CN202210030517.XA CN202210030517A CN114528370A CN 114528370 A CN114528370 A CN 114528370A CN 202210030517 A CN202210030517 A CN 202210030517A CN 114528370 A CN114528370 A CN 114528370A
Authority
CN
China
Prior art keywords
data
index
document
cloud server
keyword
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
CN202210030517.XA
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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202210030517.XA priority Critical patent/CN114528370A/zh
Publication of CN114528370A publication Critical patent/CN114528370A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明请求保护一种动态多关键字模糊排序搜索方法及系统,系统包含数据用户,数据拥有者,云服务器。本发明基于二级索引结构,第一级索引基于倒排索引和交叉链表组成,结合2‑gram计数排序,bloom过滤器和LSH(位置敏感的哈希函数)实现关键字模糊匹配,并利用交叉链表构造的新安全索引实现高效的数据更新。第二级索引基于多项式的用户搜索权限识别与判定,综合TF‑IDF与坐标匹配实现结果排序。验证阶段将每个关键字查询生成一个验证标记,以验证检索结果的有效性。本发明在基于半可信的云服务器情况下,基于泄露函数,实现了方案的语义安全性。本发明的模糊多关键词搜索方案相比同类发明具有一定优势,可以满足云环境下的用户敏感数据检索需求。

Description

动态多关键字模糊排序搜索方法及系统
技术领域
本发明属于信息安全技术领域,是一种动态多关键字模糊排序搜索方案,可用于在数据量较大时进行加密搜索等业务。
背景技术
随着云计算的发展,越来越多的数据拥有者将数据外包到云服务器。云服务器往往是半可信的,为此,数据在外包前有必要进行保密处理,但直接加密会破坏数据的可检索性。因此,如何在保证数据的可检索性时,确保数据的机密性成为一个具有挑战性的问题。
由于单关键字搜索只能针对一个关键字进行搜索,在实际应用场景中,与单关键字搜索相比,多关键字搜索更实用。数据用户在输入关键字时容易出现拼写错误。在这种情况下,精确的关键字搜索不能返回用户感兴趣的文档。本发明利用“内积相似性”计算所有文档的相关分数,即使这些文件不包含任何搜索的关键字。在某些场景中,数据拥有者可能需要更新(添加,删除或修改) 存储在云服务器上的数据。因此,有必要设计一种支持数据动态更新的多关键字模糊排序搜索方案。
CN104615692B,是一种支持动态更新、多关键字检索并且实现安全排序的可搜索加密方法,方案没有实现模糊搜索功能,在实际应用中缺乏实用性,本文提出了一种基于两级索引结构的动态多关键字搜索方案,其中一级索引由倒排索引和交叉链表组成,结合Gram计数顺序、bloom过滤器和LSH (Location-Sensitive Hashing)实现了关键字的模糊匹配。同时该方案缺乏高效的数据更新功能,在本文中,利用交叉链表构造的安全索引实现了高效的数据更新。
CN112328733A,是一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法,方案为了进行文档更新,是用关键字频率代替了tfidf值,这样得到的结果是不准确的,本文第二级索引采用基于多项式的方法实现用户搜索权限决策,并将坐标匹配与术语频率逆文件频率(TF-IDF)相结合实现搜索结果排序,得到了top-k文档。
本发明提出了一种动态多关键字模糊排序搜索方案,用于云环境下的数据安全外包与检索。本发明设计了一种改进的两级索引结构,利用前向索引和倒排索引来提高检索效率。反向索引用于搜索模糊关键字对应的文档,发明的搜索复杂度仅由查询中与关键字相关联的文件的数量而不是整个文件集大小决定。在二级索引结构中存在搜索效率提升会导致与隐私泄漏增加的矛盾。本发明的构造对搜索效率,空间储存成本和方案安全进行了有效平衡。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种动态多关键字模糊排序搜索方法及系统。本发明的技术方案如下:
一种动态多关键字模糊排序搜索方法,其包括以下步骤:
1.密钥生成:在这个阶段,由数据拥有者生成密钥;安全参数λ作为输入,输出密钥SK;
2.系统初始化:由数据拥有者执行,输入密钥SK,文件集
Figure BDA0003466229570000021
和相应的关键字集
Figure BDA0003466229570000022
输出加密文档集合C和安全索引
Figure BDA0003466229570000023
基于文档和关键字之间的联系构建了两阶段安全索引,第一阶段索引
Figure BDA0003466229570000024
基于倒排索引构成,其中每个查询关键字对应有关文档标识符的链表;第二阶段索引
Figure BDA0003466229570000025
是正向索引,其中每个文档标识符对应它拥有的关键字;
3.令牌生成:由数据用户执行,为关键字生成搜索令牌;将SK和查询 Q=(w1,w2,…,wn)作为输入,输出Token;
4.搜索:由云服务器执行,将Token,C,Index作为输入,输出IDTop-k和R, IDTop-k表示Top-k相关加密文档CTop-k的标识符,tag表示认证标签;
5.验证:数据用户输入密钥集SK,密文CTop-k,认证标签tag并输出验证结果0 或1;0为拒绝1为接受;
6.解密:数据用户对返回的文档进行解密,将SK和CTop-k作为输入,输出一组Top-k相关明文文档DTop-k
7.数据更新:由数据拥有者和云服务器一起运行,它需要密钥集SK,更新代码UC={add,del}和添加或删除文档集D′作为输入,输出相应的更新结果;输出相应的更新结果;如果是添加文件,那么UC=add;如果是删除文件,那么UC=del。
进一步的,所述密钥生成阶段,具体包括:
给定安全参数λ,数据拥有者生成他的私钥SK,它包含一个随机序列 sk∈{0,1}*、两对可逆矩阵M1
Figure BDA0003466229570000031
M3
Figure BDA0003466229570000032
和两个个向量 spk1∈{0,1}l、spk2∈{0,1}m′,在该过程之后,该算法输出密钥SK= {sk,M1,M2,M3,M4,spk1,spk2};数据所有者使用SK加密索引,数据用户使用SK来生成搜索令牌。
进一步的,所述系统初始化阶段,具体包括:
对于
Figure BDA00034662295700000312
的构造分为了两个步骤,在第一步骤中,实现
Figure BDA00034662295700000313
的模糊匹配,对于关键字
Figure BDA00034662295700000314
通过2-gram计数排序将其转换为26×26长的位向量,然后引入c个 LSH函数得到哈希值并映射到l-bit布隆过滤器Bfi中,然后使用安全KNN加密对Bfi进行加密;该算法根据分割向量对Bfi进行分割;spk1被分割为两个向量Bfi′和Bfi″。矩阵M1和M2加密这两个向量并输出
Figure BDA0003466229570000033
Figure BDA0003466229570000034
在第二步骤中,构造的正交列表
Figure BDA0003466229570000035
其中包括m行行列表和n列列表。行列表
Figure BDA0003466229570000036
由一个头节点Ni,0和n个其他节点
Figure BDA0003466229570000037
组成,列列表
Figure BDA0003466229570000038
与文档Dj相关,由相应的m个节点
Figure BDA0003466229570000039
组成。
Figure BDA00034662295700000310
是索引节点存储结果
Figure BDA00034662295700000311
用密钥ki,j∈{0,1}*计算fsk(ki,j),wij∈{0,1}表示文件Dj是否包含关键字wi,ei,j=gsk(ki+1,j), V:{0,1}*×sk→{0,1}*
Figure BDA0003466229570000041
Figure BDA0003466229570000042
对于每个关键字
Figure BDA0003466229570000043
计算相应的头部节点Ni,0←Encsk((πsk(wi),ki,1), ki,1
Figure BDA0003466229570000044
的密钥。
然后创建一个行列表
Figure BDA0003466229570000045
计算节点
Figure BDA0003466229570000046
对于每个文件
Figure BDA0003466229570000047
对应于节点
Figure BDA0003466229570000048
与此同时形成为列列表
Figure BDA0003466229570000049
的第i 项。
对于每个关键字wi,构造了一个相同长度的链表,目的是隐藏每个关键字的频率。当需要添加或删除某些文件时,云服务器可以快速找到与更新文件相关的索引节点,这样就可以方便快速地放大或缩小安全索引。由于
Figure BDA00034662295700000410
是基于正交链表,可以显著提高更新效率。
Figure BDA00034662295700000411
由n个m位向量 (Fj)T=(fj1,fj2,...,fjm)(fji∈{0,1},i∈{0,1,...,m})构成,其中fji的定义如下。
Figure BDA00034662295700000412
1)如果fji=1,则将其替换为
Figure BDA00034662295700000413
tfidf函数由每个关键字
Figure BDA00034662295700000414
对应的TF-IDF计算。否则,什么也不做。
2)然后,引入多项式来识别用户搜索权限函数yj(x)。有num(num< m′-m)个可用角色,表示数据用户的授权角色,
Figure BDA00034662295700000421
Figure BDA00034662295700000416
Figure BDA00034662295700000417
表示yj(x)的对应系数。如果yj(x)=0,则表示数据用户已被授权,否则yj(x)>>MAX,MAX是最大可能的相关值,表示数据用户未经授权。将Fj扩展为yi(x)的t个系数,表示为
Figure BDA00034662295700000418
Figure BDA00034662295700000419
其中
Figure BDA00034662295700000420
3)加入随机因子α和ω生成加密索引
Figure BDA0003466229570000051
其中
Figure BDA0003466229570000052
向量
Figure BDA0003466229570000053
是l′-l-t个随机数生成填充,α是扩展
Figure BDA0003466229570000054
的一个随机正因素。请注意,
Figure BDA0003466229570000055
眼从高斯分布,并且在每一轮都是新的。
4)数据拥有者使用安全的KNN加密对第二个索引
Figure BDA0003466229570000056
进行加密。该算法先用
Figure BDA0003466229570000057
ρ:{0,1}m′×sk→{0,1}m′置换
Figure BDA0003466229570000058
得到
Figure BDA0003466229570000059
之后,该算法根据拆分向量spk2
Figure BDA00034662295700000510
拆分成两个向量。算法用M3和M4对这两个向量进行加密,然后输出
Figure BDA00034662295700000511
Tag是一个二维数组,每一个tagj,i存储关于第j个文件关于第i个关键字的认证标签
Figure BDA00034662295700000512
Figure BDA00034662295700000520
如果文档Dj中包含wi,vij=1。否则,vij=0。π,x是一个置换函数,π:{0,1}*×sk→{0,1}p
Figure BDA00034662295700000513
x:{0,1}*×sk→ {0,1}*,Cj表示加密文档Dj
最后,数据拥有者将索引
Figure BDA00034662295700000514
加密文档集C以及Tag外包给云服务器。
进一步的,所述数据用户搜索阶段,具体包括:
假设查询的关键字是
Figure BDA00034662295700000515
1)数据用户需要生成令牌
Figure BDA00034662295700000521
Bloom filter Bfq
Figure BDA00034662295700000517
中的所有关键字构成,每个关键字由c个LSH函数处理。Bfq′(d′)和Bfq″(d′),d′∈{1,2,...,l}生成如下,r∈{0,1}*
Figure BDA00034662295700000518
Bloom过滤器Bfq使用M1、M2和spk1,以与IndexGen相反的方式进行加密 (·)如下:
Figure BDA00034662295700000519
然后设置
Figure BDA0003466229570000061
数据用户向云服务提供商发送
Figure BDA0003466229570000062
2)一旦收到
Figure BDA0003466229570000063
云服务提供商将使用
Figure BDA0003466229570000064
计算内积,
Figure BDA0003466229570000065
如果Bfi T·Bfq≥thr,其中thr是
Figure BDA0003466229570000066
的匹配的阈值,云服务器将匹配wi的行列表
Figure BDA0003466229570000067
添加到预搜索结果
Figure BDA0003466229570000068
和,返回值
Figure BDA0003466229570000069
给数据用户。
3)数据用户使用sk解密第一个节点Ni,0,得到(πsk(wi),ki,1),它是下一个节占
Figure BDA00034662295700000610
的密钥,然后依次解密
Figure BDA00034662295700000611
为了验证tagj,i,我们需要得到vi,当wij=1,vij=1时。收集文档标识符idj∈D(wi),j∈{1,2,…,n}所有匹配的文件,我们只搜索与idj∈D(wi)相关第二级文件。
数据用户需要生成
Figure BDA00034662295700000612
1)为查询的关键字
Figure BDA00034662295700000613
构造一个m元向量Q,如果wi,j=1,则在所有位置设置Q[j]=1,否则设置Q[j]=0。
2)将Q扩展到
Figure BDA00034662295700000614
其中k表示数据用户的访问角色。其次,生成一个二进制向量τ,其中τ中的a位被随机设置为1,左侧 (m′-m-t)-a位保持为0。
3)随机因子β≤1×10-b,b=(1,2,3,…)被生成用来更改所有的相关分数,对β的要求是保证在缩小后,对于yi(x)可达到可能的最大匹配分数 max{βFj T·Q},j∈{1,…,n}。
4)计算
Figure BDA00034662295700000615
ρ:{0,1}m′×sk→{0,1}m′
Figure BDA00034662295700000616
也被spk2的每个位分割,分割方法类似于
Figure BDA00034662295700000617
构造中的分割方法。然后,数据用户发送
Figure BDA00034662295700000618
Figure BDA00034662295700000619
给云服务器。
云服务器收到数据用户的查询令牌
Figure BDA00034662295700000620
后,计算文档Fi和Q之间的相关性分数,i∈(1,2,…,n);分为两个步骤:相关性分数计算和判断是否过界,定义如下:
Figure BDA0003466229570000071
然后,云服务器通过检查相关性分数是否远远超过最大值,即过界,来过滤掉该用户不可访问的文档信息;将MAX设置为该条件下的最大相关性分数,表示数据用户在查询中,能够获得的具有相关关键字的最高的TF-IDF值,最大潜在相关性分数定义如下;
Figure BDA0003466229570000072
如果相关性分数满足以下不等式,则查询数据用户不可访问文档Dj,其中
Figure BDA0003466229570000073
作为判断是否过界的最大值;
Figure BDA0003466229570000074
进一步的,所述验证阶段,具体包括:
date user从云服务器得到搜索结果后,验证查询关键字是否在链表中出现,即wij是否为1,如果是,进行下一步操作;对
Figure BDA0003466229570000075
进行验证,如果结果为真,则数据用户接受该结果;否则,拒绝该结果。
进一步的,所述加密数据解密阶段,具体包括:
数据用户通过计算DTop-k←Decsk(CTop-k)来解密CTop-k
进一步的,所述加密数据更新阶段,具体包括:
数据更新:索引动态更新包括两个方面:文档添加和文档删除;
文档添加:如果数据拥有者希望将文档Du添加到
Figure BDA0003466229570000081
中,则更新代码UC设置为add。首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Du|]),然后,数据拥有者在
Figure BDA0003466229570000082
中添加新的列表,添加
Figure BDA0003466229570000083
索引,更新Tag中对应的值,上传加密的文档集Cu
文档删除:如果数据拥有者希望将文档Du从中删除,则更新代码UC设置为del;首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Fu|]);然后,数据拥有者在
Figure BDA0003466229570000084
中删除对应的列表,删除
Figure BDA0003466229570000085
中对应的索引,更新Tag中对应的值,并删除云上的文档。
一种采用任一项所述方法的动态多关键字模糊排序搜索系统,其包括:
数据拥有者:数据拥有者拥有一系列需要外包存储的明文数据或文件;但由于云服务器是半可信的,将敏感数据外包到云上之前需要对其进行加密操作;数据拥有者加密明文文件,并用从每个文件中提取出的关键字,利用私钥构造出可搜索的安全索引;数据拥有者将加密文件集和安全索引上传到云服务器;当数据拥有者想要删除或添加文件时,数据拥有者在本地生成更新令牌并将其发送到云服务器;
数据用户:通常被认为是可信的实体,与数据拥有者共享密钥;当数据用户想检索感兴趣的关键字的加密文件时,利用关键字生成搜索令牌,并将其发送给云服务器;云服务器返回检索结果,数据用户可以验证返回结果的有效性,并对密文解密从而得到明文信息;
云服务器:云服务器负责存储数据拥有者上传的加密文件集和安全索引;当接收到来自数据用户的搜索请求时,云服务器对安全索引执行搜索操作,并返回搜索结果;但云服务器是不可信赖的实体,可能会返回一些不正确的结果,因此数据用户需要能够验证从云服务器中得到的结果;此外,当云服务器接收到来自数据拥有者的更新令牌时,它能快速更新安全索引和相对应的密文数据。
本发明的优点及有益效果如下:
本发明设计了一种动态高效的保护数据隐私的多关键字排名的模糊搜索方案,利用了二级索引结构以提高加密数据的搜索效率,其搜索复杂性独立于文件集大小。将每个关键字生成一个索引,实现模糊匹配。通过使用TF-IDF构建文档索引来实现更高的搜索精度实现排序搜索。据前期的调查所知,这是第一个同时实现所有这些功能的发明。
本发明设计了由反向索引表
Figure BDA0003466229570000091
和验证列表VL组成一阶安全索引,确保数据更新的高效性。
Figure BDA0003466229570000092
基于正交链表,VL是单独的列表。对于每个关键字,本发明构造一个具有相同长度的链接列表,旨在隐藏每个关键字的频率。当需要添加或删除某些文件时,可以高效地放大或减少安全索引。由于
Figure BDA0003466229570000093
的连通性和灵活性,可以显著提高更新效率。
附图说明
图1是本发明提供优选实施例的系统模型图;
图2是本发明的二级索引结构图。
图3是本发明的第二级子索引结构图。
图4是本发明的符号图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
下面结合附图1描述一下系统的框架。
数据拥有者:数据拥有者拥有一系列需要外包存储的明文数据或文件。但由于云服务器是半可信的,将敏感数据外包到云上之前需要对其进行加密操作。数据拥有者加密明文文件,并用从每个文件中提取出的关键字,利用私钥构造出可搜索的安全索引。数据拥有者将加密文件集和安全索引上传到云服务器。当数据拥有者想要删除或添加文件时,数据拥有者在本地生成更新令牌并将其发送到云服务器。
数据用户:通常被认为是可信的实体,与数据拥有者共享密钥。当数据用户想检索感兴趣的关键字的加密文件时,利用关键字生成搜索令牌,并将其发送给云服务器。云服务器返回检索结果,数据用户可以验证返回结果的有效性,并对密文解密从而得到明文信息。
云服务器:云服务器负责存储数据拥有者上传的加密文件集和安全索引。当接收到来自数据用户的搜索请求时,云服务器对安全索引执行搜索操作,并返回搜索结果。但云服务器是不可信赖的实体,可能会返回一些不正确的结果,因此数据用户需要能够验证从云服务器中得到的结果。此外,当云服务器接收到来自数据拥有者的更新令牌时,它能快速更新安全索引和相对应的密文数据。
下面结合附图2-4对本发明的交易流程做进一步的详细描述,具体的包括以下模块和步骤:
1、密钥生成:给定安全参数λ,数据拥有者生成他的私钥SK,它包含一个随机序列sk∈{0,1}*、两对可逆矩阵M1
Figure BDA0003466229570000101
M3
Figure BDA0003466229570000102
印两个个向量spk1∈{0,1}l、spk2∈{0,1}m′,在该过程之后,该算法输出密钥 SK={sk,M1,M2,M3,M4,spk1,spk2};数据所有者使用SK加密索引,数据用户使用SK来生成搜索令牌。
2、系统初始化:为了实现高效的数据更新,方案设计了一种二级索引结构
Figure BDA0003466229570000103
该结构基于倒排索引和正向索引构成。第一级结构
Figure BDA0003466229570000104
基于倒排结构和正交链表组成,用户可以在查询中找到每个关键字相对应的文件。第二阶段索引
Figure BDA0003466229570000105
是正向索引,用户可以在查询中识别用户权限并计算出每个文档与查询之间的相关性得分。为了生成倒排索引
Figure BDA0003466229570000106
和正向索引
Figure BDA0003466229570000107
数据所有者同时将
Figure BDA0003466229570000108
Figure BDA0003466229570000109
初始化为空数组。
对于
Figure BDA0003466229570000111
的构造分为了两个步骤,在第一步骤中,实现
Figure BDA0003466229570000112
的模糊匹配,对于关键字
Figure BDA0003466229570000113
通过2-gram计数排序将其转换为26×26长的位向量,然后引入c个 LSH函数得到哈希值并映射到l-bit布隆过滤器Bfi中,然后使用安全KNN加密对Bfi进行加密;该算法根据分割向量对Bfi进行分割;spk1被分割为两个向量Bfi′和Bfi″。矩阵M1和M2加密这两个向量并输出
Figure BDA0003466229570000114
Figure BDA0003466229570000115
在第二步骤中,构造的正交列表
Figure BDA0003466229570000116
其中包括m行行列表和n列列表。行列表
Figure BDA0003466229570000117
由一个头节点Ni,0和n个其他节点
Figure BDA0003466229570000118
组成,列列表
Figure BDA0003466229570000119
与文档Dj相关,由相应的m个节点
Figure BDA00034662295700001110
组成。
Figure BDA00034662295700001111
是索引节点存储结果
Figure BDA00034662295700001112
用密钥ki,j∈{0,1}*计算fsk(ki,j),wij∈{0,1}表示文件Dj是否包含关键字wi,ei,j=gsk(ki+1,j), V:{0,1}*×sk→{0,1}*
Figure BDA00034662295700001113
Figure BDA00034662295700001114
对于每个关键字
Figure BDA00034662295700001115
计算相应的头部节点Ni,0←Encsk((πsk(wi),ki,1), ki,1
Figure BDA00034662295700001116
的密钥。
然后创建一个行列表
Figure BDA00034662295700001117
计算节点
Figure BDA00034662295700001118
对于每个文件
Figure BDA00034662295700001119
对应于节点
Figure BDA00034662295700001120
与此同时形成为列列表
Figure BDA00034662295700001121
的第i 项。
对于每个关键字wi,构造了一个相同长度的链表,目的是隐藏每个关键字的频率。当需要添加或删除某些文件时,云服务器可以快速找到与更新文件相关的索引节点,这样就可以方便快速地放大或缩小安全索引。由于
Figure BDA00034662295700001122
是基于正交链表,可以显著提高更新效率。
4、根据权利要求3所述的一种动态多关键字模糊排序搜索方法,其特征在于,第二阶段的子索引构造具体为:
Figure BDA0003466229570000121
由n个m位向量 (Fj)T=(fj1,fj2,...,fjm)(fji∈{0,1},i∈{0,1,...,m})构成,其中fji的定义如下。
Figure BDA0003466229570000122
5)如果fji=1,则将其替换为
Figure BDA0003466229570000123
tfidf函数由每个关键字
Figure BDA0003466229570000124
对应的TF-IDF计算。否则,什么也不做。
6)然后,引入多项式来识别用户搜索权限函数yj(x)。有num(num< m′-m)个可用角色,表示数据用户的授权角色,
Figure BDA0003466229570000125
Figure BDA0003466229570000126
Figure BDA0003466229570000127
表示yj(x)的对应系数。如果yj(x)=0,则表示数据用户已被授权,否则yj(x)>>MAX,MAX是最大可能的相关值,表示数据用户未经授权。将Fj扩展为yi(x)的t个系数,表示为
Figure BDA0003466229570000128
Figure BDA0003466229570000129
其中
Figure BDA00034662295700001210
7)加入随机因子α和ω生成加密索引
Figure BDA00034662295700001211
其中
Figure BDA00034662295700001212
向量
Figure BDA00034662295700001213
是l′-l-t个随机数生成填充,α是扩展
Figure BDA00034662295700001214
的一个随机正因素。请注意,
Figure BDA00034662295700001215
眼从高斯分布,并且在每一轮都是新的。
8)数据拥有者使用安全的KNN加密对第二个索引
Figure BDA00034662295700001216
进行加密。该算法先用
Figure BDA00034662295700001217
ρ:{0,1}m′×sk→{0,1}m′置换
Figure BDA00034662295700001218
得到
Figure BDA00034662295700001219
之后,该算法根据拆分向量spk2
Figure BDA00034662295700001220
拆分成两个向量。算法用M3和M4对这两个向量进行加密,然后输出
Figure BDA00034662295700001221
Tag是一个二维数组,每一个tagj,i存储关于第j个文件关于第i个关键字的认 证标签
Figure RE-GDA00035781836300001221
vi={vij|i= 1,2,…,m;j=1,2,…,n},如果文档Dj中包含wi,vij=1。否则,vij=0。π,x是 一个置换函数,π:{0,1}*×sk→{0,1}p,
Figure RE-GDA00035781836300001222
x:{0,1}*×sk→{0,1}*,Cj表示加密文档Dj
最后,数据拥有者将索引
Figure BDA0003466229570000132
加密文档集C以及Tag外包给云服务器。
Figure BDA0003466229570000133
Figure BDA0003466229570000141
3、搜索:假设查询的关键字是
Figure BDA0003466229570000142
1)数据用户需要生成令牌
Figure BDA0003466229570000143
Bloom filter Bfq
Figure BDA0003466229570000144
中的所有关键字构成,每个关键字由c个LSH函数处理。Bfq′(d′)和Bfq′(d′),d′∈{1,2,...,l}生成如下,r∈{0,1}*
Figure BDA0003466229570000151
Bloom过滤器Bfq使用M1、M2和spk1,以与IndexGen相反的方式进行加密 (·)如下:
Figure BDA0003466229570000152
然后设置
Figure BDA0003466229570000153
数据用户向云服务提供商发送
Figure BDA0003466229570000154
2)一旦收到
Figure BDA0003466229570000155
云服务提供商将使用
Figure BDA0003466229570000156
计算内积,
Figure BDA0003466229570000157
如果Bfi T·Bfq≥thr,其中thr是
Figure BDA0003466229570000158
的匹配的阈值,云服务器将匹配wi的行列表
Figure BDA0003466229570000159
添加到预搜索结果
Figure BDA00034662295700001510
中,返回值
Figure BDA00034662295700001511
给数据用户。
3)数据用户使用sk解密第一个节点Ni,0,得到(πsk(wi),ki,1),它是下一个节占
Figure BDA00034662295700001512
的密钥,然后依次解密
Figure BDA00034662295700001513
为了验证tagj,i,我们需要得到vi,当wij=1,vij=1时。收集文档标识符idj∈D(wi),j∈{1,2,…,n}所有匹配的文件,我们只搜索与idj∈D(wi)相关第二级文件。
数据用户需要生成
Figure BDA00034662295700001514
1)为查询的关键字
Figure BDA00034662295700001517
构造一个m元向量Q,如果wi,j=1,则在所有位置设置Q[j]=1,否则设置Q[j]=0。
2)将Q扩展到
Figure BDA00034662295700001515
其中k表示数据用户的访问角色。其次,生成一个二进制向量τ,其中τ中的a位被随机设置为1,左侧 (m′-m-t)-a位保持为0。
3)随机因子β≤1×10-b,b=(1,2,3,…)被生成用来更改所有的相关分数,对β的要求是保证在缩小后,对于yi(x)可达到可能的最大匹配分数 max{βFj T·Q},j∈{1,…,n}。
4)计算
Figure BDA00034662295700001516
ρ:{0,1}m′×sk→{0,1}m′
Figure BDA0003466229570000161
也被spk2的每个位分割,分割方法类似于
Figure BDA0003466229570000162
构造中的分割方法。然后,数据用户发送
Figure BDA0003466229570000163
Figure BDA0003466229570000164
给云服务器。
云服务器收到数据用户的查询令牌
Figure BDA0003466229570000165
后,计算文档Fi和Q之间的相关性分数,i∈(1,2,…,n);分为两个步骤:相关性分数计算和判断是否过界,定义如下:
Figure BDA0003466229570000166
然后,云服务器通过检查相关性分数是否远远超过最大值,即过界,来过滤掉该用户不可访问的文档信息;将MAX设置为该条件下的最大相关性分数,表示数据用户在查询中,能够获得的具有相关关键字的最高的TF-IDF值,最大潜在相关性分数定义如下;
Figure BDA0003466229570000167
如果相关性分数满足以下不等式,则查询数据用户不可访问文档Dj,其中
Figure BDA0003466229570000168
作为判断是否过界的最大值;
Figure BDA0003466229570000169
Figure BDA00034662295700001610
Figure BDA0003466229570000171
4、验证:date user从云服务器得到搜索结果后,验证查询关键字是否在链表中出现,即wij是否为1,如果是,进行下一步操作;对
Figure BDA0003466229570000181
进行验证,如果结果为真,则数据用户接受该结果;否则,拒绝该结果。
5、解密:数据用户通过计算DTop-k←Decsk(CTop-k)(sk∈SK)来解密 CTop-k
6、数据更新:在本发明中,索引动态更新包括两个方面:文档添加和文档删除。
文档添加:如果数据拥有者希望将文档Du添加到
Figure BDA0003466229570000187
中,则更新代码UC设置为add。首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Du|])。然后,数据拥有者在
Figure BDA0003466229570000183
中添加新的列表,添加
Figure BDA0003466229570000184
索引,更新Tag中对应的值,上传加密的文档集Cu
文档删除:如果数据拥有者希望将文档Du从中删除,则更新代码UC设置为del。首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Fu|])。然后,数据拥有者在
Figure BDA0003466229570000185
中删除对应的列表,删除
Figure BDA0003466229570000186
中对应的索引,更新Tag中对应的值,并删除云上的文档。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (8)

1.一种动态多关键字模糊排序搜索方法,其特征在于,包括以下步骤:
1)密钥生成:在这个阶段,由数据拥有者生成密钥;安全参数λ作为输入,输出密钥SK;
2)系统初始化:由数据拥有者执行,输入密钥SK,文件集
Figure FDA0003466229560000011
Figure FDA0003466229560000012
和相应的关键字集
Figure FDA0003466229560000013
输出加密文档集合C和安全索引
Figure FDA0003466229560000014
基于文档和关键字之间的联系构建了两阶段安全索引,第一阶段索引
Figure FDA0003466229560000015
基于倒排索引构成,其中每个查询关键字对应有关文档标识符的链表;第二阶段索引
Figure FDA0003466229560000016
是正向索引,其中每个文档标识符对应它拥有的关键字;
3)搜索:该算法由数据用户执行,为搜索关键字生成一个令牌,然后将该令牌传递给云服务提供商。SK,
Figure FDA0003466229560000017
C和Index作为输入,输出IDTop-k和tag。IDTop-k表示与Top-k相关的加密文件CTop-k的标识符,tag表示验证标签。
4)验证:数据用户输入密钥集SK,密文CTop-k,认证标签tag并输出验证结果0或1;0为拒绝1为接受;
5)解密:数据用户对返回的文档进行解密,将SK和CTop-k作为输入,输出一组Top-k相关明文文档DTop-k
6)数据更新:由数据拥有者和云服务器一起运行,它需要密钥集SK,更新代码UC={add,del}和添加或删除文档集D′作为输入,输出相应的更新结果;输出相应的更新结果;如果是添加文件,那么UC=add;如果是删除文件,那么UC=del。
2.根据权利要求1所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述密钥生成阶段,具体包括:
给定安全参数λ,数据拥有者生成他的私钥SK,它包含一个随机序列sk∈{0,1}*、两对可逆矩阵
Figure FDA0003466229560000018
和两个个向量spk1∈{0,1}l、spk2∈{0,1}m′,在该过程之后,该算法输出密钥SK={sk,M1,M2,M3,M4,spk1,spk2};数据所有者使用SK加密索引,数据用户使用SK来生成搜索令牌。
3.根据权利要求2所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述系统初始化阶段,具体包括:
对于
Figure FDA0003466229560000021
的构造分为了两个步骤,在第一步骤中,实现
Figure FDA0003466229560000022
的模糊匹配,对于关键字
Figure FDA0003466229560000023
通过2-gram计数排序将其转换为26×26长的位向量,然后引入c个LSH函数得到哈希值并映射到l-bit布隆过滤器Bfi中,然后使用安全KNN加密对Bfi进行加密;该算法根据分割向量对Bfi进行分割;spk1被分割为两个向量Bfi′和Bfi″。矩阵M1和M2加密这两个向量并输出
Figure FDA0003466229560000024
Figure FDA0003466229560000025
在第二步骤中,构造的正交列表
Figure FDA0003466229560000026
其中包括m行行列表和n列列表。行列表
Figure FDA0003466229560000027
由一个头节点Ni,0和n个其他节点
Figure FDA0003466229560000028
组成,列列表
Figure FDA0003466229560000029
与文档Dj相关,由相应的m个节点
Figure FDA00034662295600000210
组成。
Figure FDA00034662295600000211
是索引节点存储结果
Figure FDA00034662295600000212
用密钥ki,j∈{0,1}*计算fsk(ki,j),wij∈{0,1}表示文件Dj是否包含关键字wi,ei,j=gsk(ki+1,j),V:{0,1}*×sk→{0,1}*
Figure FDA00034662295600000213
g:
Figure FDA00034662295600000214
n2=n-n1-1:
对于每个关键字
Figure FDA00034662295600000215
计算相应的头部节点Ni,0←Encsk((πsk(wi),ki,1),
ki,1
Figure FDA00034662295600000216
的密钥。
然后创建一个行列表
Figure FDA00034662295600000217
计算节点
Figure FDA00034662295600000218
对于每个文件
Figure FDA00034662295600000219
对应于节点
Figure FDA00034662295600000220
与此同时形成为列列表
Figure FDA00034662295600000221
的第i项。
对于每个关键字wi,构造了一个相同长度的链表,目的是隐藏每个关键字的频率。当需要添加或删除某些文件时,云服务器可以快速找到与更新文件相关的索引节点,这样就可以方便快速地放大或缩小安全索引。由于
Figure FDA0003466229560000031
是基于正交链表,可以显著提高更新效率。
Figure FDA0003466229560000032
由n个m位向量(Fj)T=(fj1,fj2,...,fjm)(fji∈{0,1},i∈{0,1,...,m})构成,其中fji的定义如下。
Figure FDA0003466229560000033
1)如果fji=1,则将其替换为
Figure FDA0003466229560000034
tfidf函数由每个关键字
Figure FDA0003466229560000035
对应的TF-IDF计算。否则,什么也不做;
2)然后,引入多项式来识别用户搜索权限函数yj(x)。有num(num<m′-m)个可用角色,表示数据用户的授权角色,
Figure FDA0003466229560000036
Figure FDA0003466229560000037
Figure FDA0003466229560000038
表示yj(x)的对应系数。如果yj(x)=0,则表示数据用户已被授权,否则yj(x)>>MAX,MAX是最大可能的相关值,表示数据用户未经授权。将Fj扩展为yi(x)的t个系数,表示为
Figure FDA0003466229560000039
Figure FDA00034662295600000310
其中
Figure FDA00034662295600000311
3)加入随机因子α和ω生成加密索引
Figure FDA00034662295600000312
其中
Figure FDA00034662295600000313
向量
Figure FDA00034662295600000314
是l′-l-t个随机数生成填充,α是扩展
Figure FDA00034662295600000315
的一个随机正因素。请注意,
Figure FDA00034662295600000316
服从高斯分布,并且在每一轮都是新的。
4)数据拥有者使用安全的KNN加密对第二个索引
Figure FDA00034662295600000317
进行加密。该算法先用
Figure FDA00034662295600000318
ρ:{0,1}m′×sk→{0,1}m′置换
Figure FDA00034662295600000319
得到
Figure FDA00034662295600000320
之后,该算法根据拆分向量spk2
Figure FDA00034662295600000321
拆分成两个向量。算法用M3和M4对这两个向量进行加密,然后输出
Figure FDA00034662295600000322
Tag是一个二维数组,每一个tagj,i存储关于第j个文件关于第i个关键字的认证标签
Figure FDA00034662295600000323
vi={vij|i=1,2,...,m;j=1,2,...,n},如果文档Dj中包含wi,vij=1。否则,vij=0。π,x是一个置换函数,π:{0,1}*×sk→{0,1}p
Figure FDA0003466229560000041
x:{0,1}*×sk→{0,1}*,Cj表示加密文档Dj
最后,数据拥有者将索引
Figure FDA0003466229560000042
加密文档集C以及Tag外包给云服务器。
4.根据权利要求3所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述数据用户搜索阶段,具体包括:
假设查询的关键字是
Figure FDA0003466229560000043
1)数据用户需要生成令牌
Figure FDA0003466229560000044
Bloom filter Bfq
Figure FDA0003466229560000045
中的所有关键字构成,每个关键字由c个LSH函数处理。Bfq′(d′)和Bfq″(d′),d′∈{1,2,...,l}生成如下,r∈{0,1}*
Figure FDA0003466229560000046
Bloom过滤器Bfq使用M1、M2和spk1,以与IndexGen相反的方式进行加密(·)如下:
Figure FDA0003466229560000047
然后设置
Figure FDA0003466229560000048
数据用户向云服务提供商发送
Figure FDA0003466229560000049
2)一旦收到
Figure FDA00034662295600000410
云服务提供商将使用
Figure FDA00034662295600000411
计算内积,
Figure FDA00034662295600000412
如果Bfi T·Bfq≥thr,其中thr是
Figure FDA00034662295600000413
的匹配的阈值,云服务器将匹配wi的行列表
Figure FDA00034662295600000414
添加到预搜索结果
Figure FDA00034662295600000415
中,返回值
Figure FDA00034662295600000416
给数据用户。
3)数据用户使用sk解密第一个节点Ni,0,得到(πsk(wi),ki,1),它是下一个节占
Figure FDA00034662295600000417
的密钥,然后依次解密
Figure FDA00034662295600000418
为了验证tagj,i,我们需要得到vi,当wij=1,vij=1时。收集文档标识符idj∈D(wi),j∈{1,2,…,n}所有匹配的文件,我们只搜索与idj∈D(wi)相关第二级文件。
数据用户需要生成
Figure FDA0003466229560000051
1)为查询的关键字
Figure FDA00034662295600000510
构造一个m元向量Q,如果wi,j=1,则在所有位置设置Q[j]=1,否则设置Q[j]=0。
2)将Q扩展到
Figure FDA0003466229560000052
其中k表示数据用户的访问角色。其次,生成一个二进制向量τ,其中τ中的a位被随机设置为1,左侧(m′-m-t)-a位保持为0。
3)随机因子β≤1×10-b,b=(1,2,3,…)被生成用来更改所有的相关分数,对β的要求是保证在缩小后,对于yi(x)可达到可能的最大匹配分数max{βFj T·Q},j∈{1,…,n}。
4)计算
Figure FDA0003466229560000053
ρ:{0,1}m′×sk→{0,1}m′
Figure FDA0003466229560000054
也被spk2的每个位分割,分割方法类似于
Figure FDA0003466229560000055
构造中的分割方法。然后,数据用户发送
Figure FDA0003466229560000056
Figure FDA0003466229560000057
给云服务器。
云服务器收到数据用户的查询令牌
Figure FDA0003466229560000058
后,计算文档Fi和Q之间的相关性分数,i∈(1,2,…,n);分为两个步骤:相关性分数计算和判断是否过界,定义如下:
Figure FDA0003466229560000059
然后,云服务器通过检查相关性分数是否远远超过最大值,即过界,来过滤掉该用户不可访问的文档信息;将MAX设置为该条件下的最大相关性分数,表示数据用户在查询中,能够获得的具有相关关键字的最高的TF-IDF值,最大潜在相关性分数定义如下;
Figure FDA0003466229560000061
如果相关性分数满足以下不等式,则查询数据用户不可访问文档Dj,其中
Figure FDA0003466229560000062
作为判断是否过界的最大值;
Figure FDA0003466229560000063
5.根据权利要求4所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述验证阶段,具体包括:
date user从云服务器得到搜索结果后,验证查询关键字是否在链表中出现,即wij是否为1,如果是,进行下一步操作;对
Figure FDA0003466229560000064
Figure FDA0003466229560000065
进行验证,如果结果为真,则数据用户接受该结果;否则,拒绝该结果。
6.根据权利要求5所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述加密数据解密阶段,具体包括:
数据用户通过计算DTop-k←Decsk(CTop-k)来解密CTop-k
7.根据权利要求6所述的一种动态多关键字模糊排序搜索方法,其特征在于,所述加密数据更新阶段,具体包括:
数据更新:索引动态更新包括两个方面:文档添加和文档删除;
文档添加:如果数据拥有者希望将文档Du添加到
Figure FDA0003466229560000066
中,则更新代码UC设置为add。首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Du|]),然后,数据拥有者在
Figure FDA0003466229560000067
中添加新的列表,添加
Figure FDA0003466229560000068
索引,更新Tag中对应的值,上传加密的文档集Cu
文档删除:如果数据拥有者希望将文档Du从中删除,则更新代码UC设置为del;首先,数据拥有者需要从Du中提取关键字wi(i∈[1,|Fu|]);然后,数据拥有者在
Figure FDA0003466229560000071
中删除对应的列表,删除
Figure FDA0003466229560000072
中对应的索引,更新Tag中对应的值,并删除云上的文档。
8.一种采用权利要求1-7任一项所述方法的动态多关键字模糊排序搜索系统,其特征在于,包括:
数据拥有者:数据拥有者拥有一系列需要外包存储的明文数据或文件;但由于云服务器是半可信的,将敏感数据外包到云上之前需要对其进行加密操作;数据拥有者加密明文文件,并用从每个文件中提取出的关键字,利用私钥构造出可搜索的安全索引;数据拥有者将加密文件集和安全索引上传到云服务器;当数据拥有者想要删除或添加文件时,数据拥有者在本地生成更新令牌并将其发送到云服务器;
数据用户:通常被认为是可信的实体,与数据拥有者共享密钥;当数据用户想检索感兴趣的关键字的加密文件时,利用关键字生成搜索令牌,并将其发送给云服务器;云服务器返回检索结果,数据用户可以验证返回结果的有效性,并对密文解密从而得到明文信息;
云服务器:云服务器负责存储数据拥有者上传的加密文件集和安全索引;当接收到来自数据用户的搜索请求时,云服务器对安全索引执行搜索操作,并返回搜索结果;但云服务器是不可信赖的实体,可能会返回一些不正确的结果,因此数据用户需要能够验证从云服务器中得到的结果;此外,当云服务器接收到来自数据拥有者的更新令牌时,它能快速更新安全索引和相对应的密文数据。
CN202210030517.XA 2022-01-12 2022-01-12 动态多关键字模糊排序搜索方法及系统 Pending CN114528370A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210030517.XA CN114528370A (zh) 2022-01-12 2022-01-12 动态多关键字模糊排序搜索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210030517.XA CN114528370A (zh) 2022-01-12 2022-01-12 动态多关键字模糊排序搜索方法及系统

Publications (1)

Publication Number Publication Date
CN114528370A true CN114528370A (zh) 2022-05-24

Family

ID=81621202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210030517.XA Pending CN114528370A (zh) 2022-01-12 2022-01-12 动态多关键字模糊排序搜索方法及系统

Country Status (1)

Country Link
CN (1) CN114528370A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881739A (zh) * 2023-09-07 2023-10-13 山东省计算中心(国家超级计算济南中心) 一种面向空间关键字相似性的密文安全检索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116881739A (zh) * 2023-09-07 2023-10-13 山东省计算中心(国家超级计算济南中心) 一种面向空间关键字相似性的密文安全检索方法

Similar Documents

Publication Publication Date Title
Ge et al. Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification
Wang et al. Searchable encryption over feature-rich data
CN108712366B (zh) 云环境中支持词形词义模糊检索的可搜索加密方法及系统
Fu et al. Enabling central keyword-based semantic extension search over encrypted outsourced data
Yuan et al. SEISA: Secure and efficient encrypted image search with access control
Sun et al. Verifiable privacy-preserving multi-keyword text search in the cloud supporting similarity-based ranking
Chen et al. EliMFS: achieving efficient, leakage-resilient, and multi-keyword fuzzy search on encrypted cloud data
Al Sibahee et al. Efficient encrypted image retrieval in IoT-cloud with multi-user authentication
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
CN108650268B (zh) 一种实现多级访问的可搜索加密方法及系统
CN114528370A (zh) 动态多关键字模糊排序搜索方法及系统
Zhang et al. A verifiable and dynamic multi-keyword ranked search scheme over encrypted cloud data with accuracy improvement
CN115795504A (zh) 一种支持中文词义模糊检索的可搜索方法及系统
CN112328626B (zh) 面向云环境的支持模糊关键词排序的可搜索加密方法
CN113158245A (zh) 一种文档搜索的方法、系统、设备及可读存储介质
CN108319670A (zh) 基于云计算的可验证的动态排名搜索方法
CN112328733B (zh) 基于MinHash函数的中文多关键字模糊排序可搜索加密方法
CN109582818B (zh) 一种基于可搜索加密的曲库云检索方法
Xue et al. Cuckoo-filter based privacy-aware search over encrypted cloud data
Mayan et al. Semantic based multi lexical ranking technique for an effective search in protected cloud
Manasrah et al. A privacy-preserving multi-keyword search approach in cloud computing
Huang et al. Efficient privacy-preserving content-based image retrieval in the cloud
Li et al. Diverse multi-keyword ranked search over encrypted cloud data supporting range query
Gampala et al. An efficient Multi-Keyword Synonym Ranked Query over Encrypted Cloud Data using BMS Tree
Liu et al. A secure multi-keyword fuzzy search with polynomial function for encrypted data in cloud computing

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