本发明属于数据处理,具体涉及一种基于安全多方计算的隐私保护方法、系统、设备及产品。
背景技术:
1、数据隐私保护是在当今数字时代的一个重要话题,随着互联网的普及和人们生活中的数据产生量的增加,数据隐私保护成为了各数据使用方的关注焦点。隐私保护方法旨在保护个人数据和信息不被未经授权的访问、使用或披露。
2、目前,在医疗、商业及银行等场景下,由于用户数据隐私和安全问题,用户数据往往被各医疗机构分割,形成数据孤岛。以医疗场景为例,为解决现有的数据孤岛的问题,多个医疗机构通常需要联合分析患者数据,以研究某种疾病的发病率、病因或治疗效果,但由于涉及患者隐私,数据不能直接共享。安全多方计算(secure multiparty computation,smc)是一种允许多个互不信任的参与方在不泄露各自输入的情况下共同进行函数计算的技术。基于数据联合分析及用户隐私保护的需求,现有技术中已出现基于安全多方计算的数据联合分析方法,可实现各医疗机构对患者数据的数据分析处理,解决数据孤岛的问题。
3、但是,在使用现有技术过程中,发明人发现现有技术中至少存在如下问题:
4、现有技术中,在多个参与方将其数据分成若干份秘密共享后,通常需要另设多个数据计算方及一结果合成方,以通过多个数据计算方分别进行数据计算,并通过结果合成方将多个数据计算方计算得到的秘密共享分片进行合成,进而得到完整的分析结果。在此过程中,由于在多个参与方外需要另设数据计算方和结果合成方,无法充分利用参与方的算力,且存在对外部实体的依赖性。
技术实现思路
1、本发明旨在至少在一定程度上解决上述技术问题,本发明提供了一种基于安全多方计算的隐私保护方法、系统、设备及产品。
2、为了实现上述目的,本发明采用以下技术方案:
3、第一方面,本发明提供了一种基于安全多方计算的隐私保护方法,基于服务器和分别与所述服务器通信连接的多个参与方执行;所述方法包括:
4、各参与方分别生成一对公钥和私钥,并将其公钥及通信地址发送至所述服务器,以便所述服务器存储及管理各参与方的公钥及通信地址;
5、所述服务器从所有参与方中选取中间结果计算方,并将所有中间结果计算方的公钥及通信地址分别发送至各参与方;其中,所述中间结果计算方的总数量大于1;
6、各参与方分别将其存储的样本数据划分为与所有中间结果计算方的总数量匹配的多份子样本数据;
7、各参与方分别使用各中间结果计算方的公钥对与各中间结果计算方对应的子样本数据进行加密处理,得到与各中间结果计算方匹配的加密后子样本数据;
8、各参与方根据各中间结果计算方的通信地址,将与各中间结果计算方匹配的加密后子样本数据分别发送至各中间结果计算方;
9、各中间结果计算方使用其私钥分别对其接收到的各加密后子样本数据进行解密处理,得到与所有加密后子样本数据对应的子样本数据,然后根据所有子样本数据进行局部计算,得到中间结果;
10、各中间结果计算方均从所述服务器中提取得到所有参与方的通信地址和公钥,然后使用各参与方的公钥对其得到的中间结果分别进行加密,得到与各参与方对应的加密后中间结果;
11、各中间结果计算方根据各参与方的通信地址,将与各参与方对应的加密后中间结果分别发送至各参与方;
12、各参与方使用其私钥分别对其接收到的各加密后中间结果进行解密处理,得到与所有加密后中间结果对应的中间结果,然后根据该所有中间结果进行结果合成处理,得到数据分析结果。
13、在一个可能的设计中,各参与方分别使用rsa算法生成一对公钥和私钥。
14、在一个可能的设计中,各参与方在生成一对公钥和私钥后,还将其性能参数发送至所述服务器,以便所述服务器存储及管理各参与方的性能参数;对应地,所述服务器从所有参与方中选取中间结果计算方,包括:
15、所述服务器根据各参与方的性能参数,从所有参与方中选取满足指定性能要求的中间结果计算方。
16、在一个可能的设计中,所述方法还包括:
17、各参与方分别对其存储的样本数据进行缺失值处理、异常值处理、格式转换处理以及标准化处理,得到预处理后样本数据,以便各参与方分别将其预处理后样本数据划分为与所述中间结果计算方的总数量匹配的多份子样本数据。
18、在一个可能的设计中,所述服务器预先设定有一计算任务以及与该计算任务匹配的指定smc协议;对应地,各中间结果计算方得到与所有加密后子样本数据对应的子样本数据后,按照所述指定smc协议对进行局部计算,以便得到中间结果。
19、第二方面,本发明提供了一种基于安全多方计算的隐私保护方法,基于多个参与方中的任一参与方执行,且多个参与方均连接有服务器;所述方法包括:
20、生成一对公钥和私钥,并将其公钥及通信地址发送至所述服务器,以便所述服务器存储及管理各参与方的公钥及通信地址;
21、接收所述服务器发送的所有中间结果计算方的公钥及通信地址,并将其存储的样本数据划分为与所有中间结果计算方的总数量匹配的多份子样本数据,然后分别使用各中间结果计算方的公钥对与各中间结果计算方对应的子样本数据进行加密处理,得到与各中间结果计算方匹配的加密后子样本数据;其中,所述中间结果计算方是从所述参与方中选取的,且所述中间结果计算方的总数量大于1;
22、根据各中间结果计算方的通信地址,将与各中间结果计算方匹配的加密后子样本数据分别发送至各中间结果计算方,以便于各中间结果计算方使用其私钥分别对其接收到的各加密后子样本数据进行解密处理,得到与所有加密后子样本数据对应的子样本数据,然后根据所有子样本数据进行局部计算,得到中间结果,再通过各中间结果计算方使用各参与方的公钥对其得到的中间结果分别进行加密,得到与各参与方对应的加密后中间结果,再通过各中间结果计算方将与各参与方对应的加密后中间结果分别发送至各参与方;
23、使用其私钥分别对其接收到的各加密后中间结果进行解密处理,得到与所有加密后中间结果对应的中间结果,然后根据该所有中间结果进行结果合成处理,得到数据分析结果。
24、第三方面,本发明提供了一种基于安全多方计算的隐私保护方法,基于服务器执行,所述服务器通信连接有多个参与方;所述方法包括:
25、接收各参与方发送的公钥及通信地址,并对各参与方的公钥及通信地址进行存储及管理;
26、从所有参与方中选取中间结果计算方,并将所有中间结果计算方的公钥及通信地址分别发送至各参与方,以便于各参与方分别将其存储的样本数据划分为与所有中间结果计算方的总数量匹配的多份子样本数据,再通过各参与方分别使用各中间结果计算方的公钥对与各中间结果计算方对应的子样本数据进行加密处理,得到与各中间结果计算方匹配的加密后子样本数据,最后通过各参与方将与各中间结果计算方匹配的加密后子样本数据分别发送至各中间结果计算方;其中,所述中间结果计算方的总数量大于1;
27、在各中间结果计算方使用其私钥分别对其接收到的各加密后子样本数据进行解密处理,得到与所有加密后子样本数据对应的子样本数据,并根据所有子样本数据进行局部计算,得到中间结果之后,根据各中间结果计算方的参与方信息提取请求,将所有参与方的通信地址和公钥分别发送至各中间结果计算方,以便于各中间结果计算方使用各参与方的公钥对其得到的中间结果分别进行加密,得到与各参与方对应的加密后中间结果,再通过各中间结果计算方将与各参与方对应的加密后中间结果分别发送至各参与方,以使各参与方使用其私钥分别对其接收到的各加密后中间结果进行解密处理,得到与所有加密后中间结果对应的中间结果,然后根据该所有中间结果进行结果合成处理,得到数据分析结果。
28、第四方面,本发明提供了一种基于安全多方计算的隐私保护系统,用于实现如上述任意一项所述的基于安全多方计算的隐私保护方法;所述基于安全多方计算的隐私保护系统包括:
29、信息存储模块,用于接收各参与方发送的公钥及通信地址,并对各参与方的公钥及通信地址进行存储及管理;
30、中间结果计算方选取模块,与所述信息存储模块通信连接,用于从所有参与方中选取中间结果计算方,并将所有中间结果计算方的公钥及通信地址分别发送至各参与方,以便于各参与方分别将其存储的样本数据划分为与所有中间结果计算方的总数量匹配的多份子样本数据,再通过各参与方分别使用各中间结果计算方的公钥对与各中间结果计算方对应的子样本数据进行加密处理,得到与各中间结果计算方匹配的加密后子样本数据,最后通过各参与方将与各中间结果计算方匹配的加密后子样本数据分别发送至各中间结果计算方;其中,所述中间结果计算方的总数量大于1;
31、信息传输模块,与所述信息存储模块通信连接,用于在各中间结果计算方使用其私钥分别对其接收到的各加密后子样本数据进行解密处理,得到与所有加密后子样本数据对应的子样本数据,并根据所有子样本数据进行局部计算,得到中间结果之后,根据各中间结果计算方的参与方信息提取请求,将所有参与方的通信地址和公钥分别发送至各中间结果计算方,以便于各中间结果计算方使用各参与方的公钥对其得到的中间结果分别进行加密,得到与各参与方对应的加密后中间结果,再通过各中间结果计算方将与各参与方对应的加密后中间结果分别发送至各参与方,以使各参与方使用其私钥分别对其接收到的各加密后中间结果进行解密处理,得到与所有加密后中间结果对应的中间结果,然后根据该所有中间结果进行结果合成处理,得到数据分析结果。
32、第五方面,本发明提供了一种电子设备,包括:
33、存储器,用于存储计算机程序指令;以及,
34、处理器,用于执行所述计算机程序指令从而完成如上述任意一项所述的基于安全多方计算的隐私保护方法的操作。
35、第六方面,本发明提供了一种计算机程序产品,包括计算机程序或指令,所述计算机程序或所述指令在被计算机执行时实现如上述任意一项所述的基于安全多方计算的隐私保护方法。
36、本发明的有益效果为:
37、本发明公开了一种基于安全多方计算的隐私保护方法、系统、设备及产品,可在数据联合分析的情况下实现对各参与方的数据隐私保护,同时可充分利用各参与方的算力,避免数据泄露。具体地,本发明在实施过程中,通过服务器从参与方中选取中间结果计算方,随后各参与方基于中间结果计算方的总数量和各中间结果计算方的公钥进行样本数据划分及子样本数据加密处理,以便通过各中间结果计算方基于所有解密后的子样本数据得到不同的中间结果,各中间结果计算方在依据各参与方的公钥进行中间结果加密后传输,最后通过各参与方自行根据所有中间结果计算方的解密后的中间结果进行中间结果的结果合成处理,以得到最终的数据分析结果。在此过程中,本发明无需各参与方暴露其原始的样本数据,保证了各参与方的数据隐私,且可实现跨机构的数据共享和联合计算,解决了数据孤岛问题;同时,在本发明的实施过程中,未使用外部实体参与数据计算及传输,且服务器仅起到公钥及通信地址传输,以及中间结果计算方获取的作用,也不直接参与数据处理和传输的工作,由此可充分利用参与方的算力,同时通过减少外部参与者的数量,简化了系统架构及协议的实现和部署,降低了对外部实体的不确定性风险,有效避免数据泄露的问题,可适用于参与方之间有一定信任基础的场景;此外,本发明在各参与方进行结果合成处理前,通过各中间结果计算方分别进行中间结果的计算,以便于各参与方基于所有中间结果计算方得出的中间结果进行结果合成处理,可利于减轻各参与方进行结果合成处理的工作量。
38、本发明的其他有益效果将在具体实施方式中进一步进行说明。
1.一种基于安全多方计算的隐私保护方法,其特征在于:基于服务器和分别与所述服务器通信连接的多个参与方执行;所述方法包括:
2.根据权利要求1所述的一种基于安全多方计算的隐私保护方法,其特征在于:各参与方分别使用rsa算法生成一对公钥和私钥。
3.根据权利要求1所述的一种基于安全多方计算的隐私保护方法,其特征在于:各参与方在生成一对公钥和私钥后,还将其性能参数发送至所述服务器,以便所述服务器存储及管理各参与方的性能参数;对应地,所述服务器从所有参与方中选取中间结果计算方,包括:
4.根据权利要求1所述的一种基于安全多方计算的隐私保护方法,其特征在于:所述方法还包括:
5.根据权利要求1所述的一种基于安全多方计算的隐私保护方法,其特征在于:所述服务器预先设定有一计算任务以及与该计算任务匹配的指定smc协议;对应地,各中间结果计算方得到与所有加密后子样本数据对应的子样本数据后,按照所述指定smc协议对进行局部计算,以便得到中间结果。
6.一种基于安全多方计算的隐私保护方法,其特征在于:基于多个参与方中的任一参与方执行,且多个参与方均连接有服务器;所述方法包括:
7.一种基于安全多方计算的隐私保护方法,其特征在于:基于服务器执行,所述服务器通信连接有多个参与方;所述方法包括:
8.一种基于安全多方计算的隐私保护系统,其特征在于:用于实现如权利要求7所述的基于安全多方计算的隐私保护方法;所述基于安全多方计算的隐私保护系统包括:
9.一种电子设备,其特征在于:包括:
10.一种计算机程序产品,包括计算机程序或指令,其特征在于:所述计算机程序或所述指令在被计算机执行时实现如权利要求1-5、6或7所述的基于安全多方计算的隐私保护方法。