本公开涉及安全多方计算领域,尤其涉及一种隐私保护的加法聚合方法、装置和存储介质。
背景技术:
1、在大数据和人工智能的时代,人们能够更方便高效地获取信息。与此同时,大规模的现实世界数据也无时无刻地被收、记录、学习和使用。以现实世界数据为基础训练的联邦学习模型在政务、医疗、广告、物流等领域中具有重要应用前景。
2、现实世界数据往往包含许多用户隐私,大规模地收集和使用敏感数据进行联邦学习,会带来严重的数据安全隐患。在安全计算领域,当前的隐私保护的加法聚合方法能够以一种安全的方式计算出来自个人用户设备的数据总和,在计算过程中即便有用户掉线,仍然能够保证计算结果的正确性。然而,当前方法一旦用户掉线,就必须更换其公私钥,且用户的在线计算量巨大,与参与安全聚合的用户总数线性相关。因此,亟需一种新型的隐私保护的加法聚合方法以提升用户私钥的机密性,节约计算资源,提升计算效率。
技术实现思路
1、有鉴于此,本公开提出了一种隐私保护的加法聚合方法、装置和存储介质。
2、根据本公开的一方面,提供了一种隐私保护的加法聚合方法。该方法包括:
3、确定用户的公私钥对,每个用户基于自己的私钥,生成该用户在执行本次安全聚合协议中的会话密钥;
4、每个用户分别针对各其他用户,基于该用户的会话密钥和其他用户的公钥生成第一混淆向量集合;
5、每个用户基于该用户的会话密钥和服务器的公钥,生成第二混淆向量;
6、每个用户基于随机元素,生成第三混淆向量;
7、每个用户基于第一混淆向量集合、第二混淆向量和第三混淆向量,对原始数据进行混淆,得到混淆数据;
8、将混淆数据发送给服务器,以用于服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果。
9、根据本技术实施例,在每次执行安全聚合协议时,用户利用其私钥生成该用户在本次安全聚合协议中的所使用的会话密钥,基于会话密钥生成相应的混淆向量,以对原始数据进行混淆,这样即使在有用户掉线的情况下,掉线用户的会话密钥被公布,该用户也无需更换公私钥,提升了用户私钥的机密性,节约了计算资源,且提高了计算效率,从而服务器能够对多个用户发送的混淆数据进行聚合,在保证用户隐私的同时得到加法聚合结果。
10、在一种可能的实现方式中,该方法还包括:
11、每个用户分别针对各其他用户,基于该用户在执行本次安全聚合协议中的会话密钥,生成各针对其他用户的会话密钥分享碎片;
12、在存在掉线用户的情况下,其他在线用户基于与掉线用户之间的共享密钥,对与掉线用户之间的密文进行解密,确定掉线用户针对该在线用户生成的会话密钥分享碎片,密文指示会话密钥分享碎片;
13、其他在线用户将会话密钥分享碎片发送给服务器,会话密钥分享碎片用于服务器基于其他在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥;
14、服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
15、服务器利用掉线用户的会话密钥,去除聚合后的混淆数据中第一混淆向量的冗余部分,确定加法聚合结果,聚合后的混淆数据由服务器利用多个用户发送的混淆数据进行聚合后得到。
16、根据本技术实施例,通过使每个用户分别针对各其他用户,基于该用户的会话密钥生成各针对其他用户的会话密钥分享碎片,可以使得在存在掉线用户的情况下,其他在线用户能够基于与掉线用户之间的共享密钥,帮助恢复出掉线用户在执行本次安全聚合协议中的会话密钥,使服务器能够基于恢复出的会话密钥去除聚合后的混淆数据中第一混淆向量的冗余部分,以确定加法聚合结果。从而,可以实现在有用户掉线的情况下,也不会影响用户私钥的机密性,且不影响本次安全聚合协议的执行,提升了计算效率。在此过程中服务器也无法得到掉线用户的原始数据,保证了用户的数据安全。
17、在一种可能的实现方式中,用户之间的密文还指示用户双方的身份和加密密文的用户在执行本次安全聚合协议时所使用的随机元素。
18、根据本技术实施例,通过随机元素可进一步保护密文的安全性。
19、在一种可能的实现方式中,该方法还包括:
20、每个用户分别针对各其他用户,基于该用户的随机元素生成各针对其他用户的随机元素分享碎片;
21、在线用户将随机元素分享碎片发送给服务器,随机元素分享碎片用于服务器基于多个在线用户发送的随机元素分享碎片,确定在线用户的随机元素;
22、服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
23、服务器利用在线用户的随机元素,去除聚合后的混淆数据中的第三混淆向量,确定加法聚合结果。
24、根据本技术实施例,通过使每个用户分别针对各其他用户,基于该用户的随机元素生成各针对其他用户的随机元素分享碎片,可以使得服务器能够在确定加法聚合结果的过程中,去除聚合后混淆数据中在线用户的第三混淆向量,以确定正确的加法聚合结果,由于在执行安全聚合协议的过程中服务器无法恢复出在线用户的原始数据,能够保证用户的数据安全。
25、在一种可能的实现方式中,服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
26、服务器利用服务器的私钥和在线用户的公钥,去除聚合后的混淆数据中的第二混淆向量,确定加法聚合结果。
27、根据本技术实施例,通过利用服务器的私钥去除聚合后的混淆数据中的第二混淆向量,可以确定正确的加法聚合结果,由于在执行安全聚合协议的过程中服务器无法恢复出在线用户的原始数据,能够保证用户的数据安全。
28、在一种可能的实现方式中,服务器在接收到预定数量的在线用户发送的会话密钥分享碎片的情况下,基于各在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥。
29、根据本技术实施例,通过使服务器在接收到预定数量的在线用户发送的会话密钥分享碎片的情况下才能确定掉线用户的会话密钥,可以进一步保证安全聚合协议系统中的数据安全。
30、在一种可能的实现方式中,原始数据为用户在执行本次安全聚合协议时在线获取的数据,每个用户基于第一混淆向量集合、第二混淆向量和第三混淆向量,对原始数据进行混淆,得到混淆数据,包括:
31、每个用户基于第一混淆向量集合、第二混淆向量和第三混淆向量,在线对原始数据进行混淆,得到混淆数据。
32、根据本技术实施例,可以使用户可以通过线下预计算,以离线的方式完成安全聚合协议所需的绝大多数计算,从而大幅度减少用户的在线计算量,提高聚合过程中的计算效率。
33、在一种可能的实现方式中,该方法还包括:
34、将用户的公钥发送给服务器,在服务器接收到预定数量的用户的公钥的情况下,确定执行安全聚合协议,向用户广播用户集合中各用户的公钥。
35、根据本技术实施例,通过在收到预定数量的用户的公钥的情况下,确定执行安全聚合协议,可以进一步保证用户的数据安全,防止用户信息泄露。
36、根据本公开的另一方面,提供了一种隐私保护的加法聚合装置,该装置包括:
37、第一生成模块,用于确定用户的公私钥对,每个用户基于自己的私钥,生成该用户在执行本次安全聚合协议中的会话密钥;
38、第二生成模块,用于每个用户分别针对各其他用户,基于该用户的会话密钥和其他用户的公钥生成第一混淆向量集合;
39、第三生成模块,用于每个用户基于该用户的会话密钥和服务器的公钥,生成第二混淆向量;
40、第四生成模块,用于每个用户基于随机元素,生成第三混淆向量;
41、混淆模块,用于每个用户基于第一混淆向量集合、第二混淆向量和第三混淆向量,对原始数据进行混淆,得到混淆数据;
42、第一确定模块,用于将混淆数据发送给服务器,以用于服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果。
43、在一种可能的实现方式中,该装置还包括:
44、第五生成模块,用于每个用户分别针对各其他用户,基于该用户在执行本次安全聚合协议中的会话密钥,生成各针对其他用户的会话密钥分享碎片;
45、解密模块,用于在存在掉线用户的情况下,其他在线用户基于与掉线用户之间的共享密钥,对与掉线用户之间的密文进行解密,确定掉线用户针对该在线用户生成的会话密钥分享碎片,密文指示会话密钥分享碎片;
46、第二确定模块,用于其他在线用户将会话密钥分享碎片发送给服务器,会话密钥分享碎片用于服务器基于其他在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥;
47、服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
48、服务器利用掉线用户的会话密钥,去除聚合后的混淆数据中第一混淆向量的冗余部分,确定加法聚合结果,聚合后的混淆数据由服务器利用多个用户发送的混淆数据进行聚合后得到。
49、在一种可能的实现方式中,用户之间的密文还指示用户双方的身份和加密密文的用户在执行本次安全聚合协议时所使用的随机元素。
50、在一种可能的实现方式中,该装置还包括:
51、第六生成模块,用于每个用户分别针对各其他用户,基于该用户的随机元素生成各针对其他用户的随机元素分享碎片;
52、第一发送模块,用于在线用户将随机元素分享碎片发送给服务器,随机元素分享碎片用于服务器基于多个在线用户发送的随机元素分享碎片,确定在线用户的随机元素;
53、服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
54、服务器利用在线用户的随机元素,去除聚合后的混淆数据中的第三混淆向量,确定加法聚合结果。
55、在一种可能的实现方式中,服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
56、服务器利用服务器的私钥和在线用户的公钥,去除聚合后的混淆数据中的第二混淆向量,确定加法聚合结果。
57、在一种可能的实现方式中,服务器在接收到预定数量的在线用户发送的会话密钥分享碎片的情况下,基于各在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥。
58、在一种可能的实现方式中,原始数据为用户在执行本次安全聚合协议时在线获取的数据,混淆模块,用于:
59、每个用户基于第一混淆向量集合、第二混淆向量和第三混淆向量,在线对原始数据进行混淆,得到混淆数据。
60、在一种可能的实现方式中,该装置还包括:
61、第二发送模块,用于将用户的公钥发送给服务器,在服务器接收到预定数量的用户的公钥的情况下,确定执行安全聚合协议,向用户广播用户集合中各用户的公钥。
62、根据本公开的另一方面,提供了一种隐私保护的加法聚合装置,包括:
63、处理器;
64、用于存储处理器可执行指令的存储器;
65、其中,处理器被配置为在执行存储器存储的指令时,实现上述方法。
66、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述方法。
67、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
1.一种隐私保护的加法聚合方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,用户之间的密文还指示用户双方的身份和加密密文的用户在执行本次安全聚合协议时所使用的随机元素。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
6.根据权利要求2-5任一项所述的方法,其特征在于,所述服务器在接收到预定数量的在线用户发送的会话密钥分享碎片的情况下,基于各在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥。
7.根据权利要求1-6任一项所述的方法,所述原始数据为用户在执行本次安全聚合协议时在线获取的数据,所述每个用户基于所述第一混淆向量集合、所述第二混淆向量和所述第三混淆向量,对原始数据进行混淆,得到混淆数据,包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
9.一种隐私保护的加法聚合装置,其特征在于,所述装置包括:
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
11.根据权利要求10所述的装置,其特征在于,用户之间的密文还指示用户双方的身份和加密密文的用户在执行本次安全聚合协议时所使用的随机元素。
12.根据权利要求9-11任一项所述的装置,其特征在于,所述装置还包括:
13.根据权利要求9-12任一项所述的装置,其特征在于,所述服务器利用多个用户发送的混淆数据进行聚合,确定加法聚合结果,包括:
14.根据权利要求10-13任一项所述的装置,其特征在于,所述服务器在接收到预定数量的在线用户发送的会话密钥分享碎片的情况下,基于各在线用户发送的会话密钥分享碎片,确定掉线用户的会话密钥。
15.根据权利要求9-14任一项所述的装置,所述原始数据为用户在执行本次安全聚合协议时在线获取的数据,所述混淆模块,用于:
16.根据权利要求9-15任一项所述的装置,其特征在于,所述装置还包括:
17.一种隐私保护的加法聚合装置,其特征在于,包括:
18.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。