安全数据融合方法及装置与流程

文档序号:34465419发布日期:2023-06-15 10:36阅读:47来源:国知局
安全数据融合方法及装置与流程

本说明书一个或多个实施例涉及计算机领域,尤其涉及一种安全数据融合方法及装置。


背景技术:

1、安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露该函数各方的输入数据,计算的结果公开给其中的一方或多方。在基于多方安全计算的事务处理过程中,可能涉及对多个参与方持有的多个数据表进行安全融合,即对多个参与方持有的多个数据表进行内连接以获得目标数据表,其中该多个参与方可以各自获得目标数据表的一个共享分片,多个参与方各自持有的数据表中的隐私数据不能被其它参与方获知。


技术实现思路

1、本说明书一个或多个实施例中提供了一种安全数据融合方法及装置。

2、第一方面,提供了一种安全数据融合方法,用于对n个参与方持有的n个数据表进行内连接以获得目标数据表,所述方法由所述n个参与方中任意的第一参与方执行。所述方法包括:与其余n-1个参与方对所述n个数据表中预定字段下的字段值进行隐私求交,获得n个指示序列的本方分片,其中任意第i个指示序列中的任意第j个元素,用于指示第i个数据表中预定字段下的第j个字段值是否为所述n个数据表的预定字段共有;与其余n-1个参与方联合,对第i个数据表和第i个指示序列进行相同的打乱操作,获得第i个乱序数据表的本方分片和第i个乱序指示序列的本方分片;与其余n-1个参与方联合,恢复所述第i个乱序指示序列,并在本地根据所述第i个乱序指示序列,从所述第i个乱序数据表的本方分片中删除禁止用于构造所述目标数据表的行数据,获得第i个中间数据表的本方分片;与其余n-1个参与方联合,根据n个所述中间数据表的本方分片,获取目标数据表的本方分片。

3、在一种可能的实施方式中,所述n个参与方为所述第一参与方和第二参与方;当所述第i个数据表由所述第一参与方持有的情况下,所述第一参与方还持有扰动项和参考项,所述第二方持有置换项和平衡项。其中,所述与其余n-1个参与方联合,对第i个数据表和第i个指示序列进行相同的打乱操作,具体包括:将所述参考项确定为第i个乱序数据表的本方分片;根据所述扰动项扰动所述第i个数据表,获得扰动结果并向所述第二参与方提供所述扰动结果,使得所述第二参与方根据所述置换项、所述平衡项和所述扰动结果,确定所述第i个乱序数据表的本方分片。

4、在一种可能的实施方式中,所述第i个指示序列中任意第j个元素的允许取值至少包括第一数值,用于指示对应的字段值为所述n个数据表的预定字段共有。其中,所述根据所述第i个乱序指示序列,从所述第i个乱序数据表的本方分片中删除禁止用于构造所述目标数据表的行数据,包括:当所述第i个乱序指示序列中任意第k个元素的取值并非所述第一数值时,从所述第i个乱序数据表的本方分片删除第k行数据。

5、在一种可能的实施方式中,所述与其余n-1个参与方联合,根据n个所述中间数据表中的本方分片,获取目标数据表的本方分片,具体包括:与其余n-1个参与方联合,按照预定字段对n个所述中间数据表中的各行数据进行安全排序,获得n个排序数据表的本方分片;按字段拼接n个排序数据表的本方分片,形成所述目标数据表的本方分片。

6、在一种可能的实施方式中,所述与其余n-1个参与方联合,按照预定字段对n个所述中间数据表中的各行数据进行安全排序,获得n个排序数据表的本方分片,具体包括:对于所述第i个中间数据表,与其余n-1个参与方联合,基于对预定字段下各个字段值之间的安全比较,利用明文的比较结果对所述第i个中间数据表进行归并排序,获得第i个排序数据表的本方分片。

7、在一种可能的实施方式中,所述第i个中间数据表中预定字段下的字段值包括第一字段值和第二字段值。其中,所述与其余n-1个参与方联合,基于对预定字段下各个字段值之间的安全比较,利用明文的比较结果对所述第i个中间数据表进行归并排序,包括:与其余n-1个参与方安全比较所述第一字段值和所述第二字段值的大小,获得安全比较结果的本方分片;从其余n-1个参与方接收所述安全比较结果的其余n-1个分片;将所述安全比较结果的n个分片进行基于预定方式的融合,得到明文指示所述第一字段值和所述第二字段值大小关系的比较结果。

8、第二方面,提供了一种安全数据融合装置,用于对n个参与方持有的n个数据表进行内连接以获得目标数据表,所述装置部署在所述n个参与方中任意的第一参与方。所述装置包括:隐私求交单元,用于与其余n-1个参与方对所述n个数据表中预定字段下的字段值进行隐私求交,获得n个指示序列的本方分片,其中任意第i个指示序列中的任意第j个元素,用于指示第i个数据表中预定字段下的第j个字段值是否为所述n个数据表的预定字段共有;安全乱序单元,用于与其余n-1个参与方联合,对第i个数据表和第i个指示序列进行相同的打乱操作,获得第i个乱序数据表的本方分片和第i个乱序指示序列的本方分片;更新处理单元,用于与其余n-1个参与方联合,恢复所述第i个乱序指示序列,并在本地根据所述第i个乱序指示序列,从所述第i个乱序数据表的本方分片中删除禁止用于构造所述目标数据表的行数据,获得第i个中间数据表的本方分片;连接处理单元,用于与其余n-1个参与方联合,根据n个所述中间数据表的本方分片,获取目标数据表的本方分片。

9、在一种可能的实施方式中,所述n个参与方为所述第一参与方和第二参与方;当所述第i个数据表由所述第一参与方持有的情况下,所述第一参与方还持有扰动项和参考项,所述第二方持有置换项和平衡项。其中,所述安全乱序单元,用于将所述参考项确定为第i个乱序数据表的本方分片;根据所述扰动项扰动所述第i个数据表,获得扰动结果并向所述第二参与方提供所述扰动结果,使得所述第二参与方根据所述置换项、所述平衡项和所述扰动结果,确定所述第i个乱序数据表的本方分片。

10、在一种可能的实施方式中,所述第i个指示序列中任意第j个元素的允许取值至少包括第一数值,用于指示对应的字段值为所述n个数据表的预定字段共有。其中,所述更新处理单元,用于当所述第i个乱序指示序列中任意第k个元素的取值并非所述第一数值时,从所述第i个乱序数据表的本方分片删除第k行数据。

11、在一种可能的实施方式中,所述连接处理单元,用于与其余n-1个参与方联合,按照预定字段对n个所述中间数据表中的各行数据进行安全排序,获得n个排序数据表的本方分片;按字段拼接n个排序数据表的本方分片,形成所述目标数据表的本方分片。

12、在一种可能的实施方式中,所述连接处理单元,用于对于所述第i个中间数据表,与其余n-1个参与方联合,基于对预定字段下各个字段值之间的安全比较,利用明文的比较结果对所述第i个中间数据表进行归并排序,获得第i个排序数据表的本方分片。

13、在一种可能的实施方式中,所述第i个中间数据表中预定字段下的字段值包括第一字段值和第二字段值。其中,所述连接处理单元,用于与其余n-1个参与方安全比较所述第一字段值和所述第二字段值的大小,获得安全比较结果的本方分片;从其余n-1个参与方接收所述安全比较结果的其余n-1个分片;将所述安全比较结果的n个分片进行基于预定方式的融合,得到明文指示所述第一字段值和所述第二字段值大小关系的比较结果。

14、第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令在计算设备中执行时,计算设备实现第一方面中任一项所述的方法。

15、第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中任一项所述的方法。

16、通过本说明书一个或多个实施例中提供的方法及装置,对于n个参与方中的单个参与方而言,其可以首先和其余参与方联合执行对n个数据表中预定字段的字段值进行隐私求交,获得n个指示序列的本方分片,第i个指示序列中的第j个元素用于指示第i个数据表中预定字段的第j个字段值是否为n个数据表共有;接着和其余参与方联合执行对第i个数据表和第i个指示序列进行相同的打乱操作,获得第i个乱序数据表和第i个乱序指示序列的本方分片;然后和其余参与方联合执行恢复第i个乱序指示序列,并在本地执行根据第i个乱序指示序列从第i个乱序数据表的本方分片中删除禁止用于构造目标数据表的行数据,获得第i个中间数据表的本方分片;最后和其余参与方联合执行根据其持有的n个中间数据表的本方分片获取目标数据表的本方分片。如此,n个参与方在实现按照预定字段对由n个参与方持有的n个数据表进行安全数据融合的过程中,单个参与方无法准确获知预定字段下的哪些字段值被用于构造目标数据表,从而可以更加安全的实现按照预定字段对n个数据表进行安全数据融合。

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