隐私保护的集合混淆求交方法、系统及相关设备转让专利

申请号 : CN202210747564.6

文献号 : CN114818000B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王煜坤冯新宇王湾湾何浩姚明

申请人 : 深圳市洞见智慧科技有限公司

摘要 :

本申请实施例公开了一种隐私保护的集合混淆求交方法、系统及相关设备,该系统包括发起方和结果方,方法包括:通过发起方将第一数据集合增加标签字段,得到参考第一数据集合;通过结果方将第二数据集合增加标签字段,得到参考第二数据集合;通过发起方对参考第一数据集合进行数据拼接操作,得到A条参考第一数据;通过结果方对参考第二数据集合进行数据拼接操作,得到B条参考第二数据;通过发起方将A条参考第一数据和B条参考第二数据进行求交运算,得到求交结果,根据求交结果确定目标标签信息;结果方根据目标标签信息对第一数据集合进行筛选,得到目标求交结果。采用本申请实施例可以在混淆求交过程中,实现隐私保护目的。

权利要求 :

1.一种隐私保护的集合混淆求交方法,其特征在于,应用于两方计算系统,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;所述方法包括:通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合,其中,增加的标签字段唯一定位每条数据;

通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合,其中,增加的标签字段唯一定位每条数据;

通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;

通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;

通过所述发起方将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;

通过所述结果方根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果;

其中,所述根据所述求交结果确定目标标签信息,包括:

获取所述第一数据集合的字段数量;

根据所述求交结果和所述字段数量确定初始标签信息;

对所述初始标签信息进行去重处理,得到所述目标标签信息。

2.根据权利要求1所述的方法,其特征在于,所述通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合,包括:根据所述N条第一数据组生成第一标签字段;

将所述第一数据集合增加所述第一标签字段,得到所述参考第一数据集合。

3.根据权利要求1或2所述的方法,其特征在于,所述通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合,包括:根据所述M条第二数据组生成第二标签字段;

将所述第二数据集合增加所述第二标签字段,得到所述参考第二数据集合。

4.根据权利要求1或2所述的方法,其特征在于,所述通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,包括:通过所述发起方按照预设顺序将所述参考第一数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述A条参考第一数据。

5.根据权利要求4所述的方法,其特征在于,所述通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,包括:通过所述结果方按照所述预设顺序将所述参考第二数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述B条参考第二数据。

6.一种两方计算系统,其特征在于,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;其中,所述发起方,用于将所述第一数据集合增加标签字段,得到参考第一数据集合,其中,增加的标签字段唯一定位每条数据;

所述结果方,用于将所述第二数据集合增加标签字段,得到参考第二数据集合,其中,增加的标签字段唯一定位每条数据;

所述发起方,用于对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;

所述结果方,用于对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;

所述发起方,用于将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;

所述结果方,用于根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果;

其中,所述根据所述求交结果确定目标标签信息,包括:

获取所述第一数据集合的字段数量;

根据所述求交结果和所述字段数量确定初始标签信息;

对所述初始标签信息进行去重处理,得到所述目标标签信息。

7.根据权利要求6所述的系统,其特征在于,在所述将所述第一数据集合增加标签字段,得到参考第一数据集合方面,包括:根据所述N条第一数据组生成第一标签字段;

将所述第一数据集合增加所述第一标签字段,得到所述参考第一数据集合。

8.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1‑5任一项所述的方法中的步骤的指令。

9.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1‑5任一项所述的方法。

说明书 :

隐私保护的集合混淆求交方法、系统及相关设备

技术领域

[0001] 本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种隐私保护的集合混淆求交方法、系统及相关设备。

背景技术

[0002] 随着人工智能的发展,数据的价值越来越受到重视。数据分析也成为研究的重点。集合混淆求交是一种功能特殊的集合求交方案,结果方和发起方每条数据均有多个信息字段,只要其中一个字段相互匹配即可看作整条数据求交成功。但是,传统的集合混淆求交方案在结果方会暴露匹配成功的字段信息,因此,如何在混淆求交过程中,实现隐私保护目的的问题亟待解决。

发明内容

[0003] 本申请实施例提供了一种隐私保护的集合混淆求交方法、系统及相关设备,可以在混淆求交过程中,实现隐私保护目的。
[0004] 第一方面,本申请实施例提供一种隐私保护的集合混淆求交方法,应用于两方计算系统,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;所述方法包括:
[0005] 通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合;
[0006] 通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合;
[0007] 通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;
[0008] 通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;
[0009] 通过所述发起方将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;
[0010] 通过所述结果方根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果。
[0011] 第二方面,本申请实施例提供了一种两方计算系统,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;其中,
[0012] 所述发起方,用于将所述第一数据集合增加标签字段,得到参考第一数据集合;
[0013] 所述结果方,用于将所述第二数据集合增加标签字段,得到参考第二数据集合;
[0014] 所述发起方,用于对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;
[0015] 所述结果方,用于对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;
[0016] 所述发起方,用于将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;
[0017] 所述结果方,用于根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果。
[0018] 第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
[0019] 第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
[0020] 第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0021] 实施本申请实施例,具备如下有益效果:
[0022] 可以看出,本申请实施例中所描述的隐私保护的集合混淆求交方法、系统及相关设备,应用于两方计算系统,两方计算系统包括发起方和结果方;发起方拥有第一数据集合,第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;结果方拥有第二数据集合,第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;通过发起方将第一数据集合增加标签字段,得到参考第一数据集合;通过结果方将第二数据集合增加标签字段,得到参考第二数据集合;通过发起方对参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;通过结果方对参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;通过发起方将A条参考第一数据和B条参考第二数据进行求交运算,得到求交结果,根据求交结果确定目标标签信息;通过结果方根据目标标签信息对第一数据集合进行筛选,得到目标求交结果,从而,在混淆求交过程中,不仅可以实现隐私保护目,而且通过数据拼接保证一次求交运算即可完成求交任务,提高了混淆求交效率,另外,通过求交函数,只输出位置信息,并且对结果方只返回标签信息,使其无法判断具体的字段信息,保证了混淆求交的安全性。

附图说明

[0023] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是本申请实施例提供的一种用于实现隐私保护的集合混淆求交方法的两方计算系统的架构示意图;
[0025] 图2是本申请实施例提供的一种隐私保护的集合混淆求交方法的流程示意图;
[0026] 图3是本申请实施例提供的增加标签字段的演示示意图;
[0027] 图4是本申请实施例提供的数据拼接操作的演示示意图;
[0028] 图5是本申请实施例提供的求交运算的演示示意图;
[0029] 图6是本申请实施例提供的另一种隐私保护的集合混淆求交方法的流程示意图;
[0030] 图7是本申请实施例提供的另一种隐私保护的集合混淆求交方法的流程示意图;
[0031] 图8是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0032] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0033] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0034] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0035] 本申请实施例所描述计算节点可以为电子设备,电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。本申请实施例中,结果方、发起方均可以为上述电子设备。
[0036] 下面对本申请实施例进行详细介绍。
[0037] 请参阅图1,图1是本申请实施例提供的一种用于实现隐私保护的集合混淆求交方法的两方计算系统的架构示意图,如图所示,本两方计算系统可以包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q,基于该两方计算系统可以实现如下功能:
[0038] 所述发起方,用于将所述第一数据集合增加标签字段,得到参考第一数据集合;
[0039] 所述结果方,用于将所述第二数据集合增加标签字段,得到参考第二数据集合;
[0040] 所述发起方,用于对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;
[0041] 所述结果方,用于对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;
[0042] 所述发起方,用于将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;
[0043] 所述结果方,用于根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果。
[0044] 可选的,所述通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合,包括:
[0045] 根据所述N条第一数据组生成第一标签字段;
[0046] 将所述第一数据集合增加所述第一标签字段,得到所述参考第一数据集合。
[0047] 可选的,所述通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合,包括:
[0048] 根据所述M条第二数据组生成第二标签字段;
[0049] 将所述第二数据集合增加所述第二标签字段,得到所述参考第二数据集合。
[0050] 可选的,所述通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,包括:
[0051] 通过所述发起方按照预设顺序将所述参考第一数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述A条参考第一数据。
[0052] 可选的,所述通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,包括:
[0053] 通过所述结果方按照所述预设顺序将所述参考第二数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述B条参考第二数据。
[0054] 可选的,所述根据所述求交结果确定目标标签信息,包括:
[0055] 获取所述第一数据集合的字段数量;
[0056] 根据所述求交结果和所述字段数量确定初始标签信息;
[0057] 对所述初始标签信息进行去重处理,得到所述目标标签信息。
[0058] 请参阅图2,图2是本申请实施例提供的一种隐私保护的集合混淆求交方法的流程示意图,应用于图1所示的两方计算系统,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;如图所示,本隐私保护的集合混淆求交方法包括:
[0059] 201、通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合。
[0060] 本申请实施例中,发起方可以拥有第一数据集合,第一数据集合可以包括N条第一数据组,每一第一数据组可以包括P个第一数据,每一第一数据可以对应一个标签信息,每一数据可以理解为一个信息字段,其用于表述标签信息的内容,标签信息可以包括以下至少一种:身份卡号(ID‑CARD)、电话号码(Phone Number)、银行卡号(Bank Card)、社保账号、社交账号、学号、工号等等,在此不做限定。
[0061] 具体实现中,例如,如下提供第一数据集合,如下表1所示:
[0062] 表1
[0063]ID‑CARD  Phone Number  Bank Card 
1234  66666  AAAA 
1789  88888  BBBB 
1258  99999  CCCC 
[0064] 其中,ID‑CARD、Phone Number、Bank Card均表示标签信息,第一数据集合可以包括3条第一数据组,{1234,66666,AAAA}可以表示一个数据组,1234则可以表示第一数据,ID‑CARD则是1234的标签信息。
[0065] 进一步的,通过发起方可以将第一数据集合增加标签字段,得到参考第一数据集合,如下表2所示,表2为参考第一数据集合的一种示例,具体如下:
[0066] 表2
[0067]Label  ID‑CARD  Phone Number  Bank Card 
0  1234  66666  AAAA 
1  1789  88888  BBBB 
2  1258  99999  CCCC 
[0068] 其中,Label表示标签字段,标签字段可以包括:0、1、2,当然,还可以包括其他值。
[0069] 本申请实施例中,混淆求交主要考虑的是两个数据源(即本申请实施例中的发起方和结果方)需要找出双方的共有用户,但是用户在两方登记的部分信息可能不同。比如,用户A在发起方登记的手机号为1111,银行卡号为AAAA,在结果方登记的手机号为1111,银行卡号为BBBB,这种情况下虽然银行卡号不同,但是通过手机号相同这一标签特征能判断出这是同一用户。此外,在这一过程中,数据源双方不希望暴露出来具体是哪个标签字段相同,仅仅只需要知道共有用户的身份即可。
[0070] 可选的,上述步骤201,通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合,可以包括如下步骤:
[0071] 11、根据所述N条第一数据组生成第一标签字段;
[0072] 12、将所述第一数据集合增加所述第一标签字段,得到所述参考第一数据集合。
[0073] 具体实现中,可以通过发起方根据N条第一数据组生成第一标签字段,即基于N条第一数据组的数量生成相应的标签,每一数据组对应一个标签字段,则第一标签字段可以包括N条第一数据组中每一数据组对应的标签字段,再将第一数据集合增加第一标签字段,得到参考第一数据集合。
[0074] 举例说明下,如图3所示,图3中的左边为原始数据,右边则为增加标签字段后的数据,即更新后数据,通过标签(Label)可以将第一数据组进行编组,使得第一数据集合有序展示,便于实现后续数据拼接操作。
[0075] 202、通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合。
[0076] 本申请实施例中,结果方可以拥有第二数据集合,第二数据集合可以包括M条第二数据组,每一第二数据组可以包括Q个第二数据,每一第二数据可以对应一个标签信息,每一数据可以理解为一个信息字段,其用于表述标签信息的内容,标签信息可以包括以下至少一种:身份证号、身份卡号(ID‑CARD)、电话号码(Phone Number)、银行卡号(Bank Card)、社保账号、社交账号、学号、工号等等,在此不做限定。
[0077] 具体实现中,结果方和发起方分别对自己待求交数据集进行数据更新,更新方式为对数据增加一个标签(Label)字段,由Label字段唯一定位每条数据。
[0078] 可选的,上述步骤202,通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合,可以包括如下步骤:
[0079] 21、根据所述M条第二数据组生成第二标签字段;
[0080] 22、将所述第二数据集合增加所述第二标签字段,得到所述参考第二数据集合。
[0081] 具体实现中,可以通过结果方根据M条第二数据组生成第二标签字段,即基于M条第二数据组的数量生成相应的标签,每一数据组对应一个标签字段,则第二标签字段可以包括M条第二数据组中每一数据组对应的标签字段,再将第二数据集合增加第二标签字段,得到参考第二数据集合。
[0082] 203、通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积。
[0083] 具体实现中,标签字段名用于表述标签信息的内容,数据内容则用于表述数据相应的内容,可以通过发起方对参考第一数据集合进行数据拼接操作,得到A条参考第一数据,A为N与P之间的乘积,每一参考第一数据由标签字段名和数据内容组成,还可以将A条参考第一数据构成一列数据。
[0084] 可选的,上述步骤203,通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,可以按照如下方式实施:
[0085] 通过所述发起方按照预设顺序将所述参考第一数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述A条参考第一数据。
[0086] 其中,预设顺序可以预先设置或者系统默认,预设顺序可以为标签字段的顺序,具体可以为第一标签字段的字段顺序。具体实现中,可以通过发起方按照预设顺序将参考第一数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到A条参考第一数据。
[0087] 举例说明下,如图4所示,假设第一数据为1234,则其在拼接操作之后,则为ID‑CARD‑1234,基于标签顺序,则可以依次将每一第一数据与对应的标签信息进行数据拼接操作,得到拼接后的第一数据,拼接后的第一数据可以构成一个数据。
[0088] 204、通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积。
[0089] 具体实现中,标签字段名用于表述标签信息的内容,数据内容则用于表述数据相应的内容,可以通过结果方对参考第二数据集合进行数据拼接操作,得到B条参考第二数据,B为M与Q之间的乘积,每一参考第二数据由标签字段名和数据内容组成,还可以将B条参考第一数据构成一列数据。
[0090] 具体实现中,结果方和发起方可以分别进行数据拼接操作,将含有多个字段的数据按照Label顺序拼接成单列数据,拼接格式可以为字段名+数据内容,数据内容也可以称之为数据信息。
[0091] 本申请实施例中,双方会对数据增加一个Label字段,由Label字段唯一定位每条数据,且将每条数据的每条原始字段(即除新生成的Label字段外)按顺序进行拼接,将所有数据按顺序拼接成一列数据。
[0092] 由于对数据做了拼接处理后求交,一次运算即可完成混淆求交任务,提升了混淆求交性能。
[0093] 可选的,上述步骤204,通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,可以按照如下方式实施:
[0094] 通过所述结果方按照所述预设顺序将所述参考第二数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述B条参考第二数据。
[0095] 其中,预设顺序可以预先设置或者系统默认,预设顺序可以为标签字段的顺序,具体可以为第二标签字段的字段顺序。具体实现中,可以通过发起方按照预设顺序将参考第二数据集合中的每一第二数据与对应的标签信息进行数据拼接操作,得到B条参考第二数据。
[0096] 205、通过所述发起方将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息。
[0097] 具体实现中,结果方与发起方可以运行一种功能特殊的两方不经意伪随机函数(oblivious pseudo‑random function,OPRF)‑隐私保护集合交集(private set intersection,PSI)函数,简称为OPRF‑PSI函数,具体函数流程如图5所示,结果方、发送方可以运行OT,即不经意传输(oblivious transfer,OT)协议,由结果方获得OT结果矩阵C,并计算PSI判断集合 ,再发送给发送方,其中,通过原始数据按照如下公式计算:
[0098]
[0099] 其中,X表示原始数据,x表示原始数据中的任一数据,v表示w维向量,每一个元素表示矩阵对应列的位置信息,k表示密钥, 表示带密钥的伪随机函数、 表示哈希函数,进而,按照如下公式判断集合 :
[0100]
[0101] 其中, 表示哈希函数, 表示矩阵第一列、 表示矩阵第w列,主要思想是通过原始数据x确定要获得的矩阵位置信息v,再根据v获取矩阵部分位置的信息,将这些信息作为哈希函数 的输入,计算出来 。
[0102] 进一步的,由发送方计算PSI判断集合 ,由发送方将 于 做对比,获得交集结果的位置信息。由于求交函数的求交结果只返回位置信息,隐藏了字段信息,为后续混淆求交的安全性提供保证。
[0103] 具体实现中,发送方可以获得求交结果,即PSI结果,求交结果为交集数据在结果方拼接后数据的位置信息。
[0104] 具体实现中,在求交运算中,求交结果可以不再是真实字段信息,而是交集字段在结果方对应的位置信息。发送方可以根据PSI结果整理Label信息,即需要将PSI结果除以字段数量后向下取整,发送方将整理后的Label信息去重,并发送给结果方,结果方可以根据获得的Label信息筛选本地数据作为混淆求交最终结果。
[0105] 可选的,上述步骤205,根据所述求交结果确定目标标签信息,可以包括如下步骤:
[0106] 51、获取所述第一数据集合的字段数量;
[0107] 52、根据所述求交结果和所述字段数量确定初始标签信息;
[0108] 53、对所述初始标签信息进行去重处理,得到所述目标标签信息。
[0109] 其中,具体实现中,可以获取第一数据集合的字段数量,再根据求交结果和字段数量确定初始标签信息,即需要将求交结果除以字段数量后向下取整,得到初始标签信息,接着,可以将初始标签信息去重,得到目标标签信息,由于将Label信息去重,隐藏了部分求交结果信息,保证了混淆求交的安全性。
[0110] 206、通过所述结果方根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果。
[0111] 具体实现中,可以通过结果方根据目标标签信息对第一数据集合进行筛选,得到目标求交结果,结果方能够获取交集数据,但无法获得交集字段,从而保证了混淆求交的安全性。
[0112] 本申请实施例中,隐私保护的集合混淆求交方案要求结果方只能获得交集数据信息,不能确定具体是哪一个字段成功匹配,这样即可以完成求交任务,又可以隐藏部分交集信息,达到隐私保护的目的。
[0113] 本申请实施例中,通过数据拼接保证一次求交运算即可完成求交任务,提高了混淆求交效率,另外,则通过使用特殊的求交函数,只输出位置信息,并且对结果方只返回标签信息,使其无法判断具体的字段信息,保证了混淆求交的安全性。
[0114] 举例说明下,如图6‑图7所示,本申请实施例中,参与方可以包括结果方和发送方,其中,图6包括步骤1‑步骤2,图7包括步骤3‑步骤6,具体步骤如下:
[0115] 1.结果方和发送方分别对自己待求交数据集进行数据更新,更新方式为对数据增加一个Label字段,由Label字段唯一定位每条数据;
[0116] 2.结果方和发送方分别进行数据拼接操作,将含有多个字段的数据按照Label顺序拼接成单列数据,拼接格式为字段名+数据信息。
[0117] 3.结果方与发送方运行一种功能特殊的两方PSI函数(如OPRF‑PSI函数),发送方获得求交结果,求交结果为交集数据在结果方拼接后数据的位置信息。
[0118] 4.发送方根据PSI结果整理出Label信息,这里需要将PSI结果除以字段数量后向下取整。
[0119] 5.发送方将整理后的Label信息去重,并发送给结果方。
[0120] 6.结果方根据获得的Label信息筛选本地数据作为混淆求交最终结果。
[0121] 本申请实施例中,由于对数据做了拼接处理后求交,一次运算即可完成混淆求交任务,提升了混淆求交性能,另外,采用一种特殊的求交函数,求交结果只返回位置信息,隐藏了字段信息,为后续混淆求交的安全性提供保证,再可以将Label信息去重,隐藏了部分求交结果信息,并且结果方能够获取交集数据,但无法获得交集字段,保证了混淆求交的安全性。
[0122] 可以看出,本申请实施例中所描述的隐私保护的集合混淆求交方法、系统及相关设备,应用于两方计算系统,两方计算系统包括发起方和结果方;发起方拥有第一数据集合,第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;结果方拥有第二数据集合,第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;通过发起方将第一数据集合增加标签字段,得到参考第一数据集合;通过结果方将第二数据集合增加标签字段,得到参考第二数据集合;通过发起方对参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;通过结果方对参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;通过发送方将A条参考第一数据和B条参考第二数据进行求交运算,得到求交结果,根据求交结果确定目标标签信息;通过结果方根据目标标签信息对第一数据集合进行筛选,得到目标求交结果,从而,在混淆求交过程中,不仅可以实现隐私保护目的,而且通过数据拼接保证一次求交运算即可完成求交任务,提高了混淆求交效率,另外,则通过求交函数,只输出位置信息,并且对结果方只返回标签信息,使其无法判断具体的字段信息,保证了混淆求交的安全性。
[0123] 与上述实施例一致地,请参阅图8,图8是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,应用于两方计算系统,所述两方计算系统包括发起方和结果方;所述发起方拥有第一数据集合,所述第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;所述结果方拥有第二数据集合,所述第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
[0124] 通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合;
[0125] 通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合;
[0126] 通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;
[0127] 通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;
[0128] 通过所述发送方将所述A条参考第一数据和所述B条参考第二数据进行求交运算,得到求交结果,根据所述求交结果确定目标标签信息;
[0129] 通过所述结果方根据所述目标标签信息对所述第一数据集合进行筛选,得到目标求交结果。
[0130] 可选的,在所述通过所述发起方将所述第一数据集合增加标签字段,得到参考第一数据集合方面,上述程序包括用于执行以下步骤的指令:
[0131] 根据所述N条第一数据组生成第一标签字段;
[0132] 将所述第一数据集合增加所述第一标签字段,得到所述参考第一数据集合。
[0133] 可选的,在所述通过所述结果方将所述第二数据集合增加标签字段,得到参考第二数据集合方面,上述程序包括用于执行以下步骤的指令:
[0134] 根据所述M条第二数据组生成第二标签字段;
[0135] 将所述第二数据集合增加所述第二标签字段,得到所述参考第二数据集合。
[0136] 可选的,在所述通过所述发起方对所述参考第一数据集合进行数据拼接操作,得到A条参考第一数据方面,上述程序包括用于执行以下步骤的指令:
[0137] 通过所述发起方按照预设顺序将所述参考第一数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述A条参考第一数据。
[0138] 可选的,在所述通过所述结果方对所述参考第二数据集合进行数据拼接操作,得到B条参考第二数据方面,上述程序包括用于执行以下步骤的指令:
[0139] 通过所述结果方按照所述预设顺序将所述参考第二数据集合中的每一第一数据与对应的标签信息进行数据拼接操作,得到所述B条参考第二数据。
[0140] 可选的,在所述根据所述求交结果确定目标标签信息方面,上述程序包括用于执行以下步骤的指令:
[0141] 获取所述第一数据集合的字段数量;
[0142] 根据所述求交结果和所述字段数量确定初始标签信息;
[0143] 对所述初始标签信息进行去重处理,得到所述目标标签信息。
[0144] 可以看出,本申请实施例中所描述的电子设备,应用于两方计算系统,两方计算系统包括发起方和结果方;发起方拥有第一数据集合,第一数据集合包括N条第一数据组,每一第一数据组包括P个第一数据,每一第一数据对应一个标签信息;结果方拥有第二数据集合,第二数据集合包括M条第二数据组,每一第二数据组包括Q个第二数据,每一第二数据对应一个标签信息,N、P、M、Q均为正整数,且P小于或等于Q;通过发起方将第一数据集合增加标签字段,得到参考第一数据集合;通过结果方将第二数据集合增加标签字段,得到参考第二数据集合;通过发起方对参考第一数据集合进行数据拼接操作,得到A条参考第一数据,每一参考第一数据由标签字段名和数据内容组成,A为N与P之间的乘积;通过结果方对参考第二数据集合进行数据拼接操作,得到B条参考第二数据,每一参考第二数据由标签字段名和数据内容组成,B为M与Q之间的乘积;通过发送方将A条参考第一数据和B条参考第二数据进行求交运算,得到求交结果,根据求交结果确定目标标签信息;通过结果方根据目标标签信息对第一数据集合进行筛选,得到目标求交结果,从而,在混淆求交过程中,不仅可以实现隐私保护目的,而且通过数据拼接保证一次求交运算即可完成求交任务,提高了混淆求交效率,另外,则通过求交函数,只输出位置信息,并且对结果方只返回标签信息,使其无法判断具体的字段信息,保证了混淆求交的安全性。
[0145] 本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
[0146] 本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
[0147] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0148] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0149] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0150] 上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0151] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0152] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0153] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read‑Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
[0154] 以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。