一种纵向联邦学习中投毒攻击的防御方法、系统、设备及介质技术方案

技术编号:38607979 阅读:10 留言:0更新日期:2023-08-26 23:38
一种纵向联邦学习中投毒攻击的防御方法、系统、设备及介质,针对经典纵向联邦学习算法Secureboost设计了主动方与被动方交互数据的完整性验证方案,其方法为:密钥生成及分发;主动方加密Boost树梯度信息,并将加密结果发送给被动方,同时对加密的Boost树梯度信息进行同态哈希加密后发送给可信第三方;被动方根据特征维度对接收到的加密梯度信息进行聚合,然后将聚合结果进行同态哈希并发送给可信第三方;可信第三方聚合所有被动方发送的信息,然后验证主动方发送的加密Boost树梯度信息和被动方信息聚合结果是否一致,如果一致则完整性验证通过,否则验证不通过;其系统、设备及介质基于上述方法进行投毒攻击防御,实现全局模型的安全聚合,提升投毒攻击的防御可靠性。提升投毒攻击的防御可靠性。提升投毒攻击的防御可靠性。

【技术实现步骤摘要】
一种纵向联邦学习中投毒攻击的防御方法、系统、设备及介质


[0001]本专利技术属于网络空间安全
,尤其涉及一种纵向联邦学习中投毒攻击的防御方法、系统、设备及介质。

技术介绍

[0002]联邦学习是多个地位平等的数据拥有者(参与方)共同协作训练全局模型的机器学习框架。与传统的集中式机器学习模式相比,该框架采用去中心化的原则,各个数据拥有者利用自身数据在本地训练机器学习模型,然后将各自的本地模型上传至一个聚合服务器或者通过互相交换部分模型信息,根据给定的聚合规则生成全局模型供所有参与方使用,在此过程中,各数据拥有者间不会共享各自的本地原始数据,解决了传统机器学习模式所面临的数据孤岛以及数据隐私泄露的挑战。
[0003]目前,联邦学习已经吸引了国内外学术界与工业界的目光,得到了迅速的发展。但是,现有的联邦学习算法大多都假设系统中的各参与方是诚实可信的,然而实际情况中联邦学习系统可能会遭受投毒攻击,即一些攻击者能够修改学习过程中产生的数据,使得异常数据参与全局模型的聚合。
[0004]分布式及隐私保护的特性使得联邦学习容易遭受攻击者的投毒攻击,如果缺少有效的安全防御措施,这些攻击会对整个系统的可靠性和可用性产生严重的影响。目前针对纵向联邦学习系统中投毒攻击的防御方法的研究较少。
[0005]安全联邦提升树(SecureBoost算法)是纵向联邦学习算法之一,其系统架构如图1所示。研究表明,SecureBoost算法可以在保护参与方隐私的前提下,保证训练模型精度不受影响。
[0006]参与纵向联邦学习的参与方分为主动方和被动方两类,主动方同时拥有样本特征和样本标签,除此之外还扮演一个协调者的角色,为每个提升树节点计算最佳分割。被动方仅仅只是数据的提供者,只有样本特征,没有样本标签,被动方需要和主动方共同协作构建全局模型来达到预测标签的目的。
[0007]然而,SecureBoost算法由于分布式、隐私保护的特性,使得其容易在训练过程中遭受投毒攻击,这种投毒攻击主要集中在主动方。由于主动方需要聚合各个被动方上传的训练结果,并且在加密情况下发送给被动方。因此若主动方有意或无意地篡改聚合结果,那么将严重影响到联邦学习训练过程,最终影响全局模型的效能。

技术实现思路

[0008]为了克服上述现有技术的不足,本专利技术的目的在于提供一种纵向联邦学习中投毒攻击的防御方法、系统、设备及介质,设置了主动方、被动方与可信第三方;其中,主动方的本地数据中同时拥有样本特征和样本标签,负责学习过程中的计算工作;被动方仅拥有样本特征,只是数据的提供者;可信第三方作为完全诚实的一方,负责对主动方和被动方发送的数据进行同态加密下的完整性验证;本专利技术设计了针对主动方生成的聚合加密模型的完
整性验证方法,可防御拥有敏感信息的主动方有意或无意提供的错误模型信息用于生成全局模型,导致在后续的预测工作中出现预测偏差从而造成损失,从而提高联邦学习系统的鲁棒性与聚合结果的可信度。
[0009]为了实现上述目的,本专利技术采用如下技术方案:
[0010]一种纵向联邦学习中投毒攻击的防御方法,可信第三方生成密钥并分发给主动方及被动方;主动方加密Boost树梯度信息,并将加密结果发送给被动方,同时对加密的Boost树梯度信息进行同态哈希加密后发送给可信第三方;被动方根据特征维度对接收到的加密梯度信息进行聚合,然后将聚合结果进行同态哈希并发送给可信第三方;可信第三方聚合所有被动方发送的信息,然后验证主动方发送的加密Boost树梯度信息和被动方信息聚合结果是否一致,如果一致则完整性验证通过,否则验证不通过;可信第三方将验证结果发送至主动方和被动方,如果接收到通过验证的结果,主动方和被动方继续进行后续计算,否则,结束当前训练过程,重新开始本轮训练,确保最终得到的全局模型的完整性,即全局模型由未被篡改的信息计算得到。
[0011]一种纵向联邦学习中投毒攻击的防御方法,具体包括以下步骤:
[0012]步骤1:可信第三方生成密钥并分发给主动方及被动方
[0013]可信第三方:生成(δ,ρ)作为同态哈希函数中的秘钥,并将其发送至主动方和各被动方;其中δ和p是在有限域Z
q
中随机选择的私钥;
[0014]主动方:接收可信第三方发送的秘钥;
[0015]被动方:接收可信第三方发送的秘钥;
[0016]步骤2、主动方计算各样本对应的梯度信息,然后使用加法同态加密对各样本对应的梯度信息进行加密,并将加密结果发送给被动方;
[0017]步骤3、每一个被动方根据当前节点样本空间中样本的特征计算得到l个分位点S
k
={s
k1
,s
k2
,...,s
kl
},然后根据这些分位点将当前节点样本映射到对应的区间内,接着聚合每个区间内的加密梯度,最后将所有聚合结果发送给主动方与可信第三方;
[0018]步骤4、主动方接收到步骤3中被动方发送的聚合加密梯度统计信息后,对各被动方聚合的梯度进行解密,计算得到各节点对应特征的最佳分裂点,在此过程中,对生成的梯度信息进行同态哈希加密,将加密梯度信息发送至可信第三方,再由可信第三方发送至被动方,并将特征id(k
opt
)阈值id(v
opt
)发送至被动方;可信第三方对所有被动方发送的加密梯度信息进行聚合,得到和通过对比通过对比是否成立来验证主动方的中间计算结果即加密梯度的完整性,并将验证结果返回各参与方;
[0019]步骤5、被动方接收到步骤4中可信第三方返回的验证结果后,若验证不通过,则训练终止,说明主动方存在投毒攻击;若验证通过,则根据主动方发送的特征id(k
opt
)和阈值id(v
opt
)确定相应特征的阈值(I
L
),根据阈值对样本空间进行划分;然后,被动方在secureboost算法查找表中记录该特征的阈值,形成记录[记录id,特征,I
L
],并将记录id和I
L
返回给主动方;
[0020]步骤6、主动方根据收到步骤5中返回的[记录id,I
L
]对提升树的对应节点进行划分,并将该节点与相应的[参与方id,记录id]信息关联;然后将节点的划分信息与所有被动
方同步;
[0021]步骤7、对每个特征重复步骤1~6至指定的训练次数便可获得一颗完整的决策树。
[0022]所述步骤1中包括1名主动方(AP),m名被动方和可信第三方(TTP)组成,全体被动方用集合PP={p1,p2……
,p
m
}表示。
[0023]所述步骤2具体为:
[0024]主动方计算各样本对应的g
i
和h
i

[0025][0026][0027]公式中,i∈{1,...,N},其中N为数据样本数量,l
loss
表示损失函数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纵向联邦学习中投毒攻击的防御方法,其特征在于,可信第三方生成密钥并分发给主动方及被动方;主动方加密Boost树梯度信息,并将加密结果发送给被动方,同时对加密的Boost树梯度信息进行同态哈希加密后发送给可信第三方;被动方根据特征维度对接收到的加密梯度信息进行聚合,然后将聚合结果进行同态哈希并发送给可信第三方;可信第三方聚合所有被动方发送的信息,然后验证主动方发送的加密Boost树梯度信息和被动方信息聚合结果是否一致,如果一致则完整性验证通过,否则验证不通过;可信第三方将验证结果发送至主动方和被动方,如果接收到通过验证的结果,主动方和被动方继续进行后续计算,否则,结束当前训练过程,重新开始本轮训练,确保最终得到的全局模型的完整性,即全局模型由未被篡改的信息计算得到。2.根据权利要求1所述的一种纵向联邦学习中投毒攻击的防御方法,其特征在于,具体包括以下步骤:步骤1:可信第三方生成密钥并分发给主动方及被动方可信第三方:生成(δ,ρ)作为同态哈希函数中的秘钥,并将其发送至主动方和各被动方;其中,δ和ρ是在有限域Z
q
中随机选择的私钥;主动方:接收可信第三方发送的秘钥;被动方:接收可信第三方发送的秘钥;步骤2、主动方计算各样本对应的梯度信息,然后使用加法同态加密对各样本对应的梯度信息进行加密,并将加密结果发送给被动方;步骤3、每一个被动方根据当前节点样本空间中样本的特征计算得到l个分位点S
k
={s
k1
,s
k2
,...,s
kl
},然后根据这些分位点将当前节点样本映射到对应的区间内,接着聚合每个区间内的加密梯度,最后将所有聚合结果发送给主动方与可信第三方;步骤4、主动方接收到步骤3中被动方发送的聚合加密梯度统计信息后,对各被动方聚合的梯度进行解密,计算得到各节点对应特征的最优分割点;在此过程中,对生成的梯度信息进行同态哈希加密,将加密梯度信息发送至可信第三方,再由可信第三方发送至被动方,并将特征id(k
opt
)阈值id(v
opt
)发送至被动方;可信第三方对所有被动方发送的加密梯度信息进行聚合,得到和通过对比比是否成立来验证主动方的中间计算结果即加密梯度的完整性,并将验证结果返回各参与方;步骤5、被动方接收到步骤4中可信第三方返回的验证结果后,若验证不通过,则训练终止,说明主动方存在投毒攻击;若验证通过,则根据主动方发送的特征id(k
opt
)和阈值id(v
opt
)确定相应特征的阈值(I
L
),根据阈值对样本空间进行划分;然后,被动方在secureboost算法查找表中记录该特征的阈值,形成记录[记录id,特征,I
L
],并将记录id和I
L
返回给主动方;步骤6、主动方根据收到步骤5中返回的[记录id,I
L
]对提升树的对应节点进行划分,并将该节点与相应的[参与方id,记录id]信息关联;然后将节点的划分信息与所有被动方同步;步骤7、对每个特征重复步骤1~6至指定的训练次数便可获得一颗完整的决策树。3.根据权利要求2所述的一种纵向联邦学习中投毒攻击的防御方法,其特征在于,所述
步骤1中包括1名主动方(AP),m名被动方和可信第三方(TTP)组成,全体被动方用集合PP={p1,p2.....

【专利技术属性】
技术研发人员:郭晶晶苗可刘玖樽刘志全
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1