CN117786752A - 一种对称可搜索加密方法、装置、设备及介质 - Google Patents

一种对称可搜索加密方法、装置、设备及介质 Download PDF

Info

Publication number
CN117786752A
CN117786752A CN202311872968.9A CN202311872968A CN117786752A CN 117786752 A CN117786752 A CN 117786752A CN 202311872968 A CN202311872968 A CN 202311872968A CN 117786752 A CN117786752 A CN 117786752A
Authority
CN
China
Prior art keywords
target
document
ciphertext
keyword
index table
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
CN202311872968.9A
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.)
China Electronics Technology Network Security Technology Co ltd
Original Assignee
China Electronics Technology Network Security Technology Co ltd
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 China Electronics Technology Network Security Technology Co ltd filed Critical China Electronics Technology Network Security Technology Co ltd
Priority to CN202311872968.9A priority Critical patent/CN117786752A/zh
Publication of CN117786752A publication Critical patent/CN117786752A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种对称可搜索加密方法、装置、设备及介质,涉及信息安全技术领域,应用于云服务器,包括:获取数据拥有终端发送的密文文档集和密文索引表;获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对目标用户终端进行身份认证;若身份认证成功,则遍历密文索引表以从密文索引表中筛选出与目标搜索陷门匹配的目标关键字标签;将与目标关键字标签对应的目标密文文档返回给目标用户终端,以便目标用户终端利用对称加密算法对目标密文文档进行解密得到目标明文文档。本申请通过引入椭圆曲线签名算法生成随机化的关键字搜索陷门,云服务器在密文倒排索引中检索关键字时同步实现对用户的认证。

Description

一种对称可搜索加密方法、装置、设备及介质
技术领域
本发明涉及信息安全技术领域,特别涉及一种对称可搜索加密方法、装置、设备及介质。
背景技术
随着云计算和大数据时代的到来,安全存储在云端的数据面临着密文检索问题。可搜索加密技术支持在不解密的情况下对密文数据进行检索,能够很好的解决密文检索问题。相比非对称可搜索加密,对称可搜索加密具有方案结构简单、搜索功能丰富和计算效率高等优点,非常符合实际应用的需求。
然而,现有的对称可搜索加密方案普遍存在着两个问题,一是在搜索过程中对数据用户缺乏认证功能,二是搜索陷门的确定性往往会泄露搜索模式。用户认证功能在多用户的数据检索场景下非常必要,可以通过认证功能对用户搜索权限进行管理,防止非法用户在窃取搜索密钥后进行非法搜索。目前,带用户认证功能的密文检索方案主要以采用双线性对设计的非对称可搜索加密为主,此类方案结构复杂且计算效率低,而对称可搜索加密方案一般不具备用户认证功能。研究表明,在被动敌手的安全模型下,泄露搜索模式不会影响系统的安全性,但是恶意的攻击者依然可通过搜索模式分析出查询关键字的相关信息。目前能够隐藏搜索模式的对称可搜索加密方案非常少,要么通过关键字分组对共享的搜索陷门进行混淆,要么通过同态加密搜索陷门进行随机化处理;前者需要数据用户本地维护查询表,存储开销大;后者涉及客户端的多次同态操作,计算负担重。此外,随着大数据时代到来,支持搜索结果排序已成为实际应用中的基本功能需求,现有的对称可搜索加密方案有对结果排序功能的专题研究,但是很少在同一方案中兼顾认证功能和隐藏搜索模式。
综上,如何提供一种既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种对称可搜索加密方法、装置、设备及介质,能够提供一种既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法。其具体方案如下:
第一方面,本申请公开了一种对称可搜索加密方法,应用于云服务器,包括:
获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;
获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;
若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;
将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
可选的,所述文档信息包括文档标识符以及利用词频-逆文档频率算法对所述文档关键字与所述明文文档集中各文档之间进行相关性计算得到的相关性得分值。
可选的,所述将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,包括:
从所述密文文档集中筛选出与各所述目标关键字标签对应的密文文档子集;
按照所述密文索引表中所述相关性得分值从大到小的顺序,从所述密文文档子集中筛选出预设数量个目标密文文档,并将所述目标密文文档返回给所述目标用户终端。
可选的,所述对称可搜索加密方法,还包括:
通过所述数据拥有终端利用所述对称加密算法和第一共享密钥对明文文档集中各文档进行加密,以得到所述密文文档集;
通过所述数据拥有终端利用伪随机函数和第二共享密钥对所述倒排索引表中的所述文档关键字进行加密以得到关键字标签,并利用保序加密算法和第三共享密钥对所述倒排索引表中的所述相关性得分值进行加密得到加密后得分值,以基于所述关键字标签、所述文档标识符和所述加密后得分值得到所述密文索引表;
其中所述数据拥有终端基于预设安全参数生成共享密钥组;所述共享密钥组包括所述第一共享密钥、所述第二共享密钥和所述第三共享密钥,并将所述共享密钥组发送至所有合法用户终端。
可选的,所述获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,包括:
通过目标用户终端利用伪随机函数和所述第二共享密钥生成与待查询关键字对应的待查询关键字标签,并基于椭圆曲线签名算法和所述待查询关键字标签生成目标搜索陷门;
获取所述目标用户终端发送的所述目标搜索陷门。
可选的,所述对称可搜索加密方法,还包括:
预先获取所述数据拥有终端发送的合法用户终端基于椭圆曲线签名算法生成的公钥以及所述合法用户终端的合法用户标识,并将所述合法用户标识存储至授权用户列表;
相应的,所述对所述目标用户终端进行身份认证得到认证结果,包括:
判断所述授权用户列表中是否存在所述目标用户终端对应的目标用户标识;
若所述授权用户列表中存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证成功,若所述授权用户列表中不存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证失败。
可选的,所述遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签,包括:
利用所述密文索引表中的每一关键字标签与预设椭圆曲线的基点坐标、所述目标搜索陷门和所述公钥计算对应的点坐标;
将每一所述点坐标的横坐标值转换为整数值,并判断所有所述整数值中是否存在与所述目标搜索陷门匹配的目标整数值;
若存在,则将所述目标整数值对应的关键字标签确定为与所述目标搜索陷门匹配的目标关键字标签。
第二方面,本申请公开了一种对称可搜索加密装置,应用于云服务器,包括:
密文获取模块,用于获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;
身份认证模块,用于获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;
索引表遍历模块,用于若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;
结果返回模块,用于将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的对称可搜索加密方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的对称可搜索加密方法的步骤。
可见,本申请通过云服务器获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
由此可见,本申请的有益效果在于:数据拥有终端预先通过利用对称加密算法对明文文档集中各文档进行加密后得到密文文档集,明文文档集中除了包括各明文文档外还包括对应的文档关键字,此外,数据拥有终端还预先对基于文档关键字和文档信息构建的倒排索引表进行加密得到的密文索引表,然后负责将密文文档集和密文索引表发送至云服务器进行存储。进一步的,云服务器会获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门,目标搜索陷门是目标用户终端基于椭圆曲线签名算法生成的随机化陷门,即同一个待查询关键字的搜索陷门不同,从而达到隐藏搜索模式的目的,防止攻击者通过确定的搜索陷门推测待查询关键字的信息。同时服务器还会对目标用户终端进行身份认证,防止非法用户窃取共享密钥后以合法用户的身份查询云端数据,从而实现对称可搜索加密算法的认证功能。身份认证成功后,云服务器则遍历密文索引表以从密文索引表中筛选出与目标搜索陷门匹配的目标关键字标签,然后将与目标关键字标签对应的目标密文文档返回给目标用户终端,以便目标用户终端利用对称加密算法对目标密文文档进行解密得到目标明文文档。也即,上述方案通过引入椭圆曲线签名算法生成随机化的关键字搜索陷门,云服务器在密文倒排索引中检索关键字时还同步实现了对用户的认证。如此一来,能够在既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法下,实现数据拥有者向多个合法用户分享数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种对称可搜索加密方法流程图;
图2为本申请公开的一种适用于对称可搜索加密方法的系统框架图;
图3为本申请公开的一种具体的对称可搜索加密方法流程图;
图4为本申请公开的一种具体的对称可搜索加密流程示意图;
图5为本申请公开的一种对称可搜索加密装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,随着大数据时代到来,支持搜索结果排序已成为实际应用中的基本功能需求。目前大部分对称可搜索加密方案都不具备用户认证功能,同时会泄露搜索模式,少数具备认证功能的方案用到双线性对等复杂低效的非对称密码组件,而仅有的隐藏搜索模式方案也涉及到同态加密等计算开销大的密码组件,同时客户端存储成本非常高,缺乏实用性。现有的对称可搜索加密方案有对结果排序功能的专题研究,但是很少在同一方案中兼顾认证功能和隐藏搜索模式。为此,本申请实施例公开了一种对称可搜索加密方法、装置、设备及介质,能够提供一种既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法。
参见图1所示,本申请实施例公开了一种对称可搜索加密方法,应用于云服务器,该方法包括:
步骤S11:获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表。
本实施例中,数据拥有终端预先通过利用对称加密算法对明文文档集中各文档进行加密后得到密文文档集,明文文档集中除了包括各明文文档外还包括对应的文档关键字,此外,数据拥有终端还预先对基于文档关键字和文档信息构建的倒排索引表进行加密得到的密文索引表,然后负责将密文文档集和密文索引表发送至云服务器进行存储。
可以理解的是,本实施例中的明文文档集中除了包括各明文文档和对应的文档关键字外,还包括关键字词频信息,具体如下:
约定输入系统的明文文档集已定义好关键字集并带有词频,即明文文档集F={F1,F2,…,Fn}包含n个文档,且每个文档Fi=(Qi,KWi),其中Qi是文档明文,是文档Fi的带有词频的关键字集合,ti是关键字个数,TFij是关键字wij在文档Fi中出现的频数,1≤j≤ti。假设所有文档的关键字集合构成的并集为W={w1,w2,…,wM},其中M为关键字个数。
具体的,上述文档信息包括文档标识符以及利用词频-逆文档频率算法对所述文档关键字与所述明文文档集中各文档之间进行相关性计算得到的相关性得分值。也即,对于文档集F={F1,F2,…,Fn}中的每个文档Fi,数据拥有终端会为其分配一个文档标识符FIDi。此外,对每个关键字wj,需要找出包含wj的文档集合{Fj1,Fj2,…,Fjt},然后利用词频-逆文档频率算法(Term Frequency-Inverse Document Frequency,即TF-IDF)计算文档关键字与各文档的相关性得分Score,对于单个关键字,同一文档集中不同文档的IDF为常值,则Score(w,F)=TF(w,F),其中TF(w,F)为关键字w在文档F中出现的频率。
在具体实施方式中,数据拥有终端在进行加密操作时,具体包括以下步骤:通过所述数据拥有终端利用所述对称加密算法和第一共享密钥对明文文档集中各文档进行加密,以得到所述密文文档集;通过所述数据拥有终端利用伪随机函数和第二共享密钥对所述倒排索引表中的所述文档关键字进行加密以得到关键字标签,并利用保序加密算法和第三共享密钥对所述倒排索引表中的所述相关性得分值进行加密得到加密后得分值,以基于所述关键字标签、所述文档标识符和所述加密后得分值得到所述密文索引表;其中所述数据拥有终端基于预设安全参数生成共享密钥组;所述共享密钥组包括所述第一共享密钥、所述第二共享密钥和所述第三共享密钥,并将所述共享密钥组发送至所有合法用户终端。
首先需要指出的是,数据拥有终端选定抗不可区分选择明文攻击的对称加密算法:SKE(即Symmetric Key Encryption)=(gen,enc,dec)、保序加密算法:OPE(即Order-Preserving Encryption)=(gen,enc,dec)和伪随机函数f。可以理解的是,一个加密方案通常由三个算法:gen、enc,dec以及明文空间明确定义其中,gen为密钥生成函数,以安全参数作为输入,然后将密钥作为输出的算法;enc为加密算法,以密钥以及明文作为输入,然后输出一段密文;dec为解密算法,将密钥以及密文作为输入,然后输出对应的明文。并且,数据拥有终端会根据预设安全参数λ生成系统的共享密钥组K=(k1,k2,k3),其中,k1伴随伪随机函数f使用,k2伴随对称加密算法SKE使用,k3伴随保序加密方案OPE使用,并将共享密钥组通过安全信道发送给各合法用户终端。
因此,数据拥有终端利用对称加密算法和第一共享密钥k2对明文文档集中各明文文档Qi进行加密,以得到密文文档集Qi',即:
此外,通过前述内容可知,M个文档关键字和对应的文档信息构建成M行的倒排索引表,其中第j行为:
(wj,IDj1,IDj2,…,IDjt);
文档信息包含文档标识符和相关性得分值,如FIDj1的文档信息为:
IDj1=FID||Score(wj,Fj1)。
进一步的,数据拥有终端利用伪随机函数和第二共享密钥k1对倒排索引表中的文档关键字进行加密以得到关键字标签,并利用保序加密算法和第三共享密钥k3对倒排索引表中的相关性得分值进行加密得到加密后得分值,然后基于所有关键字标签、所有文档标识符和所有加密后得分值得到M行的密文索引表,则第j行的数据为:
其中文档信息密文
步骤S12:获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果。
本实施例中,云服务器会获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门,目标搜索陷门是目标用户终端基于椭圆曲线签名算法生成的随机化陷门,即同一个待查询关键字的搜索陷门不同,从而达到隐藏搜索模式的目的,防止攻击者通过确定的搜索陷门推测待查询关键字的信息。同时服务器还会对目标用户终端进行身份认证,防止非法用户窃取共享密钥后以合法用户的身份查询云端数据,从而实现对称可搜索加密算法的认证功能。
在具体实施方式中,上述获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,包括:通过目标用户终端利用伪随机函数和所述第二共享密钥生成与待查询关键字对应的待查询关键字标签,并基于椭圆曲线签名算法和所述待查询关键字标签生成目标搜索陷门;获取所述目标用户终端发送的所述目标搜索陷门。也即,当目标用户需要查询关键字w时,则利用椭圆曲线签名算法计算搜索陷门Tw=(r,s),然后发送给云服务器,具体操作如下:
计算关键字标签
选择随机数k∈[1,n-1],计算点kG=(x1,y1),将横坐标x1转化为整数z,并计算r=x1mod n和s=k-1(w*+dir)mod n。
其中,需要指出的是,由数据拥有终端选定椭圆曲线签名算法的系统参数(q、a、b、G、n、h),其中q为有限域Fq的规模,定义在Fq上的椭圆曲线方程为y2=x3+ax+b,E(Fq)上的基点G=(xG,yG)(G≠0),G的阶为n及其它可选项,如n的余因子h等;此外,di为目标用户终端预先基于椭圆曲线签名算法生成的私钥。
步骤S13:若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字。
本实施例中,身份认证成功后,云服务器则遍历密文索引表以从密文索引表中筛选出与目标搜索陷门匹配的目标关键字标签。
步骤S14:将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
本实施例中,将与目标关键字标签对应的目标密文文档返回给目标用户终端,以便目标用户终端利用对称加密算法对目标密文文档进行解密得到目标明文文档。也即,本方案适用于云存储环境下数据拥有者向多个合法用户分享数据的场景,如图2中的系统框架图所示,数据拥有者负责生成系统参数和共享密钥,然后加密文档,生成密文索引,并将二者上传到云服务器存储;云服务器负责存储数据拥有者上传的密文文档集、密文索引表,并为合法用户提供搜索服务;而合法用户负责生成关键字的搜索陷门,并上传给云服务器,并对返回的搜索结果进行解密,而云服务器无法获得明文数据的任何信息。
可见,本申请通过云服务器获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
由此可见,本申请的有益效果在于:数据拥有终端预先通过利用对称加密算法对明文文档集中各文档进行加密后得到密文文档集,明文文档集中除了包括各明文文档外还包括对应的文档关键字,此外,数据拥有终端还预先对基于文档关键字和文档信息构建的倒排索引表进行加密得到的密文索引表,然后负责将密文文档集和密文索引表发送至云服务器进行存储。进一步的,云服务器会获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门,目标搜索陷门是目标用户终端基于椭圆曲线签名算法生成的随机化陷门,即同一个待查询关键字的搜索陷门不同,从而达到隐藏搜索模式的目的,防止攻击者通过确定的搜索陷门推测待查询关键字的信息。同时服务器还会通过查询用户列表对目标用户终端进行初步的身份认证,防止非法用户窃取共享密钥后以合法用户的身份查询云端数据,从而实现对称可搜索加密算法的认证功能。身份认证成功后,云服务器则遍历密文索引表以从密文索引表中筛选出与目标搜索陷门匹配的目标关键字标签,然后将与目标关键字标签对应的目标密文文档返回给目标用户终端,以便目标用户终端利用对称加密算法对目标密文文档进行解密得到目标明文文档。需要特别说明的是,上述方案通过引入椭圆曲线签名算法生成随机化的关键字搜索陷门,云服务器在密文倒排索引中检索关键字的过程也是对目标用户终端签名值的验证过程,即云服务器搜索时还同步实现了对用户身份的认证,进一步防止恶意的合法用户冒用其他合法用户的身份查询云端数据。如此一来,能够在既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法下,实现数据拥有者向多个合法用户分享数据。
参见图3和图4所示,本申请实施例公开了一种具体的对称可搜索加密方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
具体包括:
步骤S21:获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表。
步骤S22:获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并判断授权用户列表中是否存在所述目标用户终端对应的目标用户标识。
本实施例中,在获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门后,首先需要对目标用户终端的身份进行初步认证,即判断授权用户列表中是否存在目标用户终端对应的目标用户标识。
进一步的,上述方法还包括:预先获取所述数据拥有终端发送的合法用户终端基于椭圆曲线签名算法生成的公钥以及所述合法用户终端的合法用户标识,并将所述合法用户标识存储至授权用户列表。需要指出的是,标识为UIDi的合法用户预先根据椭圆曲线参数生成一对公私钥(di,Pi),Pi=[di]G∈E(Fq),并将私钥di秘密保存,将公钥Pi发送给数据拥有终端,数据拥有终端再将公钥以及合法用户终端的合法用户标识(UIDi,Pi)通过安全信道发送给云服务器,云服务器将合法用户标识和公钥存储至授权用户列表。
此外,数据拥有终端还负责用户的撤销,当需要撤销某一用户j时,数据拥有终端向云服务器发出用户撤销请求,云服务器将(UIDj,Pj)从授权用户列表中删除。
步骤S23:若所述授权用户列表中存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证成功,若所述授权用户列表中不存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证失败。
本实施例中,若授权用户列表中存在目标用户标识,则判定对目标用户终端进行身份认证的认证结果为认证成功,即该目标用户终端为合法用户终端;若授权用户列表中不存在目标用户标识,则判定对目标用户终端进行身份认证的认证结果为认证失败,即该目标用户终端为非法用户终端。如此一来,即可完成对目标用户终端身份的初步认证。
步骤S24:若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字。
本实施例中,上述遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签,包括:利用所述密文索引表中的每一关键字标签与预设椭圆曲线的基点坐标、所述目标搜索陷门和所述公钥计算对应的点坐标;将每一所述点坐标的横坐标值转换为整数值,并判断所有所述整数值中是否存在与所述目标搜索陷门匹配的目标整数值;若存在,则将所述目标整数值对应的关键字标签确定为与所述目标搜索陷门匹配的目标关键字标签。
具体的,云服务器收到搜索陷门Tw=(r,s))后,还会进一步确认r、s∈[1,n-1],然后再遍历密文索引表,对密文索引表中的每一个关键字标签利用椭圆曲线的基点坐标G、目标搜索陷门Tw=(r,s)和公钥Pi计算对应的点坐标/>将横坐标x2化为整数值v,并验证r=v是否成立。若存在某个关键字标签使得该等式成立,将相应的关键字标签确定为与目标搜索陷门匹配的目标关键字标签。此外,若对密文索引表中所有关键字标签,该等式都不成立,则输出搜索失败。需要指出的是,在这个过程中还可以实现对目标终端用户的最终身份认证,由于计算点坐标T的过程中需要用到公钥,而计算目标搜索陷门的过程中需要用到私钥,而公钥和私钥均是由合法用户终端预先生成的。因此,若对密文索引表中所有关键字标签,该等式都不成立,除了用户终端搜索的关键字不存在于密文索引表以外,也能将一些冒用目标终端用户身份的恶意合法用户终端排除在外。
步骤S25:从所述密文文档集中筛选出与各所述目标关键字标签对应的密文文档子集,并按照所述密文索引表中相关性得分值从大到小的顺序,从所述密文文档子集中筛选出预设数量个目标密文文档。
本实施例中,从密文文档集中筛选出与各目标关键字标签对应的密文文档子集,并按照密文索引表中相关性得分值从大到小的顺序,从密文文档子集中筛选出预设数量个目标密文文档,例如取出Top-k个目标密文文档构成文档密文集合C={Q1',Q'2,…,Q'k}。
步骤S26:将所述目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
本实施例中,将目标密文文档构成的文档密文集合C={Q1',Q'2,…,Q'k}返回给所述目标用户终端,以便目标用户终端利用对称加密算法对返回的各目标密文文档Qi'进行解密得到目标明文文档,即:
其中,关于上述步骤S21更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请中,合法用户预先会根据椭圆曲线参数生成一对公私钥,并将公钥发送给数据拥有终端,再由数据拥有终端将公钥以及合法用户终端的合法用户标识通过安全信道发送给云服务器,进而存储至授权用户列表。因此,在获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门后,首先需要对目标用户终端的身份进行初步认证,即判断授权用户列表中是否存在目标用户终端对应的目标用户标识。并且,在密文索引表中检索关键字标签的过程中,还可以实现对目标终端用户的最终身份认证。此外,本申请并非是将检索到的关键字标签对应的所有目标密文文档均返回给目标用户终端,而是按照密文索引表中相关性得分值从大到小的顺序,取出Top-k个目标密文文档返回给目标用户终端。如此一来,本申请在一个结构简单的对称可搜索加密方案中同时实现了结果排序、用户认证和隐藏搜索模式等三项功能,且没有增加客户端和云端的存储负担。
参见图5所示,本申请实施例公开了一种对称可搜索加密装置,应用于云服务器,该装置包括:
密文获取模块11,用于获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;
身份认证模块12,用于获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;
索引表遍历模块13,用于若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;
结果返回模块14,用于将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
可见,本申请通过云服务器获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
由此可见,本申请的有益效果在于:数据拥有终端预先通过利用对称加密算法对明文文档集中各文档进行加密后得到密文文档集,明文文档集中除了包括各明文文档外还包括对应的文档关键字,此外,数据拥有终端还预先对基于文档关键字和文档信息构建的倒排索引表进行加密得到的密文索引表,然后负责将密文文档集和密文索引表发送至云服务器进行存储。进一步的,云服务器会获取到目标用户终端发送的与待查询关键字对应的目标搜索陷门,目标搜索陷门是目标用户终端基于椭圆曲线签名算法生成的随机化陷门,即同一个待查询关键字的搜索陷门不同,从而达到隐藏搜索模式的目的,防止攻击者通过确定的搜索陷门推测待查询关键字的信息。同时服务器还会对目标用户终端进行身份认证,防止非法用户窃取共享密钥后以合法用户的身份查询云端数据,从而实现对称可搜索加密算法的认证功能。身份认证成功后,云服务器则遍历密文索引表以从密文索引表中筛选出与目标搜索陷门匹配的目标关键字标签,然后将与目标关键字标签对应的目标密文文档返回给目标用户终端,以便目标用户终端利用对称加密算法对目标密文文档进行解密得到目标明文文档。也即,上述方案通过引入椭圆曲线签名算法生成随机化的关键字搜索陷门,云服务器在密文倒排索引中检索关键字时还同步实现了对用户的认证。如此一来,能够在既支持用户身份认证又能隐藏搜索模式的对称可搜索加密方法下,实现数据拥有者向多个合法用户分享数据。
图6为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的对称可搜索加密方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的对称可搜索加密方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的对称可搜索加密方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(Random AccessMemory,即RAM)、内存、只读存储器(Read-Only Memory,即ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、只读光盘(Compact Disc Read-Only Memory,即CD-ROM)、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种对称可搜索加密方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种对称可搜索加密方法,其特征在于,应用于云服务器,包括:
获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;
获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;
若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;
将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
2.根据权利要求1所述的对称可搜索加密方法,其特征在于,所述文档信息包括文档标识符以及利用词频-逆文档频率算法对所述文档关键字与所述明文文档集中各文档之间进行相关性计算得到的相关性得分值。
3.根据权利要求2所述的对称可搜索加密方法,其特征在于,所述将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,包括:
从所述密文文档集中筛选出与各所述目标关键字标签对应的密文文档子集;
按照所述密文索引表中所述相关性得分值从大到小的顺序,从所述密文文档子集中筛选出预设数量个目标密文文档,并将所述目标密文文档返回给所述目标用户终端。
4.根据权利要求2所述的对称可搜索加密方法,其特征在于,还包括:
通过所述数据拥有终端利用所述对称加密算法和第一共享密钥对明文文档集中各文档进行加密,以得到所述密文文档集;
通过所述数据拥有终端利用伪随机函数和第二共享密钥对所述倒排索引表中的所述文档关键字进行加密以得到关键字标签,并利用保序加密算法和第三共享密钥对所述倒排索引表中的所述相关性得分值进行加密得到加密后得分值,以基于所述关键字标签、所述文档标识符和所述加密后得分值得到所述密文索引表;
其中所述数据拥有终端基于预设安全参数生成共享密钥组;所述共享密钥组包括所述第一共享密钥、所述第二共享密钥和所述第三共享密钥,并将所述共享密钥组发送至所有合法用户终端。
5.根据权利要求4所述的对称可搜索加密方法,其特征在于,所述获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,包括:
通过目标用户终端利用伪随机函数和所述第二共享密钥生成与待查询关键字对应的待查询关键字标签,并基于椭圆曲线签名算法和所述待查询关键字标签生成目标搜索陷门;
获取所述目标用户终端发送的所述目标搜索陷门。
6.根据权利要求1至5任一项所述的对称可搜索加密方法,其特征在于,还包括:
预先获取所述数据拥有终端发送的合法用户终端基于椭圆曲线签名算法生成的公钥以及所述合法用户终端的合法用户标识,并将所述合法用户标识存储至授权用户列表;
相应的,所述对所述目标用户终端进行身份认证得到认证结果,包括:
判断所述授权用户列表中是否存在所述目标用户终端对应的目标用户标识;
若所述授权用户列表中存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证成功,若所述授权用户列表中不存在所述目标用户标识,则判定对所述目标用户终端进行身份认证的认证结果为认证失败。
7.根据权利要求6所述的对称可搜索加密方法,其特征在于,所述遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签,包括:
利用所述密文索引表中的每一关键字标签与预设椭圆曲线的基点坐标、所述目标搜索陷门和所述公钥计算对应的点坐标;
将每一所述点坐标的横坐标值转换为整数值,并判断所有所述整数值中是否存在与所述目标搜索陷门匹配的目标整数值;
若存在,则将所述目标整数值对应的关键字标签确定为与所述目标搜索陷门匹配的目标关键字标签。
8.一种对称可搜索加密装置,其特征在于,应用于云服务器,包括:
密文获取模块,用于获取数据拥有终端发送的密文文档集和密文索引表;所述密文文档集为利用对称加密算法对明文文档集中各文档进行加密后得到的文档集,所述明文文档集包括各明文文档和对应的文档关键字;所述密文索引表为对基于所述文档关键字和文档信息构建的倒排索引表进行加密后得到的索引表;
身份认证模块,用于获取目标用户终端发送的基于椭圆曲线签名算法生成的与待查询关键字对应的目标搜索陷门,并对所述目标用户终端进行身份认证得到认证结果;
索引表遍历模块,用于若所述认证结果用于表征认证成功,则遍历所述密文索引表以从所述密文索引表中筛选出与所述目标搜索陷门匹配的目标关键字标签;其中,关键字标签为所述倒排索引表中加密后的文档关键字;
结果返回模块,用于将与所述目标关键字标签对应的目标密文文档返回给所述目标用户终端,以便所述目标用户终端利用所述对称加密算法对所述目标密文文档进行解密得到目标明文文档。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的对称可搜索加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的对称可搜索加密方法的步骤。
CN202311872968.9A 2023-12-29 2023-12-29 一种对称可搜索加密方法、装置、设备及介质 Pending CN117786752A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311872968.9A CN117786752A (zh) 2023-12-29 2023-12-29 一种对称可搜索加密方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311872968.9A CN117786752A (zh) 2023-12-29 2023-12-29 一种对称可搜索加密方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117786752A true CN117786752A (zh) 2024-03-29

Family

ID=90384931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311872968.9A Pending CN117786752A (zh) 2023-12-29 2023-12-29 一种对称可搜索加密方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117786752A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118695251A (zh) * 2024-08-27 2024-09-24 中电科网络安全科技股份有限公司 一种融合时空体系的密钥管理方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118695251A (zh) * 2024-08-27 2024-09-24 中电科网络安全科技股份有限公司 一种融合时空体系的密钥管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
Miao et al. Multi-authority attribute-based keyword search over encrypted cloud data
US11477006B2 (en) Secure analytics using an encrypted analytics matrix
WO2022007889A1 (zh) 基于区块链与同态加密的可搜索加密数据共享方法及系统
Wang et al. Secure searchable encryption: a survey
Miao et al. Hybrid keyword-field search with efficient key management for industrial internet of things
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
Liu et al. EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination
Yin et al. Attribute-based multiparty searchable encryption model for privacy protection of text data
WO2018116826A1 (ja) メッセージ送信システム、通信端末、サーバ装置、メッセージ送信方法、およびプログラム
CN117786752A (zh) 一种对称可搜索加密方法、装置、设备及介质
Huang et al. Secure and privacy-preserving DRM scheme using homomorphic encryption in cloud computing
Varri et al. FELT-ABKS: Fog-enabled lightweight traceable attribute-based keyword search over encrypted data
Nalajala et al. Light weight secure data sharing scheme for mobile cloud computing
Rana et al. Secure and ubiquitous authenticated content distribution framework for IoT enabled DRM system
Yang et al. Mu-teir: Traceable encrypted image retrieval in the multi-user setting
Verma Secure client-side deduplication scheme for cloud with dual trusted execution environment
Park et al. PKIS: practical keyword index search on cloud datacenter
Raghavendra et al. Survey on data storage and retrieval techniques over encrypted cloud data
CN117786751A (zh) 一种对称可搜索加密方法、装置、设备及介质
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
Yan et al. Secure and efficient big data deduplication in fog computing
Nie et al. Time‐enabled and verifiable secure search for blockchain‐empowered electronic health record sharing in IoT
Ye et al. A verifiable dynamic multi-user searchable encryption scheme without trusted third parties

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