查看原文
其他

论文分享|通过区块链系统保护隐私的拜占庭式鲁棒联邦学习

论文名称:Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems

论文来源: IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY(CCF A)

论文作者Yinbin Miao , Member, IEEE, Ziteng Liu , Hongwei Li , Senior Member, IEEE, Kim-Kwang Raymond Choo , Senior Member, IEEE, and Robert H. Deng , Fellow, IEEE

1

本文背景和研究动机

作为分布式机器学习的新兴范例,联邦学习(FL)通过客户端关联来解决学习任务,而无需暴露其原始数据。与传统的机器学习方法相比,联邦学习实现了在海量数据上训练更大的模型,但仍然容易受到安全和隐私泄露的影响。

为了缓解安全问题,隐私保护FL在学术界和工业界得到了广泛的研究。最常见的隐私保护联邦学习方案之一是使用同态加密方案来加密局部梯度。但是现有的隐私保护FL解决方案还有两个重要问题需要解决。

首先第一个问题是隐私保护的 FL 方案仍然容易遭受中毒攻击,包括有针对性的攻击和无针对性的攻击,现有的解决中毒攻击的聚合方法并不总是鲁棒的,因此,如何提供健壮的聚合规则是首先要解决的问题。

第二个问题是隐私保护的FL方案仍遭受服务器的恶意聚合和单点故障威胁。区块链成为一种越来越有前途的解决服务器恶意行为和单点故障问题的一种方案。然而现有的基于区块链的 FL 解决方案仍然会在区块链上产生较高的计算开销,这是另一个要解决的挑战。

本文的主要贡献如下:

1. 文章通过使用完全同态加密(FHE)方案CKKS 提供隐私保护训练机制,这不仅大大减少了计算和通信开销,而且还防止攻击者窥探客户端的本地数据。

2. 通过余弦相似度去除恶意梯度,提供可信的全局模型,从而抵御中毒攻击。

3. 文章使用区块链来促进透明的流程和法规的执行。服务器进行链下计算并将结果上传到区块链,实现了效率和可信度的兼顾。

4. 使用两个常用的数据集进行了实验,并将我们的方案与以前最先进的方案进行比较。结果表明,我们的方案在鲁棒性和效率方面表现良好。


2

问题描述

在这个部分,我们分别介绍系统模型、威胁模型和设计目标。

系统模型

图1:System Model

如图1所示,我们的系统模型由五个实体组成:密钥生成中心、客户端、求解器、验证器和区块链系统。各实体的作用如下所示

 密钥生成中心(KGC):为客户和验证者生成和分发公钥/私钥对的可信赖的机构。 

• 客户端:作为数据所有者,客户拥有KGC 提供的公钥/私钥对,并旨在训练生成局部模型。 

• 求解器:具有小型、干净的数据集的中央服务器,负责聚合客户端提交的所有梯度。 

• 验证器:非共谋的中央服务器,与求解器合作执行计算。验证者有一对由 KGC 生成的公钥/私钥。

 区块链系统:为了避免自私行为,中央服务器需要在智能合约上存入押金以获得潜在的惩罚。此外,结果需要上传到区块链以实现透明的计算过程。


本文系统的执行步骤如下:首先,每个客户端使用私钥标准化和加密它的本地梯度,然后将它们发送到求解器;求解器和验证器通过多轮通信来建立用户列表,并且通信过程需要记录在区块链上;然后,求解器聚合用户列表中客户端的梯度,并获得使用私钥 加密的全局模型,并将其保存到区块链中;最后,每个客户端从区块链中获取全局模型。

威胁模型

我们考虑采用总共n个客户端中包含k个恶意客户端的联邦学习场景,首先,我们将k个恶意客户端定义如下:

 • 恶意客户端可以保留自己的有毒数据,但无法访问其他诚实客户端的本地数据。

 • 恶意客户端可以获得加密的全局模型并对其进行解密以获取信息。然而,无法观察到单个诚实客户端上传的本地模型更新。 

• 恶意客户端可以串通并共享共同目标,以扩大其恶意攻击的影响。 

• 恶意客户端可以发起有针对性的攻击或无针对性的攻击。


因此,系统可能面临的危险如下:

1)投毒攻击:恶意客户端的目标是在不被发现的情况下影响全局模型的性能。恶意客户端可以通过多种方式发起投毒攻击。如更改数据的标签并上传在有毒数据上训练的梯度。

 2)数据泄露:由于梯度是客户端本地数据的映射,如果客户端直接上传明文梯度,攻击者可以在一定程度上推断或获取诚实客户端的原始信息,从而导致数据泄露客户。 

3)推理攻击:在本文方案中,求解器和验证器交换一些中间结果以协作完成本地更新的聚合。因此,他们可能会尝试从中间结果中推断出敏感信息。


设计目标

本文的目标是设计一种基于区块链的、保护隐私的FL方案,能够抵抗投毒攻击、减少计算开销并提供隐私保证。具体来说,文章致力于实现以下目标:

 • 鲁棒性:我们的方案应该能够抵御恶意攻击,这意味着全局模型的准确性不应受到恶意客户端的影响。 

• 隐私:我们的目标是保护客户的数据免遭泄露。第三方和恶意方都无法获取或推断客户的原始信息。

• 效率:我们的方案应该减少传统隐私保护 FL 方案中加密带来的计算开销。

• 准确性:我们的方案不应在保护隐私和抵御恶意攻击的同时牺牲准确性。全局模型的准确性应尽可能接近 FedSGD 训练的模型。

• 可靠性:所有的行为都应该被记录下来,防止恶意参与者否认。


3

方案设计

图2:Paillier与CKKS加密解密效率

传统的隐私保护FL方案通常使用Paillier作为隐私保护的手段。然而我们进行了实验,比较了CKKS和Paillier加密和解密向量所需的时间,如图2所示,结果表明CKKS效率更高,更适合处理大规模向量和参数多的网络模型。因此,我们使用CKKS并行加密局部梯度以提高计算效率。

图3:Technical overview

图3显示了我们方案的概述。首先,我们依靠全同态加密技术CKKS来加密局部梯度以保护隐私。每个客户端对其本地更新进行加密和标准化,并将其发送到 Solver。然后我们将上传归一化梯度的客户端放入集合C中,并使用基于余弦相似度的策略来识别诚实和恶意梯度向量。具体来说,我们在 Solver 中存储一个小的、干净的根数据集 D0,并基于它维护一个模型 w0。如果客户端C上传的梯度g0i和gji之间的余弦相似度小于零,则意味着客户端Cj是恶意的,会对聚合做出负面贡献。


梯度可以被视为具有大小和方向的向量。毫无疑问,梯度的大小也会影响全局模型。例如,恶意客户端倾向于上传更大幅度的本地梯度,以放大它的影响。因此,我们在将梯度发送到 Solver 之前对其进行归一化。然而,恶意客户端可能会上传未经标准化的梯度。为了解决这个问题,我们引入了Verifier,一个带有Solver的非共谋中央服务器。通过 Solver 和 Verifier 之间的通信,Solver 获得诚实规范化的客户端集合和使用私钥 pkx 加密的本地更新。最后,Solver 聚合本地更新以获得全局模型。并且通信过程和全局模型需要保存到区块链上。


PBFL的实现

PBFL由本地计算、归一化判断、模型聚合三个过程组成。下面,我们描述该过程的细节。

1. 本地计算:本地计算由四个部分组成:本地训练、归一化、加密和模型更新。

(a)本地训练:在训练的第 i 次迭代中,参与 FL 的每个客户端 Cj 使用局部数据集 Dj和局部模型 wji 来获得局部梯度。

(b)归一化:为了使我们的聚合规则在密文中起作用,我们在加密之前对局部梯度进行归一化。具体来说,我们将梯度视为方向向量,每个客户端在加密之前都需要对局部梯度进行归一化。

(c)加密:客户端Cj 使用公钥pkv对本地梯度进行加密,然后上传到Solver。我们使用CKKS方案来加密局部梯度。

(d)模型更新:客户端C从区块链下载最新的全局模型。然后,客户端Cj 用他/她的私钥skx 对其进行解密,得到明文全局模型wi−1。之后,局部模型按照梯度等式被更新。

2. 归一化判断:Solver在收到客户端的梯度后需要确定梯度是否真正标准化。考虑到本文方案的隐私要求,我们通过协同调用算法3中的NormJudge来实现梯度的安全判断。

在接收到加密的本地更新后,Solver 计算加密梯度内积并将其发送到 Verifier ,然后通过 Verifier来判断加密梯度是否已经归一化。并生成可信用户列表C。


3.模型聚合:Solver 在收到 Verifier 发送的用户列表 C 后,安全地聚合集合 C 中的客户端上传的梯度。具体来说,Solver 和 Verifier 首先安全地执行一个协议,使 Solver 能够获得中间结果然后用pkx加密本地模型更新。然后Solver根据预定义的聚合规则获取加密的全局模型并上传到区块链。安全聚合需要根据存储在Solver中的干净数据集,计算梯度间的余弦值,从而排除恶意更新的影响,并且评估各个客户端的分数。然后求解器聚合由各自的分数加权的梯度,而不泄露隐私。具体过程如算法所示。

在本文的方案中,Solver 和 Verifier无法获得除sum值之外的任何信息。此外,Solver 和 Verifier 都需要在联邦任务开始前向智能合约提交押金,并在任务结束时获得客户押金奖励。因为本文认为经济激励机制促使服务器进行正确的计算,而不是提交无意义或恶意的结果。


4

实验与分析

本文针对有针对性和无针对性的攻击评估了我们的方案,并展示了我们的实验结果。

首先评估本文的方案对抗中毒攻击的有效性。结果表明,提出的方案实现了我们在第四节中讨论的设计目标,包括:鲁棒性、隐私性、效率、准确性和可靠性。

表1:MNIST上不同恶意攻击次数情况下测试错误率


图4:Fashion-MNIST 上测试准确性

在不同数量的恶意客户端存在的情况下,本文的方案对于不同类型的投毒攻击仍然保持相同的准确率作为基准,达到了鲁棒性和准确性的目标。并且本文所有的操作,包括给客户端计算不同的分数以及模型聚合,都是在密文中计算的。因此,本文方案满足了客户对数据隐私的要求。

本文分别评估了提出方案在链上和链下阶段的性能。在链下阶段,加密操作是影响我们方案效率的最重要因素。本文使用基于 Paillier 的联邦学习方案作为基线。如图5所示,我们可以看到,PBFL在加密和解密方面都有优势,大大提高了计算效率,降低了计算成本。

图5:加解密的花费时间

在链上阶段本文使用gas成本来衡量我们方案的性能,因此,本文使用不同的网络结构,以不同数量的客户端来实验和测试每次迭代的 Gas 成本。

图6:不同数量的客户端和不同网络的每次迭代的总 Gas 成本

图6表明本文的方案实现了低gas消耗。因为系统把繁重的计算负担留给了服务器,并且只将结果上传到区块链,这大大减少了gas消耗。


5

总结

在本文中提出了一种称为 PBFL 的新聚合规则,以抵抗联邦学习中的中毒攻击,并进行充分的实验来评估本文方案。本文方案的不同之处在于,它不仅具有可信根数据集,而且依靠区块链来促进透明的流程,并且还描述了密文环境中该方案的计算细节。实验结果表明,本文方案对于中毒攻击具有鲁棒性,即使是小的根数据集也可以达到与无攻击 FedSGD 方案类似的结果。

本文来源:SEUUNiS


分享仅供学习参考,若有不当,请联系我们处理。


END

1.论文合集 | 联邦学习 x INFOCOM'2023

2.笔记分享|组队学习密码学(5)— 密码数学基础:初等数论

3.论文分享 | 具有可信执行环境的混合信任多方计算

4. 论文分享|基于Vector OLE构造的恶意安全的PSI协议(VOLE-PSI)


继续滑动看下一个
隐私计算研习社
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存