文章动机
联邦学习在训练的时候交换参数,同时最后的结果模型可能会带来训练数据的泄露问题。之前的基于差分隐私和安全多方计算的方法会带来巨大的通信开销以及较慢的训练时间。因此本文提出基于函数加密的安全多方计算协议来进行隐私保护联邦学习,可以大大减少训练时间和数据传输量。
文章贡献
- 提出 一个搞笑的隐私保护联邦学习(PPFL)方法——HybridAlpha,这个方法使用了差分隐私(DP)和安全多方计算(MPC),MPC是用多输入函数加密实现的,能够防止好奇聚合者和勾结参与方推断隐私信息。
- 理论和实验上分析了HybridAlpha的效果,结果显示,能够为未来中选择SMC的密码学方式提供引导。
- 描述了HybridAlpha的实现,同时运用在CNN网络上,实验结果显示在训练时间和通信开销上有较大的提升。
- 同时,解决了动态参与者在联邦学习中加入/离开的问题。
背景知识和前置知识
FL中的隐私问题
- 计算隐私:例如在词语分类中,非零梯度值对应了哪些词语被使用了;SMC协议被用来解决在训练中出现的推断攻击。
- 输出的隐私:输出的模型也可能泄露隐私信息,因此,差分隐私被用来保护防止从最终模型推断数据集中的单独信息。
函数加密
函数加密(FE:functional encryption)是一种公钥加密,允许参与方加密数据,同时一个外部实体能够在密文上计算某个特定的函数,最终得到的是明问下函数计算的结果,但不能获知其他的任何信息。
其中
f
(
⋅
)
f(·)
f(⋅)是要计算的某个函数,
s
k
f
sk_f
skf是一个对应函数
f
(
⋅
)
f(·)
f(⋅)的密钥,解密者用skf和加密的密文组进行解密,就能得到明文在
f
(
⋅
)
f(·)
f(⋅)的计算结果。
使用《 Multi-input functional encryption for inner products: function-hiding realizations and constructions without pairings》这里的方案,就不需要进行大量的配对操作,因此能够减少总体的运行时间。
在这个多输入函数加密方案中有五个算法,如下所示:
HybridAlpha框架
威胁模型
- 半诚实聚合者:正确执行算法和协议,可能会想要根据模型的的更新而推断的隐私信息。
- 好奇并且勾结的参与方:参与方可能会勾结在一起观察交换的信息或者最终模型,以获取其他参与者的信息。
- 可信的TPA
假设信道安全,中间人攻坚和snooping 攻击都不存在。
非攻击状态下的设置
- TPA初始化阶段:生成主公钥和主密钥,并为每个参与者分发 p k i pk_i pki(用于对自己训练后的梯度进行加密)。
- 聚合阶段:对参与者集合中的每个参与者分发训练的模型;训练者训练好本地模型之后,聚合者对聚合之后的模型进行收集:当满足依旧在等待的时间允许范围之内,且收集的模型信息数量少于最小的阈值,就继续收集;收集结束之后,当收集的梯度数量大于阈值,聚合者就给TPA发一个对应密文的权重向量,以获得用于解密的函数私钥 s k f , w p sk_{f,w_p} skf,wp;使用获得的 s k f , w p sk_{f,w_p} skf,wp对密文组进行解密,最后获得更新的模型参数。
- 参与者训练极端:参与者利用自己的数据和所得的模型进行训练;将训练好的结果加上噪声之后对结果进行加密,并把加密结果分发给聚合者。
在这个阶段中,假设所有的参与者都不掉线,都参与了训练并且能够及时将梯度信息发给聚合者。
推理预防模块
假设聚合者想要推断参与者的模型,可以通过设置权重向量来推断如:
目标的参与者的位置为1,而其他位置为0,最后聚合能够获得带有1/n差分噪声的模型参数。
此外,聚合者还可能跟参与者进行勾结,通过设置
w
p
w_p
wp而推断目标模型的梯度信息。
因此引入了推理预防模块,这里假设不超过一半的参与者会勾结在一起,所以有
w
p
w_p
wp中至少有t个非零元素。