一种具有轻量级验证机制的隐私保护联邦学习方法与流程
未命名
08-26
阅读:136
评论:0

1.本发明涉及安全聚合技术领域,尤其是一种具有轻量级验证机制的隐私保护联邦学习方法。
背景技术:
2.大数据时代的到来促进了人工智能技术的发展,机器学习作为人工智能技术中热门技术得到了广泛的应用,并且促进了人们生活的进步。而训练出高精度的机器学习模型需要大量的数据支撑,往往这些数据保留在少数企业手中,并且由于隐私或利益等原因,拥有大部分数据的企业通常不愿意将数据共享,从而导致数据孤岛问题的产生。由于数据孤岛问题影响了集中学习过程中的数据共享,联邦学习在2016年被谷歌首次提出。联邦学习允许在本地训练模型,然后将得到的梯度参数发送给云服务器进行聚合。而用户的隐私数据一直没有离开本地,从而有效的保护了用户的隐私。联邦学习根据用户数据集的差异可以分为横向联邦学习、纵向联邦学习和联邦迁移学习。
3.联邦平均算法在传统联邦学习中被广泛使用,该算法主要是指在联邦训练过程中,每个用户使用自己的数据集在本地对模型进行训练,之后将得到的梯度参数发送给云服务器,云服务器收到从参与者上传的梯度参数进行平均发送给用户,用户用新的梯度平均值进行下一轮的迭代,直到最后得到的模型收敛,将最终模型作为结果输出,结束迭代。尽管联邦学习可以通过将隐私数据保留在本地,而只上传共享梯度的方式来保护用户数据的隐私,但现有的研究表明可以从上传的共享梯度中得到本地数据的信息,从而导致隐私泄露。因此,需要设计一种隐私保护方案来保护聚合过程中梯度的隐私。
4.目前,已有的隐私保护方案基于扰动或者加密技术,基于扰动的方案会影响最终模型的准确度,而基于加密的方案会带来较大的开销。基于加密的方案主要有安全多方计算、同态加密和功能加密等。其中,基于安全多方计算的方案主要使用配对掩码和秘密分享来保护用户的梯度隐私,同时允许在训练过程中用户掉线。但是用户掉线情况下会带来大量的额外开销,并且会引入额外的通信轮次。由于网络延迟等原因,在联邦学习的整个训练过程中,用户可以在任意阶段掉线影响训练结果。因此,如何设计一种隐私保护方案,在大规模用户掉线的情况下,在不引入额外通信轮次的情况下,以较小的性能开销有效的处理用户掉线问题,并且能够很好的保护用户的隐私是值得考虑的一个问题。
5.目前,很多隐私保护联邦学习方案使用加密技术保护梯度隐私,并且能够在用户掉线的情况下正确完成训练。但是处理掉线问题会带来大量的计算开销和通信开销,同时在整个训练过程中只保护了本地梯度的信息,而每轮的聚合结果仍然暴露给云服务器,云服务器可能从多轮的聚合结果中获取到诚实用户的隐私信息,所以需要在用户和云服务器不共谋的情况下实现对聚合结果的隐私保护。由于云服务器聚合用户发送的梯度参数需要额外的计算资源,云服务器可能为了减少计算开销,而伪造聚合结果返还给用户,从而导致训练结果出错。更严重的,云服务器可能会通过设计刻意的伪造结果,从中获取到用户的梯度信息,从而导致用户的隐私信息泄露。所以,除了需要保护用户的隐私信息和聚合结果的
隐私信息,还需要验证云服务器是否篡改过聚合结果,实现可验证性。
6.现有的可验证隐私保护方案使用同态哈希函数对梯度参数进行哈希上传给云服务器聚合,并通过云服务器返回的聚合哈希值来验证云服务器是否篡改过聚合结果。用户可以使用同态哈希在本地对云服务器返回的聚合结果进行哈希之后与聚合哈希值进行比较来验证聚合结果的正确性。如果云服务器返回的是伪造后的聚合结果,那么同时需要篡改聚合哈希值来欺骗用户接受伪造的聚合结果,然而由于同态哈希函数的抗碰撞性,云服务器无法成功伪造哈希值来通过用户的验证,从而实现对聚合结果的可验证性。然而,有研究者观察到由于在联邦学习中梯度向量的分布一般在零附近呈钟型分布同时范围在较小并且固定的区间,而同态哈希类似于一种确定性加密。所以,攻击者可以通过暴力破解攻击来恢复出用户的原始梯度,导致严重的隐私泄露问题,并且实验证明了在可接受的开销内高准确的破解出原始梯度向量。所以,需要设计一种合理的可验证机制来抵御敌手发起的暴力破解攻击。此外,目前大量的可验证方案由于对聚合结果验证需要进行额外的计算和通信,同时在用户掉线的情况下验证也会带来额外的开销,所以需要设计一种轻量级的验证机制来实现对聚合结果的可验证并且保护用户的梯度隐私。
7.综上所述,现有技术的可验证的隐私保护联邦学习方案中无法实现如下功能:1)使用合理的加密方案来保护用户的梯度隐私;2)在用户和云服务器不共谋的情况下,对云服务器保护聚合结果的隐私;3)以轻量级验证机制实现对聚合结果的可验证并抵御云服务器发起的暴力破解攻击;4)允许用户在训练过程中掉线,并且不会带来额外的开销。
技术实现要素:
8.本发明的目的是针对现有技术的不足而提供的一种具有轻量级验证机制的隐私保护联邦学习方法,采用同态伪随机生成器生成掩码向量来加密梯度向量的方法,通过加密上传掩码种子来消除聚合掩码并且减少计算开销,引入线性函数生成证明值并加密上传给云服务器进行聚合,实现以轻量级的验证机制验证聚合结果的正确性,同时使用线性函数的系数来生成掩码掩盖聚合结果,从而对云服务器保护聚合结果的隐私,同时也有效的抵御云服务器发起的暴力破解攻击,该方法适用于在训练过程中大规模用户掉线的环境,在保护梯度隐私的前提下,可以轻量级的验证聚合结果的正确性,具有较高的实际应用价值。
9.本发明的目的是这样实现的:一种具有轻量级验证机制的隐私保护联邦学习方法,其特点是采用同态伪随机生成器生成掩码向量来加密梯度向量从而保护梯度向量,通过加密上传掩码种子的方式来消除聚合掩码,减少计算开销;引入线性函数生成证明值并加密上传给云服务器进行聚合,实现以轻量级的验证机制验证聚合结果的正确性,使用线性函数的系数来生成掩码掩盖聚合结果从而对云服务器保护聚合结果的隐私。
10.本发明主要包含:可信第三方、用户和云服务器三个实体,所述可信第三方初始化整个系统,给定安全参数,生成加密方案的公私钥和用来验证的线性函数,将私钥和线性函数发送给指定的用户并将公钥公开,同时生成全局模型发送给用户进行训练,在初始化完系统之后可信第三方就离线;所述用户使用本地数据集对全局模型进行训练,将得到的梯度参数发送给云服务器聚合,并且需要验证云服务器返回聚合结果的正确性;所述云服务器将用户上传的梯度参数进行聚合,使用用户上传的额外信息生成验证值发送给用户,用
户使用验证值来验证云服务器是否篡改聚合结果。
11.本发明中使用的威胁模型为可信第三方被认为是完全可信的,并且在初始化完系统之后就离线,云服务器具有额外能力可以篡改聚合结果来欺骗用户接受伪造的聚合结果。考虑一个恶意敌手的攻击目标有:获得诚实用户的梯度隐私;获取梯度的聚合结果;篡改聚合结果通过验证。可以窃听通信过程中的消息并且腐化一部分用户来推测诚实用户的隐私信息。此外,不考虑用户和云服务器共谋的情况下保护聚合结果的隐私性和可验证性。
12.本发明实现对聚合结果的轻量级验证具体包括以下步骤:
13.1)初始化阶段:输入系统安全参数,可信第三方生成加密方案的公私钥,并将私钥分片之后发送给指定的用户,将公钥公开;初始化线性函数和初始化全局模型发送给所有用户。
14.2)本地训练阶段:每个用户在本地使用隐私数据集对全局模型进行训练,得到更新的梯度参数;用户使用线性函数将梯度参数作为输入生成验证值,并将验证值加密发送给云服务器进行安全聚合。用户首先使用线性函数的系数作为伪随机生成器(prg)的输入生成掩码向量掩盖梯度参数,然后选取随机值使用同态伪随机生成器(hprg)生成掩码向量对掩盖后的梯度参数进行加密并上传给云服务器进行聚合。
15.3)聚合阶段:云服务器将所有用户上传的梯度密文和验证值密文进行聚合,之后将梯度密文和验证值密文发送给所有参与者进行联合解密,得到掩盖后的聚合梯度参数和聚合验证值。掩盖后的聚合梯度参数将聚合梯度参数对云服务器保密,掩盖后的聚合验证值发送给用户用来验证返回的聚合梯度参数的正确性。
16.4)解密阶段:用户收到云服务器发送的聚合梯度密文和聚合验证值,使用私钥的分片对聚合梯度密文和聚合验证值密文进行初步解密,并将部分解密的结果发送给云服务器;云服务器收到用户发送的部分解密结果进行聚合,使用拉格朗日插值法来进行完全解密,得到掩盖后的聚合梯度和聚合验证值,并发送给所有用户验证进行下一轮的迭代训练。
17.5)验证阶段:用户收到云服务器发送掩盖后的聚合梯度和聚合验证值,首先使用本地的掩盖掩码消除掩盖后的聚合梯度得到聚合梯度,之后使用线性函数将聚合梯度作为输入生成新的验证值,并将新的验证值与云服务器返回的聚合验证值进行比较,如果相同,则通过验证进入下一轮的迭代训练;如果不同,则拒绝接受从云服务器返回的聚合结果。
18.在整个训练过程中,用户可能由于网络故障等原因在训练过程中掉线,从而引入额外的通信轮次和计算开销来解决掉线问题,本发明允许用户在任意阶段掉线,并且能够正确完成训练。用户采用同态伪随机生成器来生成掩码保护梯度参数的隐私,减少了用户的计算开销。使用掩码在本地掩盖梯度参数,云服务器解密之后得到的是掩盖后的聚合结果,对云服务器保护了聚合结果的隐私性。使用线性函数生成单个验证值来实现聚合结果的轻量级可验证,验证的通信开销与梯度参数的维度无关,并使用加密技术对验证值进行加密来抵御云服务器发起的暴力破解攻击。
19.本发明与现有技术相比具有以下有益的技术效果和显著的技术进步:
20.1)使用合理的加密方案来保护用户的梯度隐私;
21.2)在用户和云服务器不共谋的情况下,对云服务器保护聚合结果的隐私;
22.3)以轻量级验证机制实现对聚合结果的可验证并抵御云服务器发起的暴力破解
攻击,有效解决了隐私泄露的问题;
23.4)允许用户在训练过程中掉线,并且不会带来额外的开销,大大减少了计算和通信开销;
24.5)实现对聚合结果的可验证并且保护用户的梯度隐私,方法简便,具有较高的实际应用价值。
附图说明
25.图1为本发明构建的系统图;
26.图2为本发明流程图。
具体实施方式
27.一、本发明所应用的数学理论说明:
28.1.秘密分享
29.设秘密为s,将秘密分为n片,对于(t,n)门限秘密分享,只有收到至少t个分片才能恢复出秘密s。记秘密分享方案(secret share,sa)方案包含多项式构造初始化算法、秘密分享算法、秘密恢复算法,分别记为sa.setup,sa.share,sa.recon。
30.所述多项式构造初始化算法sa.setup(1
κ
,s)
→
f(x):输入安全参数κ,对于秘密s,初始化多项式其中ai是κ位的随机二进制整数,i=1,2,...,t-1。
31.所述秘密分享算法sa.share(s,t,u)
→
{(u,su)}
u∈u,|u|=n
:算法生成n个分片{(u,su)}
u∈u,|u|=n
,其中su=f(u),只需要t个分片就可以恢复出秘密s。
32.所述秘密恢复算法sa.recon({(u,sv)}
v∈v,|v|≥t
,t)
→
s:算法根据收到的至少t个分片集合v,取v的一个大小为t的子集v
′
,通过拉格朗日插值法恢复出秘密,通过拉格朗日插值法恢复出秘密
33.2.paillier同态加密方案
34.记paillier加密算法包含密钥生成算法、加密函数、解密函数三个部分,分别记为keygen、enc、dec。
35.所述keygen(1
κ
)
→
pk,sk:算法根据输入的安全参数κ生成一个公钥pk进行加密,生成私钥sk进行解密。
36.所述enc(pk,m)
→
c:对于明文m,加密者使用系统公钥pk进行加密得到密文c。
37.所述dec(sk,c)
→
m:对于密文c,解密者使用系统私钥sk进行解密得到明文m。
38.满足加法同态性,即dec(sk,enc(pk,m1)
·
enc(pk,m2))=m1+m2。
39.3.同态伪随机生成器hprg
40.同态伪随机生成器(homomorphic pseudorandom generator,hprg)是具有同态性质的伪随机生成器,通过输入种子扩充成指定维数的向量并满足同态性。
41.给定素数q阶循环群g,哈希函数h:具有同态性质的伪随机函数f:满足f(k,x)=h(x)k,构造hprg(s)=(f(s,1),f(s,2),...,f(s,m)),其中是明文空间。
42.满足同态性hprg(s1+s2)=hprg(s1)
·
hprg(s2)。
43.为了解本发明实现的技术手段、创作特征、达成目的与功效,下面将结合具体实施方式,进一步阐述本发明。
44.实施例1
45.参阅图1~图2,本发明对聚合结果的轻量级验证的实现过程具体如下所示:
46.1)初始化阶段
47.给定安全参数κ,可信第三方选取两个κ位大素数p
′
和q
′
,计算p=2p
′
+1和q=2q
′
+1,直到满足p和q也是素数。计算n=pq和λ=lcm(p-1,q-1)=2p
′q′
,选取d满足d≡0 modλ且d≡1 modn,并将sk=d设置为私钥,使用秘密分享将私钥的分片发给指定用户。随机选取κ位素数p1,生成素数p1阶群g,选取g的生成元g,并将公钥pk=(g,n)公开给所有实体。同时随机选取a,并将(a,b)和初始化全局模型w
(0)
并发送给所有用户。
48.2)本地训练阶段(第r轮)
49.用户i将本地模型置为从服务器获得的聚合梯度w
(r-1)
,然后使用本地数据集dbi在本地训练模型得到梯度参数gi。使用参数(a,b)和伪随机生成器prg计算掩码向量c=prg((a+b)||r)=(c0,c2,...,cm)。使用掩码向量c来盲化梯度向量同时计算用来验证的向量a=prg(a||r)=(a1,a2,...,am)和b=prg(b||r)=(b1,b2,...,bm),使用向量对(a,b)来计算验证值选取随机值si∈z
p
,使用同态伪随机生成器hprg扩充为m维向量并对梯度向量gi进行加密得到密得到计算si的密文c
si
=enc
pk
(si)和vi的密文c
vi
=enc
pk
(vi),并将ci,c
si
和c
vi
发送给云服务器进行聚合。
50.3)聚合阶段
51.云服务器至少收到t个用户集合u1上传的ci,c
si
和c
vi
进行聚合,其中部分用户掉线。首先对ci进行聚合得到密文之后计算g
si
的聚合密文和cv的聚合密文将计算得到的gs和cv发送给仍然在线的用户进入解密阶段。
52.4)解密阶段
53.由于用户i只持有私钥sk的部分分片ski,所以需要服务器做中介者将分片收集恢复出私钥,从而完成解密的同时不能泄露私钥sk的信息。具体的,用户i收到服务器发送的gs和cv进入解密阶段,之后在本地计算cs和cv的部分解密密文c
′
si
和c
′
vi
。其中,之后用户i将c
′
si
和c
′
vi
发送给云服务器进行聚合。云服务器至少收到t个用户集合u2上传的c
′
si
和c
′
vi
进行聚合实现完全解密。其中,部分用户掉线。首先对集合u2中的用户i,计算得到和之后计算得到掩码的聚合结果a和验证值的聚合结果2。
54.其中,
55.56.使用同态伪随机生成器将a扩充为v维向量然后对密文c消除掩码得到使用pollard’s kangaroo算法,计算出为梯度聚合结果,并将b作为第r轮的聚合结果e
(f)
和2发送给用户进入验证阶段。
57.4)验证阶段
58.用户i从云服务器获取到b和2之后,需要对聚合结果b进行验证,判断云服务器是否篡改过聚合结果b从而决定是否进入下一轮训练。首先,否篡改过聚合结果b从而决定是否进入下一轮训练。首先,其次使用本地掩码向量h消除掩码,得到其次使用本地掩码向量h消除掩码,得到之后用最终的聚合结果m作为线性函数的输入来计算
59.将得到的23和云服务器返回的2进行比较,如果相等,则接受聚合结果进入下一轮迭代训练;如果不相等,则拒绝云服务器返回的聚合结果。
60.本发明将隐私保护方案和验证机制结合,基于同态伪随机生成器提出了一种隐私保护方案,在用户掉线的情况下更具有适用性,该方法提出了一种轻量级验证机制,以较小的验证开销来验证聚合结果的正确性,同时能够抵御云服务器发起的暴力破解攻击,并且该验证机制具有通用性,有效的保护了用户的隐私和聚合结果的正确性,同时降低了开销并更适用于大规模用户掉线的情况。
61.以上实施例只是对本发明做进一步说明,并非用以限制本发明专利,凡为本发明等效实施,均应包含于本发明专利的权利要求范围之内。
技术特征:
1.一种具有轻量级验证机制的隐私保护联邦学习方法,其特征在于,采用同态伪随机生成器生成掩码向量来加密梯度向量的方法,通过线性函数生成证明值并加密上传云服务器进行聚合,实现对聚合结果的轻量级验证具体包括以下步骤:1)初始化阶段1-1:输入系统安全参数,可信第三方生成加密方案的公私钥;1-2:将私钥分片之后发送给指定的用户,将公钥公开;1-3:初始化线性函数和全局模型发送给所有用户;2)本地训练阶段2-1:每个用户在本地使用隐私数据集对全局模型进行训练,得到更新的梯度参数:2-2:用户使用线性函数将梯度参数作为输入生成验证值;2-3:将验证值加密发送给云服务器进行安全聚合:2-3-1:用户使用线性函数的系数作为伪随机生成器prg的输入生成掩码向量掩盖梯度参数;2-3-2:选取随机值使用同态伪随机生成器hprg生成掩码向量对掩盖后的梯度参数进行加密,并上传云服务器进行聚合;3)聚合阶段3-1:云服务器将所有用户上传的梯度密文和验证值密文进行聚合;3-2:将聚合梯度密文和聚合验证值密文发送给所有参与者进行联合解密,得到掩盖后的聚合梯度参数和聚合验证值,所述掩盖后的聚合梯度参数将聚合梯度参数对云服务器保密;3-3:将掩盖后的聚合验证值发送给用户验证返回的聚合梯度参数的正确性;4)解密阶段4-1:用户收到云服务器发送的聚合梯度密文和聚合验证值,使用私钥的分片对聚合梯度密文和聚合验证值密文进行初步解密,并将初步解密的结果发送给云服务器;4-2:云服务器将初步解密结果进行聚合,并使用拉格朗日插值法进行完全解密,得到掩盖后的聚合梯度和聚合验证值,将其发送给所有用户验证进行下一轮的迭代训练;5)本地验证阶段5-1:用户收到云服务器发送掩盖后的聚合梯度和聚合验证值,使用本地的掩盖掩码消除掩盖后的聚合梯度,得到聚合梯度;5-2:使用线性函数将聚合梯度作为输入生成新的验证值;5-3:将新的验证值与云服务器返回的聚合验证值进行比较,若相同,则通过验证进入下一轮的迭代训练;若不同,则拒绝接受从云服务器返回的聚合结果。
技术总结
本发明公开了一种具有轻量级验证机制的隐私保护联邦学习方法,其特点是采用同态伪随机生成器生成掩码向量来加密梯度向量的方法,通过线性函数生成证明值并加密上传云服务器进行聚合,实现对聚合结果的轻量级验证具体包括:初始化阶段、本地训练阶段、聚合阶段、解密阶段和验证阶段等步骤。本发明与现有技术相比具有对聚合结果的可验证,并抵御云服务器发起的暴力破解攻击,有效解决了隐私泄露的问题,降低了开销并更适用于大规模用户掉线的情况,大大减少了计算和通信开销,具有较高的实际应用价值。用价值。用价值。
技术研发人员:董晓蕾 曹珍富 沈佳辰 钱昊
受保护的技术使用者:之江实验室
技术研发日:2023.05.24
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:基于无人机与激光雷达数据融合的路基沉降监测方法 下一篇:一种抗俯仰车辆底盘结构