最新论文笔记(+24):VCD-FL:Verifiable, Collusion-Resistant, and Dynamic Federated Learning / TIFS23

VCD-FL:Verifiable, Collusion-Resistant, and Dynamic Federated Learning
可译为“VCD-FL:可验证,抗共谋和动态联邦学习

可验证联邦学习通常理解为聚合结果的可验证,即客户端能验证服务器返回的聚合结果的正确性。往往的解决方案是用到了同态哈希、承诺或多项式验证,但是有一个通用的问题就是无法阻止客户端和服务器共谋的验证,也就是说有一个客户端与服务器合谋,那服务器就可以伪造验证条件,这篇VCD-FL最大的贡献点就是提出了一种抗共谋可验证的解决方案。下面是边看边记录的一点笔记,也可能有理解错的地方,建议看原文。

一、背景介绍

1.1 经典FL过程

  • (1)服务器选择客户端集合,这些客户端从服务器下载初始模型
  • (2)客户端利用本地数据进行模型训练,并上传模型参数(梯度)
  • (3)服务器聚合客户端的模型参数,并将聚合结果返回给客户端
  • (4)客户端根据聚合结果更新本地模型,反复迭代直至模型收敛

1.2 FL存在问题

  • (1)模型隐私问题:攻击者可根据模型参数推理出原始信息。
    例:最小二乘损失函数为 m i n ⁡ ∑ i = 1 n l ( w , x i , y i ) , w h e r e l ( w , x i , y i ) = 1 2 ( x i T w − y i ) 2 min⁡\sum_{i=1}^n l(w,x_i,y_i),where\quad l(w,x_i,y_i )=\frac{1}{2} (x_i^T w-y_i )^2 mini=1nl(w,xi,yi),wherel(w,xi,yi)=21(xiTwyi)2,则随机梯度为:
    g i = ∂ l ( w , x i , y i ) ∂ w = ( x i T w − y i ) x i g_i=\frac{\partial l(w,x_i,y_i )}{\partial w}=(x_i^T w-y_i ) x_i gi=wl(w,xi,yi)=(xiTwyi)xi梯度就是把数据做了一个放缩(变换),携带了数据的所有信息。
  • (2)聚合结果验证问题:恶意服务器可能会故意返回设计好的聚合结果,从而发起隐私攻击。(目的是节省计算开销、窃取隐私信息)
  • (3)抗合谋验证问题:客户端可能与服务器共谋,从而伪造验证参数。
    例:VerSA(TDSC21)[1]中每个客户端收到 ( z , z ˉ ) (z,\bar z) (z,zˉ),并计算 z ′ = a ∘ z + ∣ U 3 ∣ ⋅ b z^{'}=a\circ z+|U_3 |·b z=az+U3b,判断 z ′ = z ˉ z^{'}=\bar{z} z=zˉ是否相等,其中 a , b a,b a,b是所有客户端都已知。只要一个客户端与服务器合谋,服务器就可以伪造验证条件。
  • (4)客户端掉线问题:客户端主观(提前退出)或客观(网络异常)原因而掉线,导致无法完成模型聚合和结果验证。

1.3 相关工作

  • (1)SA(CCS17)[2]提出了双掩码和秘密共享来保护梯度隐私和容忍用户掉线,但是无法对聚合结果进行验证。
  • (3)VerifyNet(TIFS20)[3]是首个提出可验证联邦学习的方案,使用同态哈希函数和伪随机技术来提供可验证功能,以及秘密共享和密钥协商来保护梯度隐私。但是,验证开销大、且无法抗服务器和客户端共谋验证。
  • (3)VFL(TII22)[4]首次提出使用拉格朗日插值实现可验证性,使用盲化技术实现抗合谋的隐私保护。但是,假设服务器是诚实且好奇的,并未考虑作恶情况,且验证的计算和通信开销较大。
  • (4)VeriFL(TIFS21)[5]通过提出梯度的哈希承诺和平摊(amortized)验证机制优化了SA(CCS17)[2]中的安全聚合协议。但是,无法抗共谋验证和共谋检测。
  • (5)VFChain(TNS20)[6]提出选择基于区块链的有效委员会共同模型聚合和可验证。但是,区块链的效率和可扩展性较差,不切实际。
    在这里插入图片描述

1.4 本文贡献

  • (1)抗合谋验证:提出了一种不可逆梯度变换的轻量级承诺方案保护隐私,设计了一种基于优化拉格朗日插值的高效验证机制,防止聚合结果以压倒性的概率通过验证。
  • (2)识别恶意行为:建立了恶意行为检测规则,检测服务器是否参与共谋攻击以通过验证,或是懒惰服务器返回不正确的聚合结果。
  • (3)支持联邦动态验证:提出了验证机制和Shamir秘密共享方案结合,容忍用户掉线。
  • (4)低计算和通信开销:设计了一种新方法生成拉格朗日插值的插值点,从而降低计算开销。通过梯度压缩进一步降低通信开销。

1.5 Lagrange插值

拉格朗日插值是指通过给定的数据点精确地构造一个多项式的方法。假设 n n n个数据点的集合为 { ( x i , y i ) } i = 1 n \{(x_i,y_i )\}_{i=1}^n {(xi,yi)}i=1n,其中 x i x_i xi都是不同的,可以拟合一个阶数不大于 n − 1 n-1 n1的唯一多项式
L ( x ) = ∑ i = 1 n y i L i ( x ) L(x)=\sum_{i=1}^n y_i L_i (x) L(x)=i=1nyiLi(x)其中基多项式 L i ( x ) L_i (x) Li(x)定义为
L i ( x ) = ∏ j = 1 , j ≠ i n x − x j x i − x j , i ∈ { 1 , 2 , … , n } L_i (x)=∏_{j=1,j≠i}^n \frac{x-x_j}{x_i-x_j},i∈\{1,2,…,n\} Li(x)=j=1,j=inxixjxxj,i{1,2,,n} L i ( x ) L_i (x) Li(x)的性质满足
L i ( x j ) = { 1 , i = j 0 , i ≠ j L_i(x_j)=\begin{cases} 1, & i=j\\ 0, & i\neq j \end{cases} Li(xj)={1,0,i=ji=j因此,拉格朗日多项式 L ( x ) L(x) L(x)满足 L ( x i ) = y i L(x_i )=y_i L(xi)=yi

二、系统模型

2.1 设计目标

  • (1)鲁棒的结果验证:方案应该保证正确性验证的鲁棒性,既能支持抗合谋隐私保护,还能抗合谋验证,以及保证客户端掉线导致的动态FL正确性。
  • (2)恶意行为分类:方案应该发现聚合结果不正确的根本原因,有助于采取有针对性的处罚措施。(恶意or偷懒)
  • (3)高效的模型操作:方案应该使客户端能有效地执行模型操作(本地训练和聚合结果验证),以及减少通信开销。
  • (4)轻量级隐私保护:方案应该保护客户端的隐私免受推理攻击和共谋攻击,同时减少一些计算密集型的操作,以提高实用性。
    在这里插入图片描述

2.2 威胁模型

  • TA:负责系统初始化,以PRG为客户端进行参数分配,完全可信;
  • 客户端:诚实且好奇的,一些腐败的客户端可能与恶意的AS共谋通过验证。
  • AS:负责密文的收集和聚合,每次迭代将聚合结果发给客户端进行验证。被认为是恶意的,会发起推理攻击(窥探隐私)和伪造攻击(破坏可用性)。AS按功能分为两类:
    • 弱攻击模型:AS是懒惰的,它减少迭代次数,或收集部分梯度以节省开销,它会发起推理攻击。
    • 强攻击模型:AS隐藏对聚合结果的修改,会与客户端串通,伪造聚合结果以欺骗其他客户端。

三、VCD-FL具体构造

为了实现现有方案无法实现抗合谋验证和合谋攻击检测,VCD-FL主要步骤包括初始化本地模型训练密文聚合聚合结果验证四个部分。

3.1 初始化(Algorithm 1)

本文通过分组梯度来改进VFL方案。将每个具有 d d d维的梯度 g i g_i gi被划分为 ⌈ d M ⌉ ⌈\frac{d}{M}⌉ Md组,每组包含 M M M个梯度元素( M M M是一个决定Lagrange插值函数程度的整数)。若最后一组梯度元素小于 M M M,用0填充。TA生成如下参数:

  • (1)在任意两个客户端 P i P_i Pi P j P_j Pj之间生成一对种子 s i , j s_{i,j} si,j用于梯度掩码。
  • (2)生成一个额外的随机种子 ρ i ρ_i ρi,并将 ρ i ρ_i ρi的份额分配给每个客户端(Shamir秘密共享),以处理客户端掉线问题。
  • (3)利用 P R G ( ρ i ) PRG(ρ_i) PRG(ρi)生成序列集合 A i A_i Ai,并归一化以提高插值精度
    A i ← P R G ( ρ i ) m a x { ∣ P R G ( ρ i ) ∣ } , i ∈ { 1 , 2 , . . . , N } A_i\leftarrow \frac{PRG(ρ_i)}{max\{|PRG(ρ_i)|\}},i\in \{1,2,...,N\} Aimax{PRG(ρi)}PRG(ρi),i{1,2,...,N}
  • (4)生成一个随机整数序列 Z = { a i ∣ i = 1 , 2 , . . . , ⌈ d M ⌉ ( M + 1 ) } Z=\{a_i|i=1,2,...,⌈\frac{d}{M}⌉(M+1)\} Z={aii=1,2,...,Md(M+1)}作为插值点集(公开)。
  • (5)生成一个大小为 M × M M\times M M×M的奇异方阵 U U U用于承诺生成(公开)。
    在这里插入图片描述

3.2 本地模型训练

客户端 P i ∈ P P_i\in P PiP下载全局模型来初始化局部模型,用mini-batch梯度下降法进行模型训练,计算梯度 g i g_i gi
g i = ∇ w l ( w ; D i ′ ) g_i=\nabla_w l(w;D^{'}_i) gi=wl(w;Di)然后 P i P_i Pi依次执行梯度加密、分组和承诺。

3.2.1 梯度加密
  • (1)首先使用单掩蔽协议盲化梯度( s i , j s_{i,j} si,j由TA直接分配
    g i ′ = g i + ∑ P j ∈ P , i < j P R G ( s i , j ) − ∑ P j ∈ P , i > j P R G ( s i , j ) g^{'}_i=g_i+\sum_{P_j\in P,i<j} PRG(s_{i,j})-\sum_{P_j\in P,i>j} PRG(s_{i,j}) gi=gi+PjP,i<jPRG(si,j)PjP,i>jPRG(si,j)
  • (2)利用Lagrange插值处理盲化的梯度。对盲化梯度 g i ′ g_i^{'} gi进行分组,每个客户端 P i P_i Pi都生成第 k k k组的Lagrange插值集,其中 k ∈ { 1 , 2 , … , ⌈ d / M ⌉ } k∈\{1,2,…,⌈d/M⌉\} k{1,2,,d/M⌉},前 M M M个点为 { ( a ( k − a ) ( M + 1 ) + j , g i ′ ( ( k − 1 ) M + j ) ) ∣ j = 1 , 2 , . . . , M } \{(a_{(k-a)(M+1)+j},g^{'}_i((k-1)M+j))|j=1,2,...,M\} {(a(ka)(M+1)+j,gi((k1)M+j))j=1,2,...,M},第 M + 1 M+1 M+1个点为 ( a k ( M + 1 ) , A i ( k ) ) (a_{k(M+1)},A_i(k)) (ak(M+1),Ai(k))
    在这里插入图片描述
  • (3)函数 f i , [ k ] f_{i,[k]} fi,[k]是第 k k k组的Lagrange插值集上计算为
    f i , [ k ] ( x ) = ∑ j = ( k − 1 ) M + 1 k M [ L j , [ k ] ( x ) g i ′ ( j ) ] + [ A i ( k ) ∏ h = ( k − 1 ) ( M + 1 ) + 1 k ( M + 1 ) − 1 x − a h a k ( M + 1 ) − a h ] f_{i,[k]}(x)=\sum^{kM}_{j=(k-1)M+1}[L_{j,[k]}(x)g^{'}_i(j)]+[A_i(k)\prod^{k(M+1)-1}_{h=(k-1)(M+1)+1}\frac{x-a_h}{a_{k(M+1)}-a_h}] fi,[k](x)=j=(k1)M+1kM[Lj,[k](x)gi(j)]+[Ai(k)h=(k1)(M+1)+1k(M+1)1ak(M+1)ahxah]
    其中
    L j , [ k ] ( x ) = ∏ h = ( k − 1 ) ( M + 1 ) + 1 , h ≠ j + k − 1 k ( M + 1 ) − 1 x − a h a j + k − 1 − a h L_{j,[k]}(x)=\prod^{k(M+1)-1}_{h=(k-1)(M+1)+1,h\neq j+k-1}\frac{x-a_h}{a_{j+k-1}-a_h} Lj,[k](x)=h=(k1)(M+1)+1,h=j+k1k(M+1)1aj+k1ahxah
  • (4) P i P_i Pi将组合系数向量 B i B_i Bi作为梯度密文上传给AS
    B i = ( B i , [ 1 ] , B i , [ 2 ] , . . . , B i , [ ⌈ d / M ⌉ ] ) B_i =(B_{i,[1]},B_{i,[2]},...,B_{i,[⌈d/M⌉]}) Bi=(Bi,[1],Bi,[2],...,Bi,[⌈d/M⌉])
    其中 B i , [ k ] B_{i,[k]} Bi,[k]表示从 f i , [ k ] ( x ) f_{i,[k]}(x) fi,[k](x)中提取的 M + 1 M+1 M+1个系数,根据 x x x的次数从小到大依次为 B i , [ k ] = ( b 0 , < i , [ k ] > , b 1 , < i , [ k ] > , . . . , b M , < i , [ k ] > ) B_{i,[k]}=(b_{0,<i,[k]>},b_{1,<i,[k]>},...,b_{M,<i,[k]>}) Bi,[k]=(b0,<i,[k]>,b1,<i,[k]>,...,bM,<i,[k]>)
    显然,Lagrange插值集的保密性可以增强梯度的保密性。即使泄露,只要至少有两个客户端不与AS共谋。(本文Lagrange基多项式数量约为 ( M + 1 ) ⌈ d / M ⌉ (M+1)⌈d/M⌉ (M+1)d/M个,而VFL方案中为 ( M + 1 ) d (M+1)d (M+1)d个)
3.2.2 承诺生成(Algorithm 2)

为防止在聚合结果验证过程中腐败的客户端进行欺骗,提出了一种使用不可逆梯度变换的轻量级承诺方案。
-(1)先将梯度 g i g_i gi分为 ⌈ d / M ⌉ ⌈d/M⌉ d/M组,每组包含 M M M个梯度元素,可以写成 g i = ( g i , [ 1 ] , g i , [ 2 ] , . . . , g i , [ ⌈ d / M ⌉ ] ) g_i=(g_{i,[1]},g_{i,[2]},...,g_{i,[⌈d/M⌉]}) gi=(gi,[1],gi,[2],...,gi,[⌈d/M⌉]),其中 g i , [ k ] = ( g i ( ( k − 1 ) M + 1 ) , g i ( ( k − 1 ) M + 2 ) , . . . , g i ( k M ) ) T g_{i,[k]}=(g_i((k-1)M+1),g_i((k-1)M+2),...,g_i(kM))^T gi,[k]=(gi((k1)M+1),gi((k1)M+2),...,gi(kM))T
在这里插入图片描述

  • (2)客户端 P i P_i Pi g i , [ k ] g_{i,[k]} gi,[k]进行承诺 C i , [ k ] = U ⋅ g i , [ k ] C_{i,[k]}=U·g_{i,[k]} Ci,[k]=Ugi,[k]其中 U U U大小为 M × M M×M M×M不可逆奇异方阵保证梯度隐私, g i , [ k ] g_{i,[k]} gi,[k]是第 k k k个梯度组的 M M M维列向量。该乘法计算是轻量级的,可以并行处理以提高效率。
  • (3)然后, P i P_i Pi广播 C i = ( C i , [ k ] ) k = 1 ⌈ d / M ⌉ ] C_i=(C_{i,[k]})^{⌈d/M⌉]}_{k=1} Ci=(Ci,[k])k=1d/M⌉],在将 B i B_i Bi上传到AS之前得到了其他客户端的承诺(公开)。
    在这里插入图片描述
3.2.3 插值优化(Algorithm 3)

为了不影响模型精度的情况下降低插值频率,引入深度梯度压缩[7]来优化梯度。

  • (1)通常使用动量因子0.5来计算 G i G_i Gi G i G_i Gi的初始值为0 G i = g i + 0.5 ⋅ G i G_i=g_i+0.5·G_i Gi=gi+0.5Gi
  • (2)从 G i G_i Gi中选择 p p% p个绝对值最大的元素作为优化梯度,将其放入 g i g_i gi的相同位置,并设置 g i g_i gi其余元素为0。
    在这里插入图片描述
  • 为避免丢失信息, G i G_i Gi中未选择的元素在本地积累,直至绝对值足够大。
  • 优化后的梯度 g i g_i gi将大大减少插值计算开销,因为 g i ′ ( j ) = 0 g_i^{'}(j)=0 gi(j)=0的插值点对 B i B_i Bi没影响, P i P_i Pi只需计算 g i ′ ( j ) ≠ 0 g_i^{'}(j)≠0 gi(j)=0 L j , [ k ] ( x ) L_{j,[k]}(x) Lj,[k](x)

3.3 密文聚合

  • (1)AS执行聚合,直到它从每个客户端 P i P_i Pi接收到密文 B i B_i Bi为止,并计算 B B B B = ∑ i = 1 N B i = ( ∑ i = 1 N B i , [ 1 ] , . . . , ∑ i = 1 N B i , [ ⌈ d / M ⌉ ] ) B=\sum^N_{i=1}B_i=(\sum^N_{i=1}B_{i,[1]},...,\sum^N_{i=1}B_{i,[⌈d/M⌉]}) B=i=1NBi=(i=1NBi,[1],...,i=1NBi,[⌈d/M⌉])
  • (2)AS将 B B B分发给每个客户端 P i P_i Pi。由于密文 B i B_i Bi是根据 g i ′ g^{'}_i gi A i A_i Ai计算得来,其保证原始梯度 g i g_i gi不会被推断出来。 即使AS与N-2个客户端相互勾结,也很难得到其余两个客户端的s_(i,j),从而阻碍AS得到梯度。

3.4 聚合结果验证

每个客户端 P i P_i Pi使用收到的 B B B来获得梯度聚合结果,并与先前的承诺进行验证。具体如下:

3.4.1 梯度解密
  • (1) P i P_i Pi先用 B [ k ] B_{[k]} B[k]来重构第 k k k组的聚合插值函数 f [ k ] ( x ) f_{[k]}(x) f[k](x) f [ k ] ( x ) = ∑ m + 1 M + 1 B [ k ] ( m ) x M − m + 1 f_{[k]}(x)=\sum^{M+1}_{m+1}B_{[k]}(m)x^{M-m+1} f[k](x)=m+1M+1B[k](m)xMm+1其中 B [ k ] ( m ) B_{[k]}(m) B[k](m)表示 B [ k ] B_{[k]} B[k]中的第 m m m个元素, k ∈ { 1 , 2 , . . . , ⌈ d / M ⌉ } k\in\{1,2,...,⌈d/M⌉\} k{1,2,...,d/M⌉}
    在这里插入图片描述
  • (2) P i P_i Pi以整数序列 Z Z Z为输入,用 f [ k ] ( x ) f_{[k]}(x) f[k](x)重构梯度的聚合结果 g g g,并移除插入的序列 A i A_i Ai和第 ⌈ d / M ⌉ ⌈d/M⌉ d/M个组,用0填充,即 g = ∑ i = 1 N g i = ∑ i = 1 N g ′ i = ( f [ k ] ( a ( k − 1 ) M + k ) , . . . , f [ k ] ( a k ( M + 1 ) − 1 ) ) T g=\sum^N_{i=1}g_i=\sum^N_{i=1}g{'}_i=(f_{[k]}(a_{(k-1)M+k}),...,f_{[k]}(a_{k(M+1)-1}))^T g=i=1Ngi=i=1Ngi=(f[k](a(k1)M+k),...,f[k](ak(M+1)1))T
3.4.2 结果验证

为了保护梯度隐私的同时验证聚合结果g的正确性,基本思想是判断下式是否成立 R ⋅ g = ∑ i = 1 N R ⋅ g i R·g=\sum^N_{i=1}R·g_i Rg=i=1NRgi其中 R R R d d d维向量。若 g ≠ ∑ i = 1 N g i g\neq\sum^N_{i=1}g_i g=i=1Ngi,显然上式不满足。(但不满足抗合谋验证
进一步,在之前的承诺基础上设计了一个有效的验证机制。

  • (1) P i P_i Pi先将 A i = { A i ( k ) } k = 1 ⌈ d / M ⌉ A_i=\{A_i(k)\}^{⌈d/M⌉}_{k=1} Ai={Ai(k)}k=1d/M和随机行向量 R i = ( r i , 1 , r i , 2 , . . . , r i , M ⋅ ⌈ d / M ⌉ ) R_i=(r_{i,1},r_{i,2},...,r_{i,M·⌈d/M⌉}) Ri=(ri,1,ri,2,...,ri,Md/M)分发给其他客户端,计算 R = ∑ i = 1 N R i = ( ∑ i = 1 N r i , 1 , ∑ i = 1 N r i , 2 , . . . , ∑ i = 1 N r i , M ⋅ ⌈ d / M ⌉ ) R=\sum^N_{i=1}R_i=(\sum^N_{i=1}r_{i,1},\sum^N_{i=1}r_{i,2},...,\sum^N_{i=1}r_{i,M·⌈d/M⌉}) R=i=1NRi=(i=1Nri,1,i=1Nri,2,...,i=1Nri,Md/M)每个半城实的客户端同时广播 R i R_i Ri且不参与共谋,则 R R R是不可预测的。
  • (2) 为了防止腐败的客户端帮助恶意AS通过验证。 P i P_i Pi按照相同的分组方式对 R R R进行分组,并计算一个随机的组行向量 S S S作为验证系数向量 S = ( S [ 1 ] , S [ 2 ] , . . . , S [ ⌈ d / M ⌉ ] ) S=(S_{[1]},S_{[2]},...,S_{[⌈d/M⌉]}) S=(S[1],S[2],...,S[⌈d/M⌉])其中,第 k k k个组向量 S [ k ] S_{[k]} S[k]计算为 S [ k ] = R [ k ] ⋅ U S_{[k]}=R_{[k]}·U S[k]=R[k]U
    在这里插入图片描述
  • (3)为了实现有效地验证, P i P_i Pi并行计算每组的校验和 v i , k v_{i,k} vi,k。对于第 k k k组, v i , k v_{i,k} vi,k计算为 v i , k = R [ k ] ⋅ C i , [ k ] , k ∈ { 1 , 2 , . . . , ⌈ d / M ⌉ } v_{i,k}=R_{[k]}·C_{i,[k]},k\in \{1,2,...,⌈d/M⌉\} vi,k=R[k]Ci,[k],k{1,2,...,d/M⌉}
  • (4)然后, P i P_i Pi计算 V i = ∑ k = 1 ⌈ d / M ⌉ v i , k V_i=\sum^{⌈d/M⌉}_{k=1}v_{i,k} Vi=k=1d/Mvi,k A i = { A i ( k ) } k = 1 ⌈ d / M ⌉ A_i=\{A_i(k)\}^{⌈d/M⌉}_{k=1} Ai={Ai(k)}k=1d/M进行验证。(以下为恶意行为检测规则)
    具体而言, P i P_i Pi检测下面两个方程 f [ k ] ( a k ( M + 1 ) ) = ? ∑ i = 1 N A i ( k ) , k ∈ { 1 , 2 , . . . , ⌈ d / M ⌉ } ——( 1 ) f_{[k]}(a_{k(M+1)})=?\sum^N_{i=1}A_i(k),k\in\{1,2,...,⌈d/M⌉\} ——(1) f[k](ak(M+1))=?i=1NAi(k),k{1,2,...,d/M⌉}——1 ∑ m = 1 d S ( m ) g ( m ) = ? ∑ i = 1 N V i ——( 2 ) \sum^d_{m=1}S(m)g(m)=?\sum^N_{i=1}V_i ——(2) m=1dS(m)g(m)=?i=1NVi——2其中 f [ k ] ( a k ( M + 1 ) ) f_{[k]}(a_{k(M+1)}) f[k](ak(M+1)) g ( m ) = f [ ⌈ m / M ⌉ ] ( a m + ⌈ m / M ⌉ − 1 ) g(m)=f_{[⌈m/M⌉]}(a_{m+⌈m/M⌉-1}) g(m)=f[⌈m/M⌉](am+m/M1)由返回的密文 B B B计算得出,并将规则定义为:
  • 1)Rule 1:如果上式(1)和式子(2)都成立,则AS被认为是值得信赖的。
  • 2)Rule 2:如果上式(1)和式子(2)都不成立,则AS被认为是弱攻击者。
  • 3)Rule 3:如果上式(1)成立,式子(2)不成立,则AS被认为是强攻击者。
3.4.3 支持动态验证

由于网络异常可能会导致训练过程中部分客户端掉线。已有方案使用双掩码解决(前提是任何客户端不会透露同一客户端在线或离线的秘密份额)。但是客户端可能与AS勾结。
下面证明本文验证过程如何处理客户端掉线的验证问题:

  • (1) f [ k ] ( a k ( M + 1 ) ) f_{[k]} (a_{k(M+1)}) f[k](ak(M+1)) g ( m ) = f [ ⌈ m / M ⌉ ] ( a m + ⌈ m / M ⌉ − 1 ) g(m)=f_{[⌈m/M⌉]} (a_{m+⌈m/M⌉-1}) g(m)=f[⌈m/M⌉](am+m/M1)由AS返回的密文 B B B计算,不受掉线客户端影响。
  • (2)梯度的承诺 C i C_i Ci在聚合之前已经发布,R可以使用在线客户端的随机向量 R i R_i Ri计算,不影响 S S S V i V_i Vi的计算过程。
  • (3)以Shamir ( T , N ) (T,N) (T,N)秘密共享的方式共享 P i P_i Pi ρ i ρ_i ρi,即使 P i P_i Pi退出,也能维持与剩余客户端(满足数量不小于 T T T)的验证过程而不影响 A i A_i Ai的计算。
    • 只要存在不参与共谋的客户端,就可以检测到伪造的聚合结果。
    • 由于不可预测的R生成的S是随机的,即使 N − 1 N-1 N1个客户端与AS共谋伪造聚合结果,也很难使得成立。

四、实验评估

4.1 实验环境

使用Python 3.8,PyTorch1.8.1和Numpy实现,在MNIST数据集上进行分类任务,分别在多层感知器(MLP)和卷积神经网络(CNN)作为VCD-FL的训练模型。主要对比了精度、损失、加密开销、解密开销和通信开销

  • (1)精度:分别在MLP和CNN作为训练模型下,VCD-FL的精度比VFL方案有优势。
    • MLP:经过300次迭代,VCD-FL精度约90.92%,VFL精度约为88.9%。
    • CNN:经过500次迭代,VCD-FL精度约94.83%,VFL精度约为93.38%。
      在这里插入图片描述
  • (2) 损失:同样在MLP和CNN作为训练模型下,VCD-FL的损失比VFL方案更小。
    在这里插入图片描述
  • (3)加密开销:(a)当 M ′ = 4 , d = 100 , 000 M^{'}=4,d=100,000 M=4,d=100,000,VCD-FL加密时间约为20.44s,VFL约为96.91s,仅1/5倍。引入梯度压缩算法后,随着压缩比 p p% p的增大开销减少。(b)当给定 d = 10000 d=10000 d=10000,随着 M ′ M{'} M的增长,VFL加密时间几乎指数增长,而VCD-FL仅线性增长。
    在这里插入图片描述
  • (4)解密开销:(a)随着 d d d的增加,解密时间呈线性增长。当 M ′ = 4 , d = 100 , 000 M^{'}=4,d=100,000 M=4,d=100,000,VCD-F解密时间约为1.63s,VFL约为8.7s。(b)同样,固定 d d d,随着 M ′ M{'} M的增大,VFL的解密时间呈线性增长,而VCD-FL呈线性减少。原因是解密开销取决于聚合结果计算,即取决于插值点个数,VFL约为 ( M ′ + 1 ) d (M^{'}+1)d (M+1)d,而VCD-FL约为 d + ⌈ d / M ′ ⌉ d+⌈d/M^{'}⌉ d+d/M
    在这里插入图片描述
    -(5)通信开销:为客户端与AS之间上传信息的大小,主要取决于 d d d M ′ M^{'} M。总的来说,VCD-FL的通信开销比VFL小。
    在这里插入图片描述

参考文献

[1] Hahn C, Kim H, Kim M, et al. Versa: Verifiable secure aggregation for cross-device federated learning[J]. IEEE Transactions on Dependable and Secure Computing, 2021.
[2] K. Bonawitz et al., “Practical secure aggregation for privacy-preserving machine learning,” in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., Oct. 2017, pp. 1175–1191.
[3] G. Xu, H. Li, S. Liu, K. Yang, and X. Lin, “VerifyNet: Secure and verifiable federated learning,” IEEE Trans. Inf. Forensics Security, vol. 15, pp. 911–926, 2020.
[4] A. Fu, X. Zhang, N. Xiong, Y. Gao, H. Wang, and J. Zhang, “VFL: A verifiable federated learning with privacy-preserving for big data in industrial IoT,” IEEE Trans. Ind. Informat., vol. 18, no. 5, pp. 3316–3326, May 2022.
[5] X. Guo et al., “VeriFL: Communication-efficient and fast verifiable aggregation for federated learning,” IEEE Trans. Inf. Forensics Security, vol. 16, pp. 1736–1751, 2021.
[6] Z. Peng et al., “VFChain: Enabling verifiable and auditable federated learning via blockchain systems,” IEEE Trans. Netw. Sci., vol. 9, no. 1, pp. 173–186, Jan. 2020.
[7] Y. Lin et al., “Deep gradient compression: Reducing the communication bandwidth for distributed training,” in Proc. 6th Int. Conf. Learn. Represent., Vancouver, BC, Canada, 2018, pp. 1–14.

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值