基于有权重分层异步联邦学习的可验证安全聚合方法转让专利

申请号 : CN202210519513.8

文献号 : CN114978533B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 秦宝东杨国栋郑东郭瑞

申请人 : 西安邮电大学

摘要 :

本发明属于安全联邦学习技术领域,且公开了基于有权重分层异步联邦学习的可验证安全聚合方法,安全聚合方法主要包括:1)密钥协商;2)客户端执行;3)服务器执行。本发明为了提升联邦学习的安全性和效率,提出了一种有权重分层异步联邦学习的可验证安全聚合方法,服务器可以为每轮参与更新的客户端分配对应的聚合权重,从而提高模型效率;服务器在无法得到其他合法客户端明文参数的条件下,依然能够从聚合的密文中恢复出正确的聚合参数;服务器只需生成并验证一个短签名,便可知每个客户端的待聚合参数是否被恶意篡改,从而可以达到提高联邦学习效率和保证联邦学习安全性的目的。

权利要求 :

1.基于有权重分层异步联邦学习的可验证安全聚合方法,联邦学习中广泛采用深度神经网络作为局部模型,其特征在于:安全聚合方法主要包括以下步骤:

1)密钥协商:客户端与服务器之间相互协商各自的秘钥,用于加解密与签名验证;

1.1)客户端k根据自己选择的秘密值ak,0以及本地数据点的点数nk,分别构造h‑1多项式和

1.2)客户端k将所有客户端的ID分别代入自己构造的多项式Sk(x)和Nk(x)中并发送给服务器,此时服务器对Sk(x)代入客户端k对应的权重值qk,Nk(x)保持不变,然后服务器将客户端ID相同的多项式进行整理得到S(xk)和N(xk),并分别对S(xk)和N(xk)进行求和得到客户端k的秘密份额Sk和本地数据点数份额Nk;

1.3)服务器通过k个客户端的Sk和Nk,由拉格朗日插值法恢复出总秘密S和总数据点数N,选择G1、G2和GT均是阶为素数p的循环群,建立双线性映射e:G1×G2→GT,是G2→G1的一种高效可计算同构,生成双线性群元组 选择一个生成元β←G2\γ *

{1};每个客户端之间共享一个私钥 并计算u=β;选择一个哈希函数H:{0,1} ×*{0,1}→G1;公钥PK=(G,H,β,u)用于服务器验证签名,私钥SK=γ用于客户端生成签名;

2)客户端执行:本地客户端独立更新得到更新参数,然后客户端用自己的秘钥对更新参数进行加密并签名,将加密后的更新参数和签名发送给服务器;

2.1)客户端k从服务器接收最新的ωt,g,ωt,s,flag用于本轮更新;

2.2)客户端先对浅层深度神经网络参数 进行更新得到 然后对更新结果

进行秘密参数掩盖得到 再对掩盖结果 签名得到σk,g;

2.3)最后,将掩盖结果 和签名σk,g发送给服务器,若flag为‘是’,则对深层深度神经网络参数 以同样的方式进行更新、掩盖和签名;若flag为‘否’,则直接退出;

3)服务期执行:中央服务器先聚合所有客户端的签名,生成一个短签名并进行验证,验证通过后再聚合所有密文,并恢复出正确的聚合参数;

3.1)服务器初始化参数ω0和T,确定系统中有K个客户端,并获取公钥PK=(G,H,β,u);

服务器随机选择参与方的集合m,然后进入模型更新;

3.2)当前更新轮数模上Rlp,若结果属于Set集合,则把flag标记为‘是’,否则把flag标记为‘否’;若flag为‘是’,则服务器将最新更新的 和flag发送给客户端k,否则将最新更新的 和flag发送给客户端k;

3.3)每个客户端k在本地独立地执行模型参数更新、掩盖和签名,并发送给服务器,服务器将当前轮次t赋值给客户端k的 若flag为‘是’,则服务器将当前轮次t再赋值给

3.4)当属于m集合的客户端均更新结束后,服务器对所有K个客户端的掩盖结果加入时间加权的权重值qk;若flag为‘是’,则服务器先对所有客户端k的深层签名进行聚合并验证加入权重值qk后的签名,验证通过则对深层更新参数进行安全聚合,否则退出;

3.5)最后,服务器统一对所有客户端k的浅层签名进行聚合并验证加入权重值qk后的签名,验证通过则对浅层更新参数进行安全聚合,否则退出,服务器根据聚合结果更新中央模型参数,并进入下一轮模型更新,直至模型收敛;

其中,联邦学习中服务器在聚合客户端训练参数的时候,不仅根据相应客户端上训练数据的数据点数对每个局部模型的重要性进行加权,而且服务器为每轮参与训练的不同客户端分配合适的权重值qk;由于系统中有些客户端频繁参与模型更新,即勤奋客户端,有些客户端偶尔参与模型更新,即懒惰客户端,所以服务器采用时间加权聚合策略更加合理。

2.根据权利要求1所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:针对深度神经网络的主要特征可知,较浅层的参数数量相对较少且对中心模型的性能更关键,相应地,较浅层的更新频率应该比较深层的更新频率高;因此,模型中浅层和深层的参数可以异步更新,从而减少服务器和客户端之间发送的数据量,这种更新方式称为分层异步更新。

3.根据权利要求1所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:联邦学习系统中,即使客户端不直接上传用户的数据,攻击者仍然能够通过客户端上传的模型参数间接推出客户端标签数据的特征以及数据集的成员信息;暴露的模型参数是由客户端的本地数据集训练得到的,也就是说客户端的本地数据被编码到了模型参数中;然而,攻击者如果可以根据暴露的模型参数构造出相应的解码器,便可以根据客户端的模型参数反向推理出客户端本地的隐私数据,这种攻击方式称为推理攻击。

4.根据权利要求3所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:每个客户端k选取自己的秘密值ak,0且只有自己知道,客户端k根据秘密值ak,0构造一个多项式Sk(x),并将所用客户端的ID分别代入多项式Sk(x)并发送给服务器,然后,客户端k使用秘密值ak,0对更新参数进行掩盖并发送给服务器。

5.根据权利要求4所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:客户端k生成一个K+1维的向量 然后将掩盖的更新结果 放在第一个分量上,并在第k+1个分量上设置一个‘1’,其它分量均为‘0’,即:然后客户端k对掩盖结果进行签名得到

6.根据权利要求4所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:服务器接收到K个客户端的掩盖结果 以及K+1维的向量 和签名信息σk,服务器对每个客户端k加入对应的权重值qk并聚合成一个短签名 然后对短签名σAgg进行验证,判断双线性对Ε1:e(σAgg,β)是否等于双线性对

7.根据权利要求4所述的基于有权重分层异步联邦学习的可验证安全聚合方法,其特征在于:服务器将每个客户端k的权重值qk加入到掩盖结果 中,并进行聚合得到服务器使用协商的总秘钥S对聚合结果进行掩盖抵消,得到抵消结果 服务器根据总数据点数N便可

计算出中央模型安全聚合的结果

说明书 :

基于有权重分层异步联邦学习的可验证安全聚合方法

技术领域

[0001] 本发明属于安全联邦学习技术领域,具体为基于有权重分层异步联邦学习的可验证安全聚合方法。

背景技术

[0002] 随着海量数据成为新时代的发展趋势,机器学习技术正以前所未有的速度应用于各行各业。然而“数据孤岛”问题的出现,使传统机器学习的发展达到了瓶颈,这不仅严重制约了人工智能技术在企业中的应用,而且还造成了宝贵数据资源的浪费。为了有效应对“数据孤岛”带来的数据资源浪费问题,联邦学习技术横空出世,为信息技术发展带来了新的希望。
[0003] 联邦学习通过聚合局部客户端上本地训练的模型来获得全局服务器上的中心模型,但是客户端与服务器之间的通信开销较大。针对该问题,2020年Chen等人提出了一种高效分层异步联邦学习,通过在客户端上分层异步学习和在服务器上时间加权聚合的策略,保留模型高精度的同时,还降低了客户端与服务器之间的通信开销,与此同时,也增加了对分层异步联邦学习隐私保护的难度。联邦学习使用聚合模型参数的方式,虽然在一定程度上保护了本地客户端的数据隐私,但仍存在推理攻击等安全问题。
[0004] 联邦学习系统中有些客户端频繁参与模型更新(勤奋客户端),有些客户端偶尔参与模型更新(懒惰客户端),服务器仅根据客户端上训练数据的数据点数对每个局部模型的重要性进行加权并不合理。在联邦学习参数安全聚合过程中,不仅要考虑更新参数的隐私性,还要考虑参数是否被第三方恶意篡改,更新参数被恶意篡改将导致服务器的聚合结果偏离正确值。
[0005] 为了解决上述问题,本申请提出了基于有权重分层异步联邦学习的可验证安全聚合方法。

发明内容

[0006] 本发明的目的在于提供基于有权重分层异步联邦学习的可验证安全聚合方法,以解决上述背景技术中提出的问题。
[0007] 为了实现上述目的,本发明提供如下技术方案:基于有权重分层异步联邦学习的可验证安全聚合方法,联邦学习中广泛采用深度神经网络作为局部模型,安全聚合方法主要包括以下步骤:
[0008] 1)密钥协商:客户端与服务器之间相互协商各自的秘钥,用于加解密与签名验证;
[0009] 2)客户端执行:本地客户端独立更新得到更新参数,然后客户端用自己的秘钥对更新参数进行加密并签名,将加密后的更新参数和签名发送给服务器;
[0010] 3)服务期执行:中央服务器先聚合所有客户端的签名,生成一个短签名并进行验证,验证通过后再聚合所有密文,并恢复出正确的聚合参数。
[0011] 优选地,针对深度神经网络的主要特征可知,较浅层的参数数量相对较少且对中心模型的性能更关键,相应地,较浅层的更新频率应该比较深层的更新频率高;因此,模型中浅层和深层的参数可以异步更新,从而减少服务器和客户端之间发送的数据量,这种更新方式称为分层异步更新。
[0012] 优选地,深度神经网络的浅层学习适用于不同任务和数据集的一般特征,这意味着深度神经网络中相对较小的一部分参数,即在较浅层的参数,代表了不同数据集的一般特征;深度神经网络的深层学习与特定数据集的特定特征相关,并且大量参数关注特定数据的学习特征。
[0013] 优选地,联邦学习中服务器在聚合客户端训练参数的时候,不仅根据相应客户端上训练数据的数据点数对每个局部模型的重要性进行加权,而且服务器为每轮参与训练的不同客户端分配合适的权重值qk;由于系统中有些客户端频繁参与模型更新,即勤奋客户端,有些客户端偶尔参与模型更新,即懒惰客户端,所以服务器采用时间加权聚合策略更加合理。
[0014] 优选地,联邦学习系统中,即使客户端不直接上传用户的数据,攻击者仍然能够通过客户端上传的模型参数间接推出客户端标签数据的特征以及数据集的成员信息;暴露的模型参数是由客户端的本地数据集训练得到的,也就是说客户端的本地数据被编码到了模型参数中;然而,攻击者如果可以根据暴露的模型参数构造出相应的解码器,便可以根据客户端的模型参数反向推理出客户端本地的隐私数据,这种攻击方式称为推理攻击。
[0015] 优选地,每个客户端k选取自己的秘密值ak,0且只有自己知道,客户端k根据秘密值ak,0构造一个多项式Sk(x),并将所用客户端的ID分别代入多项式Sk(x)并发送给服务器,然后,客户端k使用秘密值ak,0对更新参数进行掩盖并发送给服务器。
[0016] 优选地,客户端k生成一个K+1维的向量 然后将掩盖的更新结果 放在第一个分量上,并在第k+1个分量上设置一个‘1’,其它分量均为‘0’,即:然后客户端k对掩盖结果进行签名得到
[0017] 优选地,服务器接收到K个客户端的掩盖结果 以及K+1维的向量 和签名信息σk。服务器对每个客户端k加入对应的权重值qk并聚合成一个短签名 然后对短签名σAgg进行验证,判断双线性对E1:e(σAgg,β)是否等于双线性对E2:
[0018] 优选地,服务器将每个客户端k的权重值qk加入到掩盖结果 中,并进行聚合得到 服务器使用协商的总秘钥S对聚合结果进行掩盖抵消,得到抵消结果 服务器根据总数据点数N便
可计算出中央模型安全聚合的结果
[0019] 优选地,1)的具体步骤为:
[0020] A、客户端k根据自己选择的秘密值ak,0以及本地数据点的点数nk,分别构造h‑1多项式 和
[0021] B、客户端k将所有客户端的ID分别代入自己构造的多项式Sk(x)和Nk(x)中并发送给服务器,此时服务器对Sk(x)代入客户端k对应的权重值qk,Nk(x)保持不变,然后服务器将客户端ID相同的多项式进行整理得到S(xk)和N(xk),并分别对S(xk)和N(xk)进行求和得到客户端k的秘密份额Sk和本地数据点数份额Nk;
[0022] C、服务器通过k个客户端的Sk和Nk,由拉格朗日插值法恢复出总秘密S和总数据点数N,选择G1、G2和GT均是阶为素数p的循环群,建立双线性映射e:G1×G2→GT, 是G2→G1的一种高效可计算同构,生成双线性群元组 选择一个生成元β←G2\γ *
{1};每个客户端之间共享一个私钥 并计算u=β;选择一个哈希函数H:{0,1} ×*
{0,1}→G1;公钥PK=(G,H,β,u)用于服务器验证签名,私钥SK=γ用于客户端生成签名。
[0023] 优选地,2)的具体步骤为:
[0024] 客户端k从服务器接收最新的ωt,g,ωt,s,flag用于本轮更新;
[0025] 客户端先对浅层深度神经网络参数 进行更新得到 然后对更新结果进行秘密参数掩盖得到 再对掩盖结果 签名得到σk,g;
[0026] 最后,将掩盖结果 和签名σk,g发送给服务器。若flag为‘是’,则对深层深度神经网络参数 以同样的方式进行更新、掩盖和签名;若flag为‘否’,则直接推出。
[0027] 优选地,3)的具体步骤为:
[0028] A、服务器初始化参数ω0和T,确定系统中有K个客户端,并获取公钥PK=(G,H,β,u);服务器随机选择参与方的集合m,然后进入模型更新;
[0029] B、当前更新轮数模上Rlp,若结果属于Set集合,则把flag标记为‘是’,否则把flag标记为‘否’,若flag为‘是’,则服务器将最新更新的 和flag发送给客户端k,否则将最新更新的 和flag发送给客户端k;
[0030] C、每个客户端k在本地独立地执行模型参数更新、掩盖和签名,并发送给服务器,服务器将当前轮次t赋值给客户端k的 若flag为‘是’,则服务器将当前轮次t再赋值给[0031] D、当属于m集合的客户端均更新结束后,服务器对所有K个客户端的掩盖结果加入时间加权的权重值qk;若flag为‘是’,则服务器先对所有客户端k的深层签名进行聚合并验证加入权重值qk后的签名,验证通过则对深层更新参数进行安全聚合,否则退出;
[0032] E、最后,服务器统一对所有客户端k的浅层签名进行聚合并验证加入权重值qk后的签名,验证通过则对浅层更新参数进行安全聚合,否则退出,服务器根据聚合结果更新中央模型参数,并进入下一轮模型更新,直至模型收敛。
[0033] 本发明的有益效果如下:
[0034] 1、本发明为了提升联邦学习的安全性和效率,提出了一种有权重分层异步联邦学习的可验证安全聚合方法,服务器可以为每轮参与更新的客户端分配对应的聚合权重,从而提高模型效率;服务器在无法得到其他合法客户端明文参数的条件下,依然能够从聚合的密文中恢复出正确的聚合参数;服务器只需生成并验证一个短签名,便可知每个客户端的待聚合参数是否被恶意篡改,从而可以达到提高联邦学习效率和保证联邦学习安全性的目的。

附图说明

[0035] 图1为本发明客户端执行流程图;
[0036] 图2为本发明服务器执行流程图;
[0037] 图3为本发明客户端本地更新流程图;
[0038] 图4为本发明模型总图。

具体实施方式

[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 如图1至图4所示,本发明提供一种基于有权重分层异步联邦学习的可验证安全聚合方法,在密钥协商部分中:
[0041] 客户端k构造多项式 和多项式其中xk为客户端k的ID,h为门限值且h≤K,ak,0为秘
密值,nk为本地数据点数。
[0042] 客户端k将所有客户端的ID分别代入自己构造的多项式Sk(x)和Nk(x)中并发送给服务器。此时服务器对Sk(x)代入客户端k对应的权重值qk,Nk(x)保持不变。然后,服务器将客户端ID相同的多项式进行整理得到S(xk)和N(xk),并分别对S(xk)和N(xk)进行求和,得到客户端k的秘密份额Sk和本地数据点数份额Nk。服务器可以通过k个客户端的秘密份额Sk和数据点数份额Nk,由拉格朗日插值法恢复出总秘密S和总数据点数N。
[0043] 取G1、G2和GT是阶为素数p的循环群,满足双线性映射e:G1×G2→GT,g1和g2分别是群G1和G2的生成元, 是G1到G2的可计算同构且
[0044] 1)生成一个双线性群元组 选择一个生成元β←G2\{1};
[0045] 2)每个客户端之间共享一个私钥 并且计算u=βγ;
[0046] 3)选择一个哈希函数H:{0,1}*×{0,1}*→G1;
[0047] 4)输出p,公钥PK=(G,H,β,u)和私钥SK=γ。
[0048] 其中,私钥SK用于每个客户端k对本地更新参数的掩盖结果进行签名,公钥PK用于服务器对聚合签名的验证。
[0049] 为了进一步对发明技术方案内容作解释,具体实施主要分为三个过程:密钥协商过程、客户端执行过程和服务器执行过程。每个过程的实施步骤如下:
[0050] 一、密钥协商
[0051] 设GF(p)是一个有限域,其中p是一个大素数。系统中总共有K个客户端,每个客户端k选择自己的秘密ak,0以及本地数据点数nk,并随机选择秘密参数ak,j,其中k=1,...,K和j=1,...,h‑1,秘密ak,0和随机参数ak,j均是在GF(p)上均匀选取的随机数。构造h‑1次多项式 和 其中xk为客户端k的ID,h为门限值且h≤K。
[0052] 客户端k将自己构造的多项式Sk(x)和Nk(x)发送给服务器,其中x∈{x1,...,xK}表示所有客户端的ID。
[0053]
[0054]
[0055] 服务器接受到来自客户端k的Sk(x)和Nk(x),此时服务器对Sk(x)代入客户端k对应的权重值qk。
[0056]
[0057] 服务器将客户端ID相同的多项式进行整理得到S(xk)和N(xk),其中S(xk)和N(xk)表示客户端ID为xk的多项式整理结果。
[0058]
[0059]
[0060] 然后,服务器分别对S(xk)和N(xk)进行求和,得到客户端k的秘密份额Sk和本地数据点数份额Nk。
[0061]
[0062]
[0063] 服务器通过k个客户端的秘密份额Sk和数据点数份额Nk,由拉格朗日插值法即可恢复出总秘密S和总数据点数N,即: 客户端k的拉格朗日参数
[0064] 签名设置:
[0065] 设G1、G2和GT是阶为素数p的循环群,满足双线性映射e:G1×G2→GT,g1和g2分别是群G1和G2的生成元, 是G1到G2的可计算同构且
[0066] 1)生成一个双线性群元组 选择一个生成元β←G2\{1};
[0067] 2)每个客户端之间共享一个私钥 并且计算u=βγ;
[0068] 3)选择一个哈希函数H:{0,1}*×{0,1}*→G1;
[0069] 4)输出p,公钥PK=(G,H,β,u)和私钥SK=γ。
[0070] 其中,私钥SK用于每个客户端k对本地更新参数的掩盖结果进行签名,公钥PK用于服务器对聚合签名的验证。
[0071] 二、客户端执行
[0072] 结合附图1,客户端具体执行步骤如下:
[0073] 1)客户端k随机选取掩盖参数ak,0,并将γ用作签名的私钥,其中γ为每个客户端之间共享的一个签名私钥且只有客户端知道。
[0074] 2)客户端k从服务器接收最新的ωt,g,ωt,s,flag,用于进行本轮更新。
[0075] 3)客户端k先对浅层DNN权重参数 执行本地更新,便可得到更新结果 更新过程如附图3。
[0076] 4)客户端k对更新结果 进行秘密参数掩盖,以保证浅层更新参数的安全性;然后对掩盖后的结果 进行签名,并将掩盖结果 和签名σk,g发送给服务器。
[0077] 5)若flag被标记为‘是’,则客户端k再对深层DNN权重参数 执行本地更新,更新过程与第3)步相同,便可得到更新结果
[0078] 6)客户端k对更新结果 进行秘密参数掩盖,以保证深层更新参数的安全性;然后对掩盖后的结果 进行签名,并将掩盖结果 和签名σk.s发送给服务器。
[0079] 7)若flag被标记为‘否’,则直接退出,客户端执行结束。
[0080] 参数掩盖与签名过程:
[0081] a)客户端k在GF(p)上均匀选取随机数ak,0用于对更新的结果进行秘密参数掩盖,先对浅层DNN的更新结果进行秘密参数掩盖,即:
[0082] b)客户端k生成一个K+1维的向量 然后将掩盖的更新结果 放在第一个分量上,并在第k+1位上设置一个‘1’,其它位均为‘0’,即:
[0083]
[0084] c)客户端k对掩盖结果进行签名,即:
[0085] d)客户端k把秘密参数掩盖的更新结果 以及生成的K+1维向量 和签名σk,g发送给服务器。
[0086] 对深层DNN更新结果的秘密参数掩盖和签名过程与浅层DNN相同。同样的方式,客户端k可以得到参数掩盖的深层DNN更新结果 以及生成的K+1维向量 和签名σk,s,并都发送给服务器,此时客户端执行结束。
[0087] 三、服务器执行
[0088] 结合附图2,服务器具体执行步骤如下:
[0089] 1)服务器首先对参数ω0,T进行初始化。其中:ω0为DNN模型的初始权重参数,经过T轮模型收敛。
[0090] 2)选择客户端集合,并确定整个系统中有K个客户端。
[0091] 3)服务器获取公钥PK=(G,H,β,u),用于后续聚合签名的验证。
[0092] 4)随机选择参与方的集合m,m表示所有客户端集合K中,因主动或被动退出学习后的客户端集合,且h≤|m|≤K。若|m|<h,则退出学习。其中h为秘密分享的门限值。
[0093] 5)当前轮数模上Rlp,若结果属于Set集合,则把flag标记为‘是’,否则把flag标记为‘否’。Rlp为更新轮数的分组,Set为每组更新轮数中指定深层DNN更新的集合。
[0094] 6)若flag为‘是’,则服务器将最新更新的 和flag发送给客户端k;若flag为‘否’,则服务器将最新更新的 和flag发送给客户端k。
[0095] 7)然后每个客户端k在本地独立地执行模型参数更新,对更新结果进行秘密参数掩盖和签名,并将掩盖结果 和签名σk发送给服务器。
[0096] 8)服务器将当前轮次t赋值给客户端k的 若flag为‘是’,则服务器将当前轮k次t再赋值给 表示tsp 的值在随着客户端k本轮的参与而更新。若客户端k本轮没参k
与,则tsp的值为上一轮的轮次,即未发生更新。
[0097] 9)当属于m集合的客户端均更新结束后,服务器对所有K个客户端的掩盖结果加入时间加权的权重值qk。不属于m集合的客户端k,服务器选择上一轮的掩盖结果并加入权重值 参与更新的客户端越接近当前轮,所拥有的权重值就越大,反之,所拥有的权重值就越小。
[0098] 10)若flag为‘是’,则服务器先对所有客户端k的深层签名进行聚合,并验证加入权重值qk后的签名;若E1,s=E2,s,则对深层更新参数进行安全聚合,否则退出。
[0099] 11)由于浅层DNN参数每轮都需要参与更新,所以最后服务器统一对所有客户端k的浅层签名进行聚合,并验证加入权重值qk后的签名;若E1,g=E2,g,则对浅层更新参数进行安全聚合,否则退出。
[0100] 12)根据聚合结果更新中央模型参数,并进入下一轮模型更新,直至模型收敛。签名验证与掩盖抵消:
[0101] a)服务器接收到K个客户端的掩盖结果 以及K+1维向量 和签名信息(σk,g,σk,s),其中k=1,...,K。
[0102] b)若flag为‘是’,则先对深层DNN的签名进行聚合。聚合过程中,将每个客户端k的权重值qk加入到签名σk,s中,并进行聚合得到
[0103] c)然后再对聚合签名进行验证,判断双线性对是否相等,即
[0104] d)若E1,s=E2,s,则验证通过,将每个客户端k的权重值qk加入到掩盖结果 中,并进行聚合得到 即: 若E1,s≠E2,s,则直接退出。
[0105] e)然后服务器用客户端秘密份额Sk恢复出来的总秘密S,对有权重的掩盖结果进行抵消,得到抵消结果mAgg,s,即带权重的明文聚合结果。
[0106]
[0107] f)服务器便可得到有权重深层DNN参数的安全聚合结果ωt+1,s,其中N是服务器恢复出来的总数据点数。
[0108]
[0109] 接下来,再对浅层DNN的签名σk,g和掩盖结果 进行聚合验证和掩盖抵消,聚合验证和掩盖抵消的方式均与深层DNN相同。若E1,g=E2,g,即验证通过,服务器便可得到有权重浅层DNN的安全聚合结果ωt+1,g。
[0110] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0111] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。