本技术涉及联邦学习,尤其涉及一种安全分布式联邦学习方法、客户端及系统。
背景技术:
1、随着大规模机器学习算法的普遍应用以及公众对个人数据隐私保护的日益关注,隐私保护联邦学习(ppfl)受到了学术界和工业界的广泛认可。ppfl同样遵循传统联邦学习相同的规范和训练标准;相反,ppfl利用密码学、安全多方计算和差分隐私来保护fl执行过程中生成的中间值(例如梯度)和本地数据,从而防止诸如投毒攻击、推理攻击和重构攻击带来的严重的信息泄露。
2、安全聚合(sa)协议作为ppfl的核心组件,自提出之后就引发学者们的广泛关注。sa考虑到移动设备终端的低计算能力和通信环境的不稳定性,其主要思想是利用双掩码盲化协议和门限秘密共享方案的组合为fl的聚合阶段提供鲁棒的隐私保护,保护客户端隐私数据不因节点丢失而泄露。学术界还在降低计算开销、减少通信开销以及sa协议的额外属性方面对sa进行了增强。一些学者注意到采用shamir阈值秘密共享的sa的计算开销较高,并提出了一种基于快速傅里叶变换的秘密共享协议来提高sa的计算效率。
3、还有研究通过采用非完全图来改进sa协议的通信拓扑,这减少了实体交互的频率,同时最小化了通信成本。此外,大量研究表明sa协议容易受到恶意服务器篡改聚合结果的影响,学者们利用基于密码学的技术手段为sa协议提供可验证性。然而,sa的通信开销和计算成本随着客户端数量的增加呈二次方增加,这也限制了sa的可扩展性。同时,现有的基于掩码的sa协议不能推广到dfl,因为它们需要服务器参与消除秘密的随机掩码值,这与dfl理念相悖。
4、此外,原始sa协议并没有考虑考虑到ppfl中的本地黑盒训练是不可见的,并且极易受到中毒攻击,从而破坏联邦全局模型的性能。而现有防御策略易泄露客户端本地梯度隐私,不适用于隐私保护去中心化联邦学习(ppdfl),因此设计一种满足ppdfl的低开销且隐私保护的投毒攻击防御策略至关重要。
5、目前实现基于密码学的sa协议有以下三种方法:(1)掩蔽;(2).加法同态加密(ahe);(3).函数加密(fe)。特别是首次采用双掩码盲化协议实现的sa应用于fl的聚合过程而不影响聚合结果的正确性,引发了许多研究人员的关注。在这些方案中,一对用户利用diffie-hellman密钥交换协议来交换伪随机函数的随机种子,然后使用秘密共享协议将商定的种子共享给其他用户,对输入值采用一次性填充生成的随机数。此外,该方案采用双重屏蔽机制来确保用户退出的恢复能力。由于ahe方案能够对不同密钥下的用户密文输入求和,因此sa应用多用户ahe方案。一些学者实例化了多用户ahe方案的聚合协议。他们提出了一种新颖的方案,允许不受信任的聚合器对用户输入完成求和操作,该方案既不受消息空间的限制,也不受用户数量的限制,并且能够快速解密和聚合。此外,一些学者将多输入函数加密方案设计的内积函数应用到fl的聚合过程中,并实现了轻量级sa协议来保护用户的隐私。此外,一些解决方案通过加密手段(例如同态哈希)为sa协议提供可验证性,有效防止恶意服务器篡改聚合结果。
6、现有安全聚合协议面临着高计算开销、难抵抗投毒攻击和无法适配去中心化联邦学习的挑战,现有技术方案需要服务器协调消除秘密掩码值,这显然不适用于dfl,并且当前sa协议未考虑投毒攻击损害全局模型收敛慢的难题,同时现有投毒攻击防御策略直接计算局部梯度会暴露数据隐私缺乏安全性,并且基于服务器协调的防御策略不适合dfl架构。
技术实现思路
1、本技术提供了一种安全分布式联邦学习方法、客户端及系统,解决了现有安全聚合协议面临着高计算开销、难抵抗投毒攻击和无法适配去中心化联邦学习的挑战,现有技术方案需要服务器协调消除秘密掩码值,不适用于dfl,当前sa协议未考虑投毒攻击损害全局模型收敛慢,现有投毒攻击防御策略直接计算局部梯度会暴露数据隐私缺乏安全性,并且基于服务器协调的防御策略不适合dfl架构的技术问题。
2、有鉴于此,本技术第一方面提供了一种安全分布式联邦学习方法,应用于包含n个客户端与密钥生成中心的系统中,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,所述方法包括:
3、s1、密钥生成中心将初始化后的全局模型w(0)和初始密钥打包广播至所有客户端;
4、s2、客户端i与相邻节点执行预设密钥协商算法,得到伪随机种子si,l和si,r,将伪随机种子打包成伪随机种子向量r=[si,l||si,r]后,通过快速秘密共享协议分割伪随机种子向量r=[si,l||si,r]成n份广播给其他客户端;
5、s3、客户端i在本地数据集上训练全局模型得到本地梯度gi,并计算kl散度和客户端权重值
6、s4、客户端i确认收到的伪随机种子向量的份额数是否不少于预设数量;
7、s5、若是,则通过伪随机生成器生成随机掩码si,l和si,r,采用随机掩码对本地梯度执行单掩码协议,得到盲化后的本地梯度
8、s6、客户端i通过快速秘密共享协议对盲化后的本地梯度分割成n份秘密梯度并广播给其他客户端。
9、可选地,所述步骤s6之后还包括:
10、s7、客户端i确认收到的秘密梯度的份额数是否不少于预设数量;
11、s8、若是,则通过快速秘密共享协议恢复盲化后的本地梯度以及伪随机种子r=[si,l,si,r],并聚合消去随机掩码之后进行加权聚合得到新一轮的全局模型
12、s9、更新全局模型并继续执行联邦训练直到全局模型收敛。
13、可选地,所述初始密钥由diffie-hellman密钥协商算法得到。
14、可选地,所述快速秘密共享协议具体为:
15、令ω是的n原根,其中g是的原根,x1,x2,…xt+k,y1,…yn是n个互不相同的值,且n+m≤q,1≤t,t+m≤n;
16、随机选取阶为t+m-1的多项式满足f(xi)=si,同时计算点y1,…yn的值;
17、将ntt算法应用于多项式求值和插值步骤中,并分割多项式f(x)为奇函数fo(x)和偶函数fe(x)的和,即f(x)=fe(x2)+xfo(x2);
18、选取素数q满足2a·3b·c+1,其中ωx和ωy分别表示2a和3b的单位原根,将原根为2的ntt正向变换表示为ntt2(),逆变换表示为intt2(),原根为3的ntt正向变换表示为ntt3(),逆变换表示为intt3();
19、令和将秘密s补0为s'={0,s0,s1,…sm-1,r0,…rt-1}并利用intt2()求出系数c的前t+m项,其中是从整数域中随机选取;
20、将系数c补0为大小为n的系数向量c',并利用ntt3()求解出份额[s]i并分发个n-1个客户端。
21、可选地,所述快速秘密共享协议还包括:
22、当在线客户端数量|u|=n时,将秘密份额{[s]i}i∈u,|u|=n执行intt3()求出系数c”,选择c”的前t+m+1项系数执行ntt2()得到原始秘密s',原始秘密即为s'[1:m+1];
23、当t+k≤|u|≤n时,利用ntt算法的蝶形变换构建线性方程组并结合高斯消元法求解缺失的份额,得到n份份额后执行当在线客户端数量|u|=n时的秘密恢复步骤。
24、可选地,所述单掩码协议具体为:
25、令客户端u,u∈u的本地模型梯度值xu,su,r和su,l是分别与右邻客户端和左邻客户端进行diffie-hellman密钥协商后产生的伪随机函数种子;
26、客户端u利用门限秘密共享协议将su,r和su,l共享给n-1个客户端,并采用伪随机生成器(prg)生成随机向量su,l=prg(su,l)和su,r=prg(su,r),计算并将yu分发给其余客户端;
27、当客户端u收到满足预设数量的秘密份额之后计算
28、本技术第二方面提供一种客户端,属于包含n个客户端与密钥生成中心的系统中,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,所述客户端用于:
29、接收密钥生成中心广播的初始化后的全局模型w(0)和初始密钥;
30、与相邻节点执行预设密钥协商算法,得到伪随机种子si,l和si,r,将伪随机种子打包成伪随机种子向量r=[si,l||si,r]后,通过快速秘密共享协议分割伪随机种子向量r=[si,l||si,r]成n份广播给其他客户端;
31、在本地数据集上训练全局模型得到本地梯度gi,并计算kl散度和客户端权重值
32、确认收到的伪随机种子向量的份额数是否不少于预设数量;
33、若是,则通过伪随机生成器生成随机掩码si,l和si,r,采用随机掩码对本地梯度执行单掩码协议,得到盲化后的本地梯度
34、通过快速秘密共享协议对盲化后的本地梯度分割成n份秘密梯度并广播给其他客户端。
35、可选地,所述客户端还用于:
36、确认收到的秘密梯度的份额数是否不少于预设数量;
37、若是,则通过快速秘密共享协议恢复盲化后的本地梯度以及伪随机种子r=[si,l,si,r],并聚合消去随机掩码之后进行加权聚合得到新一轮的全局模型
38、更新全局模型并继续执行联邦训练直到全局模型收敛。
39、本技术第三方面提供一种安全分布式联邦学习系统,包含n个客户端与密钥生成中心,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,所述系统中的客户端与密钥生成中心分别执行本技术第一方面任一项所述的安全分布式联邦学习方法。
40、从以上技术方案可以看出,本技术实施例具有以下优点:
41、本技术中,提供了一种安全分布式联邦学习方法、客户端及系统,基于数论变换提出了快速秘密共享协议,将传统sa协议的计算复杂度o(n2)降低到o(nlogn),实现了高效计算,基于模型的交叉更新提出了拜占庭鲁棒聚合准则,保障了去中心化联邦学习中恶意和非独立同分布梯度的鲁棒性,设计了适用于去中心化架构的梯度掩盖协议,实现轻量级的数据隐私保护,解决了现有安全聚合协议面临着高计算开销、难抵抗投毒攻击和无法适配去中心化联邦学习的挑战,现有技术方案需要服务器协调消除秘密掩码值,不适用于dfl,当前sa协议未考虑投毒攻击损害全局模型收敛慢,现有投毒攻击防御策略直接计算局部梯度会暴露数据隐私缺乏安全性,并且基于服务器协调的防御策略不适合dfl架构的技术问题。
1.一种安全分布式联邦学习方法,其特征在于,应用于包含n个客户端与密钥生成中心的系统中,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,包括:
2.根据权利要求1所述的安全分布式联邦学习方法,其特征在于,所述步骤s6之后还包括:
3.根据权利要求1所述的安全分布式联邦学习方法,其特征在于,所述初始密钥由diffie-hellman密钥协商算法得到。
4.根据权利要求1所述的安全分布式联邦学习方法,其特征在于,所述快速秘密共享协议具体为:
5.根据权利要求4所述的安全分布式联邦学习方法,其特征在于,所述快速秘密共享协议还包括:
6.根据权利要求1所述的安全分布式联邦学习方法,其特征在于,所述单掩码协议具体为:
7.一种客户端,其特征在于,属于包含n个客户端与密钥生成中心的系统中,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,所述客户端用于:
8.根据权利要求7所述的客户端,其特征在于,所述客户端还用于:
9.一种安全分布式联邦学习系统,其特征在于,包含n个客户端与密钥生成中心,其中,n个客户端连接为环状的拓扑结构,且每个客户端只能与相邻节点通信,所述系统中的客户端与密钥生成中心分别执行权利要求1至6任一项所述的安全分布式联邦学习方法。