保护隐私的双方协同确定目标对象数据的方法及装置与流程

文档序号:25169537发布日期:2021-05-25 14:38阅读:61来源:国知局
保护隐私的双方协同确定目标对象数据的方法及装置与流程

本说明书一个或多个实施例涉及安全多方计算领域,尤其涉及一种保护隐私的双方协同确定目标对象数据的方法及装置,一种保护隐私的多方协同确定目标对象数据的方法及装置。



背景技术:

目前,存在许多需要用到psi(privatesetintersection,隐私安全求交)协议的场景。例如,在im(instantmessage,即时通讯)软件的发现好友功能中,需要对用户终端中电话通讯录的联系人与im软件的注册用户进行匹配,从而确定电话通讯录中同样在使用该im软件的联系人,并进行好友推荐。psi协议在允许持有各自数据集合的两方来共同计算两个集合的交集,在协议交互的最后,一方或两方得到正确的交集结果,而且不会得到交集以外的另一方集合中的任何信息。

然而,目前多数场景中应用psi协议时存在瓶颈,包括计算复杂度过高,计算效率偏低等。因此,需要一种方案,可以有效降低psi协议在实际场景应用中的计算复杂度,从而有效提升计算效率。



技术实现要素:

本说明书一个或多个实施例描述保护隐私的双方协同确定目标对象数据的方法及装置,在此方法和装置中,可以先对双方的数据集进行合理划分,从而有效减少后续计算中的数据碰撞次数,进而降低计算复杂度,提升计算效率。

根据第一方面,提供一种保护隐私的双方协同确定目标对象数据的方法,所述双方包括第一方和第二方,所述方法应用于第一方,包括:采用不可逆加密算法,对本地存储的多条第一对象数据进行加密,得到多条第一加密数据;对所述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;从所述第二方接收多个第二分组以及对应的多个第二属性值,其基于所述第二方本地存储的多条第二对象数据而确定;对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,其用于确定对应的若干目标对象数据。

在一个实施例中,对所述多条第一加密数据进行分组处理,包括:基于预设除数,对所述多条第一加密数据分别进行取模运算,得到多个第一运算值,作为所述多个第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在一个实施例中,对所述多条第一加密数据进行分组处理,包括:确定各条第一加密数据在多个预设数据位的多个第一数值,形成第一数值序列,作为对应的第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在一个实施例中,在得到匹配成功的若干目标加密数据之后,所述方法还包括:基于所述多条第一加密数据与多条第一对象数据的映射关系,确定所述若干目标加密数据对应的若干目标对象数据。

在一个实施例中,在得到匹配成功的若干目标加密数据之后,所述方法还包括:将所述若干目标加密数据发送至所述第二方,以使所述第二方基于多条第二加密数据与多条第二对象数据的映射关系,确定所述若干目标加密数据对应的若干目标对象数据。

根据第二方面,提供一种保护隐私的双方协同确定目标对象数据的方法,所述双方包括第一方和第二方,所述方法应用于第一方,包括:利用第一私钥对本地存储的多条第一对象数据进行加密,得到多条第一单加密数据;从所述第二方接收多条第一双加密数据,所述多条第一双加密数据由所述第二方利用第二私钥对所述多条第一单加密数据进行加密而得到;从所述第二方接收多条第二单加密数据,其由所述第二方利用所述第二私钥对本地存储的多条第二对象数据进行加密而得到;利用所述第一私钥对所述多条第二单加密数据进行加密,得到多条第二双加密数据;对所述多条第一双加密数据进行分组处理,使得针对预定属性具有相同属性值的第一双加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;对所述多条第二双加密数据进行分组处理,使得针对所述预定属性具有相同属性值的第二双加密数据被归入同一组,从而得到多个第二分组以及对应的多个第二属性值;对具有相同属性值的第一分组和第二分组进行双加密数据匹配,得到匹配成功的若干目标双加密数据,其用于确定对应的若干目标对象数据。

在一个实施例中,对所述多条第一双加密数据进行分组处理,包括:基于预设除数,对所述多条第一双加密数据分别进行取模运算,得到多个第一运算值,作为所述多个第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在一个实施例中,对所述多条第一双加密数据进行分组处理,包括:确定各条第一双加密数据在多个预设数据位的多个第一数值,形成第一数值序列,作为对应的第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在一个实施例中,在得到匹配成功的若干目标双加密数据之后,所述方法还包括:将所述若干目标双加密数据发送至所述第二方,以使所述第二方利用与所述第二私钥对应的第二公钥对所述若干目标双加密数据进行解密,得到若干第一单加密数据;从所述第二方接收所述若干第一单加密数据;确定所述若干第一单加密数据对应的若干目标对象数据。

根据第三方面,提供一种保护隐私的多方协同确定目标对象数据的方法,所述多方包括第一数据方和第二数据方,所述方法包括:第一数据方采用预定加密方式,对本地存储的多条第一对象数据进行加密处理,得到多条第一加密数据;所述多方中的第一指定方采用预定分组方式,对所述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;第二数据方采用所述预定加密方式,对本地存储的多条第二对象数据进行加密处理,得到多条第二加密数据;所述多方中的第二指定方采用所述预定分组方式,对所述多条第二加密数据进行分组处理,使得针对预定属性具有相同属性值的第二加密数据被归入同二组,从而得到多个第二分组以及对应的多个第二属性值;所述多方中的第三指定方对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,用于确定若干目标对象数据。

在一个实施例中,所述多方中还包括中立服务器,所述第一指定方、第二指定方和第三指定方中的至少一方为所述中立服务器。

根据第四方面,提供一种保护隐私的双方协同确定目标对象数据的装置,所述双方包括第一方和第二方,所述装置应用于第一方,包括:对象数据加密单元,配置为采用不可逆加密算法,对本地存储的多条第一对象数据进行加密,得到多条第一加密数据;加密数据分组单元,配置为对所述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;他方数据接收单元,配置为从所述第二方接收多个第二分组以及对应的多个第二属性值,其基于所述第二方本地存储的多条第二对象数据而确定;两方数据匹配单元,配置为对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,其用于确定对应的若干目标对象数据。

根据第五方面,提供一种保护隐私的双方协同确定目标对象数据的装置,所述双方包括第一方和第二方,所述装置集成于第一方,包括:第一加密单元,配置为利用第一私钥对本地存储的多条第一对象数据进行加密,得到多条第一单加密数据;第一接收单元,配置为从所述第二方接收多条第一双加密数据,所述多条第一双加密数据由所述第二方利用第二私钥对所述多条第一单加密数据进行加密而得到;第二接收单元,配置为从所述第二方接收多条第二单加密数据,其由所述第二方利用所述第二私钥对本地存储的多条第二对象数据进行加密而得到;第二加密单元,配置为利用所述第一私钥对所述多条第二单加密数据进行加密,得到多条第二双加密数据;第一分组单元,配置为对所述多条第一双加密数据进行分组处理,使得针对预定属性具有相同属性值的第一双加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;第二分组单元,配置为对所述多条第二双加密数据进行分组处理,使得针对所述预定属性具有相同属性值的第二双加密数据被归入同一组,从而得到多个第二分组以及对应的多个第二属性值;数据匹配单元,配置为对具有相同属性值的第一分组和第二分组进行双加密数据匹配,得到匹配成功的若干目标双加密数据,其用于确定对应的若干目标对象数据。

根据第六方面,提供一种保护隐私的多方协同确定目标对象数据的系统,所述多方包括第一数据方和第二数据方,所述系统包括:第一数据方,用于采用预定加密方式,对本地存储的多条第一对象数据进行加密处理,得到多条第一加密数据;所述多方中的第一指定方,用于采用预定分组方式,对所述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;第二数据方,用于采用所述预定加密方式,对本地存储的多条第二对象数据进行加密处理,得到多条第二加密数据;所述多方中的第二指定方,用于采用所述预定分组方式,对所述多条第二加密数据进行分组处理,使得针对预定属性具有相同属性值的第二加密数据被归入同二组,从而得到多个第二分组以及对应的多个第二属性值;所述多方中的第三指定方,用于对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,用于确定若干目标对象数据。

根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面或第三方面中的方法。

根据第八方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面或第三方面中的方法。

根据本说明书实施例提供的确定目标对象数据的方法及装置,两个数据方各自采用不可逆加密算法,对本地存储的多条对象数据进行加密,并将针对预设属性具有相同属性值的加密数据分为一组,再对双方具有相同属性值的分组进行加密数据匹配,得到若干目标加密数据,从而确定出若干目标对象数据,如此,可以在有效保护双方数据隐私的同时,有效降低确定目标对象数据过程的计算复杂度,提高计算效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出根据一个实施例的多方协同确定目标对象数据的阶段示意图;

图2示出根据一个实施例的双方协同确定目标对象数据的交互示意图;

图3示出根据另一个实施例的双方协同确定目标对象数据的交互示意图;

图4示出根据一个实施例的保护隐私的多方协同确定目标对象数据的方法流程图;

图5示出根据一个示例的多方协同确定目标对象数据的实施架构图;

图6示出根据一个实施例的保护隐私的双方协同确定目标对象数据的装置结构图;

图7示出根据另一个实施例的保护隐私的双方协同确定目标对象数据的装置结构图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

如前所述,许多场景下,都涉及到对两方数据进行隐私安全求交。在一种求交方式中,双方先分别对各自的数据进行加密处理,使得相同的明文数据在加密后的密文数据相同;然后,对加密后的数据直接进行比对,基于比对出的两方相同的密文数据,而确定出对应的明文数据交集。然而,这种方式的计算量巨大,需要进行双向遍历式比对,比如说,假定求交的双方均有106条数据,直接进行比对需要计算1012次碰撞。

进一步,提出可以依赖数据集所对应的集合外信息(如国家、地区等切分地址)进行分组,然后仅需对分到相同组别的数据进行比对,如此可以有效减少比对次数。比如说,假定求交双方均有106条数据,进一步假定其都被均为切分为1000份,此时,计算时数据碰撞的次数为1000*103*103=109,相较于不分组而直接计算,碰撞次数减少了1000倍。然而,此种方式中分组时所使用的集合外信息为与数据集关联的有效、敏感信息,故而存在隐私泄露风险,比如,做求交计算的中心节点能够获知双方数据集中属于同一组别(如某一国家地区)内的样本数量。

更进一步,发明人提出,可以基于数据集本身的数据内容进行分组,从而消除分组带来的隐私泄露风险。具体,可以基于数据内容预先设定数据属性,基于此,数据持有方在进行分组时,先确定各条密文数据针对预设属性的属性值,进而将具有相同属性值的密文数据归入同一组。

需理解,隐私数据求交的目的通常在于进行相关业务处理,由此,可以将上述提及的各方、数据方称为业务方,相应将其持有的数据集称为针对业务对象的对象数据集,将求交结果称为目标对象数据,该目标对象数据用于进一步的业务处理,例如,在im软件界面中向用户展示好友推荐列表等。

图1示出根据一个实施例的多方协同确定目标对象数据的阶段示意图,其中依次包括对象数据加密、加密数据划分和同组数据求交三个阶段。

下面结合具体的实施例,对上述构思的实现步骤进行介绍。

图2示出根据一个实施例的双方协同确定目标对象数据的交互示意图,为清楚、简洁地描述,将其中双方中的一方称为第一方,另一方称为第二方。需理解,第一方和第二方均可以实现为任何具有存储、计算能力的装置、平台、服务器或设备集群。

双方各自存储针对业务对象的对象数据,具体,第一方本地存储针对多个第一业务对象的多条第一对象数据,第二方本地存储针对多个第二业务对象的多条第二对象数据。

在一个实施场景中,业务对象包括用户,相应对象数据包括用户数据。在一个具体的实施例中,用户数据可以包括用户标识或用户属性信息,具体可以包括手机号,证件号码,注册用户名,包含用户姓名及其双亲姓名的字符串,等等。在一个示例中,用户数据包括手机号,第一方可以是用户终端,其中存储的电话通讯录中包含多个第一用户的手机号,第二方可以是im系统,其存储多个第二用户的手机号,双方通过求取手机号交集,发现电话通讯录中在使用im软件的联系人,进而向用户终端的使用者进行im好友推荐。在另一个示例中,用户数据包括证件号码,第一方可以是某个服务平台(如银行),其存储多个第一用户的证件号码,第二方可以是另一个服务平台(如支付平台),其存储多个第二用户的证件号码,双方通过求取证件号码交集,确定相同用户作为目标用户,进而双方各自提供目标用户在服务平台中的行为数据,进行联邦学习,从而利用产出的模型为用户提供更加优质的服务。

在另一个实施场景中,业务对象包括商品,相应对象数据包括商品数据。在一个具体的实施例中,商品数据可以包括商品标识或商品属性信息,具体可以包括商品名称、商品编码等。在一个示例中,商品数据包括商品编码,第一方可以是电商平台,其中存储某一用户点击浏览的多个第一商品的商品编码,第二方可以是支付平台,其中存储该某一用户已购买的多个第二商品的商品编码,双方通过求取商品交集,确定该某一用户在电商平台中的购买转化率。

以上对业务对象属于用户、商品的场景进行介绍,实际上,业务对象还可以是商户、事件(如访问事件、登录事件)等其他对象。

如图2所示,第一方和第二方的交互可以包括以下步骤:

在步骤s201,第一方采用不可逆加密算法,对本地存储的多条第一对象数据进行加密,得到多条第一加密数据。需理解,不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。在一个实施例中,不可逆加密算法可以采用md5算法。在另一个实施例中,不可逆加密算法可以采用shs(securehashstandard,安全杂乱信息标准)。在又一个实施例中,不可逆加密算法可以采用连续多次哈希实现。

通过对各条第一对象数据分别进行加密,可以得到对应的第一加密数据。在步骤s202,第一方基于得到的多条第一加密数据,对其进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值。其中预定属性可以是针对加密数据的数据内容而设定,其不依赖于隐私、敏感信息,如此可以消除隐私数据的泄露风险。

在一个实施例中,预定属性包括加密数据基于预先设定的除数进行取模运算的余数,其中除数的设定可以参考期望分组的组数,需理解,该预设除数小于上述多条第一加密数据的总条数。相应地,本步骤可包括:基于预设除数,对上述多条第一加密数据分别进行取模运算,得到多个第一运算值(运算结果也就是余数),作为所述多个第一属性值;进一步,将具有相同第一属性值的第一加密数据归入同一组,得到上述多个第一分组。在一个简单的示例中,假定多条第一加密数据包括a1、a2、a3、a4和a5,其中前三个进行取模运算的余数相同,均为1,后两个进行取模运算的余数相同,均为2,则可以将a1、a2、a3归为一组,并得到其对应的属性值为1,以及,将a4、a5归为另一组,并得到其对应的属性值为2。如此,第一方基于与第二方约定的预设除数和取模运算的方式,可以得到多个第一分组和对应的多个第一属性值。

在另一个实施例中,预定属性包括加密数据在多个预设数据位的数据值。需理解,一条加密数据可以对应一个数值串,数值串可以是二进制的,或十进制、十六进制的等其他进制的,数值串在各个数据位置具有对应的数值,示例性地,假定一条加密数据表示为00134567,则从高位向低位看,其第1个数据位的数值是0,第3个数据位的数值是1。

相应地,本步骤可以包括:先确定各条第一加密数据在多个预设数据位的多个第一数值,形成第一数值序列,作为对应的第一属性值;再将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。在一个具体的实施例中,其中多个预设数据位的数量和具体数据位置可以是人工预先指定的。在另一个具体的实施例中,数据位置也可以是随机设定的,例如,获取加密数据所对应的总的数据位置,以及从其中选取数据位的数量,再基于二者采用随机算法,生成对应数量的数据位编号。另一方面,在一个具体的实施例中,多个预设数据位可以是连续排列的,也可以是间隔排列的。在一个简单的示例中,假定加密数据包括011001,011101,001100,001111,并假定多个预定数据位包括从高位数起的第2位和第三位,那么,前两条属性值均为11的加密数据可以归为一组,后两条属性值均为01的加密数据可以归位另一组。

以上,第一方对多条第一加密数据进行分组,可以得到多个第一分组,以及对应的多个第一属性值。

另一方面,第二方在步骤s203和步骤s204,采用不可逆加密算法,对本地存储的多条第二对象数据进行加密,得到多条第二加密数据;进而对该多条第二加密数据进行分组处理,使得针对预定属性具有相同属性值的第二加密数据被归入同二组,从而得到多个第二分组以及对应的多个第二属性值。需理解,第二方对本地对象数据进行加密的方式,以及对加密数据进行分组的方式,与第一方所采用的加密方式和分组方式相同,如此,可以保证第一方和第二方中的相同对象数据所对应的加密数据落入具有相同属性值的分组,从而保证后续匹配的正确性。因此,对步骤s203和步骤s204的描述,可以参见对前述步骤s201和步骤s202的描述,不作赘述。

进一步,第二方执行步骤s204而得到多个第二分组以及对应的多个第二属性值后,在步骤s205,将其发送给第一方。

在步骤s206,第一方基于本地确定的多个第一分组和对应的多个第一属性值,以及从第二方接收的多个第二分组和对应的多个第二属性值,对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据。

在一个实施例中,第一方可以先对多个第一属性值和多个第二属性值进行匹配,确定出相同的多对第一属性值和第二属性值;然后,针对任一对第一属性值和第二属性值,将对应的第一分组和第二分组中的加密数据进行匹配,得到相同的第一加密数据和第二加密数据,并将其中任一条归入目标加密数据。在另一个实施例中,属性值的匹配和加密数据的匹配可以交替进行,例如,第一方先利用某个第一属性值与多个第二属性值进行比对,若匹配到相同的第二属性值,则进行对应分组的加密数据匹配,此加密数据匹配完成后,将该某个第一属性值从多个第一属性值中刨除,将已参与匹配处理的分组数据从多个第一分组和多个第二分组中刨除,再进行下一轮的属性值比对;否则,若没有匹配到相同的第二属性值,则将该某个第一属性值进行舍弃,再开始下一轮的属性值比对。

由上,可以匹配出双方相同的若干目标加密数据,此若干目标加密数据用于确定对应的若干目标对象数据。对应若干目标业务对象的确定,可以根据实际需求,由第一方或第二方完成,或两方均进行确定。在一个实施例中,上述交互过程还可以包括步骤s207,第一方基于多条第一加密数据和多条第一对象数据的映射关系,确定上述若干目标加密数据对应的若干目标对象数据。进一步,在一个更具体的实施例中,在步骤s207之后,上述交互过程还可以包括:第一方将若干目标对象数据发送给第二方。在另一个实施例中,上述交互过程还可以包括步骤s208和步骤s209,第二方从第一方接收若干目标加密数据,进而基于多条第二加密数据与多条第二对象数据的映射关系,确定该若干目标加密数据对应的若干目标对象数据。

另一方面,上述若干目标加密数据还可以用于确定对应的若干目标业务对象(如业务对象在对应数据方中的系统标识)。在一个实施例中,任一方可以根据若干目标对象数据确定出若干目标业务对象。在另一个实施例中,任一方可以基于多条对象数据和多条加密数据之间的映射关系,确定出若干目标加密数据对应的若干目标业务对象。需理解,多个业务对象对应多条对象数据,多条加密数据是基于多条对象数据进行加密而得到,通过对应关系的传递,可以建立起多条加密数据和多个业务对象之间的映射关系。

需说明,上述交互步骤的执行顺序不是唯一的,只要使得各步骤能够顺利执行的顺序都是可以的。

综上,采用本说明书实施例披露的确定目标对象数据的方法,双方各自采用不可逆加密算法,对本地存储的多条对象数据进行加密,并将针对预设属性具有相同属性值的加密数据分为一组,再对双方具有相同属性值的分组进行加密数据匹配,得到若干目标加密数据,从而确定出若干目标对象数据,如此,可以在有效保护双方数据隐私的同时,有效降低确定目标对象数据过程的计算复杂度,提高计算效率。

在上述目标对象数据的确定方法中,采用的加密方式是不可逆加密算法,实际上,还可以采用其他的加密算法,比如,满足交换率的加密算法,也就是,对于相同的数据,先利用第一私钥进行加密,再利用第二私钥进行二次加密所得到的双重加密结果,与先利用第二私钥进行加密,再利用第一私钥进行二次加密所得到的双重加密结果是相同的。此外,上述方法中对加密数据的分组是各方各自完成,实际上,两方加密数据的分组也可以交由其中一方完成。

具体,图3示出根据另一个实施例的双方协同确定目标对象数据的交互示意图,其中示出的交互过程包括以下步骤:

一方面,第一方获取多个第一对象对应的多条第一双加密数据,这一过程涉及步骤s301、步骤s302、步骤s303和步骤s304。具体,在步骤s301,第一方利用第一私钥,对本地存储的多条第一对象数据进行加密,得到多条第一单加密数据;步骤s302,第一方将多条第一单加密数据发送至第二方;步骤s303,第二方利用第二私钥对所述多条第一单加密数据进行加密,得到多条第一双加密数据;步骤s304,第二方将该多条第二双加密数据发送至第一方。上述第一私钥和第二私钥满足加密的交换率,通过执行上述步骤s301、s302、s303和s304,第一方获取到多条第一双加密数据。

另一方面,第一方获取多个第二对象对应的多条第二双加密数据,这一过程涉及步骤s305,第二方利用第二私钥,对本地存储的多条第二对象数据进行加密,得到多条第二单加密数据;步骤s306,第二方将该多条第二单加密数据发送至第一方;步骤s307,第一方利用第一私钥对所述多条第二单加密数据进行加密,得到多条第二双加密数据。

第一方对多条第一双加密数据和多条第二双加密数据进行分组处理。具体,在步骤s308,第一方对上述多条第一双加密数据进行分组处理,使得针对预定属性具有相同属性值的第一双加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;在步骤s309,第一方对上述多条第二双加密数据进行分组处理,使得针对预定属性具有相同属性值的第二双加密数据被归入同一组,从而得到多个第二分组以及对应的多个第二属性值。

进一步,在步骤s310,第一方对具有相同属性值的第一分组和第二分组进行双加密数据匹配,得到匹配成功的若干目标双加密数据。

需说明,以上对双加密数据进行分组处理,以及对双加密数据进行匹配的过程,可以参见前述实施例中对加密数据进行分组处理和匹配的过程,不作赘述。

由上,可以匹配出双方相同的若干目标双加密数据,此若干目标双加密数据用于确定对应的若干目标对象数据。对应若干目标对象数据的确定,可以根据实际需求,由第一方或第二方完成,或两方均进行确定。

在一个实施例中,上述交互过程还可以包括步骤:第一方将上述若干目标双加密数据发送至第二方;第二方利用与上述第二私钥对应的第二公钥对上述若干目标双加密数据进行解密,得到若干第一单加密数据;第一方从第二方接收上述若干第一单加密数据;第一方确定上述若干第一单加密数据对应的若干目标对象数据,在一个具体的实施例中,可以基于多条第一单加密对象数据与多条第一对象数据的映射关系,确定若干第一单加密数据对应的若干目标对象数据,在另一个具体的实施例中,可以利用与第一私钥对应的第一公钥对若干第一单加密对象数据进行解密,得到若干第一对象数据,作为若干目标对象数据。

在另一个实施例中,上述交互过程还可以包括步骤:第一方利用与第一私钥对应的第一公钥对上述若干目标双加密数据进行解密,得到若干第二单加密数据;第一方将该若干第二单加密数据发送至第二方;第二方确定与该若干第二单加密数据对应的若干目标对象数据。

需说明,上述交互步骤的执行顺序不是唯一的,只要使得各步骤能够顺利执行的顺序都是可以的。

综上,采用本说明书实施例披露的确定目标对象数据的方法,双方各自采用满足交换率的加密算法,对本地存储的多条对象数据进行加密,并将针对预设属性具有相同属性值的加密数据分为一组,再对双方具有相同属性值的分组进行加密数据匹配,得到若干目标加密数据,从而确定出若干目标对象数据,如此,可以在有效保护双方数据隐私的同时,有效降低确定目标对象数据过程的计算复杂度,提高计算效率。

需说明,在图2和图3示出的交互过程中,涉及到针对对象数据的加密和解密的步骤需要数据方,包括第一方和第二方执行完成,而对于其他对加密数据的分组和匹配,因是对加密数据操作,不涉及到数据隐私的泄露,可以由任意参与方完成,如第一方或第二方,或者第一方和第二方之外的第三方,如中立服务器等。

图4示出根据一个实施例的保护隐私的多方协同确定目标对象数据的方法流程图,所述多方中包括第一数据方(如上述第一方)和第二数据方(如上述第二方),如图4所示,所述方法包括以下步骤:

步骤s410,第一数据方采用预定加密方式,对本地存储的多条第一对象数据进行加密处理,得到多条第一加密数据;步骤s420,上述多方中的第一指定方采用预定分组方式,对上述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;步骤s430,第二数据方采用上述预定加密方式,对本地存储的多条第二对象数据进行加密处理,得到多条第二加密数据;步骤s440,上述多方中的第二指定方采用上述预定分组方式,对上述多条第二加密数据进行分组处理,使得针对预定属性具有相同属性值的第二加密数据被归入同二组,从而得到多个第二分组以及对应的多个第二属性值;步骤s450,上述多方中的第三指定方对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,用于确定若干目标对象数据。

针对以上步骤,上述步骤s410和步骤s430中提及的预定加密方式,在一个实施中,可以采用上述不可逆加密算法。在另一个实施例中,可以采用上述满足交换率的加密算法。

对于上述步骤s420和步骤s440中提及的预定分组方式,可以参见前述实施例中对加密数据进行分组的介绍。

对于执行上述步骤s420的第一指定方,执行上述步骤s440的第二指定方,执行上述步骤s450的第三指定方,存在多种情况,在一种实施方式中,上述多方中包括第一数据方和第二数据方,且不包括其他参与方,相应,其中任一指定方可以是第一数据方或第二数据方。在另一种实施方式中,上述多方还包括中立服务器,此时,上述三个指定方中的一个或两个可以是该中立服务器,剩余的一个可以是上述第一数据方或第二数据方,或者,上述三个指定方均为该中立服务器。

根据一个示例,图5示出根据一个示例的多方协同确定目标对象数据的实施架构图,其中多方包括第一方、第二方和中立服务器,在图5中分别用a方、b方和中心节点c进行指代。如图5所示,在对象数据加密阶段,a方和b方各自对本地存储的对象数据进行加密,具体,a方利用预定加密方式,对其对象数据a1,a2,...,ana分别进行加密,得到对应的加密数据<a1>,<a2>,...,<ana>,b方同样利用预定加密方式,对其对象数据b1,b2,...,bnb分别进行加密,得到对应的加密数据<b1>,<b2>,...,<bnb>;在加密数据划分阶段,a方基于预定除数,对其确定的各条加密数据进行取模运算,从而将各条加密数据划分到对应组别,例如,加密数据<a1>,<a2>,<a3>和<a4>所对应的余数分别为2,1,2和1,则<a1>和<a3>被归入到组别2,<a2>和<a4>被归入到组别1,b方同样基于预定除数,对其确定的各条加密数据进行取模运算,从而将各条加密数据划分到对应组别,例如,加密数据<b1>,<b2>,<b3>和<b4>所对应的余数分别为1,2,2和1,则<b1>和<b3>被归入到组别2,<b2>和<b4>被归入到组别1;在同组数据求交阶段,中心节点c对属于同一组别的a方加密数据和b方加密数据进行匹配,得到若干目标加密数据,如图5所示,包括对属于组别1的a方加密数据<a2>和<a4>等以及b方加密数据<b2>和<b4>等进行匹配,对属于组别2的a方加密数据<a1>和<a3>等以及b方加密数据<b1>和<b3>等进行匹配。进一步,中心节点可以将得到的若干目标加密数据发送给a方和/或b方,以使得a方和/或b方确定该若干目标加密数据对应的若干对象数据,和/或,确定该若干目标加密数据对应的若干目标业务对象。

综上,采用本说明书实施例披露的确定目标对象数据的方法,第一数据方和第二数据方各自采用满足交换率的加密算法,对本地存储的多条对象数据进行加密,再由多方中的指定方将针对预设属性具有相同属性值的加密数据分为一组,并对双方具有相同属性值的分组进行加密数据匹配,得到若干目标加密数据,从而使得第一数据方和/或第二数据方可以确定出若干目标对象数据,如此,可以在有效保护数据方中数据隐私的同时,有效降低确定目标对象数据过程的计算复杂度,提高计算效率。

与上述目标对象数据的确定方法相对应地,本说明书实施例还披露目标对象数据的确定装置。具体如下:

图6示出根据一个实施例的保护隐私的双方协同确定目标对象数据的装置结构图,所述双方包括第一方和第二方,所述装置应用于第一方。如图6所示,所述装置600包括:

对象数据加密单元610,配置为采用不可逆加密算法,对本地存储的多条第一对象数据进行加密,得到多条第一加密数据;加密数据分组单元620,配置为对所述多条第一加密数据进行分组处理,使得针对预定属性具有相同属性值的第一加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;他方数据接收单元630,配置为从所述第二方接收多个第二分组以及对应的多个第二属性值,其基于所述第二方本地存储的多条第二对象数据而确定;两方数据匹配单元640,配置为对具有相同属性值的第一分组和第二分组进行加密数据匹配,得到匹配成功的若干目标加密数据,其用于确定对应的若干目标对象数据。

在一个实施例中,加密数据分组单元620具体配置为:基于预设除数,对所述多条第一加密数据分别进行取模运算,得到多个第一运算值,作为所述多个第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在另一个实施例中,加密数据分组单元620具体配置为:确定各条第一加密数据在多个预设数据位的多个第一数值,形成第一数值序列,作为对应的第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。

在一个实施例中,所述装置还包括目标数据确定单元650,配置为基于所述多条第一加密数据与多条第一对象数据的映射关系,确定所述若干目标加密数据对应的若干目标对象数据。

在另一个实施例中,所述装置还包括数据发送单元,配置为将所述若干目标加密数据发送至所述第二方,以使所述第二方基于多条第二加密数据与多条第二对象数据的映射关系,确定所述若干目标加密数据对应的若干目标对象数据。

图7示出根据另一个实施例的保护隐私的双方协同确定目标对象数据的装置结构图,所述双方包括第一方和第二方,所述装置集成于第一方。如图7所示,所述装置700包括:

第一加密单元710,配置为利用第一私钥对本地存储的多条第一对象数据进行加密,得到多条第一单加密数据;第一接收单元720,配置为从所述第二方接收多条第一双加密数据,所述多条第一双加密数据由所述第二方利用第二私钥对所述多条第一单加密数据进行加密而得到;第二接收单元730,配置为从所述第二方接收多条第二单加密数据,其由所述第二方利用所述第二私钥对本地存储的多条第二对象数据进行加密而得到;第二加密单元740,配置为利用所述第一私钥对所述多条第二单加密数据进行加密,得到多条第二双加密数据;第一分组单元750,配置为对所述多条第一双加密数据进行分组处理,使得针对预定属性具有相同属性值的第一双加密数据被归入同一组,从而得到多个第一分组以及对应的多个第一属性值;第二分组单元760,配置为对所述多条第二双加密数据进行分组处理,使得针对所述预定属性具有相同属性值的第二双加密数据被归入同一组,从而得到多个第二分组以及对应的多个第二属性值;数据匹配单元770,配置为对具有相同属性值的第一分组和第二分组进行双加密数据匹配,得到匹配成功的若干目标双加密数据,其用于确定对应的若干目标对象数据。

在一个实施例中,第一分组单元750具体配置为:基于预设除数,对所述多条第一双加密数据分别进行取模运算,得到多个第一运算值,作为所述多个第一属性值;将具有相同第一属性值的第一双加密数据归入同一组,得到所述多个第一分组。第二分组单元760具体配置为:基于预设除数,对所述多条第二双加密数据分别进行取模运算,得到多个第二运算值,作为所述多个第二属性值;将具有相同第二属性值的第二双加密数据归入同一组,得到所述多个第二分组。

在一个实施例中,第一分组单元750具体配置为:确定各条第一双加密数据在多个预设数据位的多个第一数值,形成第一数值序列,作为对应的第一属性值;将具有相同第一属性值的第一加密数据归入同一组,得到所述多个第一分组。第二分组单元750具体配置为:确定各条第二双加密数据在多个预设数据位的多个第二数值,形成第二数值序列,作为对应的第二属性值;将具有相同第二属性值的第二加密数据归入同一组,得到所述多个第二分组。

在一个实施例中,所述装置还包括:目标加密数据发送单元,配置为将所述若干目标双加密数据发送至所述第二方,以使所述第二方利用与所述第二私钥对应的第二公钥对所述若干目标双加密数据进行解密,得到若干第一单加密数据;单加密数据接收单元,配置为从所述第二方接收所述若干第一单加密数据;目标对象数据确定单元,配置为确定所述若干第一单加密数据对应的若干目标对象数据。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3或图4所描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3或图4所描述的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1