异步联邦学习隐私保护方法、系统、介质、设备及终端

专利2023-03-04  101



1.本发明属于机器学习安全技术领域,尤其涉及一种异步联邦学习隐私保护方法、系统、介质、设备及终端。


背景技术:

2.联邦机器学习,又名联邦学习,是一种机器学习框架,能有效帮助多个机构在保证用户隐私、数据安全以及政府法规要求的前提下,进行数据使用和机器学习建模。在数据量爆发式增长的环境下,联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,从而在技术上打破数据孤岛。
3.目前,联邦学习中的数据安全主要通过安全聚合协议实现,虽然保证了数据安全,但传统的联邦学习并发性不高,会导致学习效率低下的问题。此外,由于参加联邦学习的用户的本地模型更新速度不同,而传统联邦学习的训练中,每一轮聚合必须等待所有参与的用户完成,这样的模型训练对于同步联邦来说是困难且低效率的,会导致落后者问题,这同样也会影响学习的效率。因此提出了异步联邦学习,然而异步联邦学习的特性使得其并不兼容安全聚合协议,因此目前在异步联邦学习中,数据的隐私性和机密性无法得到保证的问题仍然存在。
4.通过上述分析,现有技术存在的问题及缺陷为:同步联邦学习存在并发性不高和落后者的问题,需要通过异步学习来提高联邦学习的并发性和训练效率。而异步联邦学习存在用户本地的隐私数据易被泄露的问题,现有的方案尝试改进异步联邦学习中的隐私保护技术,但仍无法很好的平衡异步联邦学习中隐私保护和训练效率。如何在异步联邦学习高效的训练下实现隐私保护,同时不影响训练结果的有效性是现阶段联邦学习中存在的问题。


技术实现要素:

5.针对现有技术存在的问题,本发明提供了一种异步联邦学习隐私保护方法、系统、介质、设备及终端,尤其涉及一种基于安全多方计算的异步联邦学习隐私保护方法、系统、介质、设备及终端。
6.本发明在异步联邦学习的训练中,为每个参与训练的用户引入了权重系统来提高训练效率,同时提出了一种基于同态哈希函数的验证方案来保证在该权重系统在主动攻击敌手下的安全性。
7.本发明是这样实现的,一种异步联邦学习隐私保护方法,所述异步联邦学习隐私保护方法包括:本发明在异步联邦学习框架中引入了权重系统来提高学习效率,同时提出了一种基于同态哈希函数的验证方案来保证在该权重系统的安全性初始化系统并选取随机参数,公开系列参数和签名公钥;参与训练的用户收到签名私钥生成签名以及公私钥对;每个用户将公钥和签名打包发送给服务器,服务器校验后将用户身份信息和公钥打包广播给其他用户;用户接收到数据后生成随机参数对应的子秘密以及一次性会话密钥并发送给
服务器进行广播;
8.用户之间生成共享密钥并对用户信息加密;每个用户的待加密信息为加权后的用户本地信息,权重为该用户持有的样本数量和该用户参加训练时的陈旧度衰减系数;每个用户将加掩码后的数据发送给服务器,服务器对数据进行聚合,得到聚合结果;服务器将聚合结果除以最终参与训练用户持有的样本总数,得到全局模型。
9.进一步,所述异步联邦学习隐私保护方法还包括:
10.可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数;参与训练的用户用所述参数各自生成两组公私钥对以及签名;用户和服务器的通信经过安全认证信道,每个用户将公钥和签名打包发送给服务器,服务器校验后将用户身份信息、公钥和签名打包广播给其他用户;每个用户接收到数据后验证签名,从有限域中选取随机参数;根据秘密共享算法生成对应的子秘密,再生成私钥对应的子秘密以及用户之间对应的一次性会话密钥,并将子秘密和身份信息以会话密钥加密发送给服务器;服务器将密文广播给对应的用户;
11.用户之间生成共享密钥,将之前选取的随机数和所述共享密钥通过伪随机数生成器做掩码对用户的信息加密;每个用户需要加密的信息为用户本地的信息乘以持有的样本数量和参加训练时的陈旧度衰减系数;每个用户生成验证向量,并将加掩码后的数据发送给服务器,服务器广播参加训练的用户列表;用户收到所有用户的列表后计算自己的签名并发送给服务器;
12.服务器广播所述签名给对应用户;每个用户收到签名后进行验证,解密服务器之前发送的密文得到子秘密,将掉线用户共享密钥的子秘密和未掉线用户随机数的子秘密发送给服务器,服务器收到所述子秘密后恢复出子秘密对应的原秘密,将所有的掩码数据相加减去通过伪随机数生成器的秘密,最终得到聚合结果;服务器根据聚合结果验证用户的样本数没有作假。
13.进一步,所述异步联邦学习隐私保护方法包括以下步骤:
14.步骤一,可信第三方初始化系统,在方案中用于生成所有的系统参数。可信第三方在有限域中选取随机参数,公开一系列参数和用户的签名公钥;每个用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;
15.步骤二,用户生成密文,在方案中用于在用户之间生成构造掩码所需的密钥,并将这些密钥秘密的发送给所有的用户。每个用户从有限域中选取随机参数,并根据秘密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;
16.步骤三,用户生成带系数加掩码本地数据,在方案中用于将每个用户的本地加权数据加密,以此来保证用户隐私数据的安全性。每个用户将之前选取的随机数和与其他用户之间生成的共享密钥做掩码,对用户带系数的本地数据加掩码加密;生成验证向量,并将加掩码后的数据发送给服务器;
17.步骤四,服务器解码并聚合,在方案中用于在服务器端安全的聚合数据,即本方案的最终输出结果。每个用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服
务器生成验证向量,根据聚合结果验证用户的样本数没有作假。
18.进一步,所述异步联邦学习隐私保护方法还包括:
19.(1)可信第三方进行初始化,给出一个安全参数k,产生(q,g,g,h),其中q是一个素数,g是阶为q的群,g是g的一个生成元,h:{0,1}
*

{0,1}k是哈希函数,在中zq随机选择x作为签名密钥d
sk
,计算d
pk
=(g
x mod q,g,q)作为签名验证密钥,其中zq代表有限域,同时给出一个用于秘密恢复的门限值t和参加训练的用户数量n,发布公共参数gpk=(g,q,g,h,t,n,d
pk
,(δ,ρ)),其中(δ,ρ)∈zq为同态哈希函数中的密钥;对于1≤a≤n身份信息为a的用户,收到可信第三方发布的签名密钥和其他用户b公开的签名验证密钥用户生成密钥,用户a在中zq随机选择两个不同的x1和x2,生成两对公私钥对,一对公私钥对为其中同理,另一对公私钥对为其中这两对密钥前者用于认证加密,后者用于生成掩码;用户a通过可信第三方获取签名密钥对消息签名生成对消息签名生成其中k∈zq为用户a选择的随机数;将打包发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u1,当且仅当|u1|≥t成立时再执行下一步;服务器打包广播给其他用户b;
20.(2)用户生成密文,用户a收到服务器广播其他用户b的消息,用b的验证密钥验证是否成立,并在有限域中选择一个随机数βa,根据门限值t,产生对于其他用户b的秘密βa和的秘密份额β
a,b
和其中b∈u1;用户a用自己私钥和其他用户b公开的公钥和其他用户b公开的公钥产生一次性会话密钥且key
a,b
=key
b,a
;用户a用一次性会话密钥key
a,b
加密身份信息和两个秘密份额,产生给其他用户b的密文消息服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u2,当且仅当|u2|≥t成立时再执行下一步;服务器广播密文给对应用户;用户生成带系数加掩码本地数据,用户a从服务器收到对应的密文并存储在本地,计算和其他用户b的共享密钥s
a,b
用于生成掩码;将之前选择的随机数βa和与其他用户b的共享密钥s
a,b
通过伪随机数生成器得到私人掩码和公共掩码;用户a将本地数据xa乘以用户持有的样本数数量na以及服务器规定的陈旧度衰减系数再加上掩码得到输出ya,再根据可信第三方的参数产生验证向量va,将{ya,va}发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u3;当且仅当|u3|≥t成立时再执行下一步,并将u3用户列表广播给所有用户;
21.(3)服务器解码并聚合,用户a收到参与训练的用户列表,将列表用签名密钥生成签名并发送给服务器;服务器收到签名并记下当前用户集为u4,将身份信息与签名打包发送给所有用户;用户a收到消息后先验证其他用户的签名σ
′b,b∈u4,判断用户列表没有被篡改;用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到身份信息和两组秘密份额,验证身份后确认没
有作假,将秘密份额打包发送给服务器;服务器记下当前用户集为u5,通过用户发来的秘密份额恢复私人掩码和掉线用户的公共掩码;服务器将用户的输出聚合再减去私人掩码和掉线用户的公共掩码得到加权后的聚合结果z,根据聚合结果产生验证向量ka,z验证用户没有作假。
22.进一步,所述步骤(2)中用户a最终生成输出ya和验证向量va包括:
23.1)用户a将之前选择的随机数βa和与其他用户b的共享密钥s
a,b
通过伪随机数生成器prg得到私人掩码prg(βa)和公共掩码∑prg(s
a,b
);
24.2)用户a将本地数据xa乘以用户持有的样本数数量na以及服务器规定的陈旧度衰减系数其中t-τ代表用户a参加聚合的时间差,α∈(0,1);
25.3)用户a输出3)用户a输出其中
26.4)用户a根据可信第三方的公开参数(δ,ρ),产生验证向量4)用户a根据可信第三方的公开参数(δ,ρ),产生验证向量其中hf
δ,ρ
为同态哈希函数,η为联邦学习的学习率,∑wa为用户a本地数据在当前全局模型wg下的梯度之和。
27.进一步,所述步骤(3)中的服务器聚合和验证包括:
28.1)用户确认用户列表未造假后,用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到验证a=a

∧b=b

是否成立,若成立则代表密文是其他用户b发来的;
29.2)将和{β
b,a
|b∈u3}打包发送给服务器,其中u2\u3代表掉线用户集,u3代表未掉线用户集;
30.3)服务器之前已经确认过|u4|≥t,剩余的用户一定能恢复出未掉线用户随机数βa,进而恢复私人掩码prg(βa),其中a∈u3;同时剩余的用户也一定能恢复出掉线用户的私钥进而和对应用户b的公钥通过密钥协商恢复共享密钥s
a,b
,进而获得公共掩码∑prg(s
a,b
),其中a∈u2\u3,b∈u3;
31.4)服务器按照得到最终的输出4)服务器按照得到最终的输出
32.5)服务器根据可信第三方的公开参数(δ,ρ)产生验证向量5)服务器根据可信第三方的公开参数(δ,ρ)产生验证向量以及其中a∈u3;
33.6)服务器验证是否成立,若成立则输出z。
34.对于掉线用户,服务器无法恢复用户选取的随机数,不能获取到本地数据;对于未掉线用户,服务器通过求和抵消公共掩码,也不能获取到本地数据。
35.本发明的另一目的在于提供一种应用所述的异步联邦学习隐私保护方法的异步联邦学习隐私保护系统,所述异步联邦学习隐私保护系统包括:
36.密钥生成模块,用于可信第三方初始化系统,在有限域中选取随机参数,公开一系
列参数和用户的签名公钥;用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;
37.密文生成模块,用于通过用户生成密文,每个用户从有限域中选取随机参数,并根据秘密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;
38.本地数据加密模块,用于通过用户生成带系数加掩码本地数据,每个用户将之前选取的随机数和用户之间生成的共享密钥做掩码,对用户带系数的本地数据加码加密;生成验证向量,并将加掩码后的数据发送给服务器;
39.聚合验证模块,用于通过服务器解码并聚合,用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服务器生成验证向量,根据聚合结果验证用户的样本数没有作假。
40.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述的异步联邦学习隐私保护方法的步骤。
41.本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的异步联邦学习隐私保护方法的步骤。
42.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的异步联邦学习隐私保护系统。
43.结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
44.第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
45.本发明提供的基于安全多方计算的异步联邦学习隐私保护方法,可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数和签名公钥;参与训练的用户收到签名私钥生成签名,并用这些参数各自生成两组公私钥对,并公开持有的样本数数量;用户和服务器的通信经过安全认证信道,用户将公钥和签名打包发送给服务器,服务器校验后将用户身份信息和公钥打包广播给其他用户;用户接收到数据后,从有限域中选取随机参数,并根据秘密共享算法生成其对应的子秘密,再生成私钥对应的子秘密以及用户之间对应的一次性会话密钥,然后将这些子秘密和身份信息以会话密钥加密发送给服务器;服务器将密文广播给对应的用户;用户之间生成共享密钥,然后将之前选取的随机数和该共享密钥通过伪随机数生成器做掩码来对用户的信息加密;用户需要加密的信息为加权后的用户本地信息,其中权重为用户持有的样本数量和用户参加训练时的陈旧度衰减系数;用户将加掩码后的数据发送给服务器,服务器广播此时参加训练的用户列表;用户收到所有用户的列表后解密服务器之前发送的密文得到子秘密,然后将掉线用户共享密钥的子秘密和未掉线用户随机数的子秘密发送给服务器,服务器收到子秘密后恢复出这些子秘密对应的原秘密,然后将所有的掩码数据相加减去通过伪随机数生成器的秘密,最终得到聚合结果;服务
器之后将聚合结果除以最终参与训练用户持有的样本总数,得到全局模型。
46.本发明提供了一种基于安全多方计算的异步联邦学习隐私保护方法,用于实现高效安全的异步联邦学习,相较于传统联邦学习,该方案不但保证了用户的个人隐私,也提高了联邦学习的训练效率。用户与服务器异步地执行操作,让用于训练的模型在系统中更高效的传递,降低了训练时间。同时,权重系统的引入也大大提高了联邦学习的训练准确度和效率。服务器和用户通过异步协调器来执行相应操作,当有用户因为算力不够从而导致本地更新缓慢,其余用户不需要等待该用户完成本地更新,而是直接由其他完成了更新的用户接替完成安全聚合,这大大的提高了联邦学习的灵活性和并发性。安全聚合则是由安全多方计算技术实现,该技术通过用户之间秘密共享密钥作为掩码,将掩码附加在加权后的本地隐私数据后对明文信息进行掩盖,服务器无法识别被掩盖的信息。对于掉线的用户服务器可以恢复其公共掩码但是无法获得其私有掩码故无法获取其隐私信息。同理,对于未掉线用户,服务器可以获得其私有掩码,但是无法获得公共掩码,公共掩码只能通过聚合操作才能抵消,即服务器只能获得聚合后的结果,得到可实施的且安全性能高的异步联邦学习隐私保护方案,保护了用户数据的隐私性和机密性;另一方面来说,该发明也提高了联邦学习训练效率,解决了传统联邦学习中的落后者问题,减少训练的时间,节省了资源。方案简单且实用性强,具有推广作用。
47.第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
48.本发明提供的基于安全多方计算的异步联邦学习隐私保护方法保护了联邦学习中用户的隐私性;减少了学习训练的时间,节省了资源。
49.第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
50.(1)本发明的技术方案填补了国内外业内技术空白:
51.首次提出带权重系统的安全异步联邦学习,适用于多用户场景下的异步联邦学习,尤其适用于多边缘计算设备用户场景下的异步联邦学习,可以有效的进行联邦学习训练,并且在训练中保证用户本地数据的隐私性。同时结合同态哈希函数,提出了对于权重系统在主动攻击敌手下的验证方案,保证了该权重系统的安全性。
52.(2)本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:
53.国内目前针对联邦学习着重考虑如何减少通信代价,缺少对并发性和学习效率提升的思考。在实际应用场景中,参加联邦学习的用户设备存在差异性,并不能保证所有的用户都能以相对平均的速度完成本地模型更新,最终导致落后者问题。尽管提出了异步联邦学习来提高训练效率,但现有方案中未提出高效率的异步联邦学习隐私保护方法,本发明能够实现高效的安全异步联邦学习,更加符合实际应用场景。
附图说明
54.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
55.图1是本发明实施例提供的异步联邦学习隐私保护方法流程图;
56.图2是本发明实施例提供的异步安全聚合方案通信示意图;
57.图3是本发明实施例提供的安全异步联邦学习框架示意图;
58.图4是本发明实施例提供的异步联邦学习中有无权重的对比示意图;
59.图5是本发明实施例提供的传统联邦学习采用的随机梯度下降方法(sgd,stochastic gradient descent),同步联邦学习(syn,synchronous federated learning)和异步联邦学习(asyn,asynchronous federated learning)在不同训练轮数下的训练时间示意图;
60.图6是本发明实施例提供的在加入了本发明的隐私保护方案(asyn+secagg,asynchronous federated learning+secure aggregation)后示意图。
具体实施方式
61.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
62.针对现有技术存在的问题,本发明提供了一种异步联邦学习隐私保护方法、系统、介质、设备及终端,下面结合附图对本发明作详细的描述。
63.一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
64.如图1所示,本发明实施例提供的异步联邦学习隐私保护方法包括以下步骤:
65.s101,可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数和用户的签名公钥;用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;
66.s102,用户生成密文,用户从有限域中选取随机参数,并根据秘密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;
67.s103,用户生成带系数加掩码本地数据,用户将之前选取的随机数和用户之间生成的共享密钥做掩码,对用户带系数的本地数据加码加密;生成验证向量,并将加掩码后的数据发送给服务器;
68.s104,服务器解码并聚合,用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服务器生成验证向量,根据聚合结果验证用户的样本数没有作假。
69.作为优选实施例,如图2~3所示,本发明实施例提供的异步联邦学习隐私保护方法具体包括以下步骤:
70.(1)系统初始化:
71.可信第三方进行初始化,给出一个安全参数k,产生(q,g,g,h),其中q是一个素数,g是阶为q的群,g是g的一个生成元,h:{0,1}
*

{0,1}k是哈希函数;在中zq随机选择x作为签名密钥d
sk
,计算d
pk
=(g
x mod q,g,q)作为签名验证密钥,其中zq代表有限域,同时会给出一个用于秘密恢复的门限值t和参加训练的用户数量n,发布公共参数gpk=(g,q,g,h,t,n,dpk
,(δ,ρ)),其中(δ,ρ)∈zq为同态哈希函数中的密钥;对于1≤a≤n身份信息为a的用户,收到可信第三方发布的签名密钥和其他用户b公开的签名验证密钥
72.(2)用户产生密钥:
73.用户a在中zq随机选择两个不同的x1和x2,生成两对公私钥对,一对公私钥对为其中同理,另一对公私钥对为其中这两对密钥前者用于认证加密,后者用于生成掩码;用户a通过可信第三方获取签名密钥对消息签名生成对消息签名生成其中k∈zq为用户a选择的随机数,然后将打包发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u1,当且仅当|u1|≥t成立时再执行下一步;服务器打包广播给其他用户;
74.(3)用户产生密文:
75.用户a收到服务器广播的消息,用其他用户b的验证密钥验证是否成立,然后在有限域中选择一个随机数βa,根据门限值t,产生对于其他用户b的秘密βa和的秘密份额β
a,b
和其中b∈u1;用户a用自己私钥和其他用户b公开的公钥产生一次性会话密钥且key
a,b
=key
b,a
;用户a用一次性会话密钥key
a,b
加密身份信息和两个秘密份额,产生给其他用户b的密文消息的密文消息即对称加密;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u2,当且仅当|u2|≥t成立时再执行下一步;服务器广播密文给对应用户;
76.(4)用户生成带系数加掩码本地数据:
77.用户a从服务器收到对应的密文,将其存储在本地,然后计算和其他用户b的共享密钥s
a,b
用来生成掩码;将之前选择的随机数βa和与其他用户b的共享密钥s
a,b
通过伪随机数生成器得到私人掩码和公共掩码;用户a将本地数据xa乘以用户持有的样本数数量na以及服务器规定的陈旧度衰减系数再加上掩码得到输出ya,然后产生验证向量va,将{ya,va}发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u3,当且仅当|u3|≥t成立时再执行下一步,然后将u3用户列表广播给所有用户;
78.(5)一致性检验:
79.用户a收到参与训练的用户列表,将该列表用签名密钥生成签名用户a收到参与训练的用户列表,将该列表用签名密钥生成签名并发送给服务器;服务器收到签名并记下当前用户集为u4,将身份信息与签名打包发送给所有用户;
80.(6)服务器解码聚合:
81.用户a收到消息后先验证签名σ
′b,b∈u4,验证方式同步骤(2),判断用户列表没有被篡改,然后用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到身份信息和两组秘密份额,验证身份后确认没有作假;将秘密份额打包发送给服务器;服务器记下当前用户集为u5,通过用户发来的秘密份额来恢复私人掩码和掉线用户的公共掩码;服务器将用
户的输出聚合再减去私人掩码和掉线用户的公共掩码得到加权后的聚合结果z,然后根据聚合结果产生验证向量ka,z,来验证用户没有作假。
82.其中,本发明实施例提供的步骤(4)中用户a最终生成的输出ya和验证向量,按照如下方式生成:
83.(a)用户a将之前选择的随机数βa和与其他用户b的共享密钥s
a,b
通过伪随机数生成器prg得到私人掩码prg(βa)和公共掩码∑prg(s
a,b
);
84.(b)用户a将本地数据xa乘以用户持有的样本数数量na以及服务器规定的陈旧度衰减系数其中t-τ代表用户a参加聚合的时间差,α∈(0,1);
85.(c)用户a输出(c)用户a输出其中
86.(d)用户a产生验证向量其中hf
δ,ρ
为同态哈希函数,η为联邦学习的学习率,∑wa为用户a本地数据在当前全局模型wg下的梯度之和。
87.本发明实施例提供的步骤(6)中的聚合和验证,按照如下方式进行:
88.(a)用户确认用户列表未造假后,用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到此时验证a=a

∧b=b

是否成立,若成立则代表密文是其他用户b发来的;
89.(b)将和{β
b,a
|b∈u3}打包发送给服务器,其中u2\u3代表掉线用户集,u3代表未掉线用户集;
90.(c)服务器之前已经确认过|u4|≥t,此时剩余的用户一定能恢复出未掉线用户随机数βa,进而恢复私人掩码prg(βa),其中a∈u3;同时剩余的用户也一定能恢复出掉线用户的私钥进而和对应其他用户b的公钥通过密钥协商恢复共享密钥s
a,b
,进而可获得公共掩码∑prg(s
a,b
),其中a∈u2\u3,b∈u3;
91.(d)服务器得到最终的输出(d)服务器得到最终的输出
92.(e)服务器产生验证向量以及其中a∈u3;
93.(f)服务器验证是否成立,若成立则输出z。
94.对于掉线用户,服务器无法恢复该用户选取的随机数,所以不能获取到其本地数据;对于未掉线用户,服务器只能通过求和来抵消公共掩码,所以也不能获取到其本地数据。
95.本发明实施例提供的异步联邦学习隐私保护系统包括:
96.密钥生成模块,用于可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数和用户的签名公钥;用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;
97.密文生成模块,用于通过用户生成密文,用户从有限域中选取随机参数,并根据秘
密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;
98.本地数据加密模块,用于通过用户生成带系数加掩码本地数据,用户将之前选取的随机数和用户之间生成的共享密钥做掩码,对用户带系数的本地数据加码加密;生成验证向量,并将加掩码后的数据发送给服务器;
99.聚合验证模块,用于通过服务器解码并聚合,用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服务器生成验证向量,根据聚合结果验证用户的样本数没有作假。
100.二、应用实施例。为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
101.根据实际应用场景,利用安全多方计算技术实现带权重的异步联邦学习数据安全聚合,同时根据同态哈希函数提出权重验证方案,保证权重在异步联邦学习中的正确性,本发明形成高效的安全异步联邦学习方案,对实际场景建设有一定的实用价值。
102.在智慧健康检测系统中,用户可以选择将自己的穿戴设备或者手机上采集的数据上传给服务器做联邦学习,服务器在联邦学习后可以得到更优质的群体用户健康模型,在这个过程中,参加联邦学习的用户设备就会有异构的情况出现。比如智能手表与手机,这两种设备在算力或者待机时间上就会存在很大的差异,这就会导致在服务器收集数据进行联邦学习时,智能手表的本地模型更新与手机的本地模型更新不同步,进而导致落后者问题。当结合本发明后,在进行异步联邦学习时就可以保证参加训练的用户无需等待本地模型更新缓慢的用户,以此提高联邦学习的训练效率和并发性。
103.此外,在该场景下,由于用户本地采集的数据可能存在隐私信息,比如用户的血压、心率等,用户并不想公开这些数据给其他用户或者服务器,这就对异步联邦学习提出了隐私保护的要求。当结合本发明后,可以保证在联邦学习的训练过程中用户数据的隐私性。服务器只能得到聚合结果,并不能得到任何一个用户的本地信息。
104.另外,该实际应用场景中,用户是自己将样本数公开上传的,这样就存在主动攻击的用户会恶意上传样本数以此来干扰异步联邦学习的正常训练。本发明利用同态哈希函数的不可伪造性和保密性,提出了对于用户样本数的验证方案,确保用户在训练过程没有恶意的上传虚假权重值。该方案是在服务器得到聚合结果后进行验证的,如果有主动攻击的用户上传了虚假的权重值,那么本次训练产生的模型则不可用,服务器可以在验证后直接抛弃本次结果进行下一轮训练。
105.综上,本发明首次在异步联邦学习中引入权重系统,并结合安全多方计算技术和同态哈希函数提出高效的安全异步联邦学习方案,能够满足一定的社会需求,具有实践价值。
106.三、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
107.如图3所示,展示了安全异步联邦学习框架,本方案采用的异步联邦学习安全聚合与现有技术一致,即通过异步协调器来决定用户端和服务端的操作,并在收集到足够的用
户本地更新后执行安全聚合,此时其他没有上传数据的用户仍然可以执行本地更新,以此达到异步的效果。
108.如图4所示,展示了异步联邦学习中有无权重的对比,显然在带权重(asyn+w,asynchronous federated learning+weighted)后学习效果,即测试准确度,更加优良;图5展示了传统联邦学习采用的随机梯度下降方法(sgd,stochastic gradient descent),同步联邦学习(syn,synchronous federated learning)和异步联邦学习(asyn)在不同训练轮数下的训练时间,可以明显看出异步联邦学习在高训练轮数下的训练时间要低于其他两种传统方案,这也证明了异步联邦学习的重要性和必要性。
109.如图6所示,展示了在加入了本发明的隐私保护方案(asyn+secagg,asynchronous federated learning+secure aggregation)后,异步联邦学习的效果相较于没有加入方案时并没有收到太大影响。这证明了本发明再不影响异步联邦学习训练效果的前提下,提升了异步联邦学习的安全性。
110.应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
111.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

技术特征:
1.一种异步联邦学习隐私保护方法,其特征在于,所述异步联邦学习隐私保护方法包括:初始化系统并选取随机参数,公开系列参数和签名公钥;参与训练的用户收到签名私钥生成签名以及公私钥对;用户将公钥和签名打包发送给服务器,服务器校验后将用户身份信息和公钥打包广播给其他用户;用户接收到数据后生成随机参数对应的子秘密以及一次性会话密钥并发送给服务器进行广播;用户之间生成共享密钥并对用户信息加密;用户待加密信息为加权后的用户本地信息,权重为用户持有的样本数量和用户参加训练时的陈旧度衰减系数;用户将加掩码后的数据发送给服务器,服务器对数据进行聚合,得到聚合结果;服务器将聚合结果除以最终参与训练用户持有的样本总数,得到全局模型。2.如权利要求1所述异步联邦学习隐私保护方法,其特征在于,所述异步联邦学习隐私保护方法还包括:可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数;参与训练的用户用所述参数各自生成两组公私钥对以及签名;用户和服务器的通信经过安全认证信道,用户将公钥和签名打包发送给服务器,服务器校验后将用户身份信息、公钥和签名打包广播给其他用户;用户接收到数据后验证签名,从有限域中选取随机参数;根据秘密共享算法生成对应的子秘密,再生成私钥对应的子秘密以及用户之间对应的一次性会话密钥,并将子秘密和身份信息以会话密钥加密发送给服务器;服务器将密文广播给对应的用户;用户之间生成共享密钥,将之前选取的随机数和所述共享密钥通过伪随机数生成器做掩码对用户的信息加密;用户需要加密的信息为用户本地的信息乘以持有的样本数量和参加训练时的陈旧度衰减系数;用户生成验证向量,并将加掩码后的数据发送给服务器,服务器广播参加训练的用户列表;用户收到所有用户的列表后计算自己的签名并发送给服务器;服务器广播所述签名给对应用户;用户收到签名后进行验证,解密服务器之前发送的密文得到子秘密,将掉线用户共享密钥的子秘密和未掉线用户随机数的子秘密发送给服务器,服务器收到所述子秘密后恢复出子秘密对应的原秘密,将所有的掩码数据相加减去通过伪随机数生成器的秘密,最终得到聚合结果;服务器根据聚合结果验证用户的样本数没有作假。3.如权利要求1所述异步联邦学习隐私保护方法,其特征在于,所述异步联邦学习隐私保护方法包括以下步骤:步骤一,可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数和用户的签名公钥;用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;步骤二,用户生成密文,用户从有限域中选取随机参数,并根据秘密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;步骤三,用户生成带系数加掩码本地数据,用户将之前选取的随机数和用户之间生成的共享密钥做掩码,对用户带系数的本地数据加码加密;生成验证向量,并将加掩码后的数据发送给服务器;
步骤四,服务器解码并聚合,用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服务器生成验证向量,根据聚合结果验证用户的样本数没有作假。4.如权利要求1所述异步联邦学习隐私保护方法,其特征在于,所述异步联邦学习隐私保护方法还包括:(1)可信第三方进行初始化,给出一个安全参数k,产生(q,g,g,h),其中q是一个素数,g是阶为q的群,g是g的一个生成元,h:{0,1}
*

{0,1}
k
是哈希函数;在中z
q
随机选择x作为签名密钥d
sk
,计算d
pk
=(g
x mod q,g,q)作为签名验证密钥,其中z
q
代表有限域,同时给出一个用于秘密恢复的门限值t和参加训练的用户数量n,发布公共参数gpk=(g,q,g,h,t,n,d
pk
,(δ,ρ)),其中(δ,ρ)∈z
q
为同态哈希函数中的密钥;对于1≤a≤n身份信息为a的用户,收到可信第三方发布的签名密钥和其他用户b公开的签名验证密钥用户生成密钥,用户a在中z
q
随机选择两个不同的x1和x2,生成两对公私钥对,一对公私钥对为其中同理,另一对公私钥对为其中这两对密钥前者用于认证加密,后者用于生成掩码;用户a通过可信第三方获取签名密钥对消息签名生成对消息签名生成其中k∈z
q
为用户a选择的随机数;将打包发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u1,当且仅当|u1|≥t成立时再执行下一步;服务器打包广播给其他用户b;(2)用户生成密文,用户a收到服务器广播其他用户b的消息,用b的验证密钥验证是否成立,并在有限域中选择一个随机数β
a
,根据门限值t,产生对于其他用户b的秘密β
a
和的秘密份额β
a,b
和其中b∈u1;用户a用自己私钥和其他用户b公开的公钥和其他用户b公开的公钥产生一次性会话密钥且key
a,b
=key
b,a
;用户a用一次性会话密钥key
a,b
加密身份信息和两个秘密份额,产生给其他用户b的密文消息服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u2,当且仅当|u2|≥t成立时再执行下一步;服务器广播密文给对应用户;用户生成带系数加掩码本地数据,用户a从服务器收到对应的密文并存储在本地,计算和其他用户b的共享密钥s
a,b
用于生成掩码;将之前选择的随机数β
a
和与其他用户b的共享密钥s
a,b
通过伪随机数生成器得到私人掩码和公共掩码;用户a将本地数据x
a
乘以用户持有的样本数数量n
a
以及服务器规定的陈旧度衰减系数再加上掩码得到输出y
a
;根据可信第三方的参数产生验证向量v
a
,将{y
a
,v
a
}发送给服务器;服务器只判断发送数据的用户数是否大于门限值t,并将当前的用户记作u3;当且仅当|u3|≥t成立时再执行下一步,并将u3用户列表广播给所有用户;(3)服务器解码并聚合,用户a收到参与训练的用户列表,将列表用签名密钥生成签名并发送给服务器;服务器收到签名并记下当前用户集为u4,将身份信息与签名打包发送给所有用户;用户a收到消
息后先验证签名σ

b
,b∈u4,判断用户列表没有被篡改;用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到身份信息和两组秘密份额,验证身份后确认没有作假;将秘密份额打包发送给服务器;服务器记下当前用户集为u5,通过用户发来的秘密份额恢复私人掩码和掉线用户的公共掩码;服务器将用户的输出聚合再减去私人掩码和掉线用户的公共掩码得到加权后的聚合结果z,根据聚合结果产生验证向量k
a
,z验证用户没有作假。5.如权利要求4所述异步联邦学习隐私保护方法,其特征在于,所述步骤(2)中用户a最终生成输出y
a
和验证向量v
a
包括:1)用户a将之前选择的随机数β
a
和与其他用户b的共享密钥s
a,b
通过伪随机数生成器prg得到私人掩码prg(β
a
)和公共掩码∑prg(s
a,b
);2)用户a将本地数据x
a
乘以用户持有的样本数数量n
a
以及服务器规定的陈旧度衰减系数其中t-τ代表用户a参加聚合的时间差,α∈(0,1);3)用户a输出3)用户a输出其中4)用户a根据可信第三方的公开参数(δ,ρ),产生验证向量4)用户a根据可信第三方的公开参数(δ,ρ),产生验证向量其中hf
δ,ρ
为同态哈希函数,η为联邦学习的学习率,∑w
a
为用户a本地数据在当前全局模型w
g
下的梯度之和。6.如权利要求4所述异步联邦学习隐私保护方法,其特征在于,所述步骤(3)中的服务器聚合和验证包括:1)用户确认用户列表未造假后,用一次性会话密钥key
a,b
解密服务器之前发送的密文c
b,a
,得到验证a=a

∧b=b

是否成立,若成立则代表密文是其他用户b发来的;2)将和{β
b,a
|b∈u3}打包发送给服务器,其中u2\u3代表掉线用户集,u3代表未掉线用户集;3)服务器之前已经确认过|u4|≥t,剩余的用户一定能恢复出未掉线用户随机数β
a
,进而恢复私人掩码prg(β
a
),其中a∈u3;同时剩余的用户也一定能恢复出掉线用户的私钥进而和对应其他用户b的公钥通过密钥协商恢复共享密钥s
a,b
,进而获得公共掩码∑prg(s
a,b
),其中a∈u2\u3,b∈u3;4)服务器按照得到最终的输出4)服务器按照得到最终的输出5)服务器根据可信第三方的公开参数(δ,ρ)产生验证向量5)服务器根据可信第三方的公开参数(δ,ρ)产生验证向量以及其中a∈u3;6)服务器验证是否成立,若成立则输出z;对于掉线用户,服务器无法恢复用户选取的随机数,不能获取到本地数据;对于未掉线
用户,服务器通过求和抵消公共掩码,也不能获取到本地数据。7.一种应用如权利要求1~6任意一项所述异步联邦学习隐私保护方法的异步联邦学习隐私保护系统,其特征在于,所述异步联邦学习隐私保护系统包括:密钥生成模块,用于可信第三方初始化系统,在有限域中选取随机参数,公开一系列参数和用户的签名公钥;用户生成密钥,参与训练的用户从可信第三方接收签名私钥生成签名,用公开参数生成公私钥对,打包发送给服务器;密文生成模块,用于通过用户生成密文,用户从有限域中选取随机参数,并根据秘密共享算法生成随机参数对应的子秘密和私钥对应的子秘密,用一次性会话密钥加密所述子秘密和身份信息,作为密文发送给服务器;本地数据加密模块,用于通过用户生成带系数加掩码本地数据,用户将之前选取的随机数和用户之间生成的共享密钥做掩码,对用户带系数的本地数据加码加密;生成验证向量,并将加掩码后的数据发送给服务器;聚合验证模块,用于通过服务器解码并聚合,用户解密服务器发送的密文得到子秘密,根据其他用户是否掉线发送对应子秘密,服务器恢复出所述子秘密对应的原秘密后恢复掩码,进而得到聚合结果;服务器生成验证向量,根据聚合结果验证用户的样本数没有作假。8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述异步联邦学习隐私保护方法的步骤。9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述异步联邦学习隐私保护方法的步骤。10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实用于实现如权利要求7所述异步联邦学习隐私保护系统。

技术总结
本发明属于机器学习安全技术领域,公开了一种异步联邦学习隐私保护方法、系统、介质、设备及终端,初始化系统并选取随机参数,公开系列参数和签名公钥;用户生成签名以及公私钥对并发送给服务器,服务器将用户身份信息和公钥打包广播给其他用户;用户接收到数据后生成随机参数对应的子秘密以及一次性会话密钥;用户之间生成共享密钥并对用户信息加密;用户待加密信息为加权后的用户本地信息;用户将加掩码后的数据发送给服务器,服务器对数据进行聚合,得到聚合结果;服务器将聚合结果除以最终参与训练用户持有的样本总数,得到全局模型。本发明的异步联邦学习隐私保护方法保护了联邦学习中用户的隐私性;减少了学习训练的时间,节省了资源。节省了资源。节省了资源。


技术研发人员:张应辉 曹大禹 刘伟 韩刚 郑东
受保护的技术使用者:西安邮电大学
技术研发日:2022.07.16
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-1646.html

最新回复(0)