当前位置: 首页 > 科技观察

当联邦学习保护数据隐私时,如何保证自身安全?

时间:2023-03-15 14:35:36 科技观察

联邦学习(FederatedLearning)是一种涉及多方的联合计算技术。多方在不泄露隐私数据的情况下完成模型训练和推理。在实际应用中,联邦学习不仅可以发生在同一企业的不同部门,也可以发生在不同企业之间。通常,在联邦学习框架中,每个参与者的明文数据都不会离开本地以降低隐私泄露的风险,多方之间只交换必要的中间结果来完成训练。在目前的学术研究和应用中,根据不同的应用场景,联邦学习可以分为水平联邦学习和垂直联邦学习[1]。本文将重点对上述两种联邦学习进行安全性分析,深入探讨横向联邦学习和垂直联邦学习中多方交换的中间结果是否会导致隐私数据泄露。vanilla水平联邦学习的安全性Vanilla水平联邦学习是联邦学习的初始形式。由谷歌于2016年提出[2]。在一定程度上减少了用户隐私数据的泄露。图1:谷歌的普通横向联合学习。上图1展示了Vanilla水平联邦学习的流程,包括以下三个步骤:Map:中央服务器将当前模型分发给参与者,接收模型的参与者对本地数据进行有偏参数估计;聚合:中央服务器收集并聚合参与者的参数估计,得到新的模型参数;Reduce:中央服务器使用聚合的新参数作为当前模型。该方案会重复步骤(1)-(3),直到模型收敛,谷歌在Google-keyboard应用中实践了该方案。安全性分析在vanilla水平联邦中,中央服务器在每轮训练中获取参与者的明文梯度。基于明文梯度信息,中央服务器可以使用梯度攻击的方法来逆向参与者的训练数据。目前常用的梯度攻击方法有两种:(1)全连接网络层攻击[3](2)非全连接、深度模型攻击[4]。1.全连接网络层攻击当神经网络模型的第一层为全连接层时,中心服务器可以使用方法(1)进行攻击,假设网络第一层为:a=wx+b,那么在反向传播中,w的梯度为:其中?l/?a是传回第一层的梯度。对于每个神经元,输出维度为1,即?l/?a是标量,?l/?w是原始数据?l/?a乘以x。以图像数据为例,数据范围为0-255。中央服务器只需要将某个神经元的梯度重新缩放到0-255,就可以直接得到参与者的训练数据。图2:全连接网络层攻击结果(2层网络,每层512个单元)[5]。上图2为该方法对MLP模型的攻击结果,可以看出攻击结果中的数字清晰可辨。2.针对非全连接和深度模型的攻击当模型不是全连接和深度的,如卷积神经网络和循环网络,中心服务器可以使用方法(2)进行攻击。该方法的基本思想是使用梯度信息作为输入,在一组假数据上进行训练。当假数据产生的梯度与真实梯度相似时,假数据会非常接近真实数据。下面的图3显示了这种攻击方案的基本原理。图3:针对卷积神经网络的梯度攻击方法。下图4和图5展示了图像任务和NLP任务的攻击结果。可以看出,中心服务器可以利用这种梯度攻击的方式,更好的还原图文训练数据。图4:卷积神经网络攻击结果(图像任务)。图5:语言模型的攻击结果(NLP任务)。安全分析(结论):虽然vanilla水平联邦学习避免了中心服务器直接接触用户数据,但仍然不能保证用户隐私数据的安全。中心服务器收到用户的明文梯度后,可以利用梯度攻击模型恢复用户。私人数据。多重保护机制下水平联邦学习的安全性在vanilla水平联邦学习不安全并成为共识的背景下,大量的联邦学习数据保护方法被提出。下面我们将讨论最常用的两种:(1)基于Aggregation的SecureHorizo??ntal联邦学习(2)基于同态加密的水平联邦学习。基于SecureAggregation的vanilla水平联邦学习的隐私数据泄露发生在中心服务器参数聚合步骤。中央服务器获取每个参与者的个体梯度,然后可以使用梯度攻击来窃取隐私数据。假设系统保障中心服务器无法获取单个参与者的梯度信息,则可以在很大程度上保护参与者的数据,使中心服务器无法直接攻击某个参与者。SecureAggregation就是基于这个想法。每个参与者在上传模型数据之前,都会在自己的模型中加入大量噪声,然后控制噪声的分布,这样多个参与者的模型聚合后,数据上的噪声就会降低。相互抵消,以免影响联邦学习的模型收敛。在这里,我们介绍一种使用一次一密[6]进行安全聚合的方法。给定K个参与者,假设每两个参与者之间存在一个安全的通信通道,参与者首先协商一组扰动噪声,其中参与者u生成一个随机向量r∈(0,R]给所有其他参与者,其中R为一个大整数。随后,参与者u和v交换随机向量r_(u,v)和r_(v,u),然后计算干扰噪声p_(u,v)=r_(u,v)-r_(v,u)(modR).完成扰动噪声生成后,最后每个参与者将噪声应用到模型数据上并发送到中央服务器:,中央服务器进行以下参数聚合:上面的聚合公式也提供了精度验证,即在聚合过程中,不同参与者对模型的扰动噪声会相互抵消,保证最终的聚合模型不受影响。安全性分析(结论):使用SecureAggregation方法后,中央服务器ver无法获取单个参与者的梯度信息,大大提高了系统的安全性,中心服务器也无法单独使用梯度攻击来攻击参与者的隐私数据。除了基于同态加密的水平联邦学习的SecureAggregation方法外,我们还可以使用同态加密技术来保护参与者的梯度信息。同态加密是密码学界研究中的“明珠”,其特殊性质是无需解密即可直接对密文进行计算。根据同态加密算法对密文支持的算子不同,可分为:加法同态、乘法同态和全同态算法。支持加法的同态加密算法一般用在横向联邦学习中,即参与者在上传模型数据之前,首先对其进行加密,然后中心服务器收到密文后,对文本进行加法聚合,然后返回密文结果给参与者。假设使用的同态加密是部分同态的,参与者需要先解密,然后完成模型更新;如果使用的同态加密是全同态加密,参与者不需要解密,可以更新密文的模型。下面的图6显示了一个基于加法同态加密的标准水平联邦学习框架。该框架的运行过程可以概括为以下三个步骤:Map:中央服务器将当前的加密模型分发给参与者,接收模型的参与先对模型进行加密,然后进行参数的有偏估计在本地数据上执行;聚合:中心服务器收集参与者的加密参数估计,进行聚合,得到加密状态下的新模型参数;Reduce:中央服务器使用聚合的新加密参数是当前模型。图6:基于加法同态加密的横向联邦学习[3]。基于全同态的水平联邦框架:除了使用加性同态算法外,还可以使用全同态来保护水平联邦中的参数信息。采用全同态加密后,不仅中央服务器上的参数聚合在密文下,参与者本地的模型更新也都在密文下。多方需要预先指定训练次数,达到指定次数后停止训练。安全性分析(密钥管理):在分析基于同态加密的联邦学习系统的安全性之前,我们还需要注意一件事,即同态加密算法如何管理使用中的密钥。大多数同态加密算法只有一个私钥,即在使用时,所有参与者都持有同一组公私钥,然后将公钥共享给中央服务器。但这种模式不太安全。一旦参与者与中央服务器密谋,系统的安全性就会下降到香草联邦学习。目前针对上述问题有更好的解决方案,即使用门限同态加密算法[10,11]。这类同态加密算法支持多个私钥的存在,当超过一定数量的私钥参与时,密文就被成功解密,近来关于门限同态加密的研究很火[7,8,9]受到广泛关注。安全分析(总结):采用同态加密后,中心服务器无法获取任何有效的明文信息,因此无法进行梯度攻击。并且借助门限同态加密,多个参与者可以各自持有一个私钥,可以大大提高系统的安全性。可以说参与者的数据是非常安全的。垂直联邦安全分析除了水平联邦学习,另一种在实践中广泛使用的方法是垂直联邦学习。从分布式计算的角度来看,水平联邦是一种数据并行的思想,而垂直联邦是一种模型并行的思想。不同的是水平联邦(数据并行)对模型没有要求,无论是线性模型还是神经网络,使用水平联邦的框架都可以轻松实现;在垂直联邦(模型并行)中,每个解决方案都与模型紧密绑定,一般需要拆解单机版模型,指定每个参与者本地需要计算的内容和需要交换的信息多方之间。因此,需要针对每个算法进行垂直联邦的安全性分析,不同的算法实现方式可能具有不同的安全性。在本文中,我们将以FATE联邦学习框架中的纵向线性回归为例,分析其数据安全性。下图7为FATE中使用的纵向线性回归算法模型,?.?表示同态加密后的密文。我们可以发现联邦建模中A和B之间交换的信息是同态加密的。在每一轮训练中,A和B只能获得自己模型的梯度,不能反推对方的隐私数据。图7:与第三方[1]纵向线性回归模型的算法流程。安全性分析(总结):垂直联邦学习算法与模型密切相关,不同的联邦算法设计可能具有不同的安全性,因此我们在设计垂直联邦学习算法时需要考虑安全性。本文以FATE中使用的线性回归模型为例进行分析。FATE采用同态加密作为基本的隐私保护技术。多方之间传输的信息经过同态加密,可以保证参与者的隐私数据。泄漏。结语最近,我们在网上看到很多关于联邦学习安全性的讨论。大多数质疑都集中在联邦学习可能受到梯度攻击,从而降低其安全性这一事实。但是,梯度攻击只能用于普通联邦学习,而普通联邦学习不会用于生产系统。在生产系统中,正如本文所分析和介绍的,联邦学习往往会使用同态加密或差分隐私等技术进一步保护传递的参数,从而使联邦学习无法被攻击,从而保证安全。我们希望通过正文向读者展示联邦学习更准确的概述,让读者更准确地了解联邦学习的安全现状。