本发明属于网络安全,具体涉及一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法及系统。
背景技术:
1、分布式计算框架下的机器学习已经在各种场景中得到广泛研究,联邦学习作为现代分布式学习框架之一,旨在充分利用边缘设备上的数据和计算能力。虽然联邦学习不需要上传客户端本地数据,避免了服务器直接访问客户端数据导致隐私泄露,但这种分布式训练方式仍然存在一些安全隐患。例如,服务器可通过客户端上传的模型或梯度进行推理攻击,以还原客户端本地数据。此外,拜占庭敌手可通过上传有毒梯度来妨碍训练过程。
2、在高效的安全聚合领域,bonawitz等人提出了一种轻量级协议,允许服务器安全聚合来自多个客户端的模型更新,而无需访问本地梯度。choi等人提出了使用稀疏随机图的低复杂度方案,通过秘密共享节点的拓扑结构来保障数据隐私。kadhe等人提出了fastsecagg框架,利用快速傅里叶变换(fft)创建了多秘密共享方案fastshare,实现高效计算及通信。jahani-nezhad等人提出了swiftagg+,显著减少了通信开销,实现了隐私保护和高效通信。然而,这些方案都未能解决拜占庭攻击的问题。
3、在抵御拜占庭攻击的研究领域,liu等人提出了pefl框架,使用同态加密进行隐私保护,并通过提取梯度的对数函数来惩罚有毒梯度,解决了隐私保护和中毒攻击问题。zhang提出了safelearning技术,支持安全聚合并通过不经意随机分组(org)和部分参数泄露(ppd)检测后门攻击,有效防止恶意攻击并降低后门攻击成功率。wan提出的方案采用自适应客户端选择策略应对拜占庭攻击,但没有加密或混淆梯度。
4、目前研究工作主要集中在传统联邦学习的安全聚合和拜占庭鲁棒性算法研究,但没有考虑方案对聚类联邦学习的兼容性,且少有研究工作能够综合考虑效率、安全性和鲁棒性。因此,设计兼容聚类联邦学习并具有拜占庭鲁棒性的高效安全聚合框架是具有广泛应用前景且极具挑战性的研究课题。(1)首先,传统的安全聚合方案主要通过同态加密或者多方安全计算实现,具有较高的计算和通信开销,难以同时兼顾安全性和系统性能;(2)其次,拜占庭鲁棒性是联邦学习系统的重要属性,然而多数先进的拜占庭鲁棒性算法需要进行复杂的计算,在安全聚合的框架下难以实现。另一方面,对于同态加密和多方安全计算来说,复杂的操作会大幅增加整体系统的计算和通信开销;(3)此外,基于差分隐私实现的联邦学习隐私保护方案,面临安全性和系统性能的权衡。基于差分隐私的系统,为满足安全性增加了噪声信息,而联邦学习系统的训练难以收敛,最终导致模型性能降低。同时,为了提高系统性能而减少噪声,差分隐私又无法满足隐私保护的约束条件;(4)最后,聚类联邦学习需要根据不同聚类,训练多个模型,使得大多为传统联邦学习设计的方案不再适用,且聚类联邦学习的复杂性使得设计方案更加困难。因此,缺少兼容聚类联邦学习的高效隐私保护算法,并能抵抗拜占庭敌手的安全聚合方法及系统,以确保联邦学习系统的整体安全。
技术实现思路
1、针对现有技术中存在的问题,本发明设计的目的在于提供一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法及系统,该方法及系统创新性提出聚类联邦学习安全聚合框架,并可有效抵抗拜占庭攻击恶意客户端。通过兼顾隐私安全与系统性能,可广泛适应于多种分布式计算应用场景,具体通过以下技术方案加以实现:
2、一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合系统,该系统包含以下三个参与方:
3、1)客户端:负责使用编码密钥对本地数据进行训练,对获得的梯度进行编码,并将编码后的梯度上传到服务器;
4、2)服务器:负责广播全局模型,验证客户端上传的梯度,并执行加权聚类聚合;
5、3)可信机构:负责根据安全参数生成并分发密钥,以及对密钥进行管理。
6、一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,该方法包括以下六个组成部分:
7、(1)由聚类模型更新算法和具有鲁棒性的聚类联邦学习算法组成的具有拜占庭鲁棒性的聚类联邦学习系统;
8、(2)可验证正交矩阵混淆聚合:具有单条数据无法被解密,仅在聚合所有数据后才能解密的功能,并对客户端提交的梯度编码进行验证,防止客户端不按规则执行协议,以绕过鲁棒性算法的检查,具体为:
9、对于1≤i≤n,第i个客户端按如下方式编码秘密xi:
10、χi=ximi+rimi+n;
11、其中是相互正交的矩阵组;构造验证密钥vk为验证函数如下:
12、
13、其中是与ri维度相同的随机矩阵,解码密钥dk构造为满足对于1≤i≤n:
14、χi·dkt=xi+ri,
15、
16、其中,表示被对手篡改的密文,
17、满足:
18、
19、其中λ表示伪随机数被破坏的概率,l表示xi的大小;
20、(3)安全relu函数计算:为了剔除余弦相似度为负的梯度,需要计算余弦相似度的relu函数输出,安全relu函数计算可安全计算多维输入值的relu函数,并得到加密输出,解密后得到的数值等价于对多维输入值的每一维度分别计算relu函数输出,并对所有输出值求和。此外,可将加密输出与其他多维数据进行内积,解密得到内积结果;
21、(4)聚合方案:基于上述具有拜占庭鲁棒性的聚类联邦学习框架,设计安全聚合方案,在每一轮训练中,参与的客户端数量用n表示,聚类身份的数量用m表示,梯度的维度用l表示,具体包含以下5个步骤:
22、4-1)初始化:ta预生成多组互相正交的矩阵和服务器将更新梯度发送给ta,然后ta为安全relu函数计算生成β、τ1、τ2和τ3,以及密钥vk和dk,具体如下所述:
23、(m)i表示矩阵m的第i行,其中1≤i≤n,1≤j≤m,||r″ij||=1,且||μi||=1;
24、对于1≤i≤2lmn:
25、
26、其中是ta生成的随机矩阵;
27、4-2)广播阶段:在第一轮中,ta将eki和发送给第i个客户端;在后续轮次中,ta通过更新rij″来更新并将更新后的发送给第i个客户端,服务器首先使用公共数据集对当前模型进行分类,然后将全局模型发送给选定的客户端;
28、4-3)训练阶段:客户端的训练通过聚类模型更新算法实现,并上传服务器,假设第i个客户端的簇为j,梯度编码为
29、4-4)聚合阶段:ta将β、τ1、τ2、dk和vk发送给服务器,服务器按照可验证正交矩阵混淆聚合中的验证函数验证每个客户端,并检查1≤i≤n是否满足‖δi‖2=3;如果验证函数返回1,则可验证客户端没有篡改密文;如果‖δi‖2=3,则可验证客户端执行了归一化操作如果验证失败,服务器将请求失败的客户端重新发送其梯度编码,或者重新启动算法执行流程;对于1≤i≤n,服务器如下计算αi:
30、(αi)j=δi·αj′
31、服务器根据安全relu函数计算中的步骤计算和
32、最后,服务器如下计算聚合梯度g:
33、
34、4-5)更新阶段:对于1≤j≤m,服务器如下更新:
35、
36、(5)安全密钥转化:对于1≤i≤n,1≤j≤m,以及反函数构造传输密钥tki作为用于χi的密钥转换,传输函数如下:
37、
38、其中c表示常数,表示其他互相正交的矩阵,χi=ximi+rimi+n,以及满足如下等式:
39、
40、其中
41、(6)压缩方案:通过梯度分割减少单个聚合的梯度维度,并通过分层聚合最小化每个组聚合中涉及的客户端数量。
42、进一步地,步骤(1)中的聚类模型更新算法的具体步骤为:
43、a)输入:初始化参数训练数据集d,批量大小b,学习率η,迭代次数t;
44、b)将初始参数设置为
45、c)计算并选择初始模型中损失最小的模型
46、d)进行t次迭代:从训练数据集d中随机抽取一个批量db,更新参数
47、e)返回选择的模型索引j,以及梯度
48、进一步地,步骤(2)中具有鲁棒性的聚类联邦学习算法具体为:
49、服务器设置m个聚类并初始化m个模型,服务器收集一个小型且干净的公共数据集并训练,以获得m个服务器更新,表示为服务器广播所有全局模型,客户端接收模型并运行聚类模型更新算法训练本地模型,并上传更新梯度和聚类身份;服务器首先根据每个客户端对应的聚类身份对其进行分类,然后计算客户端梯度与服务器更新梯度的余弦相似度,移除相似度为负的有毒梯度:
50、
51、其中1≤k≤m,1≤i,j≤n,
52、进一步地,步骤(3)中,安全relu函数计算具体为:
53、定义函数以获取矩阵中每个元素的平方,同时保留每个元素的原始符号,定义的逆函数,计算每个元素绝对值的平方根,同时保留原始符号;函数和的定义如下:
54、
55、其中,对于1≤i≤n,输入定义x的编码为:
56、
57、构造如下:
58、
59、其中,表示互相正交的矩阵;
60、构造β、τ1、τ2和τ3如下:
61、
62、其中表示hadamard乘积,ri′是可逆矩阵,
63、对于1≤j≤lm,1≤k≤2lmn,和是随机数,和满足:
64、如果(mi)jk≤0,
65、
66、其中如果(mi)jk>0,
67、
68、其中
69、可计算为
70、
71、并且可计算为
72、
73、进一步地,步骤(6)中,压缩方案的具体过程为:
74、1)梯度分割
75、a)第i个客户端将本地梯度按行展平,并逐层连接形成一个向量gi,设向量gi被分成s个片段,表示为每个片段的长度为t,满足s·t≥l。对于1≤i≤n,1≤j≤m,以及1≤k≤s,r″和μ满足:
76、
77、b)对于1≤i≤n,表示第i个客户端,对应的内积计算如下:
78、
79、c)对于1≤i≤3mnt,1≤j≤n,以及1≤k≤s,
80、
81、聚合所有的片段,然后将片段连接回原始梯度;
82、2)分层聚合:客户端的总数表示为n,将客户端分成ξ组,每组的最大大小为
83、ta为每组生成ek、vk和αi′,然后,ta为k组生成转换密钥,并为转换后的所有组生成剩余密钥;此外,ζ、μ、r″和在所有组之间共享;
84、聚合的具体步骤如下:
85、a)首先,在聚合阶段,服务器计算但不执行之后的步骤,因为每组不能消除随机矩阵,并且在密钥转换前没有相应的dk;
86、b)其次,服务器在每组中执行密钥转换,并将转换后的结果作为新一轮转化的输入,直到完成所有的密钥转换;
87、c)最后,服务器执行更新阶段;
88、服务器可将所有参与方分组,并采用递归的方法,将每一组分成更小的组,转换过程可视为对一个组的聚合,服务器使用转换密钥将小组聚合成大组,最终聚合所有的参与方;转换轮数可表示为x,转换密钥的总大小可表示如下:
89、
90、其中满足
91、对于1≤i≤n,1≤j≤x,密钥转换如下:
92、
93、其中v=i-(imodξj),与现有技术相比,本发明具有以下有益效果:
94、1)结合先进的聚类联邦学习框架与鲁棒性算法,设计了抵抗拜占庭攻击的聚类联邦学习框架。该发明在实现高效聚类训练的同时,可有效防御来自拜占庭客户端的攻击,保障系统的整体安全性和稳定性;
95、2)设计了可验证正交矩阵混淆聚合算法,利用相互正交矩阵组对客户端梯度进行高效编码,确保编码后的梯度在非对应聚类中解码为零,从而有效掩蔽梯度中的敏感信息。该发明设计既保护了客户端梯度的隐私,又不影响最终模型的聚合效果。此外,结合验证机制,该发明可有效确保客户端严格遵守协议,进一步提升方案的安全性和可靠性;
96、3)提出了安全的relu函数计算机制,可安全计算多输入编码relu值之和,防止服务器访问或篡改个人relu值。创新性实现了非交互式安全计算relu函数,服务器接收所有必要参数后无需与任何实体交互,可独立运行安全协议完成relu函数计算。大幅降低通信开销的同时,显著提高了方案的安全性和效率。作为鲁棒性算法的关键组件,该机制为联邦学习中的鲁棒性聚合提供了有力支持,可有效应对拜占庭客户端的攻击;
97、4)通过融合先进的联邦学习技术与矩阵技术,设计了高性能隐私保护解决方案。本方案具有高可用性,能够广泛适用于实际应用场景,在保证数据隐私的前提下,实现高效的分布式学习;
98、5)深入分析矩阵的特性并结合算法的具体设计过程,设计了高效的压缩方案,采用梯度分段和分层聚合的方式,在不影响整体方案功能和安全性的前提下,有效减少了密钥矩阵维度,大幅提升了通信和计算效率。
1.一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合系统,其特征在于,该系统包含以下三个参与方:
2.一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,其特征在于,该方法包括以下六个组成部分:
3.如权利要求2所述的一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,其特征在于,步骤(1)中的聚类模型更新算法的具体步骤为:
4.如权利要求2所述的一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,其特征在于,步骤(2)中具有鲁棒性的聚类联邦学习算法具体为:
5.如权利要求2所述的一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,其特征在于,步骤(3)中,安全relu函数计算具体为:
6.如权利要求2所述的一种抵抗拜占庭攻击的聚类联邦学习框架与安全聚合方法,其特征在于,步骤(6)中,压缩方案的具体过程为:
