CN114647662A - 数据检索方法、装置、电子设备、存储介质 - Google Patents
数据检索方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN114647662A CN114647662A CN202210517616.0A CN202210517616A CN114647662A CN 114647662 A CN114647662 A CN 114647662A CN 202210517616 A CN202210517616 A CN 202210517616A CN 114647662 A CN114647662 A CN 114647662A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- result
- condition
- fragments
- data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了数据检索方法、装置、电子设备、存储介质。其中,方法应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索方法包括:获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;根据所述第一结果碎片得到对应于所述检索条件的检索结果。从而实现了隐私信息检索,检索准确性高,且支持构建复杂多样的条件表达式,适用于各类应用场景。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据检索方法、装置、电子设备、存储介质。
背景技术
条件查询是传统数据库中的核心功能之一,通常需要在SQL(Structured QueryLanguage,结构化查询语言)语句中给定查询目标库表、查询目标字段、条件表达式,返回满足条件表达式的指定库表中指定目标字段值。但在传统的数据库查询处理方法下,查询条件(包括查询条件的逻辑和条件值)都采用明文方式进行处理,被查询方可以获取到查询条件,无法保护用户查询隐私。
为了保护用户的检索隐私,目前常采用隐私信息检索(Private InformationRetrieval,简称PIR)技术进行信息检索,查询方向被查询方服务器提交查询请求后,在被查询方无法获知查询方具体查询条件和查询结果的前提下,查询方获得正确的查询结果。但目前的PIR中,无法构建更复杂多样的条件表达式,无法实现满足条件范围的数据批量检索。因此,PIR在实际使用中存在较大的功能和应用场景局限性。
发明内容
本发明要解决的技术问题是为了克服上述缺陷,提供一种数据检索方法、装置、电子设备、存储介质。
本发明是通过下述技术方案来解决上述技术问题:
第一方面,提供一种数据检索方法,应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索方法包括:
获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;
将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;
根据所述第一结果碎片得到对应于所述检索条件的检索结果。
可选地,所述检索条件包括:检索请求方提供的检索条件,和/或根据来自于所述其他参与节点的条件碎片确定的检索条件。
可选地,在将所述多个条件碎片中的部分发送至其他参与节点的情况下,所述数据检索方法还包括:
将未发送的条件碎片输入安全条件表达式得到对应的第二结果碎片;
根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果。
可选地,在将所述多个条件碎片中的部分发送至其他参与节点的情况下,所述数据检索方法还包括:
获取来自于所述其他参与节点的条件碎片;
将未发送的条件碎片以及所述来自于所述其他参与节点的条件碎片输入所述安全条件表达式以得到对应的第二结果碎片;
根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
根据所述第一结果碎片和所述第二结果碎片得到对应于所述检索结果。
可选地,还包括:
基于预设的安全计算算子将所述检索条件包含的检索关键词对应的数据字段构建成所述安全条件表达式;
所述安全计算算子包括:计算算子和关系运算算子;
所述计算算子包括以下至少之一:加法、减法、乘法、除法;
所述关系运算算子包括以下至少之一:大于、小于、大于等于、小于等于、等于、不等于、与、或、非。
可选地,根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
采用不经意传输协议在参与节点存储的数据中筛选出与所述第一结果碎片相匹配的目标数据,并根据目标数据确定所述检索结果。
可选地,各个参与节点部署有一对公钥和私钥;
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果,包括:
构建对应于第二结果碎片的第二条件融合项;
将所述第二条件融合项发送给所述其他参与节点,以由所述其他参与节点采用第一融合条件项对所述第二条件融合项作抵销运算并采用私钥对与抵销运算结果相匹配的目标数据进行加密;所述第一融合条件项由所述其他参与节点基于所述第一结果碎片构建得到;
采用公钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
第二方面,提供一种数据检索装置,应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索装置包括:
获取模块,用于获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;
发送模块,用于将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;
检索模块,用于根据所述第一结果碎片得到对应于所述检索条件的检索结果。
可选地,所述检索条件包括:检索请求方提供的检索条件,和/或根据来自于所述其他参与节点的条件碎片确定的检索条件。
可选地,所述数据检索装置还包括:
输入模块,用于将未发送的条件碎片输入安全条件表达式得到对应的第二结果碎片;
所述检索模块具体用于:
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果。
可选地,所述数据检索装置还包括:
获取模块,用于获取来自于所述其他参与节点的条件碎片;
输入模块,用于将未发送的条件碎片以及所述来自于所述其他参与节点的条件碎片输入所述安全条件表达式以得到对应的第二结果碎片;
所述检索模块具体用于根据所述第一结果碎片和所述第二结果碎片得到对应于所述检索结果。
可选地,还包括:
构建模块,用于基于预设的安全计算算子将所述检索条件包含的检索关键词对应的数据字段构建成所述安全条件表达式;
所述安全计算算子包括:计算算子和关系运算算子;
所述计算算子包括以下至少之一:加法、减法、乘法、除法;
所述关系运算算子包括以下至少之一:大于、小于、大于等于、小于等于、等于、不等于、与、或、非。
可选地,所述检索模块用于:
采用不经意传输协议在参与节点存储的数据中筛选出与所述第一结果碎片相匹配的目标数据,并根据目标数据确定所述检索结果。
可选地,各个参与节点部署有一对公钥和私钥;
所述检索模块包括:
构建单元,用于构建对应于第二结果碎片的第二条件融合项;
发送单元,用于将所述第二条件融合项发送给所述其他参与节点,以由所述其他参与节点采用第一融合条件项对所述第二条件融合项作抵销运算并采用私钥对与抵销运算结果相匹配的目标数据进行加密;所述第一融合条件项由所述其他参与节点基于所述第一结果碎片构建得到;
解密单元,用于采用公钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的数据检索方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的数据检索方法。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:本发明实施例中,支持带任意安全条件表达式的隐私信息检索,得到所有满足检索条件的指定数据,检索准确性高,且支持构建复杂多样的条件表达式,实现满足条件范围的数据批量检索,适用于各类应用场景。
附图说明
图1为本发明一示例性实施例提供的一种数据检索方法的流程图;
图2为本发明一示例性实施例提供的另一种数据检索方法的流程图;
图3是本发明一示例性实施例提供的一种数据查询方法的场景示意图;
图4为本发明一示例性实施例提供的一种数据检索装置的模块示意图;
图5为本发明一示例实施例示出的一种电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
图1为本发明一示例性实施例提供的一种数据检索方法的流程图,该数据检索方法应用于分布式网络中部署的多个参与节点中的任一参与节点,基于多个参与节点的交互实现隐私信息检索(Private Information Retrieval,简称PIR),分布式网络中的参与节点的数量可以根据实际情况自行设置,参与节点可以但不限于包括数据库、部署于数据库的服务、部署数据库的服务器等。参见图1,该数据检索方法包括以下步骤:
步骤101、获取检索条件,基于秘密分享算法拆分检索条件得到多个条件碎片。
其中,多个条件碎片的数量根据实现隐私信息检索的参与节点的数量而确定。
在一个实施例中,检索条件由检索请求方提供。当某个参与节点接收到检索请求时,获取检索请求方提供的检索条件。该检索条件包括检索关键词和/或检索范围。
下面将接收到检索请求的参与节点称为本参与节点,执行步骤101~103,多个参与节点中除了本参与节点之外的节点称为其他参与节点。
在一个实施例中,检索条件来自于其他参与节点,其他参与节点可以直接将获取的明文检索条件发送给作为检索请求方的参与节点;为了保护检索隐私,其他参与节点可以基于秘密分享算法对明文检索条件进行拆分得到多个条件碎片,并将多个条件碎片中的至少一个条件碎片发送给本参与节点;其他参与节点还可以将其获取的检索条件进行加密之后发送给本参与节点,以保护检索隐私。
在一个实施例中,检索条件包括由检索请求方提供的检索条件以及来自于其他参与节点的检索条件。
步骤102、将多个条件碎片中的全部或者部分发送至其他参与节点,以由其他参与节点根据所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片。
其中,各个参与节点所持有的条件碎片包括其基于检索条件拆分得到的部分条件碎片和/或接收到的条件碎片,各个参与节点所持有的条件碎片不完全相同。安全条件表达式表征数据字段的逻辑关系,数据字段为参与节点本地存储的数据的字段,数据字段与检索条件包含的检索关键词相对应。
安全条件表达式可以预先部署于其他参与节点;安全条件表达式也可以由本参与节点构建并发送给其他参与节点,本参与节点可以将条件碎片和安全条件表达式同时发送给其他参与节点,也可以先发送条件碎片再发送安全条件表达式,还可以先发送安全条件表达式再发送条件碎片,本发明对此不作特别限定。
在由本参与节点构建安全条件表达式的场景下,本参与节点基于预设的安全计算算子将检索条件包含的检索关键词对应的数据字段构建成安全条件表达式。检索关键词包括逻辑和条件值。
安全计算算子包括:计算算子和关系运算算子。计算算子包括以下至少之一:加法、减法、乘法、除法等。关系运算算子包括以下至少之一:大于、小于、大于等于、小于等于、等于、不等于、与、或、非等。可以支持构建复杂多样的条件表达式,支持混合叠加运算,有利于拓展具有复杂查询条件需求的PIR应用场景。
各参与节点将其所持有的所有条件碎片输入安全条件表达式,将安全条件表达式的输出结果确定为结果碎片。为了便于后续根据结果碎片得到检索结果,以布尔型表示结果碎片。
在一个实施例中,各参与节点调用多方安全计算引擎进行安全条件表达式的安全计算。
在一个实施例中,若本参与节点本地存储的数据中不包含与各个条件碎片对应的检索关键词相匹配的字段,也即本参与节点本地存储的数据中不存在与检索条件相匹配的需求数据,则本参与节点将全部条件碎片发送至其他参与节点,否则本参与节点将部分条件碎片发送至其他参与节点。
在一个实施例中,本参与节点将部分条件碎片发送至每个其他参与节点,每个其他参与节点将其所持有的每个条件碎片输入安全条件表达式以得到对应的第一结果碎片,并将该第一结果碎片返回至本参与节点。
可以理解的,若部分条件碎片包含的检索关键词与其他参与节点本地存储的数据的字段不匹配,则其他参与节点不返回结果。举例来说,假设其他参与节点接收到的部分条件碎片对应的检索关键词包括年龄,而其他参与节点a本地存储的数据中并不包含字段为年龄的数据,则其他参与节点a不返回结果。假设其他参与节点接收到的部分条件碎片对应的检索关键词包括年龄、收入,而其他参与节点a本地存储的数据中并不包含字段为年龄的数据,但包含字段为收入的数据,则其他参与节点a返回字段为收入且满足条件碎片的结果碎片。
在一个实施例中,发送条件碎片给其他参与节点之前,先确定对应于条件碎片的检索结果的存储位置,将条件碎片发送给对应存储位置的其他参与节点。各个参与节点可以预先存储各个字段与存储位置的对应关系,该对应关系用于确定对应于条件碎片的检索结果的存储位置。
举例来说,假设条件碎片a包含的检索关键词包括年龄,其他参与节点a本地存储的数据中包含字段为年龄的数据,则将条件碎片a发送给其他参与节点a。假设条件碎片b包含的检索关键词包括收入,其他参与节点b以及其他参与节点c本地存储的数据中均包含字段为收入的数据,则将条件碎片b发送给其他参与节点b以及其他参与节点c。假设条件碎片c包含的检索关键词包括年龄,本参与节点本地存储的数据中包含字段为年龄的数据,其他参与节点本地存储的数据中均不包含字段为年龄的数据,则本参与节点不向外发送条件碎片c,而是在本参与节点本地检索得到对应的第二结果碎片。
在一个实施例中,本地参与节点根据检索条件包含的关键词确定涉及的参与节点的数量,基于秘密分享算法将检索条件拆分为N个条件碎片,N与参与节点的数量相匹配。本地参与节点将N个条件碎片发送给N个参与节点。若本参与节点本地存储的数据中包含与条件碎片对应的检索关键词相匹配的字段,也即本地参与节点为N个参与节点中的一个节点,则本地参与节点自身保留一个条件碎片,将N-1个条件碎片发送给N-1个其他参与节点,N-1个其他参与节点分别根据各自接收到的条件碎片以及安全条件表达式在本地检索得到对应的第一结果碎片,并返回给本地参与节点。在本地参与节点保留了条件碎片的情况下,本地参与节点根据保留的条件碎片以及安全条件表达式在本地检索得到对应的第二结果碎片,下述步骤103中本参与节点则根据第一结果碎片和第二结果碎片得到对应于检索条件的检索结果。
步骤103、根据第一结果碎片得到对应于检索条件的检索结果。
本发明实施例中,利用秘密分享算法保护了检索条件,且支持带任意安全条件表达式的隐私信息检索,得到所有满足检索条件的指定数据,检索准确性高,同时支持构建复杂多样的条件表达式,实现满足条件范围的数据批量检索,适用于各类应用场景。
在一个实施例中,参与节点采用不经意传输协议在参与节点存储的数据中筛选出与第一结果碎片相匹配的目标数据,并根据目标数据确定检索结果。通过将结果碎片引入到不经意传输协议,使不经意获得满足安全条件表达式的目标数据,期间被查询方无法获知安全条件表达式的计算结果及满足检索条件的检索结果,查询方无法获知除了满足检索条件之前的其他数据。
在一个实施例中,在将多个条件碎片中的部分发送至其他参与节点的情况下,说明本参与节点包含与各个条件碎片对应的检索关键词相匹配的字段,部分检索结果存储于本参与节点,数据检索方法还包括:将未发送的条件碎片输入安全条件表达式得到对应的第二结果碎片,确定检索结果时,则根据第一结果碎片和第二结果碎片得到检索结果。
在一个实施例中,各个参与节点部署有一对公钥和私钥,第一结果碎片和第二结果碎片均采用布尔型表示,根据第一结果碎片和第二结果碎片得到检索结果时,本参与节点构建对应于第二结果碎片的第二条件融合项,并将第二条件融合项发送给其他参与节点,以由其他参与节点采用第一融合条件项对第二条件融合项作抵销运算,其他参与节点还在本地存储的数据中筛选出与抵销运算结果相匹配的目标数据,并采用私钥对目标数据进行加密后发送给本参与节点;其中,第一融合条件项由其他参与节点融合第一结果碎片得到。本参与节点采用公钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
在一个实施例中,各个参与节点发送条件融合项之前,对条件融合项进行盲化处理,并发送经过盲化处理的条件融合项。相对应的,参与节点需要对加密后的目标数据进行去盲化处理以及解密。经过盲化处理的条件融合项, 能够进一步确保隐私检索的安全性。
本发明实施例中,结果碎片以布尔型表示,通过对结果碎片进行抵销运算、加密运算,从而查询方无需对结果碎片进行秘密恢复,在不需要向其他参与节点泄露条件判断为真的数据内容和不向本参与节点泄露其他参与节点本地存储的其他数据的前提下,输出对应于检索条件的检索结果,确保了数据安全性,且能够实现批量检索,可以提高检索效率。
图2为本发明一示例性实施例提供的另一种数据检索方法的流程图,该数据检索方法应用于分布式网络中部署的多个参与节点中的任一参与节点,本实施例提供的数据查询方法与图1示出的数据查询方法基本相同,不同之处在于,本参与节点还获取来自于其他参与节点的条件碎片,并基于本参与节点的条件碎片以及来自于其他参与节点进行数据检索。参见图2,该数据检索方法包括以下步骤:
步骤201、本参与节点获取检索条件,基于秘密分享算法拆分检索条件得到多个条件碎片。
步骤202、本参与节点将多个条件碎片中的全部或者部分发送至其他参与节点,以由其他参与节点根据所持有的条件碎片以及安全条件表达式得到对应的第一结果碎片。
其中,步骤201和步骤202的具体实现方式与步骤101和步骤102的具体实现方式类似,此处不再赘述。
步骤203、本参与节点构建安全条件表达式并发送给其他参与节点。
需要说明的是,上述步骤201~步骤203不限于图2示出的顺序执行,可以同步执行,也可以调换顺序执行,例如,步骤201和步骤202与步骤203同步执行,或者先执行步骤203再执行步骤201和步骤203。
步骤204、本参与节点获取来自于其他参与节点的条件碎片。
其他参与节点发送的条件碎片,由其他参与节点对其获取的检索条件基于秘密分享算法进行拆分得到。
步骤205、本参与节点根据其所持有的条件碎片以及安全条件表达式,得到第二结果碎片。
具体的,本参与节点将其所持有的条件碎片输入安全条件表达式,将安全条件表达式的输出结果确定为第二结果碎片。
其他参与节点也基于各自所持有的条件碎片进行检索,得到第一结果碎片。
步骤206、本参与节点根据第一结果碎片和第二结果碎片得到对应于检索条件的检索结果。
本发明实施例中,假设作为被查询方的其他参与节点本地存储的n条数据中有m条数据符合检索条件,即布尔型判断结果为真的数据,本参与节点发起批量查询请求,本参与节点和其他参与节点分别利用各自持有的n个结果碎片执行不经意传输协议,以使作为查询方的参与节点得到检索结果。相比传统数据库中的条件查询,本发明实施例中,利用秘密分享算法,在检索条件判断过程中保护了检索条件的目标阈值、与检索条件相关的相关数据字段、检索结果以及双方本地数据库中其余数据的安全性。
本发明实施例中,支持查询方批量查询满足检索条件的多条记录的检索结果,减少检索的重复工作量,同时可重复执行协议,可扩展至查询满足条件的其他多条指定字段。
图3是本发明一示例性实施例提供的一种数据查询方法的场景示意图,图中以参与节点包括参与节点a和参与节点b,参与节点a作为本参与节点,参与节点b作为其他参与节点为例,对数据查询过程作进一步说明。
参与节点a向参与节点b发起检索请求,并附带安全条件表达式,安全条件表达式
表示为F([]、[ ]),[ ]表示参与节点a的条件碎片向量,[]表示参与节点b的条
件碎片向量,F表示计算逻辑;参与节点a可以根据实际需求构造安全条件表达式F([ ]、
[]),例如可以构造为[]≥[]+10。参与节点a本地存储的数据以及参与节点b本地
存储的数据均可参与安全条件表达式的判断。当然,图中只是以参与节点a和参与节点b为
例进行说明,在实际检索过程中可扩展到用其他参与节点的数据加入到安全条件表达式中
以支持参与节点a筛选出符合需求的数据。
参与节点a将获取的检索条件基于秘密分享算法拆分成两个条件碎片 、 ,参与节点a将 发送给参与节点b,参与节点a保留。参与节点b将获取的检索
条件 基于秘密分享算法拆分成两个条件碎片 、 ,参与节点b将 发送给
参与节点a,参与节点b保留 。至此,参与节点a所持有的条件碎片包括 ,
组成参与节点a的条件碎片向量[ ];参与节点b所持有的条件碎片包括 ,组
成参与节点b的条件碎片向量[]。参与节点a和参与节点b各自执行安全条件表达式实现
检索,参与节点a将[]输入安全条件表达式得到第二结果碎片 、 、……、 ,表示成结果碎片向量为{ 、 、……、 },每个第二结果碎片表
示参与节点a本地存储的数据中满足安全条件表达式的结果。参与节点b将[]输入安全
条件表达式得到第一结果碎片 、 、……、 ,表示成结果碎片向量为{ 、 、……、 },每个第二结果碎片表示参与节点b本地存储的数据中满
足安全条件表达式的结果。第二结果碎片以碎片方式存在于参与节点a,第一结果碎片以碎
片方式存在于参与节点b。其中,n表示结果碎片的数量,也即检索到数据的条数。
在计算检索结果时,基于改进的不经意传输协议(不经意条件解密协议)得到检索结果。参与节点a构建对应于布尔型的第二结果碎片的第二条件融合项并将第二条件融合项发送给参与节点b,参与节点b构建对应于布尔型的第一结果碎片的第一条件融合项并采用第一融合条件项对第二条件融合项作抵销运算,参与节点b还在本地存储的数据中筛选出与抵销运算结果相匹配的目标数据,并采用参与节点b所持有的私钥对目标数据进行加密后发送给参与节点a。参与节点a采用其所持有的公钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
下面以获取第0位用户的数据或者第0条数据的解锁结果为例,进一步说明。参与
节点a构建第二条件融合项为,其中为符合安全要求的素数,k为参与
节点a持有的密钥, 为参与节点a持有的对应第0位用户的第二结果碎片。参与节点a
将第二条件融合项发送给参与节点b(其他参与节点)。参与节点b构建布尔型的第一条件融
合项 , 为节点b持有的对应第0位用户的第一结果碎片。参与节点b
采用第一融合条件项对第二条件融合项作抵销运算,得到抵消运算结果,参与节点
b还在本地存储的数据中筛选出与抵销运算结果相匹配的目标数据,并采用参与节点b所持
有的秘钥r对目标数据进行加密后,加密结果例如表示为 ,其中
为参与节点b本地存储的对应第0位用户的查询目标数据,r为节点b的秘钥。参与节点b再计
算抵消项 ,并将D和Y发送给参与节点a,参与节点a接收D和Y并采用其所持有的密
钥k对加密后的目标数据进行解密计算,以第0位用户的数据为例,即计算,将解密成功的
解密结果确定为检索结果,以第0位用户的数据为例,若该用户满足条件即 + ,则正确解密得到该用户的查询目标数据 ;若该用户不满足条件即
+,则收到节点b私钥的保护无法正确解密,其他n-1位用户以此类推,最终可以
完成安全的条件检索。
在批量查询过程中,利用不经意传输算法构造不经意条件解密协议,使查询方和被查询方都无法直接获知条件表达式判断结果,从而被查询方无法推断查询方的查询意图,此外查询方在过程中也无法获知被查询方数据库中条件逻辑判断为假的其他数据。
与前述数据检索方法实施例相对应,本发明还提供了数据检索装置的实施例。
图4为本发明一示例性实施例提供的一种数据检索装置的模块示意图,该数据检索装置应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索装置包括:
获取模块41,用于获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;
发送模块42,用于将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;
检索模块43,用于根据所述第一结果碎片得到对应于所述检索条件的检索结果。
可选地,所述检索条件包括:检索请求方提供的检索条件,和/或根据来自于所述其他参与节点的条件碎片确定的检索条件。
可选地,所述数据检索装置还包括:
输入模块,用于将未发送的条件碎片输入安全条件表达式得到对应的第二结果碎片;
所述检索模块具体用于:
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果。
可选地,所述数据检索装置还包括:
获取模块,用于获取来自于所述其他参与节点的条件碎片;
输入模块,用于将未发送的条件碎片以及所述来自于所述其他参与节点的条件碎片输入所述安全条件表达式以得到对应的第二结果碎片;
所述检索模块具体用于根据所述第一结果碎片和所述第二结果碎片得到对应于所述检索结果。
可选地,还包括:
构建模块,用于基于预设的安全计算算子将所述检索条件包含的检索关键词对应的数据字段构建成所述安全条件表达式;
所述安全计算算子包括:计算算子和关系运算算子;
所述计算算子包括以下至少之一:加法、减法、乘法、除法;
所述关系运算算子包括以下至少之一:大于、小于、大于等于、小于等于、等于、不等于、与、或、非。
可选地,所述检索模块用于:
采用不经意传输协议在参与节点存储的数据中筛选出与所述第一结果碎片相匹配的目标数据,并根据目标数据确定所述检索结果。
可选地,各个参与节点部署有一对公钥和私钥;
所述检索模块包括:
构建单元,用于构建对应于第二结果碎片的第二条件融合项;
发送单元,用于将所述第二条件融合项发送给所述其他参与节点,以由所述其他参与节点采用第一融合条件项对所述第二条件融合项作抵销运算并采用私钥对与抵销运算结果相匹配的目标数据进行加密;所述第一融合条件项由所述其他参与节点基于所述第一结果碎片构建得到;
解密单元,用于采用公钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图5为本发明一示例实施例示出的一种电子设备的结构示意图,示出了适于用来实现本发明实施方式的示例性电子设备50的框图。图5显示的电子设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备50可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。
总线53包括数据总线、地址总线和控制总线。
存储器52可以包括易失性存储器,例如随机存取存储器(RAM) 521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。
存储器52还可以包括具有一组(至少一个)程序模块524的程序工具525(或实用工具),这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如上述任一实施例所提供的方法。
电子设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,模型生成的电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与模型生成的电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所提供的方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明实施例还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现上述任一实施例的方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (10)
1.一种数据检索方法,其特征在于,应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索方法包括:
获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;
将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;
根据所述第一结果碎片得到对应于所述检索条件的检索结果。
2.根据权利要求1所述的数据检索方法,其特征在于,所述检索条件包括:检索请求方提供的检索条件,和/或根据来自于所述其他参与节点的条件碎片确定的检索条件。
3.根据权利要求1所述的数据检索方法,其特征在于,在将所述多个条件碎片中的部分发送至其他参与节点的情况下,所述数据检索方法还包括:
将未发送的条件碎片输入安全条件表达式得到对应的第二结果碎片;
根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果。
4.根据权利要求1所述的数据检索方法,其特征在于,在将所述多个条件碎片中的部分发送至其他参与节点的情况下,所述数据检索方法还包括:
获取来自于所述其他参与节点的条件碎片;
将未发送的条件碎片以及所述来自于所述其他参与节点的条件碎片输入所述安全条件表达式以得到对应的第二结果碎片;
根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
根据所述第一结果碎片和所述第二结果碎片得到对应于所述检索结果。
5.根据权利要求3或4所述的数据检索方法,其特征在于,还包括:
基于预设的安全计算算子将所述检索条件包含的检索关键词对应的数据字段构建成所述安全条件表达式;
所述安全计算算子包括:计算算子和关系运算算子;
所述计算算子包括以下至少之一:加法、减法、乘法、除法;
所述关系运算算子包括以下至少之一:大于、小于、大于等于、小于等于、等于、不等于、与、或、非。
6.根据权利要求1所述的数据检索方法,其特征在于,根据所述第一结果碎片得到对应于所述检索条件的检索结果,包括:
采用不经意传输协议在参与节点存储的数据中筛选出与所述第一结果碎片相匹配的目标数据,并根据目标数据确定所述检索结果。
7.根据权利要求3所述的数据检索方法,其特征在于,各个参与节点部署有秘钥;
根据所述第一结果碎片和所述第二结果碎片得到所述检索结果,包括:
根据所述参与节点所持有的秘钥以及第二结果碎片构建布尔型的第二条件融合项;
将所述第二条件融合项发送给所述其他参与节点,以由所述其他参与节点采用布尔型的第一融合条件项对所述第二条件融合项作抵销运算并采用秘钥对与抵销运算结果相匹配的目标数据进行加密以及基于其所持有的秘钥得到抵消项;所述第一融合条件项由所述其他参与节点基于所述第一结果碎片构建得到;
采用所述抵消项以及所述参与节点持有的秘钥对加密后的目标数据进行解密,将解密成功的解密结果确定为检索结果。
8.一种数据检索装置,其特征在于,应用于分布式网络中部署的多个参与节点中的任一参与节点;所述数据检索装置包括:
获取模块,用于获取检索条件,基于秘密分享算法拆分所述检索条件得到多个条件碎片;
发送模块,用于将所述多个条件碎片中的全部或者部分发送至其他参与节点,以由所述其他参与节点将其所持有的条件碎片输入安全条件表达式得到对应的第一结果碎片;所述安全条件表达式表征所述检索条件包含的检索关键词对应数据字段的逻辑关系;
检索模块,用于根据所述第一结果碎片得到对应于所述检索条件的检索结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的数据检索方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210517616.0A CN114647662B (zh) | 2022-05-13 | 2022-05-13 | 数据检索方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210517616.0A CN114647662B (zh) | 2022-05-13 | 2022-05-13 | 数据检索方法、装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114647662A true CN114647662A (zh) | 2022-06-21 |
CN114647662B CN114647662B (zh) | 2022-08-23 |
Family
ID=81996662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210517616.0A Active CN114647662B (zh) | 2022-05-13 | 2022-05-13 | 数据检索方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647662B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
US20200153627A1 (en) * | 2018-11-09 | 2020-05-14 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
US20200211105A1 (en) * | 2017-12-29 | 2020-07-02 | Alibaba Group Holding Limited | Data auditing method and device |
CN111934889A (zh) * | 2020-10-13 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
CN112000978A (zh) * | 2019-06-19 | 2020-11-27 | 华控清交信息科技(北京)有限公司 | 隐私数据的输出方法、数据处理系统及存储介质 |
US20210051007A1 (en) * | 2018-08-14 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Secure multi-party computation method and apparatus, and electronic device |
US20210051001A1 (en) * | 2018-08-14 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Multiparty secure computing method, device, and electronic device |
CN112565314A (zh) * | 2019-09-10 | 2021-03-26 | 华控清交信息科技(北京)有限公司 | 一种计算集群和计算集群中的计算节点 |
CN113378228A (zh) * | 2021-06-29 | 2021-09-10 | 招商局金融科技有限公司 | 私有信息检索方法、装置、设备及存储介质 |
CN113472538A (zh) * | 2021-09-02 | 2021-10-01 | 富算科技(上海)有限公司 | 多方安全计算的结果隐私性检测方法、装置、设备及介质 |
US20210391983A1 (en) * | 2020-06-15 | 2021-12-16 | Acronis International Gmbh | Systems and methods for preserving data integrity when integrating secure multiparty computation and blockchain technology |
CN114117471A (zh) * | 2021-11-10 | 2022-03-01 | 冯伊娜 | 机密数据管理方法、电子设备、存储介质及程序产品 |
CN114143000A (zh) * | 2021-11-29 | 2022-03-04 | 百保(上海)科技有限公司 | 基于不经意传输协议与秘密分享的匿踪查询方法及装置 |
CN114328504A (zh) * | 2021-08-27 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据联合查询方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-05-13 CN CN202210517616.0A patent/CN114647662B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200211105A1 (en) * | 2017-12-29 | 2020-07-02 | Alibaba Group Holding Limited | Data auditing method and device |
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
US20210051007A1 (en) * | 2018-08-14 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Secure multi-party computation method and apparatus, and electronic device |
US20210051001A1 (en) * | 2018-08-14 | 2021-02-18 | Advanced New Technologies Co., Ltd. | Multiparty secure computing method, device, and electronic device |
US20200153627A1 (en) * | 2018-11-09 | 2020-05-14 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
CN112000978A (zh) * | 2019-06-19 | 2020-11-27 | 华控清交信息科技(北京)有限公司 | 隐私数据的输出方法、数据处理系统及存储介质 |
CN112565314A (zh) * | 2019-09-10 | 2021-03-26 | 华控清交信息科技(北京)有限公司 | 一种计算集群和计算集群中的计算节点 |
US20210391983A1 (en) * | 2020-06-15 | 2021-12-16 | Acronis International Gmbh | Systems and methods for preserving data integrity when integrating secure multiparty computation and blockchain technology |
CN111934889A (zh) * | 2020-10-13 | 2020-11-13 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
CN113378228A (zh) * | 2021-06-29 | 2021-09-10 | 招商局金融科技有限公司 | 私有信息检索方法、装置、设备及存储介质 |
CN114328504A (zh) * | 2021-08-27 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据联合查询方法、装置、设备及计算机可读存储介质 |
CN113472538A (zh) * | 2021-09-02 | 2021-10-01 | 富算科技(上海)有限公司 | 多方安全计算的结果隐私性检测方法、装置、设备及介质 |
CN114117471A (zh) * | 2021-11-10 | 2022-03-01 | 冯伊娜 | 机密数据管理方法、电子设备、存储介质及程序产品 |
CN114143000A (zh) * | 2021-11-29 | 2022-03-04 | 百保(上海)科技有限公司 | 基于不经意传输协议与秘密分享的匿踪查询方法及装置 |
Non-Patent Citations (3)
Title |
---|
FENG HE ET AL.: "Research and Application of Secure Multi-Party Computation in Several Computational Geometry Problems", 《 2012 INTERNATIONAL CONFERENCE ON INDUSTRIAL CONTROL AND ELECTRONICS ENGINEERING》 * |
荆巍巍 等: "安全查询方案的设计与实现", 《计算机工程》 * |
黄毅群等: "分布式环境下保持隐私的关联规则挖掘算法", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114647662B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567950B2 (en) | System and method for confidentiality-preserving rank-ordered search | |
CN112800088A (zh) | 基于双向安全索引的数据库密文检索系统及方法 | |
CN109493017B (zh) | 基于区块链的可信外包存储方法 | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
Bethencourt et al. | New constructions and practical applications for private stream searching | |
JP2019500645A (ja) | 暗号プロトコルを用いたsqlベースのデータベースの保護 | |
CN109739945B (zh) | 一种基于混合索引的多关键词密文排序检索方法 | |
WO2012081450A1 (ja) | 暗号化データベース管理システム、クライアントおよびサーバ、自然結合方法およびプログラム | |
US12074966B2 (en) | Encrypted information retrieval | |
CN114547078A (zh) | 基于隐私计算的联邦跨特征查询方法、装置、介质及设备 | |
CN117150557A (zh) | 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统 | |
CN115795514A (zh) | 一种隐私信息检索方法、装置及系统 | |
Dhumal et al. | Confidentiality-conserving multi-keyword ranked search above encrypted cloud data | |
Raghavendra et al. | Survey on data storage and retrieval techniques over encrypted cloud data | |
CN109672525B (zh) | 一种具有前向索引的可搜索公钥加密方法及系统 | |
CN114647662B (zh) | 数据检索方法、装置、电子设备、存储介质 | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
CN115510490A (zh) | 一种非密钥共享的加密数据查询方法、装置、系统及设备 | |
CN112632063B (zh) | 受限最短距离查询方法、电子设备和可读存储介质 | |
Liu et al. | Efficient dynamic multi-client searchable encryption supporting fuzzy search | |
JP2003296331A (ja) | データ検索方法、データ検索システム、検索キーワード生成装置、及びコンピュータプログラム | |
CN109582818B (zh) | 一种基于可搜索加密的曲库云检索方法 | |
CN118520024B (zh) | 结合盲签名和不经意传输扩展实现的隐私信息检索方法 | |
JP7440662B2 (ja) | マルチキー情報検索 | |
CN116595562B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |