6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》

题目:《A Privacy-Preserving and Verififiable Federated Learning Scheme

                                        一个隐私保护和可验证的联邦学习方案


0.Abstract

        由于数据环境的复杂性,许多组织更倾向于通过共享训练集来一起训练深度学习模型。然而,这个过程总是伴随着对分布式存储和隐私的限制。联邦学习通过只与服务器共享梯度而不透露训练集来解决这一挑战。不幸的是,现有的研究表明,服务器可以从共享的梯度中提取训练集的信息。此外,服务器可能会伪造计算结果,从而影响训练模型的准确性。为了解决上述问题,我们提出了一种保护隐私和可验证的联邦学习方案。我们的方案通过结合中国剩余定理Paillier同态加密处理共享梯度,可以实现低计算和通信成本,实现隐私保护联邦学习。此外,我们还在联邦学习中将双线性聚合签名技术引入其中,有效地验证了聚合梯度的正确性。此外,实验表明,即使增加了验证函数,我们的方案仍然具有较高的精度和效率。


1.Introduction

        然而,由于隐私问题,小企业和机构收集大量数据并不容易。特别是,用户数据共享中的隐私披露引起了媒体和管理部门的关注。作为回应,许多国家通过了新的法律来加强对数据隐私的保护。例如,欧盟在2018年5月25日执行了通用数据保护条例(GDPR)。虽然该法律禁止服务提供商彼此共享用户的数据,但它会导致数据岛问题。因此,公司或机构只对他们的数据集进行深度学习,从而导致模型过拟合。为了解决上述问题,谷歌于2016年提出了联邦学习。其想法是基于分布在多个参与者之间的数据集来构建机器学习。参与者在本地训练模型,并共享梯度,而不是训练集。因为联邦学习可以在保护隐私的同时训练高度精确的模型,它自成立以来就受到行业和研究人员的欢迎。

        然而,[6,7,18,19]的研究表明,直接共享梯度仍然会造成隐私问题。此外,联邦学习涉及分布式参与者交互,导致较高的沟通成本。保护隐私和降低通信成本已成为联邦学习的重要研究方向。

A. Motivation

        为了确保联邦学习的安全性和效率,我们必须考虑以下三种情况:

  1. 受非法利益[8]的驱动,恶意聚合服务器可能会向参与者返回不正确的聚合结果。例如,聚合服务器证伪聚合结果以影响模型的准确性。在这种情况下,参与者训练了一个糟糕的模型。对于医疗机构来说,低精度的模型可能会导致医疗事故。.
  2. 分布式结构和复杂的深度学习模型为联邦学习引入了较高的通信成本。这可能会使公司或机构对联邦学习缺乏热情。
  3. 聚合服务器试图从上传的梯度中推断出原始的训练数据。越来越多的研究证明了它是可行的。工作[6]训练mGANAI模型,以获得参与者的原始训练图片。通过对Phong算法的分析,Phong等人。[7]表明,数值计算可以近似于训练集。隐私泄露的主要原因是参与者以清晰的文本形式将他们的梯度上传到聚合服务器。因此,如何在不向聚合服务器揭示梯度的情况下实现聚合是保护隐私和安全聚合的关键。
B. Related Work
        保护隐私的深度学习引起了许多密码学家的兴趣。他们在深度学习中将同态加密用于数据保护,包括预测单个数据和共享梯度。特别是Li等人,[11]提出了一种将多密钥完全同态加密[17]与双解密机制相结合的多密钥隐私保护深度学习方案。该方案通过将两种加密方法相互转换,实现了对参与者私有数据的保护。然而,由于完全同态加密的计算成本高,该方案的效用显著降低。除密码学外,安全多方计算在深度学习中也被用于隐私保护。Mohassel等人,[12]使用ABY协议[13]设计了一种随机梯度下降(SGD)算法,该算法由两个服务器通过安全的两方计算实现。
        在提出联邦学习后,一些后续研究集中在其安全问题上。Zheng等人,[10]密切关注恶意参与者,并提出了一种抵御恶意参与者的协作学习方案。他们使用ADMM算法来训练线性模型,但不支持训练更复杂的神经网络模型。Ma等人,[15]首先提出了一种针对恶意对手的可验证方案。不幸的是,参与者在解密时需要解决离散对数问题,因此该方案不实用。此外,上述两种方案由于涉及到多方计算协议,因此通信成本较高
        从上面的描述来看,大多数方案都忽略了结果的正确性的真实性。此外,基于安全多方计算的方案产生较高的通信成本。
C. Our Contributions
        本文提出了一种保护隐私和可验证的联邦学习方案。主要贡献如下:
  • 提出了一种能够保护隐私,有效降低计算和通信成本的梯度处理方法。此外,我们还证实了该方法不会影响模型的准确性。
  • 我们设计了一种验证机制,它可以检测聚合服务器是否伪造了聚合的结果。并证明了该机制的有效性
  • 通过实验证明了该方案的有效性训练模型的准确性

2.Preliminaries

A. Paillierr Encryption
        Paillier 加密[20]是一种加法同态加密,已广泛应用于数据处理。其性质:
6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第1张图片
B. Chinese Remainder Theorem
6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第2张图片

其中{M}_{i} = \frac{M}{​{m}_{i}} ,{M}_{i}^{-1} 是{M}_{i}的逆元。

6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第3张图片

C. Bilinear Aggregate Signature
        双线性聚合签名可以验证由不同参与者生成的不同消息上的许多签名。假设g1和g2分别是乘法循环群G1和G2的生成元。双线性映射e:G1×G2→G3。对于消息c,哈希函数h:c→G2。一般来说,它是由五种算法的元组:
  1. KeyGen: 参与者随机选择私钥x,并计算公钥 {g}^{x}_{1}
  2. Sign:输入x和一个消息c。输出c的签名σ:h(c)\rightarrow {h'}{(h')}^{x}\rightarrow \sigma \in {G}_{2}
  3. Verify:输入 {g}^{x}_{1} 、c 和 σ。然后计算h(c)\rightarrow {h'}。如果 e({g}_{1},\sigma) \overset{?}{=}({g}^{x}_{1},h')成立,则接受该结果。
  4. AggregateSign :假设系统中有n个参与者P1、P2、···、Pn。Pi有一个信息 {c}_{i}和它的签名 {\sigma}_{i}。输出聚合签名: \sigma = \prod ^{n}_{i=1}{\sigma}_{i}
  5. AggregateVerify:输入{h'}_{i} = h({c}_{i})(i=1,2,..,n)和 聚合签名  σ。假设{P}_{i}的密钥是{x}_{i}。如果e({g}_1,\sigma)=\prod_{i=1}^{n}e({g}^{​{x}_{i}}_{1},h')成立的话,就接受聚合签名。

3.Problem Statement

        在本节中,我们首先介绍我们的方案的体系结构,然后介绍我们工作中的设计目标。

A. Scheme Model
        在我们的方案中有三个实体:公钥生成器(PKG)、参与者和聚合服务器。
  • PKG处理的主要工作是生成参数、密钥和函数,然后将这些参数分配给参与者。
  • 参与者需要训练和更新模型,并执行加密、签名、解密和验证操作。
  • 聚合服务器需要聚合数据并执行其他计算。

图1显示了我们的方案的体系结构。

6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第4张图片

 假设在这个方案中有n个参与者(P1、P2、...、Pn),他们也忠实地遵守了这个计划。但是,由于聚合过程是无监督的和不透明的,聚合服务器可能会尝试从上传的数据中提取信息或伪造聚合的结果,以影响训练模型的准确性。

 B. Design Goals

        我们的方案需要实现以下安全性和性能保证:

  • 正确性。当聚合服务器和参与者严格遵循我们的系统时,最终的聚合结果应该是正确的。
  • 可验证性。聚合服务器可能会伪造聚合的梯度来影响模型更新,我们的方案可以检测到这种恶意行为。
  • 数据隐私。数据隐私是指每个参与者的原始梯度和聚合梯度的隐私。聚合服务器无法从其接收到的数据中获取这些数据隐私。

4.The Proposed Scheme

6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第5张图片

        一般来说,我们的方案可以分为五个阶段。图2显示了处于这些阶段的参与者和聚合服务器的工作流。以下是对这些阶段的基本介绍:

  1. 初始化阶段:PKG生成并向每个参与者分发密钥。
  2. 模型训练阶段:Pi(i=1、2、···、n)本地训练模型,得到梯度Wi(i=1、2、···、n)。
  3. 数据处理阶段:对Wi进行处理、加密和签名。Pi上传密文\widetilde{[[{w}_{i}]]}_{pk}和签名σi到聚合服务器。
  4. 聚合阶段:聚合服务器聚合密文和签名以获得\widetilde{[[{w}]]}_{pk}和σ。
  5. 重新验证阶段:每个参与者下载汇总的结果以进行解密和验证。最后更新模型参数M
A. Initialization Phase

         在这一阶段,所有参与者都同意训练过的神经网络模型架构。PKG生成参数、密钥和函数,然后将它们分配给参与者。这些参数包括初始模型参数M、学习率η、k个正整数和乘法循环群G1的生成元g1。

  • k个正整数m1、m2、···、mk为两两互素gcd(mi、mj)=1 (i ≠ j)。而且它们足够大,因此聚合的结果不会产生溢出错误。令M = \prod_{i=1}^{k}{m}_{i}
  • 这些密钥包括Paillier加密的密钥(pk、sk)和双线性聚合签名x。注意,所有参与者都收到相同的密钥,然后计算{g}_{1}^{x}
  • 这些函数还包括一个同态哈希函数h和一个双线性映射e:G1×G2→G3。对于两个消息c1和c2,函数h满足:h(c1)∈G2 和 h(c1+c2)=h(c1)·h(c2)。
  • 需要强调的是,x、{g}_{1}^{x}、sk和h对聚合服务器是保密的。 
B. Model Training Phase
        在这个阶段,每个参与者使用SGD算法在局部训练模型。Pi梯度是{W}_{i}=[{W}_{i}^{(1)},{W}_{i}^{(2)},...,{W}_{i}^{(l)}](i=1,2,...,n),其中{W}_{i}^{(j)}(j=1,2,...,l)是表示梯度Wi的第j层参数的向量,l为层数。定义的长度是\left |{W}_{i}^{(j)} \right |,其梯度大小为\left | {W}_{i} \right |。显然,|Wi|等于|M|。我们设置了|M|=D和\left |{W}_{i}^{(j)} \right |={D}_{j}。在我们的方案中,最终的聚合结果是W=\sum_{i=1}^{n}{W}_{i}
C. Data Processing Phase
        在这个阶段,每个参与者处理和加密私有梯度。以Pi为例。首先,Pi使用中国剩余定理处理私有梯度Wi,然后利用双线性聚合签名对处理后的数据进行签名,同时通过Paillier加密对其进行加密。接下来我们将详细介绍这一阶段。

         首先,参与者Pi一层一层地处理私有梯度Wi。Pi将{W}_{i}^{(j)}划分为r=\left \lceil \frac{​{D}_{j}}{k} \right \rceil片段,等于
{W}_{i}^{(j)}=w1||···||wr,其中\left \lceil z \right \rceil是大于或等于z的最小整数,·||·表示向量连接。如果\left |{W}_{i}^{(j)} \right |的长度不能被k整除,\left |{W}_{i}^{(j)} \right |应填充0。假设向量wi=[{a}_{1}^{(i)},{a}_{2}^{(i)},...,{a}_{k}^{(i)}]、(i=1、2、···、r),那么Pi求解线性同余系统:

 

6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第6张图片

其中y=\widetilde{w}{F}_{M}是方程(4)的唯一解。通过以这种方式处理Wi,我们将得到处理后的数据\widetilde{​{W}_{i}}。图3显示了使用中文参数{W}_{i}^{(j)}定理的处理。 

6.Paper小结——《A Privacy-Preserving and Verifiable FederatedLearning Scheme》_第7张图片

         我们可以得出结论,\left | {\widetilde{​{W}_{i}}}\right |\approx \frac{D}{k}。然后Pi加密\widetilde{​{W}_{i}}以得到密文[[\widetilde{​{W}_{i}}]]_{pk}。与直接加密梯度Wi相比,由于\left |\widetilde{​{W}_{i}} \right |约为\frac{1}{k}的|Wi|,因此加密操作相应减少。同时,Pi计算签名σi={(h(\widetilde{​{W}_{i}}))}^{x}。最后,Pi将密文[[\widetilde{​{W}_{i}}]]_{pk}和签名σi上传到聚合服务器。由于中文剩余定理的处理,密文的大小减少,通信成本相应降低,比未处理的情况低约\frac{k-1}{k}

D. Aggregation Phase
        聚合服务器接收来自所有参与者的密文和签名,然后聚合它们。在此阶段,聚合服务器需要计算:

 

其中方程(5)的前者实现梯度聚合,后者实现签名聚合。在此阶段,聚合服务器可能会伪造聚合的结果。数据聚合后,每个参与者从聚合服务器下载上述两个结果。

E. ResDecVerify Phase
        在这个阶段,首先,每个参与者解密密文 [[\widetilde{​{W}_{i}}]]_{pk} ,得到明文\widetilde{W},然后验证聚合的结果\widetilde{W}是否可靠。如果以下方程成立,则接受\widetilde{W}:

 否则,拒绝。

        由于在加密前使用中文剩余定理处理梯度,参与者在验证 \widetilde{W}可靠后需要进行以下计算:

         

        最后,参与者结合方程(7)计算的结果,得到最终的聚集梯度W。在该阶段结束时,他们会更新模型参数M=M-\frac{\eta }{n}。如果终止条件不满足,参与者将继续在本地训练模型,为下一轮的联邦学习做准备。


7.总结

        本文提出了一种可验证的、保护隐私的联邦学习方案。如果聚合服务器伪造了聚合的梯度,我们的方案可以检测到这种恶意行为。并且聚合服务器无法从共享的数据中推断出私有的梯度。此外,我们还提出了一种特殊的梯度处理方法来降低通信和计算成本。实验证明,该方案具有较高的精度和效率。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Cryptography,算法,密码学,机器学习)