掌桥专利:专业的专利平台
掌桥专利
首页

一种可验证的多用户模糊关键词搜索方法及系统

文献发布时间:2023-06-19 19:28:50


一种可验证的多用户模糊关键词搜索方法及系统

技术领域

本发明属于云计算技术领域,尤其涉及一种可验证的多用户模糊关键词搜索方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

在数据库即服务(Database-as-a-Service)的范例中,由于资源有限的设备,用户更喜欢将他们的海量数据外包给云服务器;然而,这种模式带来了许多安全挑战,例如不完全可信的云服务器和恶意窃听者;为了避免隐私泄露,数据以加密形式存储;对密文执行搜索或其他操作可以显著增强加密数据库的有用性;关键词可搜索加密允许用户根据所需的关键词搜索匹配的加密记录(或文件),不过大部分都是精确关键词搜索;在很多情况下,用户不确定某个关键词的确切拼写,但仍然希望检索文件;因此,当用户想要检索的数据信息有限时,支持模糊搜索的能力对于云服务器尤为重要。

模糊关键词可搜索加密方案包括两个基本组成部分:(1)底层匹配技术,用于提供模糊匹配,例如预定义的模糊字典,位置敏感散列(LSH)和布隆过滤器(BF),基于树的索引和矢量编码;然而,它们中的大多数在实际应用中具有一定的局限性,例如,基于预定义字典的算法会导致很高的存储成本,并且使用LSH和BF可能会造成误报,即服务器会返回不匹配的结果,影响准确率;(2)隐私保护机制,用于实现数据和搜索隐私,如对称加密和非对称加密等;非对称加密便于提供丰富的搜索功能,但计算量很大;对称加密带来了高效率,最具代表性的就是k近邻(KNN)技术;但是它在应用多样性方面有局限性,比如不支持多用户场景;目前,大多数高效的可搜索加密方案都是基于KNN技术的。

为了适应多用户场景,已经提出了一系列多用户关键词搜索方案,然而,大多数方案认为服务器是诚实但好奇的,这在实际应用场景中并不总是正确的,云服务器可能会返回不完整或不正确的搜索结果;为了验证搜索结果的正确性和完整性,一些研究者提出了可验证的关键词搜索方案,但是它们要么不支持模糊搜索,要么依赖于昂贵的操作。

发明内容

为克服上述现有技术的不足,本发明提供了一种可验证的多用户模糊关键词搜索方法及系统,提出了一种新的基于通配符的模糊关键词搜索技术,称为向量和范围判定(VSRD)匹配方案,通过结合VSRD和Shami r阈值方案,在多用户环境中实现既高效率又高准确度的模糊关键词搜索。

为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:

本发明第一方面提供了一种可验证的多用户模糊关键词搜索方法;

一种可验证的多用户模糊关键词搜索方法,基于向量和范围判定方案实现关键词的搜索,包括:

步骤S1:验证中心初始化公共参数;

步骤S2:数据所有者将数据的索引关键词,编码成预设固定长度的索引向量,发送到对应的数据服务器上保存;

步骤S3:数据搜索者将查询关键词,编码成预设固定长度的查询向量,发送到对应的数据服务器上搜索;

步骤S4:数据服务器根据本地存储的索引向量和接收到的查询向量,执行搜索,并将搜索结果传送给验证中心;

步骤S5:验证中心基于搜索结果,验证关键词是否匹配,并验证结果的正确性和完整性;

其中,所述向量和范围判定方案,是将每个关键词编码为固定长度的向量,并将索引向量和查询向量相加以获得和向量,通过确定和向量是否在固定范围内来决定关键词是否匹配。

进一步的,所述初始化公共参数,具体为:

验证中心根据预设的安全参数,初始化基于向量和范围判定方案,生成公共参数,并通过安全通道将生成的公共参数传送给数据所有者和数据搜索者。

进一步的,所述关键词,包含三种类型的字符:确切字符、填充字符和通配符;其中,所述确切字符,指的是26个英文字母;

所述填充字符,用于在必要时将索引关键词填充到预设固定长度;

所述通配符,表示相关位置的字符是不确定的,必要时用于将查询关键词填充到预设固定长度。

进一步的,所述初始化基于向量和范围判定方案,具体为:

选择预设固定长度L和一个大素数p;

基于大素数p,分别为确切字符、填充字符和通配符定义不同的字符编码函数E。

进一步的,所述编码,是利用基于向量和范围判定方案中的字符编码函数E对关键词中的确切字符、填充字符和通配符分别进行编码。

进一步的,所述发送到对应的数据服务器上保存前,还利用Shami r的阈值方案将生成的索引向量分成k份,其中,k为数据服务器的个数;

数据所有者将每个份额连同加密的身份标签发送到相应的数据服务器上。

进一步的,所述搜索结果,是匹配的索引关键词,根据索引关键词,提取关联的数据。

本发明第二方面提供了一种可验证的多用户模糊关键词搜索系统。

一种可验证的多用户模糊关键词搜索系统,基于向量和范围判定方案实现关键词的搜索,包括初始化模块、第一构建模块、第二构建模块、搜索模块和验证模块:

初始化模块,被配置为:验证中心初始化公共参数;

第一构建模块,被配置为:数据所有者将数据的索引关键词,编码成预设固定长度的索引向量,发送到对应的数据服务器上保存;

第二构建模块,被配置为:数据搜索者将查询关键词,编码成预设固定长度的查询向量,发送到对应的数据服务器上搜索;

搜索模块,被配置为:数据服务器根据本地存储的索引向量和接收到的查询向量,执行搜索,并将搜索结果传送给验证中心;

验证模块,被配置为:验证中心基于搜索结果,验证关键词是否匹配,并验证结果的正确性和完整性;

其中,所述向量和范围判定方案,是将每个关键词编码为固定长度的向量,并将索引向量和查询向量相加以获得和向量,通过确定和向量是否在固定范围内来决定关键词是否匹配。

本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的一种可验证的多用户模糊关键词搜索方法中的步骤。

本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的一种可验证的多用户模糊关键词搜索方法中的步骤。

以上一个或多个技术方案存在以下有益效果:

本发明提出了向量和范围判定(VSRD)匹配方案,可应用多个领域,如可搜索加密、私有信息检索等;结合向量和范围判定(VSRD)匹配方案和Shamir阈值方案,本发明提出可验证的模糊关键词搜索方法,该方法能抵抗选择关键词攻击(CKA)和内部关键词猜测攻击(IKGA),还支持验证搜索结果的正确性和完整性;可以检测不超过k-1个云服务器执行的恶意操作,如伪造虚假中间结果等;另外,在保证准确性的同时实现了高效率,这一点已被实验所证实。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为第一个实施例的方法时序图。

图2为第一个实施例的方法中四种实体之间的交互图。

图3为第二个实施例的系统结构图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

实施例一

本实施例公开了一种可验证的多用户模糊关键词搜索方法。

在给出可验证的多用户模糊关键词搜索方法之前,首先描述支持模糊关键词搜索的向量和范围判定(VSRD)匹配方案。

VSRD方案将每个关键词编码为预设固定长度为L的向量,并将索引向量和查询向量相加以获得和向量,通过确定和向量是否在固定范围内来决定关键词是否匹配,理论和实验都表明,VSRD方案可以有效地返回所有符合条件的关键词,而不会出现误报。

在本发明提出的VSRD方案中,一个关键词可以包含三种类型的字符:确切字符、填充字符“ο”和通配符“*”;其中,确切字符指的是26个英文字母,即{a,b,...,z};填充字符用于在必要时将索引关键词填充到长度L;通配符表示相关位置的字符是不确定的,必要时用于将查询关键词填充到长度L;该方案的关键是如何为索引和查询向量选择合适的编码和匹配机制,VSRD方案包括以下四个算法:

算法一:参数初始化(Setup)

选择索引和查询向量的预设固定长度L和一个大素数p。

定义字符编码函数E,具体为:

(1)随机选择互不相同的26个数字{μ

为了便于理解,用一个具体例子来说明,设置预设固定长度L=5,大素数p=5237,{μ

(2)字符编码函数E表示如下:

其中,η为待编码的字符,ψ、

定义从{'a','b',...,'z'}到{μ

定义从ο到[μ

定义

基于上面的例子,对

算法二:索引构建(IVC)

索引关键词为从数据中提取的关键词,与数据关联,包含确切字符和填充字符“ο”,对于原始索引关键词ω=(ω

用算法一中的字符编码函数E对最终的索引关键词ω进行编码,并对编码值进行取负操作,得到索引向量p,p=(-E(ω

基于上面的例子,假设有两个索引关键词“vital”和“key”,对于索引关键词“vital”,编码后的向量p1=(-25,-16,-7,-41,-125);对于索引关键词“key”,先将其填充为“keyοο”,编码后的向量p2=(-271,-59,-10,-839,-839)。

算法三:查询向量构造(QVC)

查询关键词,是数据搜索者提供的待检索的词,包括确切字符和通配符*。对于原始查询关键词ω'=(ω'

用算法一中的字符编码函数E对最终的查询关键词ω'进行编码,得到最终的查询向量q为9E(ω'

基于上面的例子,对于查询关键词“vital”,编码后的向量q1=(25,16,7,41,125)。

算法四:搜索(Search)

对于索引向量p和查询向量q,计算和向量h=p+q,如果向量h的每个元素都等于0或在范围[δ+1,sum-μ

基于上面的例子,这里的范围[δ+1,sum-μ

结合VSRD方案和Shamir阈值方案,本实施例设计了一个多用户模糊关键词搜索方法,包括四种类型的实体:数据所有者(DO)、数据用户(DU)、云平台(CP)和验证中心(VC),其中,云平台包含k个数据服务器(DS),搜索方法包括初始化、索引构建、查询构建、搜索和验证五个阶段;首先,能够提供验证以确保搜索结果的正确性和完整性;其次,即使某些服务器串通,也无法提取隐私信息。

图1是方法的时序图,图2是方法中四种实体之间的交互图,一种可验证的多用户模糊关键词搜索方法,如图1图2所示,包括:

步骤S1:初始化,验证中心初始化公共参数。

验证中心(VC)根据预设的安全参数λ,初始化基于向量和范围判定方案,即算法一参数初始化(VSRD.Setup),生成公共参数PP,并通过安全通道将生成的公共参数PP传送给数据所有者(DO)和数据用户(DU),便于以后的编码、搜索和验证,具体包括以下子步骤:

根据预设的安全参数λ,验证中心(VC)选择一个大素数p,选取一个生成元为g,生成阶为p的循环群G=

数据所有者(DO)、数据用户(DU)的身份标签空间为

验证中心(VC)执行VSRD.Setup生成字符编码函数E。

得到公开参数PP={p,G},通过安全通道将生成的公共参数PP传送给数据所有者(DO)和数据用户(DU)。

步骤S2:索引构建,数据所有者将数据的索引关键词,编码成预设固定长度的索引向量,发送到对应的数据服务器上保存。

身份标签为σ的数据所有者(DO),

执行索引构建算法,即x=VSRD.IVC(w),得到索引向量x。

利用Shamir的阈值方案将索引向量x分为k份,k为数据服务器(DS)的个数:令s

用前面选取的哈希函数H,将身份标签σ映射到域

基于上面得到的f(u)和l(u),计算f(i)、l(i)和g

将索引列表IL

步骤S3:查询构建,数据搜索者将查询关键词,编码成预设固定长度的查询向量,发送到对应的数据服务器上搜索;

身份标签为τ的数据用户DU,

执行查询构建算法,执行y=VSRD.QVC(w'),得到查询向量y。

利用Shamir的阈值方案将查询向量y分为k份,k为数据服务器(DS)的个数:令r

用前面选取的哈希函数H,将身份标签τ映射到域

基于上面得到的q(u)和m(u),计算q(i)、m(i)和g

将查询列表QL

步骤S4:搜索,数据服务器根据本地存储的索引向量和接收到的查询向量,执行搜索,并将搜索结果传送给验证中心。

具体的,数据服务器DS

c

v

w

g

其中,f(i)是索引向量x

设π

步骤S5:验证,验证中心基于搜索结果,验证关键词是否匹配,并验证结果的正确性和完整性,具体包括以下子步骤:

验证中心VC在接到各个数据服务器的搜索结果(i,π

当多项式插值失败或g

通过上述结果,可以找到匹配的索引关键词,根据索引关键词,提取关联的数据。

实施例二

本实施例公开了一种可验证的多用户模糊关键词搜索系统;

图3是一种可验证的多用户模糊关键词搜索系统的系统结构图,如图3所示,一种可验证的多用户模糊关键词搜索系统,基于向量和范围判定方案实现关键词的搜索,包括初始化模块、第一构建模块、第二构建模块、搜索模块和验证模块:

初始化模块,被配置为:验证中心初始化公共参数;

第一构建模块,被配置为:数据所有者将数据的索引关键词,编码成预设固定长度的索引向量,发送到对应的数据服务器上保存;

第二构建模块,被配置为:数据搜索者将查询关键词,编码成预设固定长度的查询向量,发送到对应的数据服务器上搜索;

搜索模块,被配置为:数据服务器根据本地存储的索引向量和接收到的查询向量,执行搜索,并将搜索结果传送给验证中心;

验证模块,被配置为:验证中心基于搜索结果,验证关键词是否匹配,并验证结果的正确性和完整性;

其中,所述向量和范围判定方案,是将每个关键词编码为固定长度的向量,并将索引向量和查询向量相加以获得和向量,通过确定和向量是否在固定范围内来决定关键词是否匹配。

实施例三

本实施例的目的是提供计算机可读存储介质。

计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的一种可验证的多用户模糊关键词搜索方法中的步骤。

实施例四

本实施例的目的是提供电子设备。

电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的一种可验证的多用户模糊关键词搜索方法中的步骤。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于同义词集的模糊多关键词可搜索加密方法
  • 一种基于教育云操作系统的模糊搜索方法及装置
  • 基于云数据外包系统的高效可验证的模糊关键词搜索方法
  • 基于云数据外包系统的高效可验证的模糊关键词搜索方法
技术分类

06120115923208