题目:《A Privacy-Preserving and Verififiable Federated Learning Scheme》
一个隐私保护和可验证的联邦学习方案
0.Abstract
由于数据环境的复杂性,许多组织更倾向于通过共享训练集来一起训练深度学习模型。然而,这个过程总是伴随着对分布式存储和隐私的限制。联邦学习通过只与服务器共享梯度而不透露训练集来解决这一挑战。不幸的是,现有的研究表明,服务器可以从共享的梯度中提取训练集的信息。此外,服务器可能会伪造计算结果,从而影响训练模型的准确性。为了解决上述问题,我们提出了一种保护隐私和可验证的联邦学习方案。我们的方案通过结合中国剩余定理和Paillier同态加密处理共享梯度,可以实现低计算和通信成本,实现隐私保护联邦学习。此外,我们还在联邦学习中将双线性聚合签名技术引入其中,有效地验证了聚合梯度的正确性。此外,实验表明,即使增加了验证函数,我们的方案仍然具有较高的精度和效率。
1.Introduction
然而,由于隐私问题,小企业和机构收集大量数据并不容易。特别是,用户数据共享中的隐私披露引起了媒体和管理部门的关注。作为回应,许多国家通过了新的法律来加强对数据隐私的保护。例如,欧盟在2018年5月25日执行了通用数据保护条例(GDPR)。虽然该法律禁止服务提供商彼此共享用户的数据,但它会导致数据岛问题。因此,公司或机构只对他们的数据集进行深度学习,从而导致模型过拟合。为了解决上述问题,谷歌于2016年提出了联邦学习。其想法是基于分布在多个参与者之间的数据集来构建机器学习。参与者在本地训练模型,并共享梯度,而不是训练集。因为联邦学习可以在保护隐私的同时训练高度精确的模型,它自成立以来就受到行业和研究人员的欢迎。
然而,[6,7,18,19]的研究表明,直接共享梯度仍然会造成隐私问题。此外,联邦学习涉及分布式参与者交互,导致较高的沟通成本。保护隐私和降低通信成本已成为联邦学习的重要研究方向。
A. Motivation
为了确保联邦学习的安全性和效率,我们必须考虑以下三种情况:
- 受非法利益[8]的驱动,恶意聚合服务器可能会向参与者返回不正确的聚合结果。例如,聚合服务器证伪聚合结果以影响模型的准确性。在这种情况下,参与者训练了一个糟糕的模型。对于医疗机构来说,低精度的模型可能会导致医疗事故。.
- 分布式结构和复杂的深度学习模型为联邦学习引入了较高的通信成本。这可能会使公司或机构对联邦学习缺乏热情。
- 聚合服务器试图从上传的梯度中推断出原始的训练数据。越来越多的研究证明了它是可行的。工作[6]训练mGANAI模型,以获得参与者的原始训练图片。通过对Phong算法的分析,Phong等人。[7]表明,数值计算可以近似于训练集。隐私泄露的主要原因是参与者以清晰的文本形式将他们的梯度上传到聚合服务器。因此,如何在不向聚合服务器揭示梯度的情况下实现聚合是保护隐私和安全聚合的关键。
- 提出了一种能够保护隐私,有效降低计算和通信成本的梯度处理方法。此外,我们还证实了该方法不会影响模型的准确性。
- 我们设计了一种验证机制,它可以检测聚合服务器是否伪造了聚合的结果。并证明了该机制的有效性。
- 通过实验证明了该方案的有效性和训练模型的准确性
2.Preliminaries
![](https://i-blog.csdnimg.cn/blog_migrate/05c49983cf320ca99ede261ee4a0cfdf.png)
![](https://i-blog.csdnimg.cn/blog_migrate/41bfd38fa2aeb9aa41e0d2b1d13b51fd.png)
其中 ,
是
的逆元。
- KeyGen: 参与者随机选择私钥x,并计算公钥
。
-
Sign:输入x和一个消息c。输出c的签名σ:
,
-
Verify:输入
、c 和 σ。然后计算
。如果
成立,则接受该结果。
-
AggregateSign :假设系统中有n个参与者P1、P2、···、Pn。Pi有一个信息
和它的签名
。输出聚合签名:
-
AggregateVerify:输入
和 聚合签名 σ。假设
的密钥是
。如果
成立的话,就接受聚合签名。
3.Problem Statement
在本节中,我们首先介绍我们的方案的体系结构,然后介绍我们工作中的设计目标。
- PKG处理的主要工作是生成参数、密钥和函数,然后将这些参数分配给参与者。
- 参与者需要训练和更新模型,并执行加密、签名、解密和验证操作。
- 聚合服务器需要聚合数据并执行其他计算。
图1显示了我们的方案的体系结构。
假设在这个方案中有n个参与者(P1、P2、...、Pn),他们也忠实地遵守了这个计划。但是,由于聚合过程是无监督的和不透明的,聚合服务器可能会尝试从上传的数据中提取信息或伪造聚合的结果,以影响训练模型的准确性。
B. Design Goals
我们的方案需要实现以下安全性和性能保证:
- 正确性。当聚合服务器和参与者严格遵循我们的系统时,最终的聚合结果应该是正确的。
- 可验证性。聚合服务器可能会伪造聚合的梯度来影响模型更新,我们的方案可以检测到这种恶意行为。
- 数据隐私。数据隐私是指每个参与者的原始梯度和聚合梯度的隐私。聚合服务器无法从其接收到的数据中获取这些数据隐私。
4.The Proposed Scheme
一般来说,我们的方案可以分为五个阶段。图2显示了处于这些阶段的参与者和聚合服务器的工作流。以下是对这些阶段的基本介绍:
- 初始化阶段:PKG生成并向每个参与者分发密钥。
- 模型训练阶段:Pi(i=1、2、···、n)本地训练模型,得到梯度Wi(i=1、2、···、n)。
- 数据处理阶段:对Wi进行处理、加密和签名。Pi上传密文
和签名σi到聚合服务器。
- 聚合阶段:聚合服务器聚合密文和签名以获得
和σ。
- 重新验证阶段:每个参与者下载汇总的结果以进行解密和验证。最后更新模型参数M。
在这一阶段,所有参与者都同意训练过的神经网络模型架构。PKG生成参数、密钥和函数,然后将它们分配给参与者。这些参数包括初始模型参数M、学习率η、k个正整数和乘法循环群G1的生成元g1。
- k个正整数m1、m2、···、mk为两两互素gcd(mi、mj)=1 (i ≠ j)。而且它们足够大,因此聚合的结果不会产生溢出错误。令M =
。
- 这些密钥包括Paillier加密的密钥(pk、sk)和双线性聚合签名x。注意,所有参与者都收到相同的密钥,然后计算
。
- 这些函数还包括一个同态哈希函数h和一个双线性映射e:G1×G2→G3。对于两个消息c1和c2,函数h满足:h(c1)∈G2 和 h(c1+c2)=h(c1)·h(c2)。
- 需要强调的是,x、
、sk和h对聚合服务器是保密的。
![{W}_{i}=[{W}_{i}^{(1)},{W}_{i}^{(2)},...,{W}_{i}^{(l)}](i=1,2,...,n)](https://i-blog.csdnimg.cn/blog_migrate/d41c40bb4441675e33e5cbc0fea9a8fa.gif)
![{W}_{i}^{(j)}(j=1,2,...,l)](https://i-blog.csdnimg.cn/blog_migrate/6776389aa0d549f572e9adfed1703330.gif)
![\left |{W}_{i}^{(j)} \right |](https://i-blog.csdnimg.cn/blog_migrate/9ab94885299065b0ddf334387ca7812b.gif)
![\left | {W}_{i} \right |](https://i-blog.csdnimg.cn/blog_migrate/c9912b16fed2d40409af4f83eeaf3e91.gif)
![\left |{W}_{i}^{(j)} \right |={D}_{j}](https://i-blog.csdnimg.cn/blog_migrate/9ab94885299065b0ddf334387ca7812b.gif%3D%7BD%7D_%7Bj%7D)
![W=\sum_{i=1}^{n}{W}_{i}](https://i-blog.csdnimg.cn/blog_migrate/aecbd957cd775811fa012fab7fb535d0.gif)
首先,参与者Pi一层一层地处理私有梯度Wi。Pi将划分为
片段,等于
=w1||···||wr,其中
是大于或等于z的最小整数,·||·表示向量连接。如果
的长度不能被k整除,
应填充0。假设向量wi=[
]、(i=1、2、···、r),那么Pi求解线性同余系统:
其中y=∈
是方程(4)的唯一解。通过以这种方式处理Wi,我们将得到处理后的数据
。图3显示了使用中文参数
定理的处理。
我们可以得出结论,。然后Pi加密
以得到密文
。与直接加密梯度Wi相比,由于
约为
的|Wi|,因此加密操作相应减少。同时,Pi计算签名σi=
。最后,Pi将密文
和签名σi上传到聚合服务器。由于中文剩余定理的处理,密文的大小减少,通信成本相应降低,比未处理的情况低约
。
其中方程(5)的前者实现梯度聚合,后者实现签名聚合。在此阶段,聚合服务器可能会伪造聚合的结果。数据聚合后,每个参与者从聚合服务器下载上述两个结果。
![[[\widetilde{{W}_{i}}]]_{pk}](https://i-blog.csdnimg.cn/blog_migrate/711549a31b3c6a62456dbf329aeef0ff.gif)
![\widetilde{W}](https://i-blog.csdnimg.cn/blog_migrate/85fb2ea3448245c213ad9a081a47485d.gif)
![\widetilde{W}](https://i-blog.csdnimg.cn/blog_migrate/85fb2ea3448245c213ad9a081a47485d.gif)
![\widetilde{W}](https://i-blog.csdnimg.cn/blog_migrate/85fb2ea3448245c213ad9a081a47485d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/026dc6fb966b7035f6be5dc40b2eda97.png)
否则,拒绝。
![\widetilde{W}](https://i-blog.csdnimg.cn/blog_migrate/85fb2ea3448245c213ad9a081a47485d.gif)
最后,参与者结合方程(7)计算的结果,得到最终的聚集梯度W。在该阶段结束时,他们会更新模型参数。如果终止条件不满足,参与者将继续在本地训练模型,为下一轮的联邦学习做准备。
7.总结
本文提出了一种可验证的、保护隐私的联邦学习方案。如果聚合服务器伪造了聚合的梯度,我们的方案可以检测到这种恶意行为。并且聚合服务器无法从共享的数据中推断出私有的梯度。此外,我们还提出了一种特殊的梯度处理方法来降低通信和计算成本。实验证明,该方案具有较高的精度和效率。