本发明涉及基于安全多方计算的隐私保护数据链接方法、系统,属于隐私保护数据链接。
背景技术:
1、数据正快速地增长和累积,然而仍然存在数据孤岛现象,推动数据要素流通和开发利用成为当前时代的重要工作,亟需开展支撑数据要素安全共享流通和使用的关键技术创新。其中,隐私保护数据链接是当前安全有效整合海量多源数据源的核心技术之一,该技术能链接跨组织、跨机构或跨系统的数据库中表示同一实体的数据记录,同时保护存储在数据库中实体的隐私。
2、隐私保护数据链接技术可以保证在记录链接的过程中,只有最终匹配结果被各数据源间共享,其他未匹配的数据记录信息均未被泄露。当前,该技术已被广泛应用政府服务、医疗保健和犯罪检测以及商业应用等。例如,在医疗保健领域中的新药研发场景,新药研发人员为调查新药物的不良反应,需要整合来自不同医院、诊所和药房的数据,支撑研究分析,基于隐私保护数据链接技术,只需获取使用该新药后患者表现的症状,而不需获取患者的其他信息;在犯罪检测场景,犯罪调查机构需利用各执法机构、互联网服务提供商和金融机构等相关敏感数据,基于隐私保护数据链接技术,只获取链接上的记录对应的人员身份信息(可疑人员的身份信息),而不必获取全部数据。
3、当前,隐私保护数据链接技术得到了广泛研究,但是在实际应用过程中发现,一方面进行数据记录链接的两方或多方的数据集可能不准确,数据字段可能缺失或错误,以及一个数据集可能包含多个非常相似的数据记录,极大影响了链接的准确率;另一方面,在不共享原始数据的前提下实现两方或多方的数据的安全链接或查询,需通过加密等相关技术手段或引入可信第三方来实现两方或多方的数据比对链接,导致效率极其低下,难以推广到具有海量多源数据的应用场景。
技术实现思路
1、本发明提供了基于安全多方计算的隐私保护数据链接方法、系统,本发明基于安全多方计算解决现有隐私保护数据链接方法中大部分需要可信第三方参与,以及在原始数据存在缺失、错误和重复的场景下筛选准确率较低的问题,本发明基于安全多方计算实现了半诚实场景下无第三方参与的隐私保护数据链接,能适用于多种数据筛查场景。
2、本发明的技术方案是:第一方面,本发明提供基于安全多方计算的隐私保护数据链接方法,具体包括:
3、s1. 第一参与方和第二参与方获取待处理的数据集合,对待处理数据进行预处理;
4、s2. 第一参与方和第二参与方基于哈希函数加密预处理好的数据,将预处理好的数据转化为散列数据;用于保护原始数据安全;
5、s3. 第一参与方和第二参与方中的任一方基于安全多方计算协议将散列数据转化为秘密份额,保留第一份额,并将第二份额发送给另一方;任何一方基于收到的另一方的第二份额无法回复出另一方的原始散列数据;
6、s4. 第一参与方或第二参与方基于收到份额和持有份额进行隐私保护下的数据链接筛查,筛选相同实体记录的序列号;
7、s5. 基于筛选出相同实体记录的序列号,筛查发起方基于安全多方计算获取筛选结果。
8、进一步地,所述s1中,对待处理数据进行预处理,具体包括:
9、s11. 所述对待处理数据进行预处理,是指检查待处理数据,对数据缺失、数据错误和数据格式进行标准化处理,并对所持有数据按顺序增加一列序列号;
10、s12. 所述对待处理数据进行预处理,对数据缺失,统一采取数字0代替,对数据错误统一采取删除操作。
11、进一步地,所述s2中,第一参与方和第二参与方基于哈希函数加密数据,将预处理好的数据转化为散列数据,具体包括:
12、s21. 所述第一参与方和第二参与方选取相同的哈希函数加密预处理好的数据,选取满足安全强度的哈希函数进行加密;
13、s22. 所述第一参与方和第二参与方选取相同的哈希函数加密预处理好的数据,选取sha256算法,将预处理好的数据转化为sha256的散列,具体包括:
14、对预处理好的数据再进行预处理,包括首先进行补位处理,使得最终长度为512位的倍数,然后进行数据分块,将数据分为以512为单位的数据块;
15、对分块数据计算哈希值,对数据分块逐个进行处理,从固定初始哈希开始,计算:
16、
17、其中,是sha256的压缩函数,“”是mod 的加法,是第个数据块的哈希值,n表示数据分块的总数;
18、s23. 所述第一参与方和第二参与方选取相同的哈希函数加密预处理好的数据,其中加密预处理好的数据包括新增加的序列号,即每一条数据的序列号也需生成哈希散列。
19、进一步地,所述s3具体包括:
20、s31. 所述第一参与方和第二参与方中的任一方基于安全多方计算协议将散列数据转化为秘密份额,指第一参与方和第二参与方中的任一方使用相同的安全多方计算协议进行计算,将持有散列数据转化为两个份额;
21、s32. 所述第一参与方和第二参与方中的任一方使用相同的安全多方计算协议进行计算,包括采用算数秘密共享协议和布尔秘密共享协议进行计算:
22、采用算数秘密共享协议进行计算,是指第一参与方和第二参与方中的任一方将在整数环上的整数拆分成两个份额与,第一份额自己持有,并将第二份额发送给另一方,其中;算数秘密共享具有加法同态性,即
23、
24、其中,和分别表示两个整数,和为的两个秘密份额,和为的两个秘密份额;
25、采用布尔秘密共享协议进行计算,是指第一参与方和第二参与方中的任一方通过异或运算实现对数据的拆分,即对于数据,,其中和是基于布尔秘密共享协议获得的秘密份额,将第一份额自己持有,并将第二份额发送给另一方,完成份额计算和发送;
26、s33. 所述第一参与方和第二参与方中的任一方使用相同的安全多方计算协议进行计算,包括对每条数据的序列号进行份额拆分,以保护序列号信息安全。
27、进一步地,所述s4具体包括:
28、s41. 所述第一参与方或第二参与方基于收到的份额和持有的份额进行隐私保护下的数据链接筛查,指所述第一参与方选取持有第一数据,与第二参与方持有所有数据进行相似性筛选;
29、s42. 所述相似性筛选是指第一参与方选取所述第一数据,将第一数据份额与收到的第二参与方所有数据的第二份额进行相似性计算,从而所述第一参与方获得第一数据与所述第二参与方所有数据相似性的计算结果;
30、s43. 所述第一参与方将所持有的所有数据按照s42中步骤进行遍历计算,即可获得所述第一参与方和所述第二参与方所有数据的相似性筛查结果。
31、进一步地,所述s5具体包括:
32、s51. 所述基于筛选出相同实体记录的序列号,是指基于s4中计算获得所述第一参与方和所述第二参与方具有相同实体的记录序列号,并基于使用的安全多方计算协议的秘密恢复算法恢复序列号明文;
33、s52. 所述基于筛选出相同实体记录的序列号,筛查发起方基于安全多方计算获取筛选结果,指所述筛查发起方基于s51中获取的序列号,基于安全多方计算协议共享获取所需实体的数据信息;
34、s53. 所述基于安全多方计算协议共享获取所需实体的数据信息,是指所述筛查发起方基于已获取的相同实体数据的秘密份额,基于安全多方计算协议的秘密恢复算法获取待查询实体的数据信息,除待查询信息外不会获得实体其它数据信息。
35、第二方面,本发明提供基于安全多方计算的隐私保护数据链接系统,所述系统包括用于执行上述第一方面的方法的模块。
36、第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于安全多方计算的隐私保护数据链接方法。
37、第四方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于安全多方计算的隐私保护数据链接方法。
38、第五方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述基于安全多方计算的隐私保护数据链接方法。
39、本发明的有益效果是:本发明解决了现有隐私保护数据链接方法中大部分需要可信第三方参与,以及在原始数据存在缺失、错误和重复的场景下筛选匹配准确率较低的问题,本发明基于安全多方计算实现了半诚实场景下无第三方参与的隐私保护数据链接,能适用于多种数据筛查场景;本发明所提方法适用于两方和多方场景,不失一般性,在方法介绍过程中以两方场景为例。
1.基于安全多方计算的隐私保护数据链接方法,其特征在于:包括:
2.根据权利要求1所述的基于安全多方计算的隐私保护数据链接方法,其特征在于:所述s1中,对待处理数据进行预处理,具体包括:
3.根据权利要求1所述的基于安全多方计算的隐私保护数据链接方法,其特征在于:所述s2中,第一参与方和第二参与方基于哈希函数加密数据,将预处理好的数据转化为散列数据,具体包括:
4.根据权利要求1所述的基于安全多方计算的隐私保护数据链接方法,其特征在于:所述s3具体包括:
5.根据权利要求1所述的基于安全多方计算的隐私保护数据链接方法,其特征在于:所述s4具体包括:
6.根据权利要求1所述的基于安全多方计算的隐私保护数据链接方法,其特征在于:所述s5具体包括:
7.基于安全多方计算的隐私保护数据链接系统,其特征在于,包括用于执行如权利要求 1至6任一项所述基于安全多方计算的隐私保护数据链接方法的模块。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于安全多方计算的隐私保护数据链接方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于安全多方计算的隐私保护数据链接方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于安全多方计算的隐私保护数据链接方法。