一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种保护数据隐私的确定共有数据的方法及装置与流程

2022-02-22 20:31:17 来源:中国专利 TAG:


1.本说明书涉及数据安全技术领域,尤其涉及一种保护数据隐私的确定共有数据的方法及装置。


背景技术:

2.隐私求交算法通常用于联合机器学习之前。当两方(或多方)想要使用它们的数据一起训练一个模型之前,它们一般先通过隐私求交算法确认双方(多方)拥有的共同样本,然后,基于这些共同样本进行隐私机器学习。
3.目前,隐私求交算法有很多种,例如dh(diffie-hellman)算法,该dh算法存在计算量较大(引入非对称运算)的问题。
4.因此,希望提供改进的方案,在多方联合进行数据处理的过程中,保护各方隐私数据的安全的同时,减少计算量。


技术实现要素:

5.本说明书一个或多个实施例提供了一种保护数据隐私的确定共有数据的方法及装置,以实现保护各方隐私数据的安全的同时,减少计算量。
6.根据第一方面,提供一种保护数据隐私的确定共有数据的方法,所述方法通过中间方执行,包括:从第一方和第二方分别获取各自的分桶数据,所述分桶数据由各方将其持有的隐私数据集进行预设分桶处理而得到,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;其中,所述第二桶空间与所述第一桶空间存在共有第一区段;将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方和第二方,用于其确定两方的隐私数据集的共有数据。
7.在一种可选实施方式中,所述多个桶空间包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。
8.在一种可选实施方式中,所述第一桶空间包括连续的p个第一区段;在所述进行比较之前,还包括:确定第二桶空间,所述第二桶空间包括第一子空间,第二子空间和/或第三子空间,所述第一子空间包括所述p个第一区段中的部分第一区段,所述第二子空间与所述第一桶空间对应相同;所述第三子空间包含且大于所述第一桶空间。
9.在一种可选实施方式中,在所述从第一方和第二方分别获取各自的分桶数据之
前,还包括:确定各层级桶空间的建议数量;将所述建议数量分别发送至第一方和第二方,使其确定所述多个桶空间。
10.在一种可选实施方式中,在所述从第一方和第二方分别获取各自的分桶数据之前,还包括:基于所述两方的隐私数据集中数据个数的最大值,确定所述第一区段的划分个数t;基于所述划分个数t确定区段划分信息;将所述区段划分信息分别发送至第一方和第二方,使其确定出所述t个第一区段。
11.在一种可选实施方式中,所述隐私数据对应的映射值,基于该隐私数据针对第一随机数所取的余数结果而确定;在所述从第一方和第二方分别获取各自的分桶数据之前,所述方法还包括:生成所述第一随机数;将所述第一随机数分别发送至所述第一方和所述第二方。
12.在一种可选实施方式中,各条隐私数据是,对其对应的对象标识进行哈希计算后所得到的哈希值。
13.在一种可选实施方式中,所述方法还包括:从第一方和第二方分别获取各自的异或结果,其中,所述异或结果包括与预先划分的t个第二区段对应的t个异或值,任意的第i个异或值是各方对其更新的隐私数据集中落入第i个第二区段的隐私数据对应的映射值进行异或运算得到的,所述更新的隐私数据集是各方基于所述结果集合从其隐私数据集中删除非共有数据后得到的;针对任意一方的异或结果中的第i异或值,判断其与另一方的异或结果中第i异或值是否相同,得到针对第i异或值的判断结果;将各个第二区段对应的判断结果,发送至所述第一方和所述第二方,用于其确定两方的更新的隐私数据集的共有数据。
14.在一种可选实施方式中,所述中间方为密态计算中心,其包括m个执行方;所述从第一方和第二方分别获取各自的分桶数据,包括:各执行方,分别从第一方和第二方获得各自的分桶数据分片,其中,所述分桶数据分片由各方将其多个桶空间内各映射值分别划分为m份而得到;所述得到针对第一映射值的比较结果,包括:所述各执行方通过多方安全计算mpc方式,将所述第一映射值与所述第二桶空间包含的各映射值进行比较,从而得到所述比较结果。
15.在一种可选实施方式中,所述得到针对第一映射值的比较结果,包括:将该第一映射值与所述第二桶空间包含的各映射值进行比较,得到与各映射值对应的各中间结果;将各中间结果进行异或运算,得到针对第一映射值的所述比较结果。
16.根据第二方面,提供一种保护数据隐私的确定共有数据的方法,所述方法通过第一方执行,所述方法包括:将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数
据,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;将所述第一分桶数据发送至中间方,以使所述中间方基于所述第一分桶数据和第二分桶数据确定结果集合,其中,所述第二分桶数据由第二方将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述结果集合包括,将所述第一分桶数据中第一桶空间中的第一映射值与所述第二分桶数据中第二桶空间包含的各映射值进行比较得到的比较结果,所述第二桶空间与第一桶空间存在共有第一区段;从所述中间方获取所述结果集合;基于所述结果集合,从所述第一隐私数据集中确定两方的共有数据。
17.在一种可选实施方式中,还包括:从所述中间方获取第一随机数;利用所述第一随机数,对所述第一隐私数据集中的各条数据求余,得到各条隐私数据对应的映射值。
18.在一种可选实施方式中,所述多个桶空间包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。
19.在一种可选实施方式中,还包括:从所述中间方获取空间划分信息,所述空间划分信息是基于空间划分个数t确定的,所述空间划分个数t是所述中间方基于所述第一隐私数据集和所述第二隐私数据集中数据个数的最大值确定的;基于所述空间划分信息确定所述t个第一区段。
20.在一种可选实施方式中,还包括:从所述中间方获取各层级桶空间的建议数量;根据所述建议数量,确定所述多个桶空间。
21.在一种可选实施方式中,所述将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间,包括:确定包含目标区段的多个备选桶空间,所述目标区段是所述t个第一区段中所述隐私数据落入的第一区段;在所述多个备选桶空间中,优先将映射值添加至所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间。
22.在一种可选实施方式中,所述第一隐私数据集中的各条数据是,对其对应的对象标识进行哈希计算后所得到的哈希值。
23.在一种可选实施方式中,所述基于所述结果集合,从所述第一隐私数据集中确定两方的共有数据,包括:基于所述结果集合,从所述第一隐私数据集中,删除与所述第二隐私数据集非公有的数据,得到更新的第一隐私数据集;对于预先划分的t个第二区段,针对所述更新的第一数据集中落入各第二区段的隐私数据的映射值分别进行异或运算,得到t个第二区段对应的t个异或值作为第一异或结果;
将所述第一异或结果发送至所述中间方,以使所述中间方基于所述第一异或结果和所述第二方对应发送的第二异或结果,得到两方各个对应异或值是否相同的判断结果;从所述中间方获取所述判断结果;基于所述判断结果,确定所述更新的第一隐私数据集中两方的共有数据。
24.根据第三方面,提供一种保护数据隐私的确定共有数据的方法,所述方法通过第一方和中间方执行,所述方法包括:第一方将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数据,并将其发送至中间方,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;所述中间方在获得第一分桶数据和第二分桶数据后,针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方和第二方;其中,所述第二桶空间与所述第一桶空间存在共有第一区段,所述第二分桶数据由第二方将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述第一方基于所述结果集合,从所述第一隐私数据集中,确定两方的隐私数据集的共有数据。
25.根据第四方面,提供一种保护数据隐私的确定共有数据的系统,包括第一方、第二方和中间方,其中,第一方,配置为将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数据,并将其发送至中间方,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;所述中间方,配置为在获得第一分桶数据和第二分桶数据后,针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方和第二方;其中,所述第二桶空间与所述第一桶空间存在共有第一区段,所述第二分桶数据由第二方将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述第一方,还配置为基于所述结果集合,从所述第一隐私数据集中,确定两方的隐私数据集的共有数据。
26.根据第五方面,提供一种保护数据隐私的确定共有数据的装置,所述装置部署在中间方,包括:第一获取模块,配置为从第一方和第二方分别获取各自的分桶数据,所述分桶数据由各方将其持有的隐私数据集进行预设分桶处理而得到,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐
私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;第一比较模块,配置为针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;其中,所述第二桶空间与所述第一桶空间存在共有第一区段;第一发送模块,配置为将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方和第二方,用于其确定两方的隐私数据集的共有数据。
27.根据第六方面,提供一种保护数据隐私的确定共有数据的装置,所述装置部署在第一方,包括:第一分桶处理模块,配置为将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数据,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;第二发送模块,配置为将所述第一分桶数据发送至中间方,以使所述中间方基于所述第一分桶数据和第二分桶数据确定结果集合,其中,所述第二分桶数据由第二方将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述结果集合包括,将所述第一分桶数据中第一桶空间中的第一映射值与所述第二分桶数据中第二桶空间包含的各映射值进行比较得到的比较结果,所述第二桶空间与第一桶空间存在共有第一区段;第二获取模块,配置为从所述中间方获取所述结果集合;第一确定模型模块,配置为基于所述结果集合,从所述第一隐私数据集中确定两方的共有数据。
28.根据第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
29.根据第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面所述的方法。
30.根据第九方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
31.根据第十方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面所述的方法。
32.根据本说明书实施例提供的方法及装置,第一方和第二方分别将其持有的隐私数据集中的各条隐私数据,按照其在预先划分的t个第一区段中所落入的第一区段,将其对应的映射值填入预设的多个桶空间中的目标桶空间内,以实现对各隐私数据按其落入的第一区段进行分组,分别得到各自的分桶数据,进而将其发送至中间方。之后,中间方针对任意一方的第一分桶数据中第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果。接着,任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至第一方和第二方,用于其确定两方的隐私数据集的共有数据。其中,仅对存在共有第一区段的第一桶空间和第二桶空间的映射值进行比较,在实现对隐私数据的保护的同时,降低了各映射值的比较次数以及相应的计
算量。且其中涉及的比较为密文比较,相较于非对称操作,计算量低。
附图说明
33.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本说明书披露的一个实施例的实施框架示意图;图2为实施例提供的确定共有数据的方法的一种流程示意图;图3为实施例提供的所确定第二桶空间的一种结构示意图;图4为实施例提供的数据填入桶空间的一种示意图;图5为实施例提供的确定共有数据的方法的一种流程示意图;图6为实施例提供的保护数据隐私的确定共有数据的系统的一种示意性框图;图7为实施例提供的保护数据隐私的确定共有数据的装置的一种示意性框图;图8为实施例提供的保护数据隐私的确定共有数据的装置的一种示意性框图。
具体实施方式
35.下面将结合附图,详细描述本说明书实施例的技术方案。
36.在大数据背景下,常常需要将不同数据方的业务数据进行综合处理。例如,在基于机器学习的商户分类分析场景中,电子支付平台拥有商户的交易流水数据,银行机构拥有商户的结算数据,双方需要联合训练用于对商户分类的模型。其中,在训练模型之前,双方首先需要通过隐私求交算法确定双方拥有的共同样本,然后,基于这些共同样本联合训练用于对商户分类的模型。
37.目前,基于diffie-hellman的隐私求交算法是最常见的隐私求交算法。其主要过程如下,a方拥有数据集xn,b方拥有数据集ym,a方和b方分别对其数据集中的各数据进行哈希计算,得到各数据对应的哈希值,并对各数据对应的哈希值,利用其持有的公钥进行加密,得到相应的加密数据,其中,a方得到加密数据集合,如下:;b方得到加密数据集合。
38.a方将加密数据集合发送至b方,b方将加密数据集合发送至a方。
39.a方利用其持有的公钥对接收到的加密数据集合进行加密,得到:;将其发送至b方;b方利用其持有的公钥对接收到的加密数据集合进行加密,得到:
;将其发送至a方;相应的,a方和b方分别利用和,确定其双方共同持有的数据,即确定出数据集xn和数据集ym之间的交集数据。
40.其中,上述的指数操作是个群上操作的示意,具体可以为模幂或者椭圆曲线上的点乘。上述过程中,每个数据需要两次非对称运算(模幂或点乘),且每个数据需要两次密文传输,计算量较大。
41.为此,本说明书实施例,提供了一种保护数据隐私的确定共有数据的方法,以在实现对隐私数据的保护的同时,在一定程度上降低求交集过程中的计算量。
42.图1为本说明书披露的一个实施例的实施场景示意图。在该实施场景中,示意性示出了参与方a、b和c。各个参与方具体可以体现为具有计算、处理能力的设备、平台、服务器或设备集群。其中,参与方a和b分别拥有需要求交集的第一隐私数据集x(n)和第二隐私数据集y(m),双方希望在不泄露其隐私数据明文的前提下,确定其两者的共有数据即第一隐私数据集和第二隐私数据集之间的交集。
43.为此,根据本说明书的实施例,持有第一隐私数据集x(n)的参与方a,将其持有的第一隐私数据集x(n)中的各条数据xi进行预设分桶处理,得到第一分桶数据,将第一分桶数据发送至参与方c,其中,该预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个区段中所落入的区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间,该多个桶空间中任意的第一桶空间包括若干个区段。为了区分后续可能的其他区段划分方式,将这里的t个区段中的各个区段称为第一区段,或单桶。
44.相应的,持有第二隐私数据集y(m)的参与方b,将其持有的第二隐私数据集y(m)中的各条数据yj进行该预设分桶处理,得到第二分桶数据,将第二分桶数据发送至参与方c。
45.c方获得第一分桶数据和第二分桶数据之后,针对任意一方的分桶数据中第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果,该第二桶空间与第一桶空间存在共有第一区段。
46.可以理解的是,预设分桶处理,是根据隐私数据在t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入目标桶空间的,即根据隐私数据在t个第一区段中所落入的第一区段,对数据进行分桶存储的。对于落入同一第一区段的隐私数据存在相同的可能,对于落入不同第一区段的隐私数据则不相同。在进行比较时,仅需将第一桶空间中的映射值和,与该第一桶空间存在共有第一区段的第二桶空间内的映射值进行比较即可。
47.c方将任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至a方和b方。
48.a方基于该结果集合,从第一隐私数据集x(n)中,确定出第一隐私数据集x(n)和第二隐私数据集y(m)的共有数据。
49.b方基于该结果集合,从第二隐私数据集y(m)中,确定出第一隐私数据集x(n)和第二隐私数据集y(m)的共有数据。
50.一种实现中,第一隐私数据集x(n)和第二隐私数据集y(m)中的各条隐私数据是,对其所对应对象标识进行哈希计算后所得的哈希值。
51.以上过程中,双方都不会泄露其持有隐私数据集中的隐私数据明文,因而实现了安全的隐私数据求交运算。并且,a方和b方分别基于其持有的隐私数据集中的各条隐私数据在预先划分的t个第一区段中所落入的第一区段,对隐私数据进行分桶处理,即将隐私数据划分入不同的桶空间,进而,在c方将任意一方分桶数据中第一桶空间包含的第一映射值,仅与第二分桶数据中、与第一桶空间存在共有第一区段的第二桶空间所包含的各映射值进行比较,得到针对第一映射值的比较结果。降低了各映射值的比较次数以及相应的计算量。且其中涉及的比较为密文(即映射值)比较,相较于非对称操作,计算量低。
52.下面描述以上方案的具体实现过程。
53.图2示出在一个实施例中多方联合确定共有数据的过程示意图。
54.为了进行安全的隐私数据求交运算,第一方、第二方以及中间方之间首先进行初始准备阶段,为后续的隐私数据求交运算的具体过程做准备。
55.其中,初始准备阶段可以包括,第一方(参与方a)和第二方(参与方b)首先分别确定其需要进行安全的隐私数据求交运算的隐私数据集,第一方a确定其第一隐私数据集x(n),第二方b确定其第二隐私数据集y(m)。在一种实现中,第一隐私数据集x(n)中的各条隐私数据xi,以及第二隐私数据集y(m)中的各条隐私数据yj,可以是,对其对应的对象标识进行哈希计算后所得到的哈希值。隐私数据对应的对象标识可以为用户的标识(例如:身份证号、手机号等),或者可以为物品的标识(例如:物品序列号等)。在一种情况中,隐私数据的大小可以是处于预设范围内,例如,隐私数据xi为二进制表示时,其位数不超过l位,该l的具体数值可以根据实际情况设定,例如为80。
56.之后,第一方a、第二方b以及中间方(参与方c)确定区段划分信息,用于对隐私数据的分桶,便于后续的隐私数据求交。一种实现中,可以是第一方a和第二方b两方根据其各自持有的隐私数据集,确定区段划分信息,进而基于所确定的区段划分信息进行区段划分,以得到t个第一区段,之后将t个第一区段相应的区段划分信息,通知给中间方(参与方c)。另一种实现中,也可以是:中间方c根据第一方a和第二方b两方各自持有的隐私数据集确定区段划分信息,之后将区段划分信息通知给第一方a和第二方b,以使得其两方划分得到t个第一区段。其中,以区段划分信息由中间方c确定为例进行说明,具体的,中间方c可以首先获得第一隐私数据集x(n)的数据个数以及第二隐私数据集y(m)的数据个数;之后,基于两方的隐私数据集(x(n)和y(m))中数据个数的最大值,确定第一区段的划分个数t。中间方c基于划分个数t确定区段划分信息;将区段划分信息发送至第一方a和第二方b,使其确定出t个第一区段。
57.一种情况中,中间方c可以预先设置有数据区,该数据区可以覆盖第一隐私数据集和第二隐私数据集中的所有隐私数据。中间方c在确定出划分个数t之后,基于该数据区以及划分个数t,确定出区段划分信息。
58.另一种情况中,中间方c可以基于预先获得的第一隐私数据集x(n)中最大的隐私数据x
max
,和第二隐私数据集y(m)最大的隐私数据y
max
,根据隐私数据x
max
和隐私数据y
max
,确定数据区,使得数据区可以覆盖第一隐私数据集和第二隐私数据集中的所有隐私数据,进而基于该数据区以及划分个数t,确定出区段划分信息。
59.其中,上述t个第一区段可以是以均匀划分或不均匀划分的方式确定的。其中,在上述t个第一区段为均匀划分的情况下,若该数据区的大小为第一方a、第二方b和中间方c
共同确定,相应的,该区段划分信息可以仅包含t。若第一方a、第二方b未知该数据区的大小,或者t个第一区段以不均匀划分的方式确定,则该区段划分信息包括t个第一区段各自对应的起始位置信息和终止位置信息。
60.一种情况中,该数据区以二进制形式表示,可以表示为[0,2k],其中,k不小于前述的l。在上述t个第一区段为均匀划分的情况下,t的确定方式,可以通过如下公式(1)表示:t=max(n,m)/a
ꢀꢀꢀꢀꢀ
(1),其中,a为预先设置的常数,可以设置为32。相应的,第z个第一区段可以表示为[z/t*2k,(z 1)/t*2 k
),z为[0,t-1]中的整数。
[0061]
可以理解的,区段划分信息也可以由第一方a和第二方b之间确定,其确定过程可以参见由中间方c的确定过程,在此不再赘述。
[0062]
后续的,在第一方a和第二方b均划分得到t个第一区段之后,可以进入共有数据确定阶段。以下实施例从第一方a和中间方c的角度进行描述,第二方b所需执行的动作可以参见第一方a所执行的动作。
[0063]
具体的,在确定共有数据的过程中,如图2所示,首先,在步骤s201,第一方a将持有的第一隐私数据集x(n)中的各条隐私数据xi进行预设分桶处理,得到第一分桶数据[x]。其中,该预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;该多个桶空间中任意的第一桶空间包括若干个第一区段。
[0064]
其中,隐私数据对应的映射值可以是该隐私数据本身,也可以是该隐私数据进行预设映射处理后而得到的。在一种实现中,该预设映射处理可以是,利用第一随机数确定隐私数据的余数结果,基于该余数结果确定该隐私数据对应的映射值,也就是说,该隐私数据对应的映射值,基于该隐私数据针对第一随机数所取的余数结果而确定。
[0065]
在一种情况中,为了降低传输量,可以将隐私数据对应的余数结果的后e位,作为隐私数据对应的映射值。另外,为了避免出现数据碰撞情况(例如:不同的隐私数据的余数结果的后几位的连续位相同)的发生,该e的取值不宜过低。e的取值可以根据经验进行设置,例如,可以设置为32。
[0066]
一种实现,上述第一随机数可以是中间方c生成并分别发送至第一方a和第二方b的。另一种实现,上述第一随机数也可以是第一方a或第二方b生成,然后将所生成的第一随机数发送至对方。该第一随机数的位数不低于e位。
[0067]
上述预设的多个桶空间基于t个第一区段而确定,多个桶空间中任意的第一桶空间包括若干个第一区段。不同桶空间可以包括不同的第一区段,也可以包括相同的第一区段。第一方a针对持有的第一隐私数据集x(n)中的各条隐私数据xi,对该隐私数据xi进行预设分桶处理,即根据该隐私数据xi在预先划分的t个第一区段中所落入的第一区段,将该隐私数据xi对应的映射值《xi》填入预设的多个桶空间中的目标桶空间。其中,可以根据隐私数据xi的大小,确定隐私数据xi在预先划分的t个第一区段中所落入的第一区段。
[0068]
在一种实现中,多个桶空间中的任意的第一桶空间包含的第一区段的个数可以相同,例如,可以均包括一个第一区段,该类桶空间可以称为单桶空间,该类情况下,各个第一区段可以对应有至少一个单桶空间,即至少一个单桶空间包含第z个第一区段。
[0069]
在另一种实现中,该多个桶空间可以包括多层级的桶空间,不同层级的桶空间包
含的第一区段的个数不同。在一个例子中,某些桶空间可以包含一个第一区段(单桶空间);某些桶空间可以包含两个连续的第一区段,该类桶空间可以称为双桶空间;某些桶空间可以包含三个连续的第一区段,该类桶空间可以称为三桶空间,依次类推,某些桶空间可以包含p个连续的第一区段,该类桶空间可以称为p桶空间。在另一个例子中,多层级的桶空间中每一层级的桶空间可以为2c桶空间,即2c桶空间可以包括2c个连续的第一区段,其中,可以存在0《2c《=t。
[0070]
在一种情况中,t为单数的情况下,以双桶空间为例,在确定包含最后一个第一区段的双桶空间时,可以直接设置包含最后一个(第t个)第一区段的桶空间为一个双桶空间,该双桶空间的一半未包含t个第一区段中的任一区段。相应的,其他层级的桶空间出现类似情况,参考上述设置。
[0071]
可以理解的,不同隐私数据,其在预先划分的t个第一区段中所落入的第一区段存在不同。为了避免隐私数据集中隐私数据的分布情况的泄露,对于未填满数据的桶空间,可以利用随机数填充,所填充的随机数不同于隐私数据集中的各条隐私数据对应的映射值。且可以设置包含各第一区段的桶空间的数量相等,即包含第z个第一区段的桶空间的数量相等。例如,多个桶空间均为单桶空间,包含各第一区段的单桶空间的数量相等。
[0072]
又例如,多个桶空间包含多层级的桶空间,为了防止隐私数据的分布情况的泄露,针对每一层级的桶空间,该层级桶空间均匀分布,即该层级桶空间中包含不同第一区段的桶空间的数量相等,例如,对于单桶空间,包含第z个第一区段的单桶空间的数量相等。对于双桶空间,包含第一个和第二个第一区段的双桶空间的数量,等于包含第三个和第四个第一区段的双桶空间的数量,等于包含第五个和第六个第一区段的双桶空间的数量,以此类推,与包含第t-1个和第t(t为双数时)个第一区段的双桶空间的数量均相等。
[0073]
一种情况中,每一桶空间可以对应有填入数据个数阈值,例如,桶空间对应的填入数据个数阈值为20,即每一个桶空间所填入的映射值最多为20个,在一个桶空间中填入的映射值的个数达到该填入数据个数阈值的情况下,将相应的映射值,填入包含该映射值所落入的第一区段的另一个桶空间中。
[0074]
接着,在步骤s202,第一方a将第一分桶数据[x]发送至中间方c。第一分桶数据[x]中包含各隐私数据对应的映射值,未暴露第一方a的第一隐私数据集中的各隐私数据明文。
[0075]
相应的,在第二方b侧,将持有的第二隐私数据集y(m)中的各条隐私数据yj进行该预设分桶处理,得到第二分桶数据[y],并将第二分桶数据[y]发送至中间方c。
[0076]
其中,第一方a和第二方b按照中间方c的数据传输要求,分别将第一分桶数据[x]和第二分桶数据[y]发送至中间方c。
[0077]
在步骤s203,中间方c获得第一分桶数据[x]和第二分桶数据[y]。之后,在步骤s204针对任意一方的分桶数据中第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果。其中,第二桶空间与第一桶空间存在共有第一区段。
[0078]
可以理解的是,预设分桶处理,是根据隐私数据在t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入目标桶空间的,即根据隐私数据在t个第一区段中所落入的第一区段,对数据进行分桶存储的。对于落入同一第一区段的隐私数据存在相同的可能,对于落入不同第一区段的隐私数据则不相同。在进行比较时,仅需将第一桶空间中的映
射值,和与该第一桶空间存在共有第一区段的第二桶空间内的映射值进行比较即可。
[0079]
以下以针对第一方a的第一分桶数据[x]中桶空间包含的映射值,从第二分桶数据中确定相应的映射值进行比较为例进行说明。针对第二方b的第二分桶数据[y]中的桶空间包括的映射值,从第一分桶数据[x]中确定相应的映射值进行比较的过程,可以参见上述比较过程,不再赘述。
[0080]
具体的,中间方c可以首先针对第一方a的第一分桶数据中第一桶空间,从第二分桶数据中的多个桶空间中,确定出第二桶空间,该第二桶空间与第一桶空间存在共有第一区段,例如都包含第z个第一区段。进而,中间方c将第一分桶数据中第一桶空间包含的第一映射值《xi》,与第二分桶数据中第二桶空间包含的各映射值《yj》进行比较,得到针对第一映射值的比较结果。其中,在多个桶空间中包含的桶空间的层级不同的情况下,所确定出的第二桶空间的层级不同,为了布局清楚,将在后文对所确定的第二桶空间的类型进行介绍。
[0081]
一种实现中,上述进行比较的过程,可以具体是,中间方c将第一分桶数据中第一桶空间包含的第一映射值《xi》,与第二分桶数据中第二桶空间包含的各映射值《yj》进行比较,即判断第一映射值《xi》与各映射值《yj》是否相同,得到第一映射值《xi》与各映射值《yj》对应的各中间结果,即第二桶空间中映射值《yj》的个数个中间结果。该各中间结果可以表征第一映射值《xi》与所对应映射值《yj》相同或者不同,其中,可以利用第一值表征第一映射值《xi》与所对应的映射值《yj》相同,利用第二值表征第一映射值《xi》与所对应的映射值《yj》不同。一种情况中,第一值可以为1,第二值可以为0。
[0082]
举例而言,第一分桶数据中第一桶空间包含的第一映射值《xi》,分别为《x
i1
》,《x
i2
》和《x
i3
》。第二分桶数据中第二桶空间(与第一桶空间包含共有第一区段)包含的各映射值《yj》,分别为《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》。针对第一映射值《x
i1
》,将其分别与《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》进行比较,得到第一映射值《x
i1
》的4个中间结果;针对第一映射值《x
i2
》,将其分别与《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》进行比较,得到第一映射值《x
i2
》的4个中间结果;针对第一映射值《x
i3
》,将其分别与《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》进行比较,得到第一映射值《x
i3
》的4个中间结果。
[0083]
后续的,中间方c将各中间结果进行异或运算,得到针对第一映射值《xi》的比较结果。针对第一映射值《xi》的比较结果可以表征第二分桶数据中是否存在与该第一映射值《xi》相同的映射值。承接上述例子,将针对第一映射值《x
i1
》的4个中间结果进行异或运算,得到第一映射值《x
i1
》的比较结果;将针对第一映射值《x
i2
》的4个中间结果进行异或运算,得到第一映射值《x
i2
》的比较结果;将针对第一映射值《x
i3
》的4个中间结果进行异或运算,得到第一映射值《x
i3
》的比较结果。
[0084]
其中,以第一映射值《x
i1
》为例进行说明,若第一映射值《x
i1
》的4个中间结果中,表征《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》中存在一个映射值与第一映射值《x
i1
》相同,则第一映射值《x
i1
》的比较结果表征第二分桶数据中存在与该第一映射值《x
i1
》相同的映射值。若第一映射值《x
i1
》的4个中间结果中,表征《y
j1
》,《y
j2
》,《y
j3
》以及《y
j4
》中不存在与第一映射值《x
i1
》相同的映射值,则第一映射值《x
i1
》的比较结果表征第二分桶数据中不存在与该第一映射值《x
i1
》相同的映射值。
[0085]
为了节省确定时间,针对第一桶空间包含的不同的第一映射值,可以并行化执行各第一映射值与另一方的分桶数据中第二桶空间包含的各映射值的比较过程。
[0086]
中间方c通过上述比较过程,可以得到第一分桶数据[x]中各个桶空间中各个映射值的比较结果,也即可以得到第二分桶数据[y]中各个桶空间中各个映射值的比较结果。后续的,在步骤s205,中间方c将任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至第一方和第二方。
[0087]
接着,在步骤s206,第一方a基于结果集合,从第一隐私数据集x(n)中,确定两方的隐私数据集的共有数据。本步骤,在中间方c针对第一方a的第一分桶数据[x]中桶空间包含的映射值,从第二分桶数据中确定相应的映射值进行比较的情况下,该结果集合包括第一分桶数据中各个映射值的比较结果,该比较结果可以表征第二分桶数据中是否存在与第一分桶数据中各映射值相同的映射值,第一方a可以基于该结果结合,从第一隐私数据集x(n)中,确定两方的隐私数据集的共有数据。
[0088]
相应的,第二方b可以基于结果集合,从第二隐私数据集y(m)中,确定两方的隐私数据集的共有数据。
[0089]
本实施例中,双方都不会泄露其持有隐私数据集中的隐私数据明文,因而实现了安全的隐私数据求交运算。并且,第一方a和第二方b分别基于其持有的隐私数据集中的各条隐私数据在预先划分的t个第一区段中所落入的第一区段,对隐私数据进行分桶处理,即将隐私数据划分入不同的桶空间,进而,在中间方c将任意一方分桶数据中第一桶空间包含的第一映射值,仅与第二分桶数据中、与第一桶空间存在共有第一区段的第二桶空间所包含的各映射值进行比较,得到针对第一映射值的比较结果。无需进行全局隐私数据的比较,降低了各映射值的比较次数以及相应的计算量。且其中涉及的比较为密文(映射值)比较,计算量低。
[0090]
通过图2所示流程,可以从第一隐私数据集和第二隐私数据集中确定出其两方共有的数据,一种情况,第一方a(第二方b)可以基于结果结合,将其隐私数据集中被确定为非公有的数据删除,实现减少隐私数据集中不同隐私数据(即非共有数据)的效果,可以称图2所示流程为减少不同流程。
[0091]
在本说明的一个实施例中,多个桶空间可以包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。可以理解的,多个桶空间中的任意一个第一桶空间可以包括连续的p个第一区段。相应的,在步骤s203即中间方c进行比较之前,中间方c针对第一桶空间,确定的第二桶空间,可以包括各个层级的桶空间,其中,第二桶空间包括第一子空间,第二子空间和/或第三子空间,第一子空间包括p个第一区段中的部分第一区段(即第一子空间为所包含第一区段个数低于第一桶空间所包含第一区段个数的桶空间,即低于第一桶空间所在层级的桶空间),第二子空间与第一桶空间对应相同(即第二子空间所包含第一区段个数等于第一桶空间所包含第一区段个数的桶空间,即与第一桶空间所在层级相同的桶空间);第三子空间包含且大于第一桶空间(即第三子空间所包含第一区段个数大于第一桶空间所包含第一区段个数的桶空间,即高于第一桶空间所在层级的桶空间)。
[0092]
举例而言,第一桶空间为包含第z个第一区段的单桶空间的情况下,从第二分桶数据中所确定的第二桶空间,可以包括:上述的第二子空间,即包含第z个第一区段的单桶空间;上述的第三子空间,即包含第z个第一区段的双桶空间,和包含第z个第一区段的三桶空间及以上层级的桶空间。
[0093]
又举例而言,第一桶空间为包含第z个第一区段和第z 1个第一区段的双桶空间的
情况下,所确定的第二桶空间,可以包括:上述的第一子空间,即包含第z个第一区段的单桶空间,和包含第z 1个第一区段的单桶空间;上述的第二子空间,即包含第z个第一区段和第z 1个第一区段的双桶空间;上述的第三子空间,即至少包含第z个第一区段和第z 1个第一区段的三桶空间及以上层级的桶空间。如图3所示,t=8,且8个第一区段为均分划分的,第一桶空间为包括第一个和第二个第一区段的双桶空间,相应的,如图3所示,针对该双桶空间所确定的第二桶空间,可以包括:包含第一个第一区段的单桶空间和包含第二第一区段的单桶空间(上述的第一子空间);包含第一个和第二个第一区段的双桶空间(上述的第二子空间);包含第一个、第二个和第三个第一区段的三桶空间,包含第一个至第四个第一区段的四桶空间,以及以上层级的桶空间。在另一种情况中,在各层级的桶空间为2c桶空间的情况下,上述的第三子空间,即至少包含第z个第一区段和第z 1个第一区段的四桶空间、八桶空间及以上层级的2c桶空间,其中,c取整数。
[0094]
又举例而言,第一桶空间为包含第一个至第t个第一区段的t桶空间的情况下,所确定的第二桶空间,可以包括:上述的第一子空间,即分别包含第一个第一区段至第t个第一区段中任一第一区段的单桶空间,和包含第一个第一区段至第t个第一区段中两个连续第一区段的双桶空间(不同双桶空间中包含的第一区段不重复),依次类推,包含第一个第一区段至第t-1个第一区段的t-1桶空间;以及上述的第二子空间,即包含第一个第一区段至第t个第一区段的t桶空间。
[0095]
通过多层级的桶空间的设置,在实现对第一方a和第二方b隐私数据的安全保护以及对其数据分布情况保护的同时,可以在一定程度上降低数据传输量。在一种情况中,只使用一种层级的桶空间的设置,例如,仅设置包含一个第一区段的单桶空间时,可能出现落入某些第一区段的隐私数据较多(即包含该些第一区段的单桶空间中隐私数据较多),落入某些第一区段的隐私数据较少(即包含该些第一区段的单桶空间中隐私数据较少)的情况。这种情况下,考虑到需避免隐私数据分布情况的泄露,则需要按照包含隐私数据较多的单桶空间的数量(数据存储量),设置隐私数据较少的单桶空间的数量(数据存储量),相应的,需要在隐私数据较少的单桶空间中填入相应数量的随机数,以掩盖相应单桶空间中隐私数据较少的问题,此时,所填入的随机数则增加了数据传输量以及后续比较过程的工作量。
[0096]
鉴于此,为了解决上述问题,提出多层级的桶空间的设置,对于单桶空间,设置一个基础的数据存储量(通过至少一个单桶空间提供),在所有的包含某个第一区段的单桶空间占满之后,可以将落入相应第一区段的隐私数据,填入包含该相应第一区段的更高层级的桶空间(例如双桶空间、三桶空间等),使得多个单桶空间还有共享数据存储量(通过包含该单桶空间所包含第一区段的更高层级的桶空间提供)。
[0097]
举例而言,落入第一个第一区段的隐私数据存在16个,落入第二个第一区段的隐私数据存在8个,若仅设置单桶空间,则需要在包含第二个第一区段的单桶空间中添加入8个随机数,以掩盖包含第二个第一区段的单桶空间中隐私数据较少的问题,此时,需要传输16*2个数据。
[0098]
若设置多层级的桶空间,例如,设置有单桶空间,以及双桶空间,设置每个单桶空间的基础的数据存储量为8(即存储8个数据),在包含第一个第一区段的单桶空间存储8个数据,即存满的情况下,则可以将未存储的8个落入第一个第一区段的隐私数据对应的映射值,存储入包含第一个和第二个第一区段的双桶空间,此时,通过双桶空间可以在一定程度
上掩盖落入第二个第一区段的隐私数据较少的情况,并且传输数据量为24个数据,相应于32个数据,降低了数据传输量。
[0099]
在本说明书的一个实施例中,第一方a在将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间的过程中,可以具体设置为确定包含目标区段的多个备选桶空间,目标区段是t个第一区段中隐私数据落入的第一区段;在多个备选桶空间中,优先将映射值填入所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间。
[0100]
在该实施例中,该多个备选桶空间可以包括多层级桶空间。第一方a可以根据隐私数据在t个第一区段中所落入的第一区段,在多个备选桶空间中,优先将映射值添加至所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间。即可以理解的是,优先将映射值添加至层级低的且未满的桶空间。例如,针对落入第一个第一区段的隐私数据而言,优先将该类隐私数据对应的映射值添加至包含第一个第一区段的单桶空间(后续称为第一单桶空间),在第一个第一单桶空间存满后,将该类隐私数据对应的映射值添加至第二个第一单桶空间,以此类推,在所有第一单桶空间均存满后,将该类隐私数据对应的映射值添加至包含第一个第一区段和第二个第一区段的双桶空间(后续称为第一双桶空间)中,在第一个第一双桶空间存满后,将该类隐私数据对应的映射值添加至第二个第一双桶空间,以此类推。
[0101]
接着,在确定出隐私数据落入第二个第一区段时,首先将该类隐私数据对应的映射值添加至包含第二个第一区段的单桶空间(后续称为第二单桶空间),依次类推,直至所有的第二单桶空间均存满后,将相应类的隐私数据对应的映射值添加至包含第一个第一区段和第二个第一区段的双桶空间(即第一双桶空间)。一种情况,若第一双桶空间未存满(即未被占满),优先将隐私数据对应的映射值添加至已包含映射值的第一双桶空间。另一种情况,若所有的第一双桶空间已存满,则将隐私数据对应的映射值添加至包含第一个至第三个第一区段的三桶空间(即第一三桶空间),其中,将映射值优先填入已存储映射值的第一三桶空间。
[0102]
图4所示,多个备选桶空间包括多层级桶空间,若图4所示,t=8,且8个第一区段为均匀划分的,多个备选桶空间包括:3组单桶空间(即包含各个第一区段的单桶空间均为3个),2组双桶空间(即包含第一个和第二个第一区段的双桶空间、包含第三个和第四个第一区段的双桶空间、包含第五个和第六个第一区段的双桶空间以及包含第七个和第八个第一区段的双桶空间均为3个),2组四桶空间(即包含第一个至第四个第一区段的四桶空间、包含第五个至第八个第一区段的四桶空间均为2个),1组八桶空间。
[0103]
其中,利用同一层级的桶空间覆盖一遍t个第一区段,可以称为一个该层级桶区。例如对于单桶空间,包含第一个第一区段的单桶空间、包含第二个第一区段的单桶空间,
……
,包含第z个第一区段的单桶空间,
……
以及包含第t个第一区段的单桶空间,组成一个单桶区,如图4所示。对于双桶空间,包含第一个和第二个第一区段的双桶空间、包含第三个和第四个第一区段的双桶空间,直至包含第t-1和第t(t为双数)个第一区段的双桶空间,组成一个双桶区,如图4所示,以此类推。也就是说,3组单桶空间可以称为3个单桶区,2组双桶空间可以称为2个双桶区,2组四桶空间可以称为2个四桶区,1组八桶空间可以称为1个八桶区。
[0104]
可以理解的是,对于同一层级的桶空间,一个层级桶区中的不同该层级桶空间所包含的第一区段不重复。如图4所示。
[0105]
如图4所示,对于落入第一个区段的隐私数据1,优先将该隐私数据1对应的映射值1添加至所包含第一区段个数最少(层级最低)的且未满的桶空间,且优先将映射值1添加至已包含映射值的桶空间,如图4所示,第1个单桶区和第2个单桶区中包含第一个第一区段的单桶空间被占满,第3个单桶区中包含第一个第一区段的单桶空间还有空间,则将映射值1填入第3个单桶区中包含第一个第一区段的单桶空间中。
[0106]
对于落入第一个第一区段的隐私数据2,若第3个单桶区中包含第一个第一区段的单桶空间未被占满,将隐私数据2对应的映射值2填入第3个单桶区中包含第一个第一区段的单桶空间中。
[0107]
对于落入第二个第一区段的隐私数据3,如图4所示,包含第二个第一区段的所有单桶空间和双桶空间均被占满,且第1个四桶区中包含第二个第一区段的四桶空间已存储映射值,则将隐私数据3对应的映射值3填入第1个四桶区的包含第二个第一区段的四桶空间。
[0108]
一种情况中,上述多个备选桶空间为第一方a基于其持有的第一隐私数据集所确定的。另一种情况,为了更好的为第一方a和第二方b提供服务,上述多个备选桶空间可以通过中间方c确定。相应的,中间方c在确定第一方a和第二方b进行安全的隐私数据求交运算的情况下,在步骤s201之前,中间方c还可以分别针对第一方a和第二方b确定其各层级桶空间的建议数量;并将建议数量分别发送至第一方a和第二方b,使其两方各自确定其多个桶空间。
[0109]
其中,中间方c可以根据第一方a的第一隐私数据集中的数据个数,确定第一方a各层级桶空间的建议数量pa;并根据第二方b的第二隐私数据集中的数据个数,确定第二方b各层级桶空间的建议数量pb,可以理解的是,为了保证所有隐私数据均可以被添加入桶空间中,各层级桶空间的建议数量pa个桶空间所提供的数据存储量大于隐私数据个数。
[0110]
一种情况中,中间方c可以预存有各层级桶空间对应的建议数量系数,相应的,中间方c将预存的各层级桶空间对应的建议数量系数与任意一方(第一方a或第二方b)的隐私数据集中的数据个数的乘积,确定为任意一方的各层级桶空间的建议数量。另一种情况,中间方c预先存储有各数据个数范围与各层级桶空间的数量的对应关系,基于该对应关系和任意一方的隐私数据集的数据个数,确定任意一方的各层级桶空间的建议数量。
[0111]
相应的,第一方a从中间方c获取各层级桶空间的建议数量pa;并根据该建议数量pa,确定多个桶空间。在一种实现中,第一方a获取各层级桶空间的建议数量之后,根据该建议数量,确定出相应数量个各个层级桶空间,作为备选桶空间。后续的,在多个备选桶空间中,优先将映射值添加至所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间,以得到填入映射值的多个桶空间。
[0112]
在第一方a将所有隐私数据对应的映射值填入完成时,可能存在某些层级桶空间未存储有映射值,相应的,第一方a可以将未存储有映射值的层级桶空间丢弃,即不将未存储有映射值的层级桶空间作为上述的多个桶空间(传输至中间方c的桶空间)。
[0113]
后续的,第一方a可以得到真实填有映射值的各层级桶空间的真实数量,将各层级桶空间的真实数量发送至中间方c,以使得中间方c可以基于该各层级桶空间的真实数量,
确定出存在共有第一区段的第一分桶数据中的第一桶空间和第二分桶数据中的第二桶空间。
[0114]
一种实现方式中,在多个桶空间包括多层级桶空间的情况下,高层级的桶空间与哪些低层级的桶空间存在共有第一区段,可以使用地址标识进行表示,例如,对于双桶空间,通过1位表示其包含哪个单桶空间所包含的第一区段。
[0115]
在一种情况中,中间方c可以是针对第一方a和第二方b提供针对各层级桶区的建议数量,以保证该层级桶区内的各层级桶空间分布均匀。后续的,在第一方a(第二方b)将所有隐私数据的映射值添加至相应的桶空间之后,某一层级桶区中未存储有映射值的情况下,将该层级桶区(即所有的该层级桶空间)丢弃,如图4所示,若所有隐私数据对应的映射值均已填入完成,而八桶区内未存储有映射值,则将八桶区丢弃。对于其他存储有映射值的层级桶区中,若存在未存储有映射值和/或未存满的层级桶空间,一种情况,考虑到避免隐私数据分布情况的泄露,在相应未存储有映射值和/或未存满的层级桶空间中添加随机数。另一种情况,考虑到数据传输量不宜过大,可以将相应未存储有映射值的层级桶空间丢弃。
[0116]
在本说明书的一个实施例中,为了实现对第一方a和第二方b的隐私数据的更好的保护,所述中间方为密态计算中心,其包括m个执行方;其中,该m个执行方可以在可信执行环境tee中运行,一个执行方可以通过一个tee实现,此时可以称执行方为可信执行方,该密态计算中心可称为可信密态计算中心。另一种情况,该m个执行方也可以在普通执行环境中运行。相应的,第一方a和第二方b分别将第一分桶数据[x]和第二分桶数据[y]密态化发送至中间方c。具体的,第一方a将其第一分桶数据[x]中多个桶空间内各映射值分别划分为m份,得到m份第一分桶数据分片,并将m份第一分桶数据分片,分别发送至m个执行方。第二方b将其第二分桶数据[y]中多个桶空间内各映射值分别划分为m份,得到m份第二分桶数据分片,并将m份第二分桶数据分片,分别发送至m个执行方。
[0117]
相应的,在步骤s203,被具体设置为各执行方,分别从第一方a和第二方b获得各自的分桶数据分片,其中,该分桶数据分片由各方将其多个桶空间内各映射值分别划分为m份而得到;相应的,在步骤s204,被具体设置为各执行方通过多方安全计算mpc方式,将第一映射值与第二桶空间包含的各映射值进行比较,从而得到针对第一映射值的比较结果。
[0118]
本实施例中,m个执行方均获得分桶数据的分片,即获得多个桶空间内各个映射值的一部分,每个执行方均无法获得映射值明文,相应的,在出现密态计算中心中某个或指定数量以下的执行方被攻击者攻击成功的情况下,第一方a和第二方b的隐私数据也不会被攻击者窃取。并且,各执行方在可信执行环境tee中运行的情况下,该密态计算系统对其数据的保护程度会更高,防攻击能力更好。
[0119]
并且,在数据传输过程中,第一方a和第二方b将其分桶数据上传至中间方c(可信密态计算中心)的过程中,是以分桶数据分片的形式上传的,实现对第一方a和第二方b的分桶数据的密态化上传,在一定程度上也保证了数据传输过程中,分桶数据的安全。
[0120]
理论上,通过图2所示的过程,从第一方a和第二方b各自的隐私数据中确定出其双方的共有数据,即为其双方真实共有的数据。然而,在确定隐私数据对应的映射值过程中,难免存在数据碰撞情况的发生,相应的,通过图2所示的过程所确定出双方的共有数据中,难免存在为非公有数据的隐私数据对应的映射值相同的情况。鉴于此,本说明书实施例提
供了一种确定共有数据的过程示意图,如图5所示。首先,在步骤s501:第一方a将持有的第一隐私数据集x(n)中的各条隐私数据xi进行预设分桶处理,得到第一分桶数据[x]。
[0121]
相应的,第二方b将持有的第二隐私数据集y(m)中的各条隐私数据yj进行预设分桶处理,得到第二分桶数据[y]。并将第二分桶数据[y]发送至中间方c。
[0122]
在步骤s502:第一方a将第一分桶数据[x]发送至中间方c。第一分桶数据[x]中包含各隐私数据对应的映射值,未暴露第一方a的第一隐私数据集中的各隐私数据明文。
[0123]
在步骤s503:中间方c获得第一分桶数据[x]和第二分桶数据[y]。之后,在步骤s504,中间方c针对任意一方的分桶数据中第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果。其中,第二桶空间与第一桶空间存在共有第一区段。
[0124]
在步骤s505:中间方c将任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至第一方和第二方。
[0125]
上述步骤s501-s505的具体实现过程,可以参见图2所示流程中步骤s201-s205的具体实现过程,在此不再赘述。
[0126]
接着,在步骤s506,第一方a基于结果集合,从第一隐私数据集x(n)中,删除与第二隐私数据集y(m)非公有的数据,得到更新的第一隐私数据集x(n)

。结果集合中包括第一分桶数据中各映射值的比较结果,该比较结果可以表征第二分桶数据中是否存在与第一分桶数据中映射值相同的映射值,即表征所对应映射值对应的隐私数据是否为第一隐私数据集和第二隐私数据集的共有数据。第一方a基于该结果集合,可以从第一隐私数据集x(n)中,删除与第二隐私数据集y(m)非公有的数据,得到更新的第一隐私数据集x(n)

。更新的第一隐私数据集x(n)

中隐私数据可能会减少。
[0127]
相应的,第二方b基于结果集合,从第二隐私数据集y(m)中,删除与第一隐私数据集x(n)非公有的数据,得到更新的第二隐私数据集y(m)

。更新的第二隐私数据集y(m)

中隐私数据可能会减少。
[0128]
后续的,在步骤s507,第一方a对于预先划分的t个第二区段,针对更新的第一数据集x(n)

中落入各第二区段的隐私数据的映射值分别进行异或运算,得到t个第二区段对应的t个异或值,作为第一异或结果。
[0129]
一种实现中,上述t个第二区段可以是第一方a和第二方b至少基于其各自的更新的隐私数据集的数据个数所确定划分的,之后将t个第二区段对应的划分情况告知中间方c。也可以是中间方c至少根据第一方a和第二方b各自的更新的隐私数据集的数据个数所确定的,之后将所确定的t个第二区段对应的划分情况告知第一方a和第二方b,使其划分得到t个第二区段。
[0130]
一种情况中,上述划分情况可以是基于第一方a和第二方b各自的更新的隐私数据集的数据个数,和数据区[0,2k]确定的。t个第二区段可以是均匀或非均匀划分所得。在t个第二区段是以均匀划分的方式确定的情况下,其确定方式,t=max(h,g)/b,其中,h表示更新的第一隐私数据集的数据个数,g表示更新的第二隐私数据集的数据个数,b为预设的经验值,例如为80。第u个第二区段可以表示为[u/t*2k,(u 1)t*2 k
),u为[0,t-1]中的整数。
[0131]
另一种情况,还可以根据第一方a更新的第一隐私数据集和第二方b更新的第二隐私数据集中的最大的隐私数据,重新确定新的数据区,基于第一方a和第二方b各自的更新
的隐私数据集的数据个数和新的数据区,确定上述划分情况。
[0132]
第一方a对于预先划分的t个第二区段,针对更新的第一隐私数据集x(n)

中的每一隐私数据,基于该隐私数据的大小,确定其落入的第二区段,并将其对应的映射值填入该第二区段对应的存储区中。以此将更新的第一数据集x(n)

中的每一隐私数据对应的映射值,填入该隐私数据所落入的第二区段对应的存储区中。将存储有更新的第一数据集x(n)

中隐私数据的映射值的存储区,称为第一存储区。
[0133]
第一方a对于预先划分的t个第二区段,针对该第二区段对应的第一存储区中的映射值进行异或运算,得到t个第二区段对应的t个异或值,作为第一异或结果。其中,一个第二区段对应一个异或值。
[0134]
一种实现中,各映射值可以通过二进制形式表示,第二区段对应的异或值包括:该第二区段对应的第一存储区内各映射值的各位进行异或运算所得的异或值。
[0135]
在一种可实施方式中,更新的第一数据集x(n)

中的每一隐私数据对应的映射值,是基于该隐私数据针对第二随机数所取的余数结果而确定的。考虑到若隐私数据a和b针对第一随机数所得余数结果相同(即出现数据碰撞),隐私数据a和b针对第二随机数所得余数结果相同的概率会相对降低,鉴于此,为减少数据碰撞情况的发生,该第二随机数不同于减少不同流程中的第一随机数。
[0136]
该第二随机数可以是第一方a或第二方b生成,进而告知对方,以使得双方通过相同的第二随机数确定其持有的更新的隐私数据集中隐私数据的映射值。另一种情况,该第二随机数也可以是中间方c生成,进而告知第一方a或第二方b的。
[0137]
相应的,第二方b对于预先划分的t个第二区段,针对更新的第二隐私数据集中落入各第二区段的隐私数据的映射值分别进行异或运算,得到t个第二区段对应的t个异或值作为第二异或结果。具体过程参见第一方a确定第一异或结果的过程,在此不再赘述。其中,第二方b侧,将更新的第二隐私数据集中落入各第二区段的隐私数据的映射值,分别存储至各第二区段对应的存储区,为了描述清楚,将存储有第二隐私数据集中隐私数据的映射值的存储区,称为第二存储区。
[0138]
在步骤s508,第一方a将第一异或结果发送至中间方c。相应的,第二方b将第二异或结果发送至中间方c。其中,一种实现中,第一方a和第二方b按照中间方c的数据传输要求,分别将第一异或结果和第二异或结果发送至中间方c。一种情况,中间方c为密态计算中心,其包括m个执行方,上述数据传输要求可以是,各方将其异或结果中的各异或值划分为m份,得到m个异或结果分片,将每一异或结果分片分别发送至每一执行方。
[0139]
接着,在步骤s509,中间方c基于第一异或结果和第二方对应发送的第二异或结果,得到两方各个对应异或值是否相同的判断结果。具体的,中间方c针对任意一方的异或结果中的第r异或值,判断其与另一方的异或结果中第r异或值是否相同,得到针对第r异或值的判断结果。两方的第r异或值即两方对应的异或值,对应相同的第二区段,例如对应第r个第二区段,通过上述过程可得到各个第二区段对应的判断结果。
[0140]
其中,若第r个第二区段对应的判断结果表征任意一方的第r异或值与另一方的第r异或值相同,则表征第一方a填入该第r个第二区段对应的第一存储区的映射值,与第二方b填入该第r个第二区段对应的第二存储区的映射值相同,则表征第一方a落入该第二区段的隐私数据,与第二方b落入该第二区段的隐私数据为共有数据。若第r个第二区段对应的
判断结果表征任意一方的第r异或值与另一方的第r异或值不同,则表征第一方a填入该第r个第二区段对应的第一存储区的映射值,与第二方b填入该第r个第二区段对应的第二存储区的映射值存在不同,相应的,则表征第一方a落入该第二区段的隐私数据,与第二方b落入该第二区段的隐私数据为非共有数据。
[0141]
可以理解的是,由于第一方a和第二方b中落入同一第二区段中的隐私数据,其对应的映射值中存在一个不同,则认为落入该同一第二区段中的隐私数据均为非共有的数据,则在划分第二区段时,使得每一第二区段尽量小,从而使得落入该第二区段的隐私数据的个数尽量少。
[0142]
在步骤s510,中间方c将各个第二区段对应的判断结果,发送至第一方a和第二方b。之后,在步骤s511,第一方a基于判断结果,确定更新的第一隐私数据集中两方的共有数据。一种情况中,第一方a从各个第二区段对应的判断结果中,筛选出表征对应异或值相同的判断结果,作为目标第二区段对应的判断结果;将更新的第一隐私数据集中落入目标第二区段的隐私数据确定为两方的共有数据。
[0143]
相应的,第二方b基于判断结果,确定更新的第二隐私数据集中两方的共有数据。具体方式参见上述第一方a确定更新的第一隐私数据集中两方的共有数据的方式。
[0144]
后续的,第一方a可以将更新的第一隐私数据集中落入目标第二区段的隐私数据输出集合外,得到更新的第一隐私数据集,此时更新的第一隐私数据集包含未落入目标第二区段的隐私数据。并且,第二方b可以将更新的第二隐私数据集中落入目标第二区段的隐私数据输出集合外,得到更新的第二隐私数据集,此时更新的第二隐私数据集包含未落入目标第二区段的隐私数据。上述s507-s511,可以实现将更新的隐私数据集中共有数据输出的效果,可以将s507-s511称为输出相同流程。
[0145]
在其双方需要确定出的共有数据精度要求较高的情况下,第一方a和第二方b,可以结合中间方c继续针对最新更新的第一隐私数据集和第二隐私数据集返回执行步骤s301,直至更新的第一隐私数据集和第二隐私数据为空集,结束循环,依次确定出第一方a和第二方b两方之间的精确度较高的共有数据。
[0146]
在另一种实现方式中,也可以是针对第一方a和第二方b持有的隐私数据集进行多次减少不同流程之后,在针对最后一次减少不同流程对应的更新的隐私数据集,进行输出相同流程。也可以是在针对第一方a和第二方b持有的隐私数据集进行一次减少不同流程之后,对减少不同流程对应的更新的隐私数据集进行多次输出相同流程,以得到共有数据,这都是可以的。
[0147]
以下对本说明实施例的数据传输量进行说明,对于上述减少不同流程,假设第一隐私数据集的数据个数n等于第二隐私数据集的数据个数m,即n=m,相应的,t=n/a,其中,a等于32,第一分桶数据和第二分桶数据中包含单桶区36个,双桶区10个,四桶区、八桶区、十六桶区各8个,三十二桶区32个;假设各层级桶区中的所有桶空间均存满数据,相应的,传输的桶空间的个数为:36t 10/2t 8/4t 8/8t 8/16t 8/32t 32/64t= 45.25t;传输的数据总量为:45.25*t*32=45.25n,假设密态计算中心采用两分量(两个执行方)进行传输,则传输数据量为45.25n*2=90.5n。
[0148]
对于上述输出相同流程,更新的第一隐私数据集的数据个数n

等于更新的第二隐私数据集的数据个数m

,即n

=m

,t = n

/80。则明文的数量为 t*80= n

,假设密态计算中心
采用两分量(两个执行方)进行传输,则传输数据量为2n


[0149]
进行过一次减少不同流程和输出相同流程之后,更新的第一隐私数据集和更新的第二隐私数据集的数据个数的下降幅度会很大,对于后续流程中的数据传输量可以忽略不计。
[0150]
相应的,可知,本说明实施例中对于每个隐私数据的传输数据量不到100比特(90.5和2),其相应于对隐私数据明文的传输数据量。
[0151]
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
[0152]
相应于上述方法实施例,本说明书实施例,提供了一种保护数据隐私的确定共有数据的系统,其示意性框图如图6所示,包括第一方610、第二方620和中间方630,其中,第一方610,配置为将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数据,并将其发送至中间方630,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;所述中间方630,配置为在获得第一分桶数据和第二分桶数据后,针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方610和第二方620;其中,所述第二桶空间与所述第一桶空间存在共有第一区段,所述第二分桶数据由第二方620将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述第一方610,还配置为基于所述结果集合,从所述第一隐私数据集中,确定两方的隐私数据集的共有数据。
[0153]
在一种可选实施方式中,所述多个桶空间包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。
[0154]
在一种可选实施方式中,所述第一桶空间包括连续的p个第一区段;所述中间方430在所述进行比较之前,还配置为:确定第二桶空间,所述第二桶空间包括第一子空间,第二子空间和/或第三子空间,所述第一子空间包括所述p个第一区段中的部分第一区段,所述第二子空间与所述第一桶空间对应相同;所述第三子空间包含且大于所述第一桶空间。
[0155]
在一种可选实施方式中,所述中间方630在所述从第一方和第二方分别获取各自的分桶数据之前,还配置为:确定各层级桶空间的建议数量;将所述建议数量分别发送至第一方和第二方;所述第一方610,还配置为根据所述建议数量,确定所述多个桶空间。
[0156]
在一种可选实施方式中,所述中间方630在所述从第一方和第二方分别获取各自的分桶数据之前,还配置为:基于所述两方的隐私数据集中数据个数的最大值,确定所述第
一区段的划分个数t;基于所述划分个数t确定区段划分信息;将所述区段划分信息分别发送至第一方和第二方;所述第一方610,还配置为基于所述空间划分信息确定所述t个第一区段。
[0157]
在一种可选实施方式中,所述隐私数据对应的映射值,基于该隐私数据针对第一随机数所取的余数结果而确定;所述中间方630在所述从第一方和第二方分别获取各自的分桶数据之前,还配置为:生成所述第一随机数;将所述第一随机数分别发送至所述第一方和所述第二方;所述第一方610,还配置为利用所述第一随机数,对所述第一隐私数据集中的各条数据求余,得到各条隐私数据对应的映射值。
[0158]
在一种可选实施方式中,各条隐私数据是,对其对应的对象标识进行哈希计算后所得到的哈希值。
[0159]
在一种可选实施方式中,所述中间方630为密态计算中心,其包括m个执行方;所述中间方630在所述从第一方和第二方分别获取各自的分桶数据的过程中,具体配置为:各执行方,分别从第一方和第二方获得各自的分桶数据分片,其中,所述分桶数据分片由各方将其多个桶空间内各映射值分别划分为m份而得到;所述中间方630在所述得到针对第一映射值的比较结果的过程中,具体配置为:所述各执行方通过多方安全计算mpc方式,将所述第一映射值与所述第二桶空间包含的各映射值进行比较,从而得到所述比较结果。
[0160]
在一种可选实施方式中,所述中间方630在所述得到针对第一映射值的比较结果的过程中,具体配置为:将该第一映射值与所述第二桶空间包含的各映射值进行比较,得到与各映射值对应的各中间结果;将各中间结果进行异或运算,得到针对第一映射值的所述比较结果。
[0161]
在一种可选实施方式中,所述第一方610在所述将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间的过程,具体配置为:确定包含目标区段的多个备选桶空间,所述目标区段是所述t个第一区段中所述隐私数据落入的第一区段;在所述多个备选桶空间中,优先将映射值添加至所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间。
[0162]
在一种可选实施方式中,所述第一方610在基于所述结果集合,从所述第一隐私数据集中确定两方的共有数据的过程中,具体配置为:基于所述结果集合,从所述第一隐私数据集中,删除与所述第二隐私数据集非公有的数据,得到更新的第一隐私数据集;对于预先划分的t个第二区段,针对所述更新的第一数据集中落入各第二区段的隐私数据的映射值分别进行异或运算,得到t个第二区段对应的t个异或值作为第一异或结果;将所述第一异或结果发送至所述中间方630;所述中间方630,还配置为基于第一异或结果和第二方620对应发送的第二异或结果,针对任意一方的异或结果中的第i异或值,判断其与另一方的异或结果中第i异或值是否相同,得到针对第i异或值的判断结果;将各个第二区段对应的判断结果,发送至所述第一方610和所述第二方620;所述第一方610,还配置为基于所述判断结果,确定所述更新的第一隐私数据集中
两方的共有数据。
[0163]
相应于上述方法实施例,本说明书实施例,提供了一种保护数据隐私的确定共有数据的装置700,所述装置部署在中间方,其示意性框图如图7所示,包括:第一获取模块710,配置为从第一方和第二方分别获取各自的分桶数据,所述分桶数据由各方将其持有的隐私数据集进行预设分桶处理而得到,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;第一比较模块720,配置为针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较,得到针对第一映射值的比较结果;其中,所述第二桶空间与所述第一桶空间存在共有第一区段;第一发送模块730,配置为将所述任意一方的分桶数据中各个映射值的比较结果构成的结果集合,发送至所述第一方和第二方,用于其确定两方的隐私数据集的共有数据。
[0164]
在一种可选实施方式中,所述多个桶空间包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。
[0165]
在一种可选实施方式中,所述第一桶空间包括连续的p个第一区段;所述装置还包括:空间确定模块(图中未示出),配置为在所述针对任意一方的分桶数据中所述第一桶空间包含的第一映射值,将其与另一方的分桶数据中第二桶空间包含的各映射值进行比较之前,确定第二桶空间,所述第二桶空间包括第一子空间,第二子空间和/或第三子空间,所述第一子空间包括所述p个第一区段中的部分第一区段,所述第二子空间与所述第一桶空间对应相同;所述第三子空间包含且大于所述第一桶空间。
[0166]
在一种可选实施方式中,所述装置还包括:数量确定模块(图中未示出),配置为在所述从第一方和第二方分别获取各自的分桶数据之前,确定各层级桶空间的建议数量;第三发送模块(图中未示出),配置为将所述建议数量分别发送至第一方和第二方,使其确定所述多个桶空间。
[0167]
在一种可选实施方式中,还包括:第二确定模块(图中未示出),配置为在所述从第一方和第二方分别获取各自的分桶数据之前,基于所述两方的隐私数据集中数据个数的最大值,确定所述第一区段的划分个数t;确定发送模块(图中未示出),配置为基于所述划分个数t确定区段划分信息;将所述区段划分信息分别发送至第一方和第二方,使其确定出所述t个第一区段。
[0168]
在一种可选实施方式中,所述隐私数据对应的映射值,基于该隐私数据针对第一随机数所取的余数结果而确定;所述装置还包括:生成模块(图中未示出),配置为在所述从第一方和第二方分别获取各自的分桶数据之前,生成所述第一随机数;第四发送模块(图中未示出),配置为将所述第一随机数分别发送至所述第一方和
所述第二方。
[0169]
在一种可选实施方式中,各条隐私数据是,对其对应的对象标识进行哈希计算后所得到的哈希值。
[0170]
在一种可选实施方式中,所述装置还包括:第三获取模块(图中未示出),配置为从第一方和第二方分别获取各自的异或结果,其中,所述异或结果包括与预先划分的t个第二区段对应的t个异或值,任意的第i个异或值是各方对其更新的隐私数据集中落入第i个第二区段的隐私数据对应的映射值进行异或运算得到的,所述更新的隐私数据集是各方基于所述结果集合从其隐私数据集中删除非共有数据后得到的;判断模块(图中未示出),配置为针对任意一方的异或结果中的第i异或值,判断其与另一方的异或结果中第i异或值是否相同,得到针对第i异或值的判断结果;第五发送模块(图中未示出),配置为将各个第二区段对应的判断结果,发送至所述第一方和所述第二方,用于其确定两方的更新的隐私数据集的共有数据。
[0171]
在一种可选实施方式中,所述中间方为密态计算中心,其包括m个执行方;所述第一获取模块710,具体配置为各执行方,分别从第一方和第二方获得各自的分桶数据分片,其中,所述分桶数据分片由各方将其多个桶空间内各映射值分别划分为m份而得到;所述第一比较模块720,具体配置为所述各执行方通过多方安全计算mpc方式,将所述第一映射值与所述第二桶空间包含的各映射值进行比较,从而得到所述比较结果。
[0172]
在一种可选实施方式中,所述第一比较模块720,具体配置为将该第一映射值与所述第二桶空间包含的各映射值进行比较,得到与各映射值对应的各中间结果;将各中间结果进行异或运算,得到针对第一映射值的所述比较结果。
[0173]
相应于上述方法实施例,本说明书实施例,提供了一种保护数据隐私的确定共有数据的装置800,所述装置部署在第一方,其示意性框图如图8所示,包括:第一分桶处理模块810,配置为将持有的第一隐私数据集中的各条隐私数据进行预设分桶处理,得到第一分桶数据,其中,所述预设分桶处理包括,针对任意的隐私数据,根据该隐私数据在预先划分的t个第一区段中所落入的第一区段,将该隐私数据对应的映射值填入预设的多个桶空间中的目标桶空间;所述多个桶空间中任意的第一桶空间包括若干个第一区段;第二发送模块820,配置为将所述第一分桶数据发送至中间方,以使所述中间方基于所述第一分桶数据和第二分桶数据确定结果集合,其中,所述第二分桶数据由第二方将其持有的第二隐私数据集进行所述预设分桶处理而得到;所述结果集合包括,将所述第一分桶数据中第一桶空间中的第一映射值与所述第二分桶数据中第二桶空间包含的各映射值进行比较得到的比较结果,所述第二桶空间与第一桶空间存在共有第一区段;第二获取模块830,配置为从所述中间方获取所述结果集合;第一确定模块840,配置为基于所述结果集合,从所述第一隐私数据集中确定两方的共有数据。
[0174]
在一种可选实施方式中,还包括:第四获取模块(图中未示出),配置为从所述中间方获取第一随机数;
求余模块(图中未示出),配置为利用所述第一随机数,对所述第一隐私数据集中的各条数据求余,得到各条隐私数据对应的映射值。
[0175]
在一种可选实施方式中,所述多个桶空间包括多层级的桶空间,不同层级的桶空间包含的第一区段的个数不同。
[0176]
在一种可选实施方式中,还包括:第五获取模块(图中未示出),配置为从所述中间方获取空间划分信息,所述空间划分信息是基于空间划分个数t确定的,所述空间划分个数t是所述中间方基于所述第一隐私数据集和所述第二隐私数据集中数据个数的最大值确定的;第三确定模块(图中未示出),配置为基于所述空间划分信息确定所述t个第一区段。
[0177]
在一种可选实施方式中,还包括:第六获取模块(图中未示出),配置为从所述中间方获取各层级桶空间的建议数量;第四确定模块(图中未示出),配置为根据所述建议数量,确定所述多个桶空间。
[0178]
在一种可选实施方式中,所述第一分桶处理模块810,具体配置为确定包含目标区段的多个备选桶空间,所述目标区段是所述t个第一区段中所述隐私数据落入的第一区段;在所述多个备选桶空间中,优先将映射值添加至所包含第一区段个数最少的且未满的桶空间,且优先将映射值添加至已包含映射值的桶空间。
[0179]
在一种可选实施方式中,所述第一隐私数据集中的各条数据是,对其对应的对象标识进行哈希计算后所得到的哈希值。
[0180]
在一种可选实施方式中,所述第一确定模块840,具体配置为基于所述结果集合,从所述第一隐私数据集中,删除与所述第二隐私数据集非公有的数据,得到更新的第一隐私数据集;对于预先划分的t个第二区段,针对所述更新的第一数据集中落入各第二区段的隐私数据的映射值分别进行异或运算,得到t个第二区段对应的t个异或值作为第一异或结果;将所述第一异或结果发送至所述中间方,以使所述中间方基于所述第一异或结果和所述第二方对应发送的第二异或结果,得到两方各个对应异或值是否相同的判断结果;从所述中间方获取所述判断结果;基于所述判断结果,确定所述更新的第一隐私数据集中两方的共有数据。
[0181]
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
[0182]
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书所提供的所述支付平台中资产转移的方法。
[0183]
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书所提供的所述支付平台中资产转移的方法。
[0184]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0185]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0186]
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献