CN117421771A - 一种面向结构化数据的可搜索加密方法、装置及电子设备 - Google Patents

一种面向结构化数据的可搜索加密方法、装置及电子设备 Download PDF

Info

Publication number
CN117421771A
CN117421771A CN202311425831.9A CN202311425831A CN117421771A CN 117421771 A CN117421771 A CN 117421771A CN 202311425831 A CN202311425831 A CN 202311425831A CN 117421771 A CN117421771 A CN 117421771A
Authority
CN
China
Prior art keywords
plaintext data
ciphertext
target
symmetric key
searched
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
CN202311425831.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.)
Tianyi Safety Technology Co Ltd
Original Assignee
Tianyi Safety 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 Tianyi Safety Technology Co Ltd filed Critical Tianyi Safety Technology Co Ltd
Priority to CN202311425831.9A priority Critical patent/CN117421771A/zh
Publication of CN117421771A publication Critical patent/CN117421771A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开一种面向结构化数据的可搜索加密方法、装置及电子设备,该方法包括:首先,在样本明文数据对应的各个属性中选择出各个关键属性,并基于各个关键属性以及第一对称密钥生成样本明文数据的第一加密索引,然后,基于第二对称密钥对样本明文数据进行加密,得到密文,并将密文和第一加密索引存储至密文数据库,最后,响应于获取到待搜索关键词和第一对称密钥,基于第一对称密钥和布隆过滤器生成待搜索关键词的目标搜索陷门,并基于目标搜索陷门在密文数据库中进行搜索,得到待搜索关键词对应的目标明文数据。通过上述方法,可以实现多关键词的联合检索,使得搜索更加灵活,并保证了数据搜索的精确性。

Description

一种面向结构化数据的可搜索加密方法、装置及电子设备
技术领域
本申请涉及信息安全和应用密码学相结合的技术领域,特别是涉及一种面向结构化数据的可搜索加密方法、装置及电子设备。
背景技术
可搜索加密是一种在不需要解密的情况下,可以直接对存储在云端服务器上的密文进行关键字查询操作。数据拥有者根据关键字建立密文索引,当数据用户查询含有某个关键字的密文时向云服务器提交陷门,云服务器通过匹配陷门和索引来返回匹配的密文。可搜索加密技术不仅保证了数据的安全,而且实现了对密文的快速检索。然而,在面对大量结构化数据场景时,由于结构化数据类型多样,这种单关键字密文检索技术会返回大量不相关的密文而导致信息泄露和通信资源浪费,因此,如何在大量结构化数据场景下实现多关键词可搜索加密方法成为了亟待解决的问题。
发明内容
本申请提供了一种面向结构化数据的可搜索加密方法、装置及电子设备,可以解决如何在大量结构化数据场景下实现多关键词可搜索加密的问题。
第一方面,本申请提供了一种面向结构化数据的可搜索加密方法,所述方法包括:
在样本明文数据对应的各个属性中选择出各个关键属性,并基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引;
基于第二对称密钥对所述样本明文数据进行加密处理,得到密文,并将所述密文和所述第一加密索引存储至密文数据库;
响应于获取到待搜索关键词和所述第一对称密钥,基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,并基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据。
通过上述方法,生成样本明文数据的第一加密索引,从而可以实现多关键词的联合检索,使得搜索更加灵活,并保证了数据搜索的精确性。
在一种可能的设计中,所述基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引,包括:
基于所述各个关键属性确定出关联明文数据;
基于所述第一对称密钥、所述关联明文数据对应的各个哈希函数以及所述布隆过滤器对所述关联明文数据进行处理,生成所述第一加密索引。
通过上述方法,基于布隆过滤器生成第一加密索引,由于布隆过滤器具有占用内存空间小、快速查询的特点,从而可以显著地提高检索效率,减少存储占用资源。
在一种可能的设计中,所述基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,包括:
基于所述第一对称密钥和所述布隆过滤器生成所述待搜索关键词的搜索陷门;
根据预设噪声率对所述搜索陷门进行加噪处理,生成所述目标搜索陷门。
通过上述方法,对搜索陷门进行加噪处理,混淆搜索结果,从而可以实现数据的隐私保护。
在一种可能的设计中,所述基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据,包括:
基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标密文;
根据预设噪声率对所述目标密文进行去噪处理,得到去噪后的目标密文;
基于所述第二对称密钥对所述去噪后的目标密文进行解密处理,得到明文数据;
对所述明文数据进行筛选,得到所述目标明文数据。
通过上述方法,基于对搜索到的密文进行去噪、解密和筛选处理,可以消除布隆过滤器假阳性的影响,提供更准确的搜索结果,从而提高数据的可用性和搜索质量。
在一种可能的设计中,所述方法还包括:
当存在新增样本明文数据时,基于第三对称密钥和所述布隆过滤器生成所述新增样本明文数据的新增加密索引和所述样本明文数据的第二加密索引;
基于所述第二对称密钥对所述新增样本明文数据进行加密处理,得到新增密文;
基于所述新增密文、所述新增加密索引以及所述第二加密索引更新所述密文数据库。
通过上述方法,基于全新的密钥(第三对称密钥)生成新增加密索引和第二加密索引,是为了满足前向安全的特性,使以前的搜索操作搜索不到密文,从而提高了系统的安全性和可维护性。
第二方面,本申请提供了一种面向结构化数据的可搜索加密装置,所述装置包括:
第一生成模块,用于在样本明文数据中选择出各个关键属性,并基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引;
加密模块,用于基于第二对称密钥对所述样本明文数据进行加密处理,得到密文,并将所述密文和所述第一加密索引存储至密文数据库;
搜索模块,用于响应于获取到待搜索关键词和所述第一对称密钥,基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,并基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据。
在一种可能的设计中,所述第一生成模块具体用于:
基于所述各个关键属性确定出关联明文数据;
基于所述第一对称密钥、所述关联明文数据对应的各个哈希函数以及所述布隆过滤器对所述关联明文数据进行处理,生成所述第一加密索引。
在一种可能的设计中,所述搜索模块具体用于:
基于所述第一对称密钥和所述布隆过滤器生成所述待搜索关键词的搜索陷门;
根据预设噪声率对所述搜索陷门进行加噪处理,生成所述目标搜索陷门。
在一种可能的设计中,所述搜索模块还用于:
基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标密文;
根据预设噪声率对所述目标密文进行去噪处理,得到去噪后的目标密文;
基于所述第二对称密钥对所述去噪后的目标密文进行解密处理,得到明文数据;
对所述明文数据进行筛选,得到所述目标明文数据。
在一种可能的设计中,所述装置还包括:
第二生成模块,用于当存在新增样本明文数据时,基于第三对称密钥和所述布隆过滤器生成所述新增样本明文数据的新增加密索引和所述样本明文数据的第二加密索引;
更新模块,用于基于所述第二对称密钥对所述新增样本明文数据进行加密处理,得到新增密文,并基于所述新增密文、所述新增加密索引以及所述第二加密索引更新所述密文数据库。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现上述第一方面的面向结构化数据的可搜索加密方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的面向结构化数据的可搜索加密方法步骤。
通过上述面向结构化数据的可搜索加密方法,基于对称密钥和布隆过滤器生成样本明文数据的加密索引,从而可以实现多关键词的联合检索,使得搜索更加灵活,并保证了数据搜索的精确性。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请实施例适用的系统结构示意图;
图2为本申请实施例提供的一种面向结构化数据的可搜索加密方法的流程图;
图3为本申请实施例提供的一种索引生成的过程示意图;
图4为本申请实施例提供的一种待搜索关键词搜索的过程示意图;
图5为本申请实施例提供的一种面向结构化数据的可搜索加密装置的结构示意图;
图6为本申请实施例提供的一种面向结构化数据的可搜索加密装置的结构示意图;
图7为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,并存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了便于本领域技术人员理解,首先对本申请实施例中所涉及的技术术语进行解释说明。
(1)SM4分组加密算法是一个迭代分组密码算法,其密钥长度和分组长度均为128位,其中,加密运算和解密运算的算法结构相同,解密运算的轮密钥的使用顺序与加密运算相反。
(2)布隆过滤器是一个很长的二进制向量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中,具有占用内存空间小、快速查询的特点。
(3)陷门是指一种特殊的数学结构或信息,它允许某些操作在一个方向上容易执行,但在反向方向上却非常困难。通常,陷门用于构建加密算法和数字签名方案,以确保安全性和隐私。
(4)前向安全是动态对称可搜索加密的一个安全性质,通俗的讲,满足前向安全的方案在更新时不会泄露与关键词有关的任何信息。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
图1为本申请实施例适用的系统结构示意图。该系统主要包括数据用户(DataUser,DU)101、数据拥有者(Data Owner,DO)102和云服务器(Cloud Service Provider,CSP)103。
示例性的,DU101用于根据向DO102发送待搜索关键词,并向DO102提出搜索陷门请求;还用于等待DO102返回待搜索关键词对应的目标明文数据。
DO102用于对系统进行初始化操作,获取密钥集合{第一对称密钥,第二对象密钥}。同时,DO102还负责创建样本明文数据的第一加密索引,并将样本明文数据的密文和第一加密索引存储至CSP103的密文数据库。
此外,DO102还负责接收DU101发送的待搜索关键词和搜索陷门请求,并为该待搜索关键词生成目标搜索陷门。同时接收CSP103返回的待搜索关键词对应的目标密文,并进行去噪、解密和筛选处理,得到目标明文数据后,将其转发至DU101。DO102还会对CSP103密文数据库中的数据进行增加和删除操作。
CSP102用于存储样本明文数据的密文和第一加密索引;还用于执行待搜索关键词的搜索操作,并向D0102返回搜索到的待搜索关键词对应的目标密文;还用于执行DO102发送的数据更新指令。
基于上述应用场景,本申请实施例提供的一种面向结构化数据的可搜索加密方法,基于对称密钥和布隆过滤器生成样本明文数据的加密索引,从而可以实现多关键词的联合检索,使得搜索更加灵活,并保证了数据搜索的精确性。其中,本申请实施例所述方法和装置基于同一技术构思,由于方法及装置所解决问题的原理相似,因此装置与方法的实施例可以相互参见,重复之处不再赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并执行。
图2为本申请实施例提供的一种面向结构化数据的可搜索加密方法的流程图,该流程可由面向结构化数据的可搜索加密装置所执行,该装置可通过软件的方式实现,也可通过硬件的方式实现,还可通过软件和硬件结合的方式实现,用以实现大量结构化数据场景下的多关键词可搜索加密。如图2所示,该流程包括如下步骤:
S201,在样本明文数据中选择出各个关键属性,并基于各个关键属性以及第一对称密钥生成样本明文数据的第一加密索引;
在本申请实施例中,由于不是样本明文数据的所有属性都需要进行搜索,因此,如图1所示的DO102在生成样本明文数据的样本索引时,会先在样本明文数据对应的各个属性中选择出参与生成索引的各个关键属性,并基于各个关键属性确定出关联明文数据。
举例来讲,样本明文数据1为:张三、A班、16岁、80分,样本明文数据2为:李四、A班、15岁、75分,且样本明文数据1和样本明文数据2的属性都为:姓名、班级、年龄、成绩。选择出各个关键属性为:姓名、班级和成绩,则关联明文数据1为:张三、A班、80分,以及关联明文数据2为:李四、A班、75分。
进一步,基于上述第一对称密钥、关联明文数据对应的各个哈希函数以及布隆过滤器对该关联明文数据进行处理,生成上述第一加密索引。
如图3所示,为本申请实施例提供的一种索引生成的过程示意图,在图3中,关联数据ID包括:X和Y,且X和Y对应的哈希函数为h1、h2和h3,经过h1、h2和h3分别对X和Y进行哈希运算后,将其在空的布隆过滤器的对应位置填充为1,即可生成上述样本明文数据的第一加密索引IR
S202,基于第二对称密钥对样本明文数据进行加密,得到密文,并将密文和第一加密索引存储至密文数据库;
可选的,DO102在生成上述第一加密索引的同时,还需要通过获取到的第二对称密钥对该样本明文数据进行加密(使用SM4分组加密算法进行加密),得到密文。然后,DO102将该密文和该第一加密索引上传至CSP103,以使CSP103将其存储至密文数据库。
在一些可能的场景中,当存在新增样本明文数据时,DO102会重新获取第三对称密钥,并基于上述相同的索引生成方法,利用第三对称密钥,生成新增样本明文数据的新增加密索引和样本明文数据的第二加密索引。同时,基于上述第二对称密钥加密新增样本明文数据,得到新增密文后,将新增密文、新增加密索引和第二加密索引上传至CSP103,以使CSP103基于该新增密文、该新增加密索引以及该第二加密索引更新上述密文数据库。从而可以满足前向安全的特性,使以前的搜索操作搜索不到密文。
S203,响应于获取到待搜索关键词和第一对称密钥,基于第一对称密钥和布隆过滤器生成待搜索关键词的目标搜索陷门,并基于目标搜索陷门在密文数据库中进行搜索,得到待搜索关键词对应的目标明文数据。
可选的,基于第一对称密钥和布隆过滤器生成待搜索关键词的目标搜索陷门包括:
DU101向DO102发送的待搜索关键词和搜索陷门请求,DO102接收到该待搜索关键词后,基于第一对称密钥和布隆过滤器生成该待搜索关键词的加密索引(生成加密索引的方法与上述方法一致,此处不作重复描述),即为待搜索关键词的搜索陷门。进一步,根据预设噪声率对该搜索陷门进行加噪处理,生成目标搜索陷门。
举例来讲,用户想要查询Tq=“测试1&测试2/测试3&测试4”,则DO102首先将其拆分成T1=“测试1&测试2”、T2=“测试3&测试4”,然后分别基于第一对称密钥和布隆过滤器生成T1的加密索引I1,以及T2的加密索引I2,即Tq的搜索陷门Iq={I1,I2}。最后,根据预设噪声率,对该Iq进行加噪处理(为Iq添加随机噪声ξ),生成目标搜索陷门I={T1,T2,ξ}。
通过上述方法,添加随机噪声使得即使用户每次搜索相同的关键词,服务器接收的内容也都不尽相同,使服务器无法根据用户提交的陷门找到关键词和明文数据的对应关系,因为用户每次提交的陷门都是随机的,从而使得服务器无法发起诸如文件注入攻击等恶意攻击手段,提高了搜索的安全性。同时,通过DO102为用户生成搜索陷阱,确保了密钥管理的安全性,用户无需自己管理密钥,降低了操作复杂度,并提供了额外的安全层级,只有DO102可以生成有效的陷阱。
需要说明的是,本申请中仅仅是以待搜索关键词和第一对称密钥为例进行买描述,在实际应用过程中,具体的待搜索关键词和对称密钥根据实际需求而定,此处不作具体的限定。
可选的:基于目标搜索陷门在密文数据库中进行搜索,得到待搜索关键词对应的目标明文数据,包括:
DO102将生成的目标搜索陷门发送至CSP103,以及CSP103基于该目标搜索陷门在密文数据库中搜索,得到上述待搜索关键词对应的目标密文。具体来讲,由于待搜索关键词是样本数据的子集,所以目标搜索陷门也一定是第一加密索引的子集。反之,若目标搜索陷门不是第一加密索引的子集,则对应的密文一定不包含待搜索关键词。
基于此,通过遍历密文数据库中的第一加密索引,判断目标搜索陷门是否为某条加密索引的子集可以完成搜索。如图4所示,为本申请实施例提供的一种待搜索关键词搜索的过程示意图,在图4中,待搜索关键词的目标搜索陷门为I、各个第一加密索引为Ia、Ib、Ic。经比对,可以确定出I为Ib的子集,则Ib对应的密文即为该待搜索关键词对应的目标密文。
进一步,根据预设噪声率对上述目标密文进行去噪处理,得到去噪后的目标密文,并基于上述第二对称密钥对去噪后的目标密文进行解密处理,得到明文数据,最后,对该明文数据进行筛选,得到上述测试关键字对应的目标明文数据。
通过上述面向结构化数据的可搜索加密方法,基于对称密钥和布隆过滤器生成样本明文数据的加密索引,从而可以实现多关键词的联合检索,使得搜索更加灵活,并保证了数据搜索的精确性。
基于同一发明构思,本申请实施例中还提供了一种面向结构化数据的可搜索加密装置,如图5所示,为本申请实施例提供的一种面向结构化数据的可搜索加密装置的结构示意图,该装置包括:
第一生成模块501,用于在样本明文数据对应的各个属性中选择出各个关键属性,并基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引;
加密模块502,用于基于第二对称密钥对所述样本明文数据进行加密处理,得到密文,并将所述密文和所述第一加密索引存储至密文数据库;
搜索模块503,用于响应于获取到待搜索关键词和所述第一对称密钥,基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,并基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据。
在一种可能的设计中,所述第一生成模块501具体用于:
基于所述各个关键属性确定出关联明文数据;
基于所述第一对称密钥、所述关联明文数据对应的各个哈希函数以及所述布隆过滤器对所述关联明文数据进行处理,生成所述第一加密索引。
在一种可能的设计中,所述搜索模块503具体用于:
基于所述第一对称密钥和所述布隆过滤器生成所述待搜索关键词的搜索陷门;
根据预设噪声率对所述搜索陷门进行加噪处理,生成所述目标搜索陷门。
在一种可能的设计中,所述搜索模块503还用于:
基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标密文;
根据预设噪声率对所述目标密文进行去噪处理,得到去噪后的目标密文;
基于所述第二对称密钥对所述去噪后的目标密文进行解密处理,得到明文数据;
对所述明文数据进行筛选,得到所述目标明文数据。
在另一些实施例中,除了上述图5所示的模块外,还可进一步包括第二生成模块和更新模块,如图6所示,示例性示出了本申请实施例提供的另一种面向结构化数据的可搜索加密装置的结构示意图。该装置包括:第一生成模块501、加密模块502、搜索模块503、第二生成模块601和更新模块602。
所述第二生成模块601,用于当存在新增样本明文数据时,基于第三对称密钥和所述布隆过滤器生成所述新增样本明文数据的新增加密索引和所述样本明文数据的第二加密索引;
所述更新模块602,用于基于所述第二对称密钥对所述新增样本明文数据进行加密处理,得到新增密文,并基于所述新增密文、所述新增加密索引以及所述第二加密索引更新所述密文数据库。
在此需要说明的是,本申请实施例提供的上述装置,能够实现上述方法实施例中的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述面向结构化数据的可搜索加密装置的功能,参考图7,所述电子设备包括:
至少一个处理器701,以及与至少一个处理器701连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例。总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器701也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前文论述面向结构化数据的可搜索加密方法。处理器701可以实现图5或6所示的装置中各个模块的功能。
其中,处理器701是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的面向结构化数据的可搜索加密方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器701进行设计编程,可以将前述实施例中介绍的面向结构化数据的可搜索加密方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2所示的实施例的面向结构化数据的可搜索加密方法的步骤。如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述面向结构化数据的可搜索加密方法。
在一些可能的实施方式中,本申请提供的面向结构化数据的可搜索加密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的面向结构化数据的可搜索加密方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种面向结构化数据的可搜索加密方法,其特征在于,所述方法包括:
在样本明文数据对应的各个属性中选择出各个关键属性,并基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引;
基于第二对称密钥对所述样本明文数据进行加密处理,得到密文,并将所述密文和所述第一加密索引存储至密文数据库;
响应于获取到待搜索关键词和所述第一对称密钥,基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,并基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据。
2.如权利要求1所述的方法,其特征在于,所述基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引,包括:
基于所述各个关键属性确定出关联明文数据;
基于所述第一对称密钥、所述关联明文数据对应的各个哈希函数以及所述布隆过滤器对所述关联明文数据进行处理,生成所述第一加密索引。
3.如权利要求1所述的方法,其特征在于,所述基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,包括:
基于所述第一对称密钥和所述布隆过滤器生成所述待搜索关键词的搜索陷门;
根据预设噪声率对所述搜索陷门进行加噪处理,生成所述目标搜索陷门。
4.如权利要求1所述的方法,其特征在于,所述基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据,包括:
基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标密文;
根据预设噪声率对所述目标密文进行去噪处理,得到去噪后的目标密文;
基于所述第二对称密钥对所述去噪后的目标密文进行解密处理,得到明文数据;
对所述明文数据进行筛选,得到所述目标明文数据。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当存在新增样本明文数据时,基于第三对称密钥和所述布隆过滤器生成所述新增样本明文数据的新增加密索引和所述样本明文数据的第二加密索引;
基于所述第二对称密钥对所述新增样本明文数据进行加密处理,得到新增密文;
基于所述新增密文、所述新增加密索引以及所述第二加密索引更新所述密文数据库。
6.一种面向结构化数据的可搜索加密装置,其特征在于,所述装置包括:
第一生成模块,用于在样本明文数据对应的各个属性中选择出各个关键属性,并基于所述各个关键属性以及第一对称密钥生成所述样本明文数据的第一加密索引;
加密模块,用于基于第二对称密钥对所述样本明文数据进行加密处理,得到密文,并将所述密文和所述第一加密索引存储至密文数据库;
搜索模块,用于响应于获取到待搜索关键词和所述第一对称密钥,基于所述第一对称密钥和布隆过滤器生成所述待搜索关键词的目标搜索陷门,并基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标明文数据。
7.如权利要求6所述的装置,其特征在于,所述第一生成模块具体用于:
基于所述各个关键属性确定出关联明文数据;
基于所述第一对称密钥、所述关联明文数据对应的各个哈希函数以及所述布隆过滤器对所述关联明文数据进行处理,生成所述第一加密索引。
8.如权利要求6所述的装置,其特征在于,所述搜索模块具体用于:
基于所述第一对称密钥和所述布隆过滤器生成所述待搜索关键词的搜索陷门;
根据预设噪声率对所述搜索陷门进行加噪处理,生成所述目标搜索陷门。
9.如权利要求6所述的装置,其特征在于,所述搜索模块还用于:
基于所述目标搜索陷门在所述密文数据库中进行搜索,得到所述待搜索关键词对应的目标密文;
根据预设噪声率对所述目标密文进行去噪处理,得到去噪后的目标密文;
基于所述第二对称密钥对所述去噪后的目标密文进行解密处理,得到明文数据;
对所述明文数据进行筛选,得到所述目标明文数据。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二生成模块,用于当存在新增样本明文数据时,基于第三对称密钥和所述布隆过滤器生成所述新增样本明文数据的新增加密索引和所述样本明文数据的第二加密索引;
更新模块,用于基于所述第二对称密钥对所述新增样本明文数据进行加密处理,得到新增密文,并基于所述新增密文、所述新增加密索引以及所述第二加密索引更新所述密文数据库。
11.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1-5中任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法步骤。
CN202311425831.9A 2023-10-30 2023-10-30 一种面向结构化数据的可搜索加密方法、装置及电子设备 Pending CN117421771A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311425831.9A CN117421771A (zh) 2023-10-30 2023-10-30 一种面向结构化数据的可搜索加密方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311425831.9A CN117421771A (zh) 2023-10-30 2023-10-30 一种面向结构化数据的可搜索加密方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117421771A true CN117421771A (zh) 2024-01-19

Family

ID=89524425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311425831.9A Pending CN117421771A (zh) 2023-10-30 2023-10-30 一种面向结构化数据的可搜索加密方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117421771A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117763593A (zh) * 2024-02-21 2024-03-26 电子科技大学 隐藏模式的多关键词对称可搜索加密方法、终端及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117763593A (zh) * 2024-02-21 2024-03-26 电子科技大学 隐藏模式的多关键词对称可搜索加密方法、终端及服务器
CN117763593B (zh) * 2024-02-21 2024-05-07 电子科技大学 隐藏模式的多关键词对称可搜索加密方法、终端及服务器

Similar Documents

Publication Publication Date Title
CN110689349B (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
Faber et al. Three-party ORAM for secure computation
May How to meet ternary LWE keys
US11270227B2 (en) Method for managing a machine learning model
CN113169882A (zh) 用于区块链的互操作性的系统和方法
US9141824B2 (en) Dynamic database update in multi-server private information retrieval scheme
CN115834200A (zh) 基于区块链的属性基可搜索加密数据共享方法
CN113254955A (zh) 前向安全的连接关键词对称可搜索加密方法、系统及应用
WO2015038447A1 (en) Security processing unit with configurable access control
CN113886418B (zh) 一种数据处理方法、装置、电子设备及机器可读存储介质
Wang et al. SCALE: An efficient framework for secure dynamic skyline query processing in the cloud
Peng et al. LS-RQ: A lightweight and forward-secure range query on geographically encrypted data
CN117421771A (zh) 一种面向结构化数据的可搜索加密方法、装置及电子设备
Ananthi et al. FSS-SDD: fuzzy-based semantic search for secure data discovery from outsourced cloud data
JP2010165275A (ja) データ格納システム及び情報送信装置及びサーバ装置
Kim et al. Privacy-preserving parallel kNN classification algorithm using index-based filtering in cloud computing
CN109284302B (zh) 数据处理方法及装置
CN115905633A (zh) 一种隐私保护的图相似性检索方法及系统
JP6732887B2 (ja) データベースクエリのための方法及びシステム
CN117951730A (zh) 一种基于哈希索引的云端安全可搜索加密方法
CN117828155A (zh) 防爬虫处理方法、装置及电子设备、存储介质
CN117171202A (zh) 一种数据查询方法及装置
US11645399B1 (en) Searching encrypted data
CN113158087A (zh) 一种空间文本的查询方法及装置
CN111680062A (zh) 一种安全多目标数据对象查询方法及存储介质

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