2.4 安全机制的性能效率对比
当前的很多文献都表明,从理论的角度,传输明文信息(如模型参数、参数梯度等)也是不安全的[318],攻击者可以通过窃取这些梯度信息来还原(或者部分还原)原始数据信息,从而导致数据隐私的泄露。这也是隐私保护机器学习提出的初衷。
联邦学习的训练模型以保证数据不出本地为前提,从而最大限度地减少数据的隐私泄露问题。但在联邦学习训练的过程中,客户端和服务端之间需要进行模型的信息(如模型参数、参数梯度等)交互,以便协同训练一个机器学习模型。如果直接传输明文信息,正如上面所分析的,也会存在信息泄露的风险。因此,联邦学习的安全机制设计是联邦学习一个非常重要的环节。
本章介绍了联邦学习常用的三大安全机制,即同态加密、差分隐私和安全多方计算,它们也是密码学领域常用的安全策略,在与联邦学习结合使用的过程中,各自有优点和缺点。本节将从计算性能、通信性能和安全性三个维度进行综合比较(注意由于安全多方计算包括多种不同的实现策略,这里主要以秘密共享来讲解)。
• 计算性能:从计算的角度看,计算主要耗时在求取梯度上。对于同态加密,计算在密文的状态下进行,密文的计算要比明文的计算耗时更长;而差分隐私主要通过添加噪声数据进行计算,其效率与直接明文计算几乎没有区别;同理,秘密共享是在明文状态下进行的,计算性能基本不受影响。
• 通信性能:从通信的角度看,同态加密传输的是密文数据,密文数据比明文数据占用的比特数要更大,因此传输效率要比明文慢;差分隐私传输的是带噪声数据的明文数据,其传输效率与直接明文传输几乎没有区别;秘密共享为了保护数据隐私,通常会将数据进行拆分并向多方传输,完成相同功能的迭代。同态加密和差分隐私需要一次,而秘密共享需要多次数据传输才能完成。
• 安全性:注意,由于安全性的范围很广,这里我们特指在联邦学习场景中本地数据隐私的安全。虽然在联邦学习的训练过程中,我们是通过模型参数的交互来进行训练的,而不是交换原始数据,但当前越来越多的研究都表明,即使只有模型的参数或者梯度,也能反向破解原始的输入数据[319,101,203]。结合当前的三种安全机制来保护联邦学习训练时的模型参数传输:同态加密由于传输的是密文数据,因此其安全性是最可靠的;秘密共享通过将模型参数数据进行拆分,只有当恶意客户端超过一定的数目并且相互串通合谋时,才有信息泄露的风险,总体上安全性较高;差分隐私对模型参数添加噪声数据,但添加的噪声会直接影响模型的性能(当噪声比较小时,模型的性能损失较小,但安全性变差;相反,当噪声比较大时,模型的性能损失较大,但安全性变强)。
我们可以通过表2-2来总结本章介绍的三大安全机制与联邦学习相结合时的表现。读者也可以在实际的应用场景中,根据需求挑选安全机制来辅助实现联邦学习。
表2-2 安全机制的性能效率对比