CN116502276B - 匿踪查询方法及装置 - Google Patents
匿踪查询方法及装置 Download PDFInfo
- Publication number
- CN116502276B CN116502276B CN202310784189.7A CN202310784189A CN116502276B CN 116502276 B CN116502276 B CN 116502276B CN 202310784189 A CN202310784189 A CN 202310784189A CN 116502276 B CN116502276 B CN 116502276B
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- index
- queried
- encryption
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013507 mapping Methods 0.000 claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- 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/248—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供匿踪查询方法及装置,其中所述匿踪查询方法包括:基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,将各第一加密待查询数据发送至数据提供方;接收数据提供方基于各第一加密待查询数据返回的第二加密待查询数据;基于第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据;将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至数据提供方;接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对加密查询结果进行解密,获得查询结果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及匿踪查询方法。本申请同时涉及匿踪查询装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着科学技术的发展,人们的生活逐渐智能化,人们也开始越来越注重隐私生活。在当前的现实生活中,往往会出现用户需要向数据提供方查询数据的情况,当用户在数据库中检索信息时,现有的隐匿查询技术会采用一定的方法来阻止数据库服务器知晓用户查询的相关信息,从而保护用户的查询隐私。例如,医药数据库、专利数据库等,对检索隐私有着较高的要求。
在目前的隐匿查询技术中,无法实现一次查询多条数据,并且在隐匿查询的过程中,是基于全态加密的方式对全量数据进行加密,在加解密的过程中会带来极大的计算开销,同时全量数据在计算过程中的数据传递也会带来极大的计算开销。
发明内容
有鉴于此,本申请实施例提供了匿踪查询方法。本申请同时涉及匿踪查询装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
根据本申请实施例的第一方面,提供了一种匿踪查询方法,应用于数据查询方,包括:
基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成;
基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据;
将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方;
接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
根据本申请实施例的第二方面,提供了一种匿踪查询方法,应用于数据提供方,包括:
基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据;
基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方;
根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,其中,待加密业务数据与索引数据相对应;
根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方。
根据本申请实施例的第三方面,提供了一种匿踪查询系统,包括数据查询方和数据提供方;
所述数据查询方,被配置为基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
所述数据提供方,被配置为基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
所述数据查询方,还被配置为接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成,目标加密待查询数据包括第一加密数据和第二加密数据;
所述数据提供方,还被配置为根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方,其中,待加密业务数据与索引数据相对应;
所述数据查询方,还被配置为接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
根据本申请实施例的第四方面,提供了一种匿踪查询装置,配置于数据查询方,包括:
第一生成模块,被配置为基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
接收模块,被配置即为接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成;
第一获取模块,被配置为基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据;
第一映射模块,被配置为将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方;
解密模块,被配置为接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
根据本申请实施例的第五方面,提供了一种匿踪查询装置,配置于数据提供方,包括:
第二生成模块,被配置为基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
第二映射模块,被配置为将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据;
第二获取模块,被配置为基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方;
确定模块,被配置为根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,其中,待加密业务数据与索引数据相对应;
加密模块,被配置为根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方。
根据本申请实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述匿踪查询方法的步骤。
根据本申请实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述匿踪查询方法的步骤。
本申请提供的匿踪查询方法,应用于数据查询方,包括基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成;基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据;将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方;接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
附图说明
图1是本申请一实施例提供的一种数据处理方法的应用场景示意图;
图2是本申请一实施例提供的一种应用于数据查询方的匿踪查询方法的流程图;
图3是本申请一实施例提供的一种应用于数据提供方的匿踪查询方法的流程图;
图4是本申请一实施例提供的一种匿踪查询系统的示意图;
图5是本申请一实施例提供的一种匿踪查询系统的交互示意图;
图6是本申请一实施例提供的一种配置于数据查询方的匿踪查询装置的结构示意图;
图7是本申请一实施例提供的一种配置于数据提供方的匿踪查询装置的结构示意图;
图8是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
隐匿查询(Private InformationRetrieval – PIR):也称隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。通常隐匿查询是一次查询单一数据,本申请中批量隐匿查询是指一次查询多条数据。
椭圆曲线加密法(Elliptic Curve Cryptography - ECC):是一种公钥加密技术,以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成的Abel群离散对数难解性,实现加密、解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。如曲线curve25519,其优点在于可以将任意数据x转换为曲线的横坐标,而无需验证纵坐标的存在性。
隐匿查询(Private InformationRetrieval – PIR)是现在被广泛应用的隐私计算技术之一,在当今数据要素越发重要的时代,数据流通将带来巨大的价值,这要求各个数据提供方需要提供或者流通有价值有意义的数据,并且保证没有多余的信息泄漏,换而言之数据流通需要保证安全且有价值。而这里的安全不仅需要保证数据提供方的数据安全,同时需要保护数据查询方查询信息的安全。当用户在数据库上检索信息时,它将采用一定的方法来阻止数据库服务器知晓用户查询语句的相关信息,从而保护用户的查询隐私。隐私信息检索的发展和普及不仅仅需要隐私保密技术的不断提高,还需要人们对隐私保护认知的不断增强。在当前现实生活中,对检索隐私有着较高要求的领域,隐匿查询都具有很大的应用空间。
目前主流的隐匿查询方案有:基于数论的PIR方案、基于同态加密的PIR方案、基于编码理论的单服务器PIR方案等,在上述方案中只有基于同态加密的PIR方案可以实现一次查询多条数据,其主要思路是数据提供方将自身数据加密,并建立密文多项式,发送给数据查询方,数据查询方将索引带入多项式求解最终结果,这将导致难以接受的计算开销:首先所有数据加密要基于全同态加密,而全同态加密将是普通对称加密开销的上百倍,然后是多项式的建立过程中的计算开销,一个多项式上千次方的便很难开展计算,所以需要大量的分桶,但数据查询方并不知道自己所查询的数据在哪一个分桶之中,故需要全部带入计算,而每一次计算都将带来上千次的密文的加和乘,其计算开销十分夸张。
在本申请中,提供了匿踪查询方法,本申请同时涉及匿踪查询装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种数据处理方法的应用场景示意图。本申请实施例提供的数据处理方法应用于终端,该终端可以是笔记本电脑、台式电脑、平板电脑、智能设备、服务器、云服务器、分布式服务器等。在本申请提供的实施例中,对终端的具体形式不做限定。如图1所示,数据提供方中保存有全量业务数据以及各业务数据对应的索引数据,通过某个索引数据可以查询到对应的业务数据。数据提供方预先将全量索引数据基于数据提供方的第二私钥进行加密,获得加密索引数据,将加密索引数据拆分为第一加密索引数据和第二加密索引数据。再将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据。
数据查询方要查询至少一个待查询数据,基于数据查询方的第一私钥,将各待查询数据加密为第一加密待查询数据。并将各第一加密待查询数据发送至数据提供方。
数据提供方在接收到第一加密待查询数据后,根据第二私钥对第一加密待查询数据进行二次加密,获得各第一加密待查询数据对应的第二加密待查询数据,并将各第二加密待查询数据返回至数据查询方。
数据查询方用第一私钥对第二加密待查询数据进行解密,即可获得多个目标加密待查询数据,这里的目标加密待查询数据可以理解为根据第二私钥对待查询数据进行加密后的加密查询数据。更进一步的,目标加密待查询数据包括第一加密数据和第二加密数据,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密索引数据对应的匿名空间数据,并将各匿名空间数据发送至数据提供方。
数据提供方根据匿名空间数据在预先创建的索引空间数据中进行查询,找到匹配的匹配索引数据,并将匹配索引数据对应的业务数据作为待加密业务数据,最后根据各待加密业务数据对应的第二加密索引数据对各待加密业务数据进行加密,获得加密查询结果,将各加密查询结果发送至所述数据查询方。
数据查询方根据第二加密数据对各加密查询结果进行解密,获得对应的查询结果。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
其次,通过将待查询数据映射到预设匿名空间,数据提供方和数据查询方之间通过索引数据和待查询数据进行交互,减少了数据量的传输,节约了数据传递过程中的传输耗时,在最后传递加密数据时,数据提供方也无需对全量业务数据进行加密和传输,进一步减少了加密和传输的耗时,提升了数据传输效率。
本申请解决了隐匿查询中计算开销严重的问题,采用AES加密技术,计算开销将远小于同态加密的加密技术;另一方面,为了尽可能的减小通信开销,本申请中数据查询方和数据提供方之间建立安全的匿名空间,再去查询,这将大大减小数据提供方所需传输的密文。
图2示出了根据本申请一实施例提供的一种应用于数据查询方的匿踪查询方法的流程图,具体包括以下步骤:
步骤202:基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方。
数据查询方是指需要进行数据查询的终端;待查询数据具体是指数据查询方需要进行查询的数据,例如,张三需要查询自己的身份证号是否在A名单上,那么,张三进行数据查询所使用的终端则为数据查询方,张三的身份证号则为待查询数据。在本申请提供的方法中,可以用q_i代表待查询数据。
第一私钥具体是指数据查询方专用的加密参考数据,在实际应用中,第一私钥具体可以是某个数值类型的数据。在本申请提供的方法中,用a代表第一私钥。
在确定了待查询数据之后,基于第一私钥可以对各待查询数据进行数据加密,获得各待查询数据对应的第一加密待查询数据,其中,第一加密待查询数据具体是指需要经过第一私钥加密过的数据。
在实际应用中,待查询数据q_i可以是数值类型、字符串类型等等,为了便于加密,可以将其转换为数值类型的信息再进行加密,可以有效提高数据传输过程中的传输效率。
具体的,基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,包括:
基于预设映射算法,将目标待查询数据映射为初始待查询值,其中,所述目标待查询数据为至少一个待查询数据中的任一个;
根据所述第一私钥和所述初始待查询值,生成所述目标待查询数据对应的第一加密待查询数据。
其中,预设映射算法具体是指将各种类型的待查询数据转换为数值类型数据的算法,如椭圆曲线加密法,椭圆曲线加密法是一种公钥加密技术,以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成离散对数难解性,实现加解密和数字签名。本申请中优选的可以使用椭圆曲线curve25549算法,其优点在于可以将任意数据转换为曲线的横坐标,而无需验证纵坐标是否存在。
具体的,以函数H()代表预设映射算法,对于任一待查询数据q_i,可以将其转换为初始待查询值H(q_i)。
在获得了初始待查询值之后,基于第一私钥对各初始待查询值进行加密,生成各待查询数据对应的第一加密待查询数据。
更进一步的,由于通过预设映射算法,已经将待查询数据映射为数值类型的数据,因此,初始待查询值H(q_i)为数值类型数据,第一私钥a为数值类型数据,因此,根据所述第一私钥和所述初始待查询值,生成所述目标待查询数据对应的第一加密待查询数据,包括:
将所述第一私钥和所述初始待查询值相乘,生成所述目标待查询数据对应的第一加密待查询数据。
由于初始待查询值和第一私钥均为数值类型数据,因此两者之间可以通过相乘的形式进行加密,从而获得目标待查询数据对应的第一加密待查询数据,使用相乘的方式进行加密,便于在后续的解密过程中进行相应的解密。
在本申请提供的方法中,初始待查询值H(q_i)和第一私钥a为相乘,获得第一加密待查询数据H(q_i)*a。
在获得第一加密待查询数据后,需要将第一加密待查询数据发送至数据提供方,从数据提供方处得到与待查询数据对应的相关数据,便于后续进行数据匹配时保证数据的一致性。
步骤204:接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成。
第二加密待查询数据具体是指由数据提供方根据第二私钥对第一加密待查询数据进行加密后生成的数据,具体的,第二私钥具体是指位于数据提供方中的数值类型数据。
在本申请提供的一具体实施方式中,数据查询方将第一加密待查询数据H(q_i)*a发送至数据提供方,数据提供方根据第二私钥b对第一加密待查询数据H(q_i)*a进行加密,获得第二加密待查询数据H(q_i)*a*b,并将第二加密待查询数据H(q_i)*a*b发送回数据查询方。
在此传递过程中,数据查询方实际想查询待查询数据q_i的信息,但是给数据提供方发送的是第一加密待查询数据H(q_i)*a,数据提供方无法得知数据查询方的实际想要查询信息,保证了数据信息的安全。
步骤206:基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据。
目标加密待查询数据具体是指经过数据提供方进行加密后的数据,在实际应用中,数据查询方为了在后续数据查询过程中,可以与数据提供方中的数据保持一致,需要使用数据查询方相同的加密方式,但是为了进一步保护待查询数据的数据安全,用第一私钥对待查询数据进行了加密,获得第一加密待查询数据,将第一加密待查询数据发送给数据提供方,保证了数据的安全。
数据提供方在第一加密待查询数据的基础上用第二私钥进一步加密,获得第二加密待查询数据,并将第二加密待查询数据返回给数据查询方,进一步保证了数据的安全。
数据查询方在获得第二加密待查询数据后,要消除第一私钥在第二加密待查询数据中的影响,从而可以获得经第二私钥加密过的待查询数据,即目标加密待查询数据,在此过程中,数据提供方和数据查询方均未获得对方的私钥和数据信息,保证了数据的安全。
具体的,基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,包括:
基于目标第二加密待查询数据和所述第一私钥,计算所述目标第二加密待查询数据对应的目标加密待查询数据,其中,所述目标第二加密待查询数据为各第二加密待查数据中的任一个。
在实际应用中,第二加密待查询数据为H(q_i)*a*b,其中,a为数据提供方的第一私钥,b为数据提供方的第二私钥,为了使得待查询数据可以被第二私钥加密,则可以用第一私钥解密第二加密待查询数据H(q_i)*a*b,即消除第一私钥a在第二加密待查询数据H(q_i)*a*b中的影响,从而获得各待查询数据q_i对应的目标加密待查询数据F_b(q_i)=H(q_i)*b,在实际应用中,目标加密待查询数据F_b(q_i)为数值类型数据,将其可以划分为第一加密数据F_b(q_i)_1和第二加密数据F_b(q_i)_2。例如目标加密待查询数据F_b(q_i)为32个字符的数值型数据,则第一加密数据F_b(q_i)_1可以为前16位字符,第二加密数据F_b(q_i)_2可以为后16位字符。
步骤208:将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方。
预设匿名空间具体是指在本申请中基于模数建立的用于数据查询的空间,数据提供方和数据查询方基于同样的映射方式,将数据映射到匿名空间中,数据提供方无法根据匿名空间的数据获取数据查询方的信息,数据查询方也不知道匿名空间中的数据代表数据提供方的哪条数据,极大的保证了数据提供方和数据查询方的数据安全。
在实际应用中,预设隐匿参数具体是指用于将第一加密数据映射到预设匿名空间的参数,更进一步的,在数据查询方和数据提供方具有相同的预设隐匿参数。通过预设隐匿参数,可以将各第一加密数据进行映射,获得各第一加密数据对应的匿名空间数据。
具体的,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,包括:
获取所述数据提供方发送的预设隐匿参数;
基于目标第一加密数据和所述预设隐匿参数,确定所述目标第一加密数据对应的目标匿名空间;
将所述目标匿名空间的空间标识确定为所述目标第一加密数据对应的匿名空间数据。
更进一步的,为了保证预设隐匿参数的统一,在实际应用中,是由数据提供方生成预设隐匿参数,并将预设隐匿参数发送指数据查询方,数据查询方接收该预设隐匿参数。之后对目标第一加密数据和该预设隐匿参数进行计算,确定目标第一加密数据对应的目标匿名空间,并将目标匿名空间对应的空间标识作为目标第一加密数据对应的匿名空间数据。
在本说明书提供的一具体实施方式中,获取数据提供方发送的预设隐匿参数s,更进一步的,s=N/k,其中,N代表数据提供方的全量业务数据的数据总量,k为匿名空间数量。例如数据提供方有1000万条数据,且数据提供方想要一个100倍的匿名空间,则确定预设隐匿参数s=1000万/100。
在确定了预设隐匿参数后,即可基于该预设隐匿参数对目标第一加密数据进行映射,获得对应的目标匿名空间,并将目标匿名空间的空间标识确定为目标第一加密数据对应的匿名空间数据。
具体的,第一加密数据为F_b(q_i)_1,预设隐匿参数为s,根据第一加密数据F_b(q_i)_1和预设隐匿参数s,计算第一加密数据对应的匿名空间数据bf_i。具体的,bf_i= F_b(q_i)_1%s,即计算F_b(q_i)_1除以s的余数bf_i。每个余数对应一个匿名空间,余数即为该匿名空间对应的空间标识,即余数bf_i为匿名空间数据。
在获得匿名空间数据bf_i后,将各匿名空间数据发送至数据提供方,以使数据提供方提供各匿名空间数据对应的加密数据。
步骤210:接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
加密查询结果具体是指经过数据提供方根据匿名空间数据返回的经过加密的业务数据的集合,在实际应用中,数据查询方基于待查询数据与数据提供方中的索引数据进行比对,若匹配成功后,则可以获得索引数据对应的业务数据。进一步的,若待查询数据与索引数据相同,这两者可以被映射到同一个匿名空间中,基于此,数据提供方在获取到各匿名空间数据后,将各匿名空间数据对应的索引数据,进而可以获取到索引数据对应的业务数据,再对业务数据进行加密后发送至数据查询方,并且对业务数据加密的过程中使用的是与第二加密数据相对应的第二加密索引数据。关于第二加密索引数据的相关解释,在后续数据提供方的解释中会有详细描述,在此不再赘述。
数据查询方在获得加密查询结果后,根据各第二加密数据对加密查询结果进行解密,从而获得最终的查询结果。
具体的,根据各第二加密数据对所述加密查询结果进行解密,获得查询结果,包括S2102-S2104:
S2102、根据各第一加密数据在所述加密查询结果中确定待解密查询结果。
在实际应用中,数据提供方的一个匿名空间数据会对应多个加密数据,为了便于对数据还原,可以先确定各第一加密数据对应的待解密查询结果。更进一步的,待解密查询结果具体是指与第一加密数据对应的加密业务数据。
本申请提供的一具体实施方式中,第一加密数据为F_b(q_i)_1,在加密查询结果中查询与F_b(q_i)_1相同的加密查询子结果,并从加密查询子结果中获取待解密查询结果。
在实际应用中,加密查询结果包括第一加密索引数据、加密业务数据;
相应的,根据各第一加密数据在所述加密查询结果中确定待解密查询结果,包括:
在所述加密查询结果中查询与目标第一加密数据对应的目标第一加密索引数据,其中,所述目标第一加密数据为各第一加密数据中的任一个;
确定所述目标第一加密索引数据对应的目标加密业务数据为目标待解密查询结果。
在各第一加密数据中确定目标第一加密数据,在加密查询结果中查找与目标第一加密数据相同的目标第一加密索引数据,第一加密索引数据是基于索引数据根据第二私钥加密生成的。
在查询到目标第一加密索引数据的情况下,则将目标第一加密索引数据对应的加密业务数据确定为待解密查询结果。
在本申请提供的一具体实施方式中,第一加密数据为F_b(q_i)_1,在加密查询结果中查询与F_b(q_i)_1相同的目标第一加密索引数据F_b(x_i)_1,同时确定目标第一加密索引数据F_b(x_ j)_1对应的待解密查询结果为m_j。
S2104、根据各第一加密数据对应的第二加密数据解密所述待解密查询结果,获得查询结果。
在确定了待解密查询结果之后,即可根据第一加密数据对应的第二加密数据对待解密查询结果进行解密,从而获得查询结果。在实际应用中,待解密查询结果对应的加密业务数据具体是由业务数据经过第二加密索引数据加密生成的,而第二加密索引数据是基于索引数据根据第二私钥加密生成的。如果待查询数据和索引数据相同的情况下,则第二加密索引数据即为第二加密数据,因此,可以用第二加密数据对待解密查询结果进行解密,获得最终的查询结果。
具体的,根据各第一加密数据对应的第二加密数据解密所述待解密查询结果,获得查询结果,包括:
获取所述目标第一加密数据对应的目标第二加密数据;
根据所述目标第二加密数据解密所述目标待解密查询结果,获得查询结果。
在实际应用中,确定了待解密查询结果m_j之后,根据其对应的目标第一加密索引数据F_b(x_ j)_1,确定目标第二加密数据F_b(x_ j)_2,再根据目标第二加密数据F_b(x_j)_2对待解密查询结果m_j进行解密,获得查询结果value_j。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再对该加密查询结果进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
图3示出了根据本申请一实施例提供的一种应用于数据提供方的匿踪查询方法的流程图,具体包括以下步骤:
步骤302:基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,其中,加密索引数据包括第一加密索引数据和第二加密索引数据。
其中,第二私钥具体是指数据提供方专用的加密参考数据,在实际应用中,第二私钥具体可以是某个数值类型的数据,在本申请提供的方法中,用b代表第二私钥。
索引数据具体是指在数据提供方中检索数据所用的信息,每个索引数据对应一个业务数据,当索引数据与待查询数据匹配的情况下,则业务数据为待查询数据对应的查询结果。全量索引数据具体是指在数据提供方中的所有索引数据。在本申请提供的方法中,索引数据可以用x_j表示,索引数据对应的业务数据用value_j表示。为了保证数据的安全性,可以用第二私钥将各索引数据进行加密从而获得各索引数据对应的加密索引数据。
具体的,基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,包括:
基于预设映射算法,将目标索引数据映射为初始索引值,其中,所述目标索引数据为全量索引数据中的任一个;
根据所述第二私钥和所述初始索引值,生成所述目标索引数据对应的加密索引数据。
这里的预设映射算法与上述步骤中的预设映射算法相同,关于预设映射算法的详细介绍,参见上述步骤202中的相关描述,在此不在赘述。
在本申请提供的方法中,以函数H()代表预设映射算法,对于任一索引数据x_j,可以将其转换为初始索引值H(x_j)。
再根据所述第二私钥和所述初始索引值,生成所述目标索引数据对应的加密索引数据,具体的,以第二私钥为b为例,将所述第二私钥和所述初始索引值相乘,生成目标索引数据对应的加密索引数据F_b(x_j)=H(x_j)*b。
更进一步的,加密索引数据F_b(x_j)为数值类型数据,将其可以划分为第一加密索引数据F_b(x_j)_1和第二加密索引数据F_b(x_j)_2。例如目标加密待查询数据F_b(x_j)为32个字符的数值型数据,则第一加密索引数据F_b(x_j)_1可以为前16位字符,第二加密索引数据F_b(x_j)_2可以为后16位字符。
步骤304:将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据。
预设隐私参数与上述步骤208中的预设隐私参数相同。在获得各第一加密索引数据之后,根据预设隐匿参数将各第一加密索引数据映射至预设索引空间,获得各第一加密索引数据对应的索引空间数据。
具体的,将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,包括:
根据全量索引数据的索引数量和预设匿名空间参数,确定预设隐匿参数;
基于目标第一加密索引数据和所述预设隐匿参数,确定所述目标第一加密索引数据对应的目标索引空间;
将所述目标索引空间的空间标识确定为所述目标第一加密索引数据对应的索引空间数据。
在本申请提供的方法中,获取全量所述数据的索引数量N,索引数量N具体是指数据提供方中索引数据的数量,例如在数据提供方中有100万条数据,则N=100万。本申请提供的方法还需要获取预设匿名空间参数k,预设匿名空间参数k可以理解为匿名比例,即需要将全量索引数据映射到k个匿名空间中,即预设隐匿参数s=N/k。
将各第一加密索引数据根据预设隐匿参数映射到对应的索引空间,根据各索引空间对应的空间标识确定为各第一加密索引数据对应的索引空间数据。
具体的,以第一加密索引数据是F_b(x_j)_1,预设隐匿参数是s为例,计算第一加密数据对应的匿名空间数据bf_j,具体的bf_j== F_b(x_j)_1%s,即计算F_b(x_j)_1除以s的余数bf_j。每个余数对应一个匿名空间,余数即为该目标索引空间的空间标识,即余数bf_j为索引空间数据。
步骤306:基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方。
在数据处理过程中,数据提供方会接收到数据查询方发送的至少一个第一加密待查询数据,为了保证数据查询方和数据提供方的相同数据的有相同的加密结果,用第二私钥加密数据发送方发送的第一加密待查询数据。
具体的,基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,包括:
将所述第二私钥和目标第一加密待查询数据相乘,获得所述目标第一加密待查询数据对应的第二加密待查询数据。
在本申请提供的一具体实施方式中,以第一加密待查询数据是H(q_i)*a,第二私钥为b为例,根据第二私钥为第一加密待查询数据加密,获得第二加密待查询数据H(q_i)*a*b,并将第二加密待查询数据H(q_i)*a*b发送回数据查询方。
步骤308:根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,其中,待加密业务数据与索引数据相对应。
其中,待加密业务数据具体是指保存到数据提供方中,需要发送至数据查询方中的实际业务数据。数据提供方接收到数据查询方提供的至少一个匿名空间数据后,要与数据查询方内的索引空间数据进行比对,基于比对结果可以确定对应的待加密业务数据。
具体的,根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,包括:
在各索引空间数据中查询与各匿名空间数据对应的各目标索引空间数据;
获取各目标索引空间数据对应的各目标索引数据;
确定各所述目标索引数据对应目标业务数据为待加密业务数据。
在本申请提供的一具体实施方式中,接收到数据查询方发送的匿名空间数据bf_i,数据提供方本地保存的索引空间数据为bf_j,若匿名空间数据bf_i=索引空间数据bf_j,则可以确定匿名空间数据bf_i对应的目标索引空间数据为bf_j。
索引空间数据为bf_j是基于第一加密索引数据是F_b(x_j)_1确定的,第一加密索引数据是F_b(x_j)_1是基于索引数据x_j确定的,因此可以确定目标索引空间数据为bf_j对应的目标索引数据为x_j。
在确定目标索引数据为x_j后,即可进一步确定目标索引数据x_j对应的业务数据为value_j,即value_j为待加密业务数据。
步骤310:根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方。
在确定了待加密业务数据之后,根据各待加密业务数据对应的第二加密索引数据对各待加密业务数据进行加密,获得加密查询结果,该加密查询结果中包括有多条数据记录,并将该加密查询结果发送至数据查询方。
具体的,根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,包括:
获取各待加密业务数据对应的目标索引数据,并获取各目标索引数据对应的第二加密索引数据;
根据各第二加密索引数据加密各待加密业务数据,获得各待加密业务数据对应的加密业务数据;
根据各加密业务数据和各加密业务数据对应的第一加密索引数据,获得加密查询结果。
在本申请提供的方法中,以待加密业务数据是value_j为例,待加密业务数据value_j对应的索引数据x_j,索引数据x_j对应的第二加密索引数据是F_b(x_j)_2,通过第二加密索引数据F_b(x_j)_2加密业务数据value_j,获得对应的加密业务数据m_j,具体的加密方式可以为AES加密(Advanced Encryption Standard,高级加密标准)。
最后基于第一加密索引数据F_b(x_j)_1和加密业务数据m_j,生成加密查询结果(F_b(x_j)_1,m_j)。最后将加密查询结果发送至数据查询方。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
图4示出了根据本申请一实施例提供的一种匿踪查询系统的示意图,包括数据查询方402和数据提供方404;
所述数据查询方402,被配置为基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
所述数据提供方404,被配置为基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
所述数据查询方402,还被配置为接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成,目标加密待查询数据包括第一加密数据和第二加密数据;
所述数据提供方404,还被配置为根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方,其中,待加密业务数据与索引数据相对应;
所述数据查询方402,还被配置为接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
图5示出了根据本申请一实施例提供的一种匿踪查询系统的交互示意图,包括数据查询方和数据提供方;
步骤502:数据查询方基于第一私钥a加密至少一个待查询数据q_i,生成各待查询数据对应的第一加密待查询数据H(q_i)*a。
步骤504:数据查询方将各第一加密待查询数据H(q_i)*a发送至数据提供方。
步骤506:数据提供方基于第二私钥b加密全量索引数据x_j,生成各索引数据对应的加密索引数据F_b(x_j)。
步骤508:数据提供方将各第一加密索引数据F_b(x_j)_1基于预设隐匿参数s映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据bf_j。
步骤510:数据提供方基于第二私钥b加密数据查询方发送的至少一个第一加密待查询数据H(q_i)*a,获得第二加密待查询数据H(q_i)*a*b。
步骤512:数据提供方将所述第二加密待查询数据H(q_i)*a*b发送至所述数据查询方。
步骤514:数据查询方基于所述第一私钥a解密各第二加密待查询数据H(q_i)*a*b,获得各待查询数据对应的目标加密待查询数据F_b(q_i)。
步骤516:数据查询方将各第一加密数据F_b(q_i)_1基于预设隐匿参数s映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据bf_i。
步骤518:数据查询方将各匿名空间数据bf_i发送至所述数据提供方。
步骤520:数据提供方根据所述数据查询方发送的至少一个匿名空间数据bf_i和各索引空间数据bf_j,确定至少一个待加密业务数据value_j。
步骤522:数据提供方根据各待加密业务数据value_j对应的第二加密索引数据F_b(x_j)_2,加密各待加密业务数据,获得加密查询结果(F_b(x_j)_1,m_j)。
步骤524:数据提供方将所述加密查询结果(F_b(x_j)_1,m_j)发送至所述数据查询方。
步骤526:数据查询方根据各第一加密数据F_b(q_i)_1在所述加密查询结果(F_b(x_j)_1,m_j)中确定待解密查询结果m_j。
步骤528:数据查询方根据各第一加密数据F_b(q_i)_1对应的第二加密数据F_b(q_i)_2解密所述待解密查询结果m_j,获得查询结果value_j。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
与上述应用于数据查询方的匿踪查询方法实施例相对应,本申请还提供了配置于数据查询方的匿踪查询装置实施例,图6示出了本申请一实施例提供的一种配置于数据查询方的匿踪查询装置的结构示意图。如图6所示,该装置包括:
第一生成模块602,被配置为基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
接收模块604,被配置即为接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成;
第一获取模块606,被配置为基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据;
第一映射模块608,被配置为将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方;
解密模块610,被配置为接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
可选的,所述第一生成模块602,进一步被配置为:
基于预设映射算法,将目标待查询数据映射为初始待查询值,其中,所述目标待查询数据为至少一个待查询数据中的任一个;
根据所述第一私钥和所述初始待查询值,生成所述目标待查询数据对应的第一加密待查询数据。
可选的,所述第一生成模块602,进一步被配置为:
将所述第一私钥和所述初始待查询值相乘,生成所述目标待查询数据对应的第一加密待查询数据。
可选的,所述第一生成模块602,进一步被配置为:
基于目标第二加密待查询数据和所述第一私钥,计算所述目标第二加密待查询数据对应的目标加密待查询数据,其中,所述目标第二加密待查询数据为各第二加密待查数据中的任一个。
可选的,所述第一映射模块608,进一步被配置为:
获取所述数据提供方发送的预设隐匿参数;
基于目标第一加密数据和所述预设隐匿参数,确定所述目标第一加密数据对应的目标匿名空间;
将所述目标匿名空间的空间标识确定为所述目标第一加密数据对应的匿名空间数据。
可选的,所述解密模块610,进一步被配置为:
根据各第一加密数据在所述加密查询结果中确定待解密查询结果;
根据各第一加密数据对应的第二加密数据解密所述待解密查询结果,获得查询结果。
可选的,加密查询结果包括第一加密索引数据、加密业务数据;
相应的,所述解密模块610,进一步被配置为:
在所述加密查询结果中查询与目标第一加密数据对应的目标第一加密索引数据,其中,所述目标第一加密数据为各第一加密数据中的任一个;
确定所述目标第一加密索引数据对应的目标加密业务数据为目标待解密查询结果。
可选的,所述解密模块610,进一步被配置为:
获取所述目标第一加密数据对应的目标第二加密数据;
根据所述目标第二加密数据解密所述目标待解密查询结果,获得查询结果。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
上述为本实施例的一种配置于数据查询方的匿踪查询装置的示意性方案。需要说明的是,该配置于数据查询方的匿踪查询装置的技术方案与上述的应用于数据查询方的匿踪查询方法的技术方案属于同一构思,配置于数据查询方的匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于数据查询方的匿踪查询方法的技术方案的描述。
与上述应用于数据提供方的匿踪查询方法实施例相对应,本申请还提供了配置于数据提供方的匿踪查询装置实施例,图7示出了本申请一实施例提供的一种配置于数据提供方的匿踪查询装置的结构示意图。如图7所示,该装置包括:
第二生成模块702,被配置为基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
第二映射模块704,被配置为将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据;
第二获取模块706,被配置为基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方;
确定模块708,被配置为根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,其中,待加密业务数据与索引数据相对应;
加密模块710,被配置为根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方。
可选的,所述第二生成模块702,进一步被配置为:
基于预设映射算法,将目标索引数据映射为初始索引值,其中,所述目标索引数据为全量索引数据中的任一个;
根据所述第二私钥和所述初始索引值,生成所述目标索引数据对应的加密索引数据。
可选的,所述第二映射模块704,进一步被配置为:
根据全量索引数据的索引数量和预设匿名空间参数,确定预设隐匿参数;
基于目标第一加密索引数据和所述预设隐匿参数,确定所述目标第一加密索引数据对应的目标索引空间;
将所述目标索引空间的空间标识确定为所述目标第一加密索引数据对应的索引空间数据。
可选的,所述第二获取模块706,进一步被配置为:
将所述第二私钥和目标第一加密待查询数据相乘,获得所述目标第一加密待查询数据对应的第二加密待查询数据。
可选的,所述确定模块708,进一步被配置为:
在各索引空间数据中查询与各匿名空间数据对应的各目标索引空间数据;
获取各目标索引空间数据对应的各目标索引数据;
确定各所述目标索引数据对应目标业务数据为待加密业务数据。
可选的,所述加密模块710,进一步被配置为:
获取各待加密业务数据对应的目标索引数据,并获取各目标索引数据对应的第二加密索引数据;
根据各第二加密索引数据加密各待加密业务数据,获得各待加密业务数据对应的加密业务数据;
根据各加密业务数据和各加密业务数据对应的第一加密索引数据,获得加密查询结果。
本申请一实施例实现了将待查询数据映射到预设匿名空间,数据查询方无需得知数据提供方任何数据信息,只需将预设匿名空间的匿名空间数据发送给数据提供方,由数据提供方将该匿名空间数据对应的加密查询结果返回,再该加密查询结果中进行数据解密,直至获得最终的查询结果,在此过程中,与查询数据的具体内容无关,数据查询方和数据提供方之间无法互相得知对方的信息,提升了数据的安全性。
上述为本实施例的一种配置于数据提供方的匿踪查询装置的示意性方案。需要说明的是,该配置于数据提供方的匿踪查询装置的技术方案与上述的应用于数据提供方的匿踪查询方法的技术方案属于同一构思,配置于数据提供方的匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于数据提供方的匿踪查询方法的技术方案的描述。
图8示出了根据本申请一实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820执行所述计算机指令时实现所述的匿踪查询方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的匿踪查询方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述匿踪查询方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述匿踪查询方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的匿踪查询方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述匿踪查询方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种匿踪查询方法,其特征在于,应用于数据查询方,包括:
基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成;
基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,其中,目标加密待查询数据包括第一加密数据和第二加密数据;
将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方,其中,预设隐匿参数是指用于将第一加密数据映射到预设匿名空间的参数;
接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
2.如权利要求1所述的方法,其特征在于,基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,包括:
基于预设映射算法,将目标待查询数据映射为初始待查询值,其中,所述目标待查询数据为至少一个待查询数据中的任一个;
根据所述第一私钥和所述初始待查询值,生成所述目标待查询数据对应的第一加密待查询数据。
3.如权利要求1所述的方法,其特征在于,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,包括:
获取所述数据提供方发送的预设隐匿参数;
基于目标第一加密数据和所述预设隐匿参数,确定所述目标第一加密数据对应的目标匿名空间;
将所述目标匿名空间的空间标识确定为所述目标第一加密数据对应的匿名空间数据。
4.如权利要求1所述方法,其特征在于,根据各第二加密数据对所述加密查询结果进行解密,获得查询结果,包括:
根据各第一加密数据在所述加密查询结果中确定待解密查询结果;
根据各第一加密数据对应的第二加密数据解密所述待解密查询结果,获得查询结果。
5.如权利要求4所述的方法,其特征在于,加密查询结果包括第一加密索引数据、加密业务数据;
根据各第一加密数据在所述加密查询结果中确定待解密查询结果,包括:
在所述加密查询结果中查询与目标第一加密数据对应的目标第一加密索引数据,其中,所述目标第一加密数据为各第一加密数据中的任一个;
确定所述目标第一加密索引数据对应的目标加密业务数据为目标待解密查询结果;
相应的,根据各第一加密数据对应的第二加密数据解密所述待解密查询结果,获得查询结果,包括:
获取所述目标第一加密数据对应的目标第二加密数据;
根据所述目标第二加密数据解密所述目标待解密查询结果,获得查询结果。
6.一种匿踪查询方法,其特征在于,应用于数据提供方,包括:
基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,其中,加密索引数据包括第一加密索引数据和第二加密索引数据;
将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,其中,预设隐匿参数是指用于将第一加密数据映射到预设匿名空间的参数;
基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方;
根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,其中,待加密业务数据与索引数据相对应;
根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方。
7.如权利要求6所述的方法,其特征在于,基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,包括:
基于预设映射算法,将目标索引数据映射为初始索引值,其中,所述目标索引数据为全量索引数据中的任一个;
根据所述第二私钥和所述初始索引值,生成所述目标索引数据对应的加密索引数据。
8.如权利要求6所述的方法,其特征在于,将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,包括:
根据全量索引数据的索引数量和预设匿名空间参数,确定预设隐匿参数;
基于目标第一加密索引数据和所述预设隐匿参数,确定所述目标第一加密索引数据对应的目标索引空间;
将所述目标索引空间的空间标识确定为所述目标第一加密索引数据对应的索引空间数据。
9.如权利要求6所述的方法,其特征在于,根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,包括:
在各索引空间数据中查询与各匿名空间数据对应的各目标索引空间数据;
获取各目标索引空间数据对应的各目标索引数据;
确定各所述目标索引数据对应目标业务数据为待加密业务数据。
10.一种匿踪查询系统,包括数据查询方和数据提供方;
所述数据查询方,被配置为基于第一私钥加密至少一个待查询数据,生成各待查询数据对应的第一加密待查询数据,并将各第一加密待查询数据发送至数据提供方;
所述数据提供方,被配置为基于第二私钥加密全量索引数据,生成各索引数据对应的加密索引数据,将各第一加密索引数据基于预设隐匿参数映射到预设索引空间,获得各第一加密索引数据对应的索引空间数据,基于第二私钥加密数据查询方发送的至少一个第一加密待查询数据,获得第二加密待查询数据,并将所述第二加密待查询数据发送至所述数据查询方,其中,加密索引数据包括第一加密索引数据和第二加密索引数据,预设隐匿参数是指用于将第一加密数据映射到预设匿名空间的参数;
所述数据查询方,还被配置为接收所述数据提供方基于各第一加密待查询数据返回的第二加密待查询数据,基于所述第一私钥解密各第二加密待查询数据,获得各待查询数据对应的目标加密待查询数据,将各第一加密数据基于预设隐匿参数映射到预设匿名空间,获得各第一加密数据对应的匿名空间数据,并将各匿名空间数据发送至所述数据提供方,其中,第二加密待查询数据根据第二私钥和第一加密待查询数据生成,目标加密待查询数据包括第一加密数据和第二加密数据;
所述数据提供方,还被配置为根据所述数据查询方发送的至少一个匿名空间数据和各索引空间数据,确定至少一个待加密业务数据,根据各待加密业务数据对应的第二加密索引数据,加密各待加密业务数据,获得加密查询结果,并将所述加密查询结果发送至所述数据查询方,其中,待加密业务数据与索引数据相对应;
所述数据查询方,还被配置为接收数据提供方根据各匿名空间数据返回的加密查询结果,并根据各第二加密数据对所述加密查询结果进行解密,获得查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784189.7A CN116502276B (zh) | 2023-06-29 | 2023-06-29 | 匿踪查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784189.7A CN116502276B (zh) | 2023-06-29 | 2023-06-29 | 匿踪查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116502276A CN116502276A (zh) | 2023-07-28 |
CN116502276B true CN116502276B (zh) | 2023-09-12 |
Family
ID=87318754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310784189.7A Active CN116502276B (zh) | 2023-06-29 | 2023-06-29 | 匿踪查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116502276B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821461B (zh) * | 2023-08-28 | 2023-12-12 | 云阵(杭州)互联网技术有限公司 | 资源查询方法以及装置 |
CN117077209B (zh) * | 2023-10-16 | 2024-02-23 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020547A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种数据隐匿方法、装置及设备 |
CN112367170A (zh) * | 2021-01-12 | 2021-02-12 | 四川新网银行股份有限公司 | 基于多方安全计算的数据隐匿查询安全共享系统及方法 |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115052286A (zh) * | 2022-06-10 | 2022-09-13 | 翁敏 | 基于位置服务的用户隐私保护、目标查询方法及系统 |
CN115408435A (zh) * | 2022-09-21 | 2022-11-29 | 深圳前海微众银行股份有限公司 | 一种数据查询方法及装置 |
CN115567188A (zh) * | 2022-11-11 | 2023-01-03 | 蓝象智联(杭州)科技有限公司 | 一种多键值隐匿求交方法、装置及存储介质 |
CN115905238A (zh) * | 2022-12-12 | 2023-04-04 | 上海零数众合信息科技有限公司 | 隐匿查询方法、装置、电子设备和存储介质 |
CN116112168A (zh) * | 2023-04-10 | 2023-05-12 | 极术(杭州)科技有限公司 | 多方隐私求交中的数据处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11093635B2 (en) * | 2016-05-05 | 2021-08-17 | The Johns Hopkins University | Apparatus and method for private information retrieval |
-
2023
- 2023-06-29 CN CN202310784189.7A patent/CN116502276B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020547A (zh) * | 2019-01-31 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种数据隐匿方法、装置及设备 |
CN112367170A (zh) * | 2021-01-12 | 2021-02-12 | 四川新网银行股份有限公司 | 基于多方安全计算的数据隐匿查询安全共享系统及方法 |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115052286A (zh) * | 2022-06-10 | 2022-09-13 | 翁敏 | 基于位置服务的用户隐私保护、目标查询方法及系统 |
CN115408435A (zh) * | 2022-09-21 | 2022-11-29 | 深圳前海微众银行股份有限公司 | 一种数据查询方法及装置 |
CN115567188A (zh) * | 2022-11-11 | 2023-01-03 | 蓝象智联(杭州)科技有限公司 | 一种多键值隐匿求交方法、装置及存储介质 |
CN115905238A (zh) * | 2022-12-12 | 2023-04-04 | 上海零数众合信息科技有限公司 | 隐匿查询方法、装置、电子设备和存储介质 |
CN116112168A (zh) * | 2023-04-10 | 2023-05-12 | 极术(杭州)科技有限公司 | 多方隐私求交中的数据处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
针对LBS中非可信用户协作构建匿名域的研究;杨祎綪,等;《计算机工程与应用》;第第50卷卷(第第14期期);第82-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116502276A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116502276B (zh) | 匿踪查询方法及装置 | |
CN116502254B (zh) | 可查得统计的匿踪查询方法及装置 | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN111083631A (zh) | 一种保护位置隐私和查询隐私的高效查询处理方法 | |
CN108038128B (zh) | 一种加密文件的检索方法、系统、终端设备及存储介质 | |
CN111026788A (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
CN115269938B (zh) | 基于同态加密的关键词匿踪查询方法、系统及相关装置 | |
CN112529586B (zh) | 交易信息管理方法、装置、设备及存储介质 | |
CN116112168B (zh) | 多方隐私求交中的数据处理方法及系统 | |
CN108549824A (zh) | 一种数据脱敏方法及装置 | |
CN114969128B (zh) | 一种基于安全多方计算技术的隐匿查询方法、系统和存储介质 | |
CN117077209B (zh) | 大规模数据匿踪查询方法 | |
CN115544579B (zh) | 一种双随机数据混淆查询方法、装置和系统 | |
CN117223002A (zh) | 加密信息检索 | |
CN117150557A (zh) | 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统 | |
CN115277239B (zh) | 数据库数据的加密方法及装置 | |
CN114840739A (zh) | 信息检索方法、装置、电子设备及存储介质 | |
CN117574435B (zh) | 基于同态加密的多关键词匿踪查询方法、装置及系统 | |
CN116506226B (zh) | 隐私数据处理系统以及方法 | |
CN116956354B (zh) | 数据查询方法、装置、数据源设备、查询方设备及系统 | |
JP7440662B2 (ja) | マルチキー情報検索 | |
CN115408451B (zh) | 匿踪查询方法和存储介质 | |
CN116506226A (zh) | 隐私数据处理系统以及方法 | |
CN114978658B (zh) | 数据处理方法及装置 | |
CN116226216A (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 |