一种基于去中心化函数加密的联邦学习聚合方法及系统与流程

摘要: 本发明涉及一种基于去中心化函数加密的联邦学习聚合方法及系统,属于联邦机器学习。背景技术:1、随着分布式计算和机器学习在医疗、金融、工业等领域的广泛应用,多方协作...
一种基于去中心化函数加密的联邦学习聚合方法及系统与流程

本发明涉及一种基于去中心化函数加密的联邦学习聚合方法及系统,属于联邦机器学习。

背景技术:

1、随着分布式计算和机器学习在医疗、金融、工业等领域的广泛应用,多方协作进行数据统计分析和模型训练已成为常态。然而,如何在协作过程中保护各参与方的本地数据隐私成为了一个严峻的挑战。在跨机构联合训练病理分类模型过程中:多家医疗机构利用历年积累的病理数据,共同训练一个常见的病理智能分类模型。这一协作面临天然的隐私障碍——患者的影像属于个人隐私,各机构不得将其原始数据传输至第三方。在此场景下,各机构的影像工作站作为客户端,在本地利用历史病例影像和病理确诊标签进行模型训练,仅将加密后的本地模型参数上传至聚合服务器进行模型更新。这种"数据不动模型动"的联邦学习(federated learning, fl)范式,从源头上避免了患者个人隐私的跨机构传输。

2、传统的隐私保护技术中,同态加密(homomorphic encryption,he)和多方安全计算(secure multi-party computation,smpc)虽然能缓解隐私风险,但往往会导致高昂的通信开销和漫长的训练时间;而差分隐私(differential privacy,dp)则可能会以牺牲模型精度为代价。为了提升效率并增强安全性,函数加密(functional encryption, fe)被引入到隐私保护计算领域。函数加密是一种强大的公钥加密工具,它允许在加密数据上计算特定的函数,同时确保除了函数输出结果之外,不会泄露任何其他明文信息。其中,多客户端函数加密(multi-client functional encryption,mcfe)能够适应多用户输入场景。在基于mcfe的隐私保护联邦学习(federated learning,fl)中,不同的客户端使用不同的密钥加密本地模型,聚合服务器使用解密密钥获取聚合结果,无法推断出客户端的本地数据。然而,传统的mcfe加密方式存在致命弱点:它通常需要依赖一个完全可信密钥生成中心(key generation center,kgc)来集中管理和生成密钥,这不但带来了单点故障的风险,而且一旦kgc被攻破,所有客户端的数据隐私都将受到威胁。

3、为了消除对密钥生成中心的依赖,去中心化多客户端函数加密(decentralizedmcfe, dmcfe)应运而生。在支持内积功能的dmcfe中,它可以安全地对来自多个用户的数据进行加权求和。dmcfe允许用户独立生成加密密钥,并在没有可信第三方的情况下,安全地将用户的部分解密密钥聚合成解密密钥。由于加密密钥由客户端独立生成,即便发生多个客户端或云服务器被攻破的情况,解密密钥也无法被恢复,从而有效抵御了客户端与服务器之间的共谋攻击。

4、尽管dmcfe在理论上具有显著优势,但现有方案在实际应用中仍存在以下不足:其一,现有dmcfe方案对所有参与方客户端采用等权聚合策略,缺乏对恶意或低质量客户端更新的识别与抑制能力,不同医疗机构的数据质量和标注水平差异悬殊,低质量更新和高质量更新被无差别对待,一旦某家医院机构的训练数据被污染,其梯度更新将直接损害全局模型精度;其二,现有方案的掉线恢复需逐客户端执行掩码重构与剔除,在大规模客户端场景下效率受限;其三,基于双线性配对或mddh假设的函数加密方案在解密阶段需在离散对数空间中搜索计算结果,明文空间和聚合规模受到制约,不同医疗机构的算力和资源不同,极大的影响模型训练的效率。因此,本发明致力于实现一种基于去中心化函数加密的联邦学习聚合方法及系统。

技术实现思路

1、针对现有技术的不足,本发明提供了一种基于去中心化函数加密的联邦学习聚合方法及系统;

2、本发明解决现有dmcfe方案面临的鲁棒性差、客户端掉线恢复效率低、配对/离散对数解密受限三方面的问题。为此,本发明提出一种基于去中心化函数加密的联邦学习聚合方法及系统。本发明在确保dmcfe加解密正确性和安全性的前提下,通过构造特殊dmcfe加密方式为客户端分配权重,利用客户端本地生成的盲化掩码在服务器端密文除法中实现代数自抵消,不但避免了第三方密钥分发中心带来的单点故障与共谋风险,而且有效支持客户端的动态加入与退出,提高dmcfe在联邦学习应用过程中的鲁棒性。

3、本发明技术方案如下:

4、一种基于去中心化函数加密的联邦学习聚合方法,通过云服务器和多个客户端实现,包括:

5、步骤1:系统初始化与密钥分配阶段;包括:首先,进行dmcfe安全参数、同态伪随机数生成器hprg和shamir秘密共享所使用的算法参数的初始化;然后,构造服务器和客户端用于构建安全信道所需要的密钥对;

6、步骤2:客户端的权重计算阶段;包括:在每一轮训练开始时,各客户端首先从云服务器下载最新的全局模型参数,并利用本地私有数据集进行迭代训练;然后客户端将本地模型参数进行加密,并将特殊构造的解密密钥和模型参数密文上传至服务器,服务器收到客户端上传的密文和解密密钥,记录当前客户端集合u1,将全局模型参数与本地模型参数做差值并通过客户端解密密钥计算相似度,根据相似度情况进行权重的分配并下发给客户端;

7、步骤3:掉线容错密钥共享阶段;包括:客户端随机选取种子,通过安全信道使用shamir秘密分享共享种子并接收其他客户端发来的种子和,客户端将收集到的种子和发送给服务器,服务器至少接收到t个客户端发送来的数据,并将当前集合记录为u2∈u1,不在集合当中的客户端权重置为0;

8、步骤4:去中心化的生成解密密钥阶段;包括:客户端用种子通过同态伪随机数生成器hprg构造掩码向量,并使用掩码向量构造部分解密密钥的密文形式,将加密后的部分解密密钥发送给服务器,实现解密密钥的去中心化生成;服务器收到至少t个客户端上传的数据并将其记为集合u3∈u2,不在集合当中的权重置为0;

9、步骤5:模型更新阶段;包括:服务器通过上传的种子和重构当前客户端集合的掩码向量,消除掩码对解密密钥的影响,并通过解密密钥对密文进行解密,得到模型参数并更新,实现安全聚合的操作。

10、根据本发明优选的,步骤1的具体实现过程包括:

11、以dmcfe安全参数为输入,初始化算法输出包含模的乘法群,生成元为,是指模数,,均为大素数,是指整数模的乘法群;是指乘法群的生成元;

12、全域哈希函数,映射到固定长度输出空间的单向密码学哈希函数,以及当前轮次标签;其中,表示任意长度的比特串集合,表示固定长度为比特的比特串集合,是一个全域哈希函数,将任意标签映射到群元素;

13、定义参与训练的客户端总数为,容错门限阈值,用于shamir秘密共享的有限域;定义客户端本地私有种子的最大空间为,计算全局最大种子和上限,使得;是指客户端数量,是指 shamir 秘密共享的有限域模数,也是一个大素数;

14、dmcfe安全参数包括:、、、全域哈希函数、、功能加密私钥;

15、同态伪随机数生成器hprg所使用的算法参数包括:和;

16、shamir秘密共享所使用的算法参数包括:有限域模数、全局最大种子和上限、客户端本地私有种子的最大空间、客户端数量及门限阈值;

17、客户端密钥生成:每个参与的客户端在本地独立生成两组密钥体系;函数加密私钥,构建安全信道的密钥对(),(、)是指客户端的安全信道公私钥对,服务器端生成一对密钥(),(、)是指服务器的安全信道公私钥对,用于构造安全信道;客户端和服务器分别广播各自的公钥以及当前轮次标签。

18、进一步优选的, 执行以下操作:

19、生成两个大素数;

20、计算 ;

21、选取乘法群 的生成元 ,;

22、选取全域哈希函数和普通哈希函数;

23、私钥集合的主私钥、当前轮次标签。

24、根据本发明优选的,步骤2的具体实现过程包括:

25、步骤2.1:服务器发布第轮联邦学习训练任务,并向全网下发当前全局模型参数;

26、步骤2.2:服务器根据标签和轮次,计算全局公共种子:;

27、服务器利用伪随机数生成器prg,生成大小为的rademacher投影矩阵,其中,第次投影的第维元素为:

28、;

29、其中,是指伪随机数生成器;

30、将投影矩阵发送给客户端;

31、客户端根据自身算力与数据状态决定是否参与本轮训练;若参与,则根据本地数据集和服务器下发全局模型进行训练,得到当前本地模型;

32、步骤2.3:客户端通过函数加密对本地模型参数的每一维度进行加密:

33、;

34、其中,,生成相对应的解密密钥:

35、;

36、客户端将密文和解密密钥发送给服务器;

37、步骤2.4:服务器接收客户端发送的密文和解密密钥,记录当前客户端集合为u1≥;服务器将全局模型参数的每一维度的值在密文上进行差值求解:

38、

39、其中,是指对所有客户端某一维度的密文进行解密得到一个差值;对进行模数运算得到结果:

40、;

41、服务器利用约翰逊-林登斯特劳斯引理的无偏估计特性,将个差值标量求平方并取均值即相似度:

42、;

43、服务器引入平滑超参数,> 0,采用softmax负向映射函数将离群距离转化为合法的归一化聚合权重:

44、;

45、其中,是数学中指数函数的标准记法,表示以自然常数e为底的幂运算,即;

46、服务器对客户端的权重进行加密,并将发送给客户端集合u1。

47、根据本发明优选的,步骤3的具体实现过程包括:

48、步骤3.1:种子生成:客户端根据空间约束生成本地私有种子;

49、步骤3.2:构造shamir多项式:客户端在有限域上随机选取个系数,构造隐藏的多项式:

50、;

51、步骤3.3:分发秘密切片:客户端计算发给其他客户端的种子份额:

52、;

53、并通过加密发送给其他客户端;

54、步骤3.4:计算部分种子和:客户端接收到其他客户端发送来的种子份额并计算份额和:

55、;

56、其中,是指其他客户端发送给客户端的种子份额;

57、步骤3.5:上传部分种子和:客户端将进行加密,并将发送给服务器,服务器通过公钥进行解密,并记录当前集合为u2u1≥,对比两个集合中的客户端,将不在u2集合当中的客户端的权重置为0。

58、根据本发明优选的,步骤4的具体实现过程包括:

59、步骤4.1:掩码生成:客户端根据本地私有种子,构造掩码向量,是指同态伪随机数生成器;

60、同态性质保障:基于指数运算规则,对于任意种子和,成立;

61、步骤4.2:解密密钥的构造:客户端根据本地权重构造用于内积计算的部分解密密钥;

62、步骤4.3:客户端将部分解密密钥上传至服务器,服务器记录当前客户端集合为u3u2≥。

63、根据本发明优选的,步骤5的具体实现过程包括:

64、步骤5.1:服务器检查u3集合是否符合秘密分享重构条件,秘密分享重构条件是指,为 shamir  门限阈值,通过拉格朗日插值法重构全局种子和:

65、;

66、其中,是指所有客户端本地私有种子之和,是指服务器实际持有的各客户端上传的种子份额和,通过各客户端的种子份额和结合拉格朗日插值法重构出全局种子和;

67、步骤5.2:通过全局种子生成全局掩码向量r:

68、;

69、步骤5.3:服务器将集合u3中所有客户端的每一维度j的部分解密密钥连乘,并除以全局掩码向量,得到:

70、;

71、其中,是指客户端本地模型参数密文进行聚合过程所需要的解密密钥;

72、步骤5.4:服务器使用对客户端本地模型参数密文进行解密:

73、;

74、;

75、其中,指的是对所有客户端的每一维度密文进行聚合的中间结果;指的是最终求解出来的每一维度的明文和;

76、将得到的结果进行全局模型的更新:

77、 ;

78、其中,是指最后更新完成的全局模型参数,是指某一个维度的模型参数。

79、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于去中心化函数加密的联邦学习聚合的步骤。

80、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于去中心化函数加密的联邦学习聚合方法的步骤。

81、一种基于去中心化函数加密的联邦学习聚合系统,包括:

82、系统初始化与密钥分配模块,被配置为:首先,进行dmcfe安全参数、同态伪随机数生成器hprg和shamir秘密共享所使用的算法参数的初始化;然后,构造服务器和客户端用于构建安全信道所需要的密钥对;

83、客户端的权重计算模块,被配置为:在每一轮训练开始时,各客户端首先从云服务器下载最新的全局模型参数,并利用本地私有数据集进行迭代训练;然后客户端将本地模型参数进行加密,并将特殊构造的解密密钥和模型参数密文上传至服务器,服务器收到客户端上传的密文和解密密钥,记录当前客户端集合u1,将全局模型参数与本地模型参数做差值并通过客户端解密密钥计算相似度,根据相似度情况进行权重的分配并下发给客户端;

84、掉线容错密钥共享模块,被配置为:客户端随机选取种子,通过安全信道使用shamir秘密分享共享种子并接收其他客户端发来的种子和,客户端将收集到的种子和发送给服务器,服务器至少接收到t个客户端发送来的数据,并将当前集合记录为u2∈u1,不在集合当中的客户端权重置为0;

85、去中心化的生成解密密钥模块,被配置为:客户端用种子通过同态伪随机数生成器hprg构造掩码向量,并使用掩码向量构造部分解密密钥的密文形式,将加密后的部分解密密钥发送给服务器,实现解密密钥的去中心化生成;服务器收到至少t个客户端上传的数据并将其记为集合u3∈u2,不在集合当中的权重置为0;

86、模型更新模块,被配置为:服务器通过上传的种子和重构当前客户端集合的掩码向量,消除掩码对解密密钥的影响,并通过解密密钥对密文进行解密,得到模型参数并更新,实现安全聚合的操作。

87、本发明的有益效果为:

88、1、本发明通过去中心化多客户端函数加密(dmcfe)彻底消除了对传统可信密钥生成中心(kgc)的依赖,有效避免了单点故障和中心化管理带来的安全风险。各客户端在本地独立生成加密密钥,即使多个客户端与云服务器发生共谋攻击,也无法恢复出单个客户端的原始私钥或明文数据,从而在分布式环境下构建了更强健的隐私防护体系。

89、2、针对联邦学习中客户端易掉线或动态加入的鲁棒性难题,本发明巧妙结合了shamir秘密共享与门限阈值机制。系统允许服务器在仅获得部分客户端(不少于门限值)上传的种子份额时,仍能重构全局掩码并完成解密,确保了在复杂的网络环境下训练任务能够持续、稳定地运行。

90、3、本发明利用同态伪随机数生成器(hprg)的代数同态特性,设计了一套掩码消除机制。客户端使用本地种子生成的掩码对解密密钥进行盲化,而服务器在聚合阶段通过简单的密文乘除运算,利用“种子加法对应掩码乘法”的性质实现掩码在代数层面的自抵消,这不仅简化了聚合流程,还显著提升了加解密的运算效率。

91、4、本发明利用贡献值机制,为不同客户端分配不同权重,能够有效避免恶意客户端对全局模型的破坏。服务器通过密文运算评估客户端梯度与全局共识的偏差程度,自动为贡献较大的节点分配高权重,并让偏离共识的离群节点权重指数级衰减,从而在保护隐私的同时提升了全局模型的泛化性能。