CN117077209B - 大规模数据匿踪查询方法 - Google Patents
大规模数据匿踪查询方法 Download PDFInfo
- Publication number
- CN117077209B CN117077209B CN202311331565.3A CN202311331565A CN117077209B CN 117077209 B CN117077209 B CN 117077209B CN 202311331565 A CN202311331565 A CN 202311331565A CN 117077209 B CN117077209 B CN 117077209B
- Authority
- CN
- China
- Prior art keywords
- data
- party
- index
- query
- target
- 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 74
- 238000012216 screening Methods 0.000 claims abstract description 49
- 238000013500 data storage Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects 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
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/2457—Query processing with adaptation to user needs
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种大规模数据匿踪查询方法,应用于多方安全计算系统,多方安全计算系统中包含查询方和数据方,包括:基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方;基于数据位置信息构建位置向量,加密位置向量,并将获得的加密位置向量发送至数据方;基于加密位置向量和目标数据方索引对应的目标数据方密钥,加密目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至查询方;基于查询方密钥和加密位置向量解密加密数据,获得数据查询结果。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种大规模数据匿踪查询方法。
背景技术
目前,在一些例如商业信贷、个人信息征信等数据查询系统中均需要提供数据安全保障,以减少用户在数据库中检索信息时导致的数据泄露。
隐匿查询技术作为一种隐私计算技术,可以防止数据库服务器获取用户查询语句的相关信息,从而保护用户的查询隐私;但当前的隐匿查询需要基于所有数据参与方进行计算和传输,导致计算效率较低,并且当前的隐匿查询还存在数据泄露的风险。
因此,如何获得数据查询效率更高,安全性更好的数据查询方式成为本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本说明书实施例提供了一种大规模数据匿踪查询方法。本说明书一个或者多个实施例同时涉及一种应用于查询方的大规模数据匿踪查询方法,一种应用于数据方的大规模数据匿踪查询方法,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种大规模数据匿踪查询方法,应用于多方安全计算系统,所述多方安全计算系统中包含查询方和数据方,包括:
所述查询方,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
所述数据方,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;
所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
根据本说明书实施例的第二方面,提供了一种应用于查询方的大规模数据匿踪查询方法,包括:
基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
根据本说明书实施例的第三方面,提供了一种应用于数据方的大规模数据匿踪查询方法,包括:
基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
根据本说明书实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述大规模数据匿踪查询方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述大规模数据匿踪查询方法的步骤。
本说明书一个实施例实现了由多方安全计算系统中的查询方,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
所述数据方,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;
所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
通过在各数据方索引中基于筛选参数确定目标数据方索引,从而减少了匿踪查询的计算量,提升查询效率;基于根据数据方索引和目标查询方索引确定的数据位置信息构建位置向量,进而基于加密位置向量进行后续查询,从而实现查询方无需公开查询标识也可以完成在数据方进行数据查询,提升了数据安全性。
附图说明
图1是本说明书一个实施例提供的一种大规模数据匿踪查询方法的场景示意图;
图2是本说明书一个实施例提供的一种大规模数据匿踪查询方法的流程图;
图3是本说明书一个实施例提供的一种应用于查询方的大规模数据匿踪查询方法的流程图;
图4是本说明书一个实施例提供的一种应用于数据方的大规模数据匿踪查询方法的流程图;
图5是本说明书一个实施例提供的一种多方安全计算系统的结构示意图;
图6是本说明书一个实施例提供的一种应用于查询方的大规模数据匿踪查询装置的结构示意图;
图7是本说明书一个实施例提供的一种应用于数据方的大规模数据匿踪查询装置的结构示意图;
图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
隐匿查询(Private InformationRetrieval – PIR):也称隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。通常隐匿查询是一次查询单一数据,本申请中批量隐匿查询是指一次查询多条数据。
椭圆曲线加密法(Elliptic Curve Cryptography - ECC):是一种公钥加密技术,以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成的Abel群离散对数难解性,实现加密、解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制。
同态加密(Homomorphic Encryption - HE):一种加密技术,具有强大的计算能力。它允许在加密状态下对加密数据进行计算操作,而无需解密数据。这意味着可以对加密数据执行某种计算,并在不泄露明文数据的情况下获得结果。
AES加密(Advanced Encryption Standard-AES):密码学中的高级加密标准。
隐匿查询是一种被广泛应用的隐私计算技术之一。在数据越来越重要的时代,数据的流通具有巨大的潜在价值。这就要求数据运营商提供或者流通有价值且有意义的数据,并确保没有不必要的信息泄漏。换句话说,数据的流通需要同时保证安全性和有效性。安全性不仅仅需要保护数据运营商的数据安全,还需要保护用户查询信息的隐私。
当用户在数据库中检索信息时,隐匿查询采用特定方法防止数据库服务器获得用户查询语句的相关信息,从而保护用户的查询隐私。隐私信息检索的发展和普及需要不断提高隐私保密技术,并增强人们对隐私保护的认知。在现实生活中,医药数据库、专利数据库等对检索隐私有较高要求的领域,隐匿查询具有广泛应用的空间。
目前主流的隐匿查询方案包括:基于数论的PIR方案、基于同态加密的PIR方案和基于编码理论的单服务器PIR方案。然而,以上方案需要所有数据参与方进行计算和传输,这会导致巨大的计算和传输开销。在许多亿级数据库场景中,无法将所有数据加载到内存中进行计算。例如,在使用同态加密的PIR方案中,每次查询需要查询方将数据加密再发送给数据方,然后数据方利用同态加密的性质进行全量数据的计算,获得所需查询的一条数据的密文。在这个过程中,查询方需要发送大量的加密数据给数据方,而且数据方需要基于全量数据进行同态加密计算。此外,以上协议还有一个前提条件,即查询方需提前了解想要查询的ID在数据方的位置,这意味着数据方的ID信息需要提前公开,在实际场景中可能会泄漏数据方的数据隐私。最后上述协议均基于半诚实模型,即查询方不可伪造协议,而在真实场景中,查询方很可能不遵守查询协议,在同态方案中,若查询方任意伪造0、1位置密文进行查询,便可获得对应位置的数据,无需查询条件。
因此,基于同态加密存在下述问题:(1)基于匿名空间的匿踪查询方案建立在数据方公开数据ID的基础上,但实际应用中数据方不能公开数据ID。(2)查询限制太低,查询方即使未拥有查询信息也能获得查询结果,若数据与查询条件关联性较大,还会反推出查询条件,出现数据泄漏问题。(3)需要全量数据参与同态计算,当数据量较大时,同态计算开销过大,查询响应很慢。
针对上述问题,本说明书提出了一种大规模数据匿踪查询方案,具体可以实现:(1)在查询过程中,数据方无需公开查询ID,查询方仍可根据自身的ID获取数据方对应的数据。(2)一次查询,查询方仅能获得查询ID对应的查询结果,无法中获得额外的其他数据信息。(3)支持大数据量快速高效的查询。
在本说明书中,提供了一种大规模数据匿踪查询方法,本说明书同时涉及一种应用于查询方的大规模数据匿踪查询方法,一种应用于数据方的大规模数据匿踪查询方法,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种大规模数据匿踪查询方法的场景示意图,具体包括:
步骤1:查询方和数据方同一索引id和密钥key
查询方(Receiver)即查询结果的接收方,接收数据查询请求;响应于数据查询请求,确定查询标识q;基于椭圆曲线加密法对查询标识q进行加密,以避免向数据方泄露具体的查询内容,具体包括:将查询标识q转换为椭圆曲线上的点H(q),并点乘查询方私钥a,获得第一查询加密数据H(q)*a;将第一查询加密数据发送至数据方(Sender)。
数据方根据数据方密钥b对第一查询加密数据进一步加密,即点乘数据方密钥b,获得第二查询加密数据H(q)*a*b;将第二查询加密数据发送至查询方;查询方将第二查询加密数据乘以查询方私钥a的模逆,获得查询加密数据H(q)*b;根据查询加密数据的数据长度对查询加密数据进行拆分,获得查询方密钥key(q)和查询方索引id(q),例如,查询加密数据为32位的数值,则可以将其拆分为前16位和后16位,前16为作为查询方密钥key(q),后16位作为查询方索引id(q)。
数据方将存储的数据集合X中的各个数据xi转换为,各个数据xi对应的椭圆曲线上的一点H(xi);将H(xi)点乘数据方私钥b,得到加密数据H(xi)*b;根据加密数据的数据长度对加密数据进行拆分,获得数据方索引id(xi)和数据方密钥key(xi)。
步骤2:构建匿名空间,获取查询位置
数据方将数据集合X中的各个数据xi对应的id(xi)分成分桶总数量s个桶,其中,分桶总数量s基于数据方的数据总量N和预设区分度k计算获得,具体为分桶总数量s=N/k;进一步确定各个xi应该放在哪个分桶中,具体确定方法包括:数据xi的分桶n=id(xi)%s,则可以确定将xi以及xi对应的id(xi)放在第n个分桶中。
查询方基于查询方索引id(q)和分桶总数量s计算筛选参数m,具体为进行查询方索引id(q)和分桶总数量s的求余运算(mod),得到筛选参数m=id(q)%s;将筛选参数m发送至数据方;数据方在s个分桶,即s个匿名空间中确定第m个匿名空间,并将第m个匿名空间内的数据方索引id(xi)作为目标数据方索引id(x’i),并且可以确定目标数据方索引对应的目标数据方密钥key(x’i),并将目标数据方索引id(x’i)发送至查询方;查询方通过比对查询数据方索引id(x’i)在目标查询方索引id(q)中的位置index,若不存在则停止查询;进一步,基于位置index构建位置向量Bit,具体的,将index位置对应的位置向量中的值设置为1,其他位置为0,从而生成位置向量。
步骤3:获得查询结果
查询方使用同态公钥PK对位置向量Bit进行同态加密(HE-Enc),获得加密位置向量Enc(Bit);将加密位置向量发送至数据方,如下述表1所示;数据方将目标数据方密钥key(x’i)作为密钥AES加密(AES-Enc)目标数据方索引id(x’i)对应的目标数据方数据value(x’i),获得第一加密数据AES(value);进一步,根据加密位置向量Enc(Bit)和第一加密数据AES(value),同态计算数据方的加密查询结果Enc(AES(value))=AES(value),将加密查询结果发送至查询方。
查询方基于同态密钥SK对加密查询结果进行同态解密(HE-Dec),获得第一解密数据AES(value);再根据查询方密钥key(q)对第一解密数据进行AES解密(AES-Dec),获得value,即获得最终的数据查询结果。下述表1中第1-3行表示Bit的生成,第3-6行表示匿名空间,第7-8表示通过密文乘获得结果,L表示计算数据的总数量。
表1
本说明书的匿踪查询方法的效果包含如下三个方面,(1)安全性:在原本同态加密的基础上前置步骤中增加了一层AES加密,通过本层加密,避免了查询方随意伪造位置密文带来的数据泄漏问题,查询方仅能获得查询请求唯一对应的数据。并且使用椭圆曲线加密数据方ID形成新索引,任何其他参与即使获得新索引,也无法反推出原始数据,防止了数据ID泄漏。(2)高效性:使用椭圆曲线发构建匿名空间,相较于目前的处理方法,使用对称加密在构造匿名空间时效率更高,并且无需进行同态计算;利用分桶技术建立新的匿名空间,后续查询和加密计算都基于该匿名空间进行,将全量数据缩小为部分数据参与计算,极大地优化了计算效率,实现了大数据量高效快速查询。(3)低通信:匿名空间的构造基于椭圆曲线,相较于同态加密,密文传输更短。
参见图2,图2示出了根据本说明书一个实施例提供的一种大规模数据匿踪查询方法的流程图,应用于多方安全计算系统,所述多方安全计算系统中包含查询方和数据方,具体包括以下步骤:
步骤202:所述查询方,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥。
其中,查询方是指需要进行数据查询的终端;查询标识是指查询方需要进行查询的数据或数据对应的标识字段,例如,查询学生“张三”的学号,则“张三”作为查询标识进行后续的查询处理。在本说明书提供的方法中,可以用q表示查询标识;查询方私钥是指查询方专用的加密参考数据;在实际应用中,查询方私钥具体就可以是某种数据类型的数据。在本说明书提供的方法中,可以用a表示查询方私钥;查询方索引是指用于表示加密后查询标识的字段;查询方密钥是指用于表示加密后查询标识对应的密钥。
通过将查询标识转换为查询方索引和查询方密钥,从而可以保证与数据方数据的一致性。
具体的,所述查询方基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥的方法可以包括:
基于查询方私钥加密至少一个查询方标识,生成各查询方标识对应的第一查询加密数据,并将各第一查询加密数据发送至所述数据方;
接收所述数据方基于各第一查询加密数据和数据方私钥确定的第二查询加密数据;
基于所述查询方私钥解密各第二查询加密数据,获得查询加密数据;
将各查询加密数据拆分为对应的查询方索引和查询方密钥。
其中,第一查询加密数据是指对查询方标识进行加密获得的数据;第二查询加密数据是指数据方对第一查询加密数据进行加密获得的数据;查询加密数据是指基于查询方密钥对第二查询加密数据进行解密获得的数据。
具体的,可以基于预设加密算法对至少一个查询方标识进行加密,获得第一查询加密数据,例如,根据椭圆曲线加密算法对查询方标识q进行加密,具体为确定椭圆曲线上的一点H(q),用查询方私钥a乘以H(q),获得第一查询加密数据H(q)*a,从而实现基于查询方私钥对查询方标识的加密;将加密获得的第一查询加密数据发送至数据方;数据方根据数据方密钥对第二查询加密数据进一步进行加密,获得查询加密数据,例如,用第一查询加密数据H(q)*a乘以数据方密钥b,获得第二查询加密数据为H(q)*a*b;将生成的第二查询加密数据返回至查询方,由查询方基于查询方私钥对第二查询加密数据进行解密,获得查询加密数据,例如,用第二查询加密数据为H(q)*a*b乘以查询方私钥a的模逆,得到查询加密数据H(q)*b;进一步,根据查询加密数据对应的数据长度将查询加密数据拆分为查询方索引和查询方密钥,其中,查询加密数据为数值类型的数据,例如,查询加密数据H(q)*b为32位的数值,则可以将查询加密数据的前16为拆分出来作为查询方密钥key(q),将后16位作为查询方索引id(q)。
在上述过程中,查询方需要获得的是查询方标识对应的数据,但由于发送至数据方的是加密后的第一查询加密数据,故数据方无法得知查询方实际要查询的内容,从而可以保证数据的安全性。
步骤204:所述数据方,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定。
其中,数据方是指存储有查询标识对应的查询结果数据的终端;数据方标识是指数据方存储的数据或数据对应的数据标识;数据方索引是指用于表示加密后数据方中数据的索引;数据方密钥是指用于表示加密后数据方中数据对应的密钥;数据方私钥是指数据方专用的参考加密数据;目标数据方索引是指在数据方索引中确定的部分与查询标识相关的索引;数据方的数据总量是指数据方存储数据的总数量,例如,在数据方的数据库中存储有10万条数据,即数据方的数据总量为10。
具体的,所述数据方基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥的方法可以包括:
基于数据方私钥加密至少一个数据方标识,生成各数据方标识对应的加密数据;
将各加密数据拆分为对应的数据方索引和数据方密钥。
其中,加密数据是指对数据方标识进行加密获得的数据。
具体的,可以基于预设加密算法对各数据方标识进行加密,获得数据方标识对应的加密数据,例如,根据椭圆曲线加密算法对数据方标识xi进行加密,包括确定椭圆曲线上的一点获H(xi),再用H(xi)乘以数据方私钥b,得到加密数据为H(xi)*b;进一步根据加密数据对应的数据长度将加密数据拆分为数据方索引和数据方密钥,例如,加密数据H(xi)*b为32位的数值,则可以将查询加密数据的前16位拆分出来作为数据方索引id(xi),将后16位作为数据方密钥key(xi)。
在上述过程中,数据方也进行加密和拆分,从而实现对查询方标识与数据方标识的数据统一,便于后续做进一步的计算。
在确定数据方索引和数据方密钥之后,可以根据筛选参数在获得的数据方索引中筛选目标数据方索引;具体的,数据方在各数据方索引中基于筛选参数确定目标数据方索引的方法可以包括:
基于所述查询方索引和所述数据方的数据总量计算筛选参数;
基于所述筛选参数在分桶集合中确定目标分桶;
将所述目标分桶中的各数据方索引作为目标数据方索引。
其中,筛选参数是指用于在数据方索引中确定目标数据方索引的参数;分桶集合是指通过对数据进行分桶处理获得的桶组成的集合,即通过对数据方的数据进行划分从而构建匿名空间;目标分桶是指由筛选参数在多个匿名空间中筛选出的桶。
具体的,根据查询方索引和数据方的数据总量计算筛选参数,例如,对查询方索引id(q)取模数据总量s,得到筛选参数m=id(q)%s;根据筛选参数再分桶集合的各个分桶中确定筛选参数对应的目标分桶,例如,在分桶集合中选择第m个桶作为目标分桶,m为筛选参数;获取目标分桶中存储各数据方索引作为目标数据方索引。
为了实现在分桶集合中筛选目标分桶,就需要预先对数据方中的数据进行分桶处理;具体的,在数据方基于所述筛选参数在预设分桶中确定目标分桶之前,还包括:
基于所述数据方的数据总量和预设区分度确定分桶总数量;
根据所述分桶总数量和各目标数据方索引,将各目标数据方索引对应的目标数据方数据添加至对应的分桶中,生成分桶集合。
其中,预设区分度是指用于确定数据方对应的分桶总数量的数值;分桶总数量是指将数据方的所有数据划分为匿名空间的数量。
具体的,获取预设区分度,通过数据方的数据总量除以预设区分度,获得分桶总数量,例如,根据数据方的数据总量N除以预设区分度k,获得分桶总数量s=N/k;进一步用分桶总数量和目标数据方索引确定数据方数据对应的分桶,即匿名空间,例如,数据方根据数据方索引id(xi)对数据方的数据总量s取模,即数据方数据xi对应的桶位置n=id(xi)%s;基于桶位置n将数据分别存储至对应的匿名空间中,生成分桶集合。
通过对数据方中包含的数据进行分桶处理,以便后续可以在分桶集合中选择符合要求的部分桶进行匿名查询,而无需对全量的数据方数据进行后续的查询处理,从而提升匿名查询效率。
步骤206:所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定。
其中,数据位置信息是指查询方索引在目标数据方索引中的位置信息,即确定查询标识所对应的查询结果在数据方中的位置信息;位置向量是指根据是否存在数据位置信息,而生成的位置向量;加密位置向量是指对位置向量进行加密获得的数据。
在实际应用中,基于数据位置信息构建位置向量之前,还包括:由数据方基于各数据方索引和目标查询索引确定数据位置信息;将所述数据位置信息发送至所述查询方。
具体的,接收数据方基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定的数据位置信息;基于数据位置信息构建位置向量;基于预设加密算法对位置向量进行加密,获得加密位置向量,例如,基于同态密钥PK对位置向量Bit进行加密,获得Enc(Bit);将生成的加密位置向量发送至数据方。
进一步地,所述查询方基于数据位置信息构建位置向量的方法可以包括:
接收所述数据方基于各数据方索引和目标查询方索引确定的数据位置信息;
基于所述数据位置信息确定所述数据方进行数据存储的目标位置,并将所述目标位置设置为第一字段,将剩余位置设置为第二字段,生成位置向量。
其中,目标位置是指数据方中存储查询结果的位置信息;第一字段表示数据方中存在查询结果的字段;第二字段表示数据方中不存在查询结果的字段。
在本说明书一具体实施方式中,在包含查询结果的情况下记为1,不包含则记为0,从而由各位置的0和1组成位置向量。
通过基于加密后的查询方索引在数据方中确定查询结果的位置,从而避免了对数据方中数据位置信息的暴露,提升了查询的安全保密性。
步骤208:所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
其中,目标数据方数据是指目标数据方索引所对应的数据;具体的,所述数据方基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据的方法可以包括:
基于目标数据方密钥加密目标数据方数据,获得第一加密数据;
根据所述加密位置向量和所述第一加密数据确定加密数据。
其中,第一加密数据是指基于目标数据方密钥对目标数据方数据进行加密获得的数据;具体的,基于预设加密算法和目标数据方密钥对目标数据方数据进行加密,获得第一加密数据,例如,将目标数据方密钥key(x’i)作为密钥AES加密目标数据方数据value(x’i),获得第一加密数据AES(value);基于加密位置向量和第一加密数据确定加密,例如,加密数据Enc(AES(value))=AES(value)。
通过加密位置向量对数据方的目标数据方数据进行加密,从而实现在不暴露查询标识的情况下,在数据方进行数据查询,提升了数据查询的安全性。
步骤210:所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
具体的,所述查询方基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果的方法可以包括:
基于所述加密位置向量对所述加密数据进行解密,获得第一解密数据;
根据所述查询方密钥对所述第一解密数据,获得数据查询结果。
其中,第一解密数据是指基于加密位置向量解密加密数据,获得的数据;数据查询结果是指查询标识在数据方中对应的相关数据,例如,查询标识为“张三的学号”则数据查询结果为“1233”。
具体的,确定位置向量进行加密的同态公钥对应的同态私钥,基于同态私钥对加密数据进行第一层的解密,获得第一解密数据,例如,根据同态私钥SK对加密数据Enc(AES(value))进行解密,获得AES(value);进一步地,基于查询方密钥对第一解密数据进行解密,获得数据查询结果,即查询方获得查询标识对应的数据方标识,例如,基于key(q)对第一解密数据AES(value)进行AES解密,获得数据查询结果value。
本说明书应用于多方安全计算系统的大规模数据匿名查询方法,所述查询方,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
所述数据方,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;
所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
通过在各数据方索引中基于筛选参数确定目标数据方索引,从而减少了匿踪查询的计算量,提升查询效率;基于根据数据方索引和目标查询方索引确定的数据位置信息构建位置向量,进而基于加密位置向量进行后续查询,从而实现查询方无需公开查询标识也可以完成在数据方进行数据查询,提升了数据安全性。
参见图3,图3示出了根据本说明书一个实施例提供的一种应用于查询方的大规模数据匿踪查询方法的流程图,具体包括以下步骤:
步骤302:基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥。
步骤304:根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定。
步骤306:接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
本说明书应用于查询方的大规模数据匿踪查询方法,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
通过基于根据数据方索引和目标查询方索引确定的数据位置信息构建位置向量,进而基于加密位置向量进行后续查询,从而实现查询方无需公开查询标识也可以完成在数据方进行数据查询,提升了数据安全性。
参见图4,图4示出了根据本说明书一个实施例提供的一种应用于数据方的大规模数据匿踪查询方法的流程图,具体包括以下步骤:
步骤402:基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定。
步骤404:接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
本说明书应用于数据方的大规模数据匿踪查询方法,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
通过在各数据方索引中基于筛选参数确定目标数据方索引,并将确定的目标数据方索引发送至查询方,从而减少了匿踪查询的计算量,提升查询方对数据查询结果进行查询的查询效率。
与上述方法实施例相对应,本说明书还提供了多方安全计算系统实施例,图5示出了本说明书一个实施例提供的一种多方安全计算系统的结构示意图。如图5所示,该系统包括查询方和数据方,其中:
所述查询方502,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
所述数据方504,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
所述查询方502,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
所述数据方504,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;
所述查询方502,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
本说明书的多方安全计算系统,所述查询方,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;所述数据方,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至所述查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
通过在各数据方索引中基于筛选参数确定目标数据方索引,从而减少了匿踪查询的计算量,提升查询效率;基于根据数据方索引和目标查询方索引确定的数据位置信息构建位置向量,进而基于加密位置向量进行后续查询,从而实现查询方无需公开查询标识也可以完成在数据方进行数据查询,提升了数据安全性。
与上述方法实施例相对应,本说明书还提供了应用于查询方的大规模数据匿踪查询装置实施例,图6示出了本说明书一个实施例提供的一种应用于查询方的大规模数据匿踪查询装置的结构示意图。如图6所示,该装置包括:
确定模块602,被配置为基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;
加密模块604,被配置为根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
解密模块606,被配置为接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
本说明书应用于查询方的大规模数据匿踪查询装置,基于查询方私钥和至少一个查询标识确定各查询标识对应的查询方索引和查询方密钥;根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
通过基于根据数据方索引和目标查询方索引确定的数据位置信息构建位置向量,进而基于加密位置向量进行后续查询,从而实现查询方无需公开查询标识也可以完成在数据方进行数据查询,提升了数据安全性。
上述为本实施例的一种应用于查询方的大规模数据匿踪查询装置的示意性方案。需要说明的是,该应用于查询方的大规模数据匿踪查询装置的技术方案与上述的应用于查询方的大规模数据匿踪查询方法的技术方案属于同一构思,应用于查询方的大规模数据匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于查询方的大规模数据匿踪查询方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了应用于数据方的大规模数据匿踪查询装置实施例,图7示出了本说明书一个实施例提供的一种应用于数据方的大规模数据匿踪查询装置的结构示意图。如图7所示,该装置包括:
确定模块702,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;
加密模块704,接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
本说明书应用于数据方的大规模数据匿踪查询装置,基于数据方私钥和至少一个数据方标识确定各数据方标识对应的数据方索引和数据方密钥,在各数据方索引中基于筛选参数确定目标数据方索引,并发送至查询方,其中,所述筛选参数基于所述查询方索引和所述数据方的数据总量确定;接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
通过在各数据方索引中基于筛选参数确定目标数据方索引,并将确定的目标数据方索引发送至查询方,从而减少了匿踪查询的计算量,提升查询方对数据查询结果进行查询的查询效率。
上述为本实施例的一种应用于数据方的大规模数据匿踪查询装置的示意性方案。需要说明的是,该应用于数据方的大规模数据匿踪查询装置的技术方案与上述的应用于数据方的大规模数据匿踪查询方法的技术方案属于同一构思,应用于数据方的大规模数据匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于数据方的大规模数据匿踪查询方法的技术方案的描述。
图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 (9)
1.一种大规模数据匿踪查询方法,其特征在于,应用于多方安全计算系统,所述多方安全计算系统中包含查询方和数据方,包括:
所述查询方,基于查询方私钥加密至少一个查询方标识,生成各查询方标识对应的第一查询加密数据,并将各第一查询加密数据发送至所述数据方;接收所述数据方基于各第一查询加密数据和数据方私钥确定的第二查询加密数据;基于所述查询方私钥解密各第二查询加密数据,获得查询加密数据;将各查询加密数据拆分为对应的查询方索引和查询方密钥;
所述数据方,基于所述数据方私钥加密至少一个数据方标识,生成各数据方标识对应的加密数据;将各加密数据拆分为对应的数据方索引和数据方密钥,基于所述查询方索引和所述数据方的数据总量计算筛选参数;基于所述筛选参数在分桶集合中确定目标分桶;将所述目标分桶中的各数据方索引作为目标数据方索引,并发送至所述查询方;
所述查询方,基于数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和所述目标数据方索引对应的目标查询方索引确定;
所述数据方,基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方;
所述查询方,基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果。
2.如权利要求1所述的方法,其特征在于,所述数据方基于所述筛选参数在分桶集合中确定目标分桶之前,还包括:
基于所述数据方的数据总量和预设区分度确定分桶总数量;
根据所述分桶总数量和各目标数据方索引,将各目标数据方索引对应的目标数据方数据添加至对应的分桶中,生成分桶集合。
3.如权利要求1所述的方法,其特征在于,所述查询方基于数据位置信息构建位置向量,包括:
接收所述数据方基于各数据方索引和目标查询方索引确定的数据位置信息;
基于所述数据位置信息确定所述数据方进行数据存储的目标位置,并将所述目标位置设置为第一字段,将剩余位置设置为第二字段,生成位置向量。
4.如权利要求1所述的方法,其特征在于,所述数据方基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,包括:
基于目标数据方密钥加密目标数据方数据,获得第一加密数据;
根据所述加密位置向量和所述第一加密数据确定加密数据。
5.如权利要求1所述的方法,其特征在于,所述查询方基于所述查询方密钥和所述加密位置向量解密所述加密数据,获得数据查询结果,包括:
基于所述加密位置向量对所述加密数据进行解密,获得第一解密数据;
根据所述查询方密钥对所述第一解密数据,获得数据查询结果。
6.一种大规模数据匿踪查询方法,其特征在于,应用于查询方,包括:
基于查询方私钥加密至少一个查询方标识,生成各查询方标识对应的第一查询加密数据,并将各第一查询加密数据发送至所述数据方;接收所述数据方基于各第一查询加密数据和数据方私钥确定的第二查询加密数据;基于所述查询方私钥解密各第二查询加密数据,获得查询加密数据;将各查询加密数据拆分为对应的查询方索引和查询方密钥;
根据数据方发送的数据位置信息构建位置向量,加密所述位置向量,并将获得的加密位置向量发送至所述数据方,其中,所述数据位置信息基于所述至少一个数据方索引和目标数据方索引对应的目标查询方索引确定;
接收所述数据方发送的加密位置向量,并基于所述查询方密钥和所述加密位置向量解密加密数据,获得数据查询结果,其中,所述加密数据基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据获得。
7.一种大规模数据匿踪查询方法,其特征在于,应用于数据方,包括:
基于数据方私钥加密至少一个数据方标识,生成各数据方标识对应的加密数据;将各加密数据拆分为对应的数据方索引和数据方密钥,基于查询方索引和所述数据方的数据总量计算筛选参数;基于所述筛选参数在分桶集合中确定目标分桶;将所述目标分桶中的各数据方索引作为目标数据方索引,并发送至查询方;
接收所述查询方发送的加密位置向量,并基于所述加密位置向量和所述目标数据方索引对应的目标数据方密钥,加密所述目标数据方索引对应的目标数据方数据,并将获得的加密数据发送至所述查询方。
8.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求6-7任意一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求6-7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311331565.3A CN117077209B (zh) | 2023-10-16 | 2023-10-16 | 大规模数据匿踪查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311331565.3A CN117077209B (zh) | 2023-10-16 | 2023-10-16 | 大规模数据匿踪查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077209A CN117077209A (zh) | 2023-11-17 |
CN117077209B true CN117077209B (zh) | 2024-02-23 |
Family
ID=88717539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311331565.3A Active CN117077209B (zh) | 2023-10-16 | 2023-10-16 | 大规模数据匿踪查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077209B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521150B (zh) * | 2024-01-04 | 2024-04-09 | 极术(杭州)科技有限公司 | 基于多方安全计算的数据协同处理方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017222407A1 (en) * | 2016-06-22 | 2017-12-28 | Autonomous Non-Profit Organization For Higher Education "Skolkovo Institute Of Science And Technology" | Two-mode encryption scheme allowing comparison-based indexing |
EP3358875A1 (en) * | 2017-02-03 | 2018-08-08 | Alcatel Lucent | Method for protecting privacy in data queries |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115269938A (zh) * | 2022-09-22 | 2022-11-01 | 深圳市洞见智慧科技有限公司 | 基于同态加密的关键词匿踪查询方法、系统及相关装置 |
CN115905710A (zh) * | 2022-12-27 | 2023-04-04 | 杭州海康威视数字技术股份有限公司 | 一种匿踪查询系统、方法、装置、电子设备及存储介质 |
CN116346310A (zh) * | 2023-04-10 | 2023-06-27 | 杭州安恒信息技术股份有限公司 | 基于同态加密的匿踪查询方法、装置和计算机设备 |
WO2023138379A1 (zh) * | 2022-01-20 | 2023-07-27 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联合数据查询方法及装置 |
CN116502254A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 可查得统计的匿踪查询方法及装置 |
CN116502276A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 匿踪查询方法及装置 |
CN116680324A (zh) * | 2023-06-05 | 2023-09-01 | 杭州博盾习言科技有限公司 | 数据匿踪查询方法及装置、存储介质、电子设备 |
CN116821461A (zh) * | 2023-08-28 | 2023-09-29 | 云阵(杭州)互联网技术有限公司 | 资源查询方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785786B2 (en) * | 2012-09-24 | 2017-10-10 | Protegrity Corporation | Privacy preserving data search |
-
2023
- 2023-10-16 CN CN202311331565.3A patent/CN117077209B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017222407A1 (en) * | 2016-06-22 | 2017-12-28 | Autonomous Non-Profit Organization For Higher Education "Skolkovo Institute Of Science And Technology" | Two-mode encryption scheme allowing comparison-based indexing |
EP3358875A1 (en) * | 2017-02-03 | 2018-08-08 | Alcatel Lucent | Method for protecting privacy in data queries |
WO2023138379A1 (zh) * | 2022-01-20 | 2023-07-27 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联合数据查询方法及装置 |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115269938A (zh) * | 2022-09-22 | 2022-11-01 | 深圳市洞见智慧科技有限公司 | 基于同态加密的关键词匿踪查询方法、系统及相关装置 |
CN115905710A (zh) * | 2022-12-27 | 2023-04-04 | 杭州海康威视数字技术股份有限公司 | 一种匿踪查询系统、方法、装置、电子设备及存储介质 |
CN116346310A (zh) * | 2023-04-10 | 2023-06-27 | 杭州安恒信息技术股份有限公司 | 基于同态加密的匿踪查询方法、装置和计算机设备 |
CN116680324A (zh) * | 2023-06-05 | 2023-09-01 | 杭州博盾习言科技有限公司 | 数据匿踪查询方法及装置、存储介质、电子设备 |
CN116502254A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 可查得统计的匿踪查询方法及装置 |
CN116502276A (zh) * | 2023-06-29 | 2023-07-28 | 极术(杭州)科技有限公司 | 匿踪查询方法及装置 |
CN116821461A (zh) * | 2023-08-28 | 2023-09-29 | 云阵(杭州)互联网技术有限公司 | 资源查询方法以及装置 |
Non-Patent Citations (2)
Title |
---|
加密数据库快速关键词查询技术;张曼;咸鹤群;张曙光;;计算机工程与应用(13);全文 * |
路网环境下兴趣点查询的隐私保护方法;梁慧超;王斌;崔宁宁;杨凯;杨晓春;;软件学报(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117077209A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112367169B (zh) | 数据加解密方法、装置、设备及存储介质 | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN116502254B (zh) | 可查得统计的匿踪查询方法及装置 | |
CN116502276B (zh) | 匿踪查询方法及装置 | |
CN117077209B (zh) | 大规模数据匿踪查询方法 | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
CN114547668A (zh) | 一种基于国密和索引混淆的匿踪查询方法及装置 | |
CN117150557A (zh) | 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统 | |
CN115098868A (zh) | 保护隐私的数据提供、查询方法、装置及系统 | |
CN115412356A (zh) | 数据查询设备法、装置、计算机设备以及存储介质 | |
Gahi et al. | Privacy preserving scheme for location-based services | |
US11018857B2 (en) | Encryption scheme using multiple parties | |
CN114866312B (zh) | 一种保护数据隐私的共有数据确定方法及装置 | |
CN114500006B (zh) | 查询请求的处理方法及装置 | |
Kamal et al. | Searchable encryption using secret-sharing scheme for multiple keyword search using conjunctive and disjunctive searching | |
Li et al. | Secure and privacy‐preserving pattern matching in outsourced computing | |
CN117574435B (zh) | 基于同态加密的多关键词匿踪查询方法、装置及系统 | |
CN113761229A (zh) | 一种加密邮件的搜索方法、搜索系统及相关组件 | |
Pillai et al. | Blockchain-Based Searchable Asymmetric Encryption Scheme in Cloud Environment | |
Wang et al. | Outsourced Privacy-Preserving kNN Classifier Model Based on Multi-Key Homomorphic Encryption | |
CN116506226B (zh) | 隐私数据处理系统以及方法 | |
CN116956354B (zh) | 数据查询方法、装置、数据源设备、查询方设备及系统 | |
Abbas et al. | A trustless broker based protocol to discover friends in proximity-based mobile social networks | |
Kalıdeen et al. | Privacy-preserving k-nearest neighbour interpolation method in an outsourced environment |
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 |