System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种区块链隐私保护联邦学习方法技术_技高网
当前位置: 首页 > 专利查询>贵州大学专利>正文

一种区块链隐私保护联邦学习方法技术

技术编号:40605042 阅读:6 留言:0更新日期:2024-03-12 22:10
本申请公开一种区块链隐私保护联邦学习方法,使用轻量级的加密方案,结合区块链技术实现密文环境下对用户梯度的验证以及全局模型的安全聚合,保证了客户端本地数据的安全性、透明性,防止了服务器的恶意行为,增强了联邦学习的鲁棒性。针对用户的退出和加入问题,设计了一个灵活简单的解决方案,在不需要额外大量的通信开销和保证退出用户的密钥安全的前提下解决了该问题。使用区块链来作为服务器和用户之间的通信媒介,用来记录整个训练过程,防止恶意用户产生恶意行为后进行抵赖。实现了在保持弹性退出的同时,又不影响退出的客户端以及新加入的用户参与未来的训练,并且能够抵御恶意用户发起的投毒攻击和合谋攻击且具有拜占庭容错。

【技术实现步骤摘要】

本申请涉及区块链,尤其涉及一种区块链隐私保护联邦学习方法


技术介绍

1、当今社会正处于一个充斥着各类数据的时代,有效地处理和利用这些数据有望带来显著的回报。因此,深度学习已引起众多研究人员的浓厚兴趣。深度学习技术被广泛研究和应用,高效地利用这些数据可以推动社会向智能化和自动化发展,已经广泛应用于自动驾驶、医疗诊断和图像识别等领域。当前,基于深度学习的应用已经渗透到社会的各个领域,创造了巨大的价值。

2、想要获得一个良好的深度学习模型,离不开海量数据的支持。这些数据一般会从用户那里进行收集。然而,用户的数据往往是敏感的,简单的收集会引发严重的隐私问题。

3、因此,为了解决上述问题,相关学者提出了联邦学习。联邦学习的思想是:数据所有者并不类似传统深度学习范式一样上传自己的隐私数据,而是由服务器将模型下发给数据所有者,由其在本地使用自己的数据训练好模型后,在发送给服务器,由服务器聚合。循环往复,直到模型收敛为止。在这个过程中,用户和服务器之间只共享训练梯度,而不是数据集,而且还能在保护用户隐私的同时训练出高准确率的模型,受到了业内许多研究人员的欢迎。

4、然而,用户上传的本地梯度仍然会造成隐私泄露,攻击者可以从用户的本地梯度中推断出相关数据的标签以及推断出用户的行为习惯等。另一方面,由于传统的联邦学习并不能确保参与模型训练的用户与服务器是诚实的。恶意的用户可能会发起投毒攻击来破坏整个训练过程,使得全局模型难以收敛或留下后门。而且恶意用户与恶意用户,恶意用户与服务器之间还会发起对应的合谋攻击,来获取诚实用户上传的本地梯度,进而推断出诚实用户的隐私数据。因此,在种种威胁之下,对用户上传的本地梯度进行加密和验证迫在眉睫。

5、隐私保护联邦学习也就应运而生。同态加密为传统联邦学习提供了一种可行的解决方案。它允许用户在本地对梯度进行加密后上传到服务器,由服务器在密文状态下进行聚合。但是同态加密的计算开销很大,在现实场景中往往不太实用。同时,差分隐私作为另外一种可行的思路,通过往用户的梯度中加入适当的噪声,确保参与者上传的本地梯度不会泄露个别的隐私信息,但是加入的噪声会对模型的精度造成影响。针对恶意用户的投毒攻击来说,目前使用余弦相似度、聚类算法等来剔除掉恶意梯度,进而确保聚合的全局模型的完整性。而且,在目前的许多安全聚合方案中,未能考虑到参与训练的用户的退出和加入问题。在实际训练场景中,往往会出现因为网络连接失败、带宽受限或本地计算能力有限等导致用户退出,以及新用户试图加入参与训练的问题。

6、因此,提供一个在保持弹性退出的同时,又不影响退出的客户端以及新加入的用户参与未来的训练,并且能够抵御恶意用户发起的投毒攻击和合谋攻击的弹性且具有拜占庭容错的隐私保护联邦学习方法刻不容缓。


技术实现思路

1、本申请提供了一种区块链隐私保护联邦学习方法,实现了在保持弹性退出的同时,又不影响退出的客户端以及新加入的用户参与未来的训练,并且能够抵御恶意用户发起的投毒攻击和合谋攻击的弹性且具有拜占庭容错。

2、有鉴于此,本申请第一方面提供了一种区块链隐私保护联邦学习方法,所述方法包括:

3、s1、服务器与各客户端分别在本地生成一个随机数作为私钥ks,k1,k2,...,kn,并基于私钥生成对应公钥形成公私钥对;

4、s2、服务器与各客户端将公钥上传至区块链网络,并生成服务器与各客户端之间的对称密钥

5、s3、客户端对应用户在本地进行全局训练,得到本地梯度其中,t为训练轮次;

6、s4、密钥分发中心根据当前的训练轮次以及一个随机数生成一个随机私钥rt并分发至各客户端对应用户,使得各客户度用户根据随机密钥rt对本地梯度进行加密,得到首次加密梯度

7、s5、各客户端对应用户通过对称密钥对首次加密梯度进行加密,得到二次加密梯度

8、s6、各客户端对应用户将二次加密梯度上传至区块链网络;

9、s7、服务器从区块链网络中下载对应用户的二次加密梯度,并通过对应的对称密钥对二次加密梯度进行解密,得到首次加密梯度

10、s8、服务器分别计算每个用户的首次加密梯度与上一轮全局梯度的余弦相似度,并基于余弦相似度计算用户的聚合权重,根据用户的聚合权重聚合出新一轮的加密全局模型

11、s9、服务器向区块链网络发送新一轮的加密全局模型使得各客户端从区块链网络中下载对应的加密全局模型

12、s10、各客户端通过私钥对加密全局模型进行解密,得到对应的全局模型

13、2、根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

14、若一个用户未在预设时间内将二次加密梯度上传至区块链网络,或一个用户向服务器发送退出训练请求,则服务器将用户对应对称密钥从在线用户列表中删除。

15、3、根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤s1之前还包括:

16、密钥分发中心向服务器以及各客户端分发生成公私钥的对应参数。

17、4、根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤s8具体包括:

18、服务器分别计算每个用户的首次加密梯度与上一轮全局梯度的余弦相似度,其中,⊙代表求内积,||·||2是l2范数;

19、基于余弦相似度计算用户的聚合权重

20、根据用户的聚合权重聚合出新一轮的加密全局模型rtw0t,

21、本申请第二方面提供一种区块链隐私保护联邦学习方法,所述方法包括:

22、生成一个随机数作为私钥ks,并基于私钥生成对应公钥形成公私钥对;

23、将公钥上传至区块链网络,并生成与各客户端之间的对称密钥

24、从区块链网络中下载对应用户的二次加密梯度并通过对应的对称密钥对二次加密梯度进行解密,得到首次加密梯度

25、分别计算每个用户的首次加密梯度与上一轮全局梯度的余弦相似度,并基于余弦相似度计算用户的聚合权重,根据用户的聚合权重聚合出新一轮的加密全局模型

26、向区块链网络发送新一轮的加密全局模型使得各客户端从区块链网络中下载对应的加密全局模型

27、6、根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

28、若一个用户未在预设时间内将二次加密梯度上传至区块链网络,或接收到一个用户发送的退出训练请求,则将用户对应对称密钥从在线用户列表中删除。

29、7、根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

30、获取密钥分发中心分发生成公私钥的对应参数。

31、8、根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,所述分别计算每个用户的首次加密梯度与上一轮全局梯度的余弦相似度,并基于余弦相似度计算用户的聚合权重,根据用户的聚合权重聚合出新一轮的加密全局模型具体包括:<本文档来自技高网...

【技术保护点】

1.一种区块链隐私保护联邦学习方法,其特征在于,包括:

2.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

3.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤S1之前还包括:

4.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤S8具体包括:

5.一种区块链隐私保护联邦学习方法,其特征在于,包括:

6.根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

7.根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

8.根据权利要求5所述的区块链隐私保护联邦学习方法,其特征在于,所述分别计算每个用户的首次加密梯度rtWit与上一轮全局梯度的余弦相似度,并基于余弦相似度计算用户的聚合权重,根据用户的聚合权重聚合出新一轮的加密全局模型具体包括:

9.一种区块链隐私保护联邦学习方法,其特征在于,包括:

【技术特征摘要】

1.一种区块链隐私保护联邦学习方法,其特征在于,包括:

2.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,还包括:

3.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤s1之前还包括:

4.根据权利要求1所述的区块链隐私保护联邦学习方法,其特征在于,所述步骤s8具体包括:

5.一种区块链隐私保护联邦学习方法,其特征在于,包括:

6.根据权利要求5所述...

【专利技术属性】
技术研发人员:田有亮袁政李径黄珺渤陈小力周洲
申请(专利权)人:贵州大学
类型:发明
国别省市:

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

1