CN117914476A - 一种支持隐私和全局保护的可验证联邦学习安全聚合方法 - Google Patents
一种支持隐私和全局保护的可验证联邦学习安全聚合方法 Download PDFInfo
- Publication number
- CN117914476A CN117914476A CN202311832247.5A CN202311832247A CN117914476A CN 117914476 A CN117914476 A CN 117914476A CN 202311832247 A CN202311832247 A CN 202311832247A CN 117914476 A CN117914476 A CN 117914476A
- Authority
- CN
- China
- Prior art keywords
- global
- online user
- gradient
- ciphertext
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 109
- 238000004220 aggregation Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012795 verification Methods 0.000 claims abstract description 84
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 76
- 238000003491 array Methods 0.000 claims description 29
- 238000012549 training Methods 0.000 claims description 19
- 230000004931 aggregating effect Effects 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000005242 forging Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种支持隐私和全局保护的可验证联邦学习安全聚合方法,一方面在线用户使用随机数组隐藏局部梯度密文,使服务器无法直接得到局部模型梯度,但又能得到正确的梯度聚合值,提高了用户的安全性;另一方面采用双掩码技术和秘密共享方法,在线用户对随机数组添加双重掩码,服务器再根据用户的在线情况恢复出不同掩码得到第一聚合值并解除得到全局梯度,使方法能容忍一定数量的用户掉线,贴合实际网络场景;又一方面,服务器采用pailier同态算法对全局梯度加密,保证了服务器的安全性及全局模型的可用性;还一方面,各在线用户生成验证信息并聚合得到第二聚合值验证全局梯度的正确性,防止恶意服务器伪造验证信息,提高全局模型的可信度。
Description
技术领域
本发明属于联邦学习和密码学的技术领域,具体涉及一种支持隐私和全局保护的可验证联邦学习安全聚合方法,用于大数据和分布式机器学习背景下保护用户端的数据隐私、保护服务器端模型隐私以及提高模型聚合结果的可信度。
背景技术
现如今,人工智能技术给人们的生产生活带来了极大的便利,而人工智能技术的迅猛发展依赖于互联网产生的海量数据。但是,随着人们日益重视数据隐私,各种隐私法规不断完善,数据只能分散在不同的行业或者领域,阻碍了数据的直接共享和应用,形成了“数据孤岛”,限制了各行业或领域的发展。然而,联邦学习的出现解决了“数据孤岛”和隐私保护二者之间的问题;联邦学习在各参与方不交换本地数据的前提下,通过上传局部模型的参数安全地协作训练出全局模型;但是,这种方式并不是绝对安全的,有研究发现攻击者可以通过截取并分析局部模型的信息从而泄露用户的隐私数据。
联邦学习的主要目的是保护用户的梯度数据,服务器除了聚合后的梯度,无法直接或间接地获取关于任何本地梯度的信息。为了增强联邦学习的安全性,研究者们从不同的角度考虑,在联邦学习的协议或方案中结合密码学等隐私保护的技术,保护上传给服务器的模型参数。2017年Keith Bonawitz等人设计了一种安全聚合(Secure Aggregation,SA)的协议,该协议不仅能安全地聚合局部模型参数,而且能容忍一定数量的用户掉线;但是该协议中使用的密钥协商算法会带来很大的通信代价,因此,Kalikinkar Mandal等人借助第三方服务器解决了这一问题,减少了通信成本。但有时候聚合服务器由于网络限制等客观因素或在恶意的情况下,会出现聚合出不完整或不正确地全局模型;因此,除了保护模型梯度的隐私性之外,验证来自服务器的聚合结果也同样重要。
验证方案的目的在于用户需要检验服务器端返回的全局模型的正确性和完整性,提高模型的可信度。在现有的验证方案中,通常会利用密码学中的双线性配对、模糊承诺、哈希等方式来实现验证方案。如在VerifyNet的方案中,为了防止服务器伪造聚合结果欺骗用户,其使用双线性对和伪随机数生成来实现验证方案;又如在VeriFL的方案中,为了适应用户量较大的场景,其使用线性哈希函数和模糊承诺相结合的方式避免了额外的通信开销。
在实现局部模型参数安全聚合方面,为了模型参数的安全,通常需要使用秘密共享、同态加密等密码学的工具对其进行加密处理以增强协议的安全性;但是这种方式会给用户和服务器带来额外的通信和计算代价。在验证聚合结果的正确性和完整性方面,已经存在的方案中可能出现以下问题:一是验证代价过高(如VerifyNet),由于用户的计算能力有限,并且验证工作不是联邦学习中的主要目的,因此应该降低验证过程的开销。二是在验证过程中容易泄露验证信息,要防止验证过程中的验证信息被恶意服务器或用户端伪造。在保护服务器端聚合结果的方面,在已有的聚合协议中,大部分只考虑了对用户的隐私数据安全和局部模型安全,但是站在服务器的角度,保护聚合后的全局模型或参数也同样重要。一旦全局模型泄露给恶意用户或者攻击者,就可能会影响后续的模型训练,更严重的情况下会造成隐私数据的泄露。尽管现有的协议和方案分别在局部模型安全聚合的方面、验证聚合结果的正确性和完整性方面、对全局模型的保护方面均有一定的进展,但是现有的方案中较少融合这三方面的问题去设计一个完整的可验证的安全聚合方案。
发明内容
本发明针对用户隐私数据安全、局部模型隐私泄露、全局模型安全使用以及聚合结果验证等问题,提供一种支持隐私和全局保护的可验证联邦学习安全聚合方法,通过在服务器安全地聚合用户的局部模型梯度,并且用户对聚合结果进行正确性验证来提高模型的可信度;同时考虑服务器的安全性,在保护全局模型梯度的前提下,进行局部模型梯度的更新,保证了联邦学习的安全可靠。
本发明第一目的在于提供一种支持隐私和全局保护的可验证联邦学习安全聚合方法,包括下述步骤:
服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
若通过验证,则在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
若未达到则在线用户根据全局梯度密文更新局部梯度密文,使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
作为优选的技术方案,所述开始联邦学习任务时,服务器使用Paillier同态算法的密钥生成算法KeyGen根据给定的安全参数ν生成服务器公钥pk和服务器私钥sk,将服务器公钥pk分发给各在线用户,服务器私钥sk本地保存;
服务器初始化,使用Paillier同态算法的加密算法Enc根据服务器公钥pk对初始全局梯度g0进行加密得到全局梯度密文E(g0)。
作为优选的技术方案,在线用户i接收到联邦学习任务后,计算出密文状态下的全局模型为E(θ),并使用自身n维数据集进行训练,得到局部梯度密文E(gi);
在线用户i随机生成一组n维随机数组并使用随机数组隐藏局部梯度得到隐藏值E(ai),隐藏公式为:
E(ai)=E(gi)·E(ri)=E(gi+ri)
其中,E(gi)为在线用户i的局部梯度密文,E(ri)为在线用户i使用服务器公钥pk加密随机数组的密文。
作为优选的技术方案,所述各在线用户基于DH密钥交换算法使用伪随机数算法对随机数组添加双重掩码,具体为:
基于DH密钥交换算法生成在线用户i和在线用户j之间的共享密钥si,j;
使用伪随机数算法基于共享密钥si,j生成在线用户i的第一重掩码PRG(bi)及在线用户i和在线用户j之间协商的第二重掩码PRG(si,j);
使用生成的双重掩码对在线用户i的随机数组进行保护得到掩码随机数组
将掩码随机数组上传服务器,并使用秘密共享技术将第一重掩码PRG(bi)和第二重掩码PRG(si,j)的一部分份额共享给其他在线用户保存;
所述服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,具体为:
设有m个在线用户成功上传掩码随机数组服务器获取掉线用户集合U′并聚合这m个掩码随机数组/>为:
若用户i在线,则其他在线用户将正常发送PRG(bi)的份额,并由服务器聚合出在线用户i的第一重掩码PRG(bi),即进一步得到第一聚合值:
若用户i掉线,则其他在线用户将会发送PRG(si,j)的份额,在服务器聚合时消除多余的第二重掩码,即∑i∈U′,i<jPRG(si,j)-∑i∈U′,i>jPRG(si,j),保证服务器只获得所有随机数组的聚合值得到第一聚合值:
作为优选的技术方案,所述服务器解密并聚合各在线用户上传的隐藏值,并使用第一聚合值解除隐藏值得到聚合后的全局梯度,具体为:
服务器对在线用户上传的隐藏值E(ai)进行解密,得到隐藏值明文:
au←Dec(sk,E((ai)))
其中,Dec()为Paillier同态算法中的解密算法,ai为在线用户i的隐藏值明文;
聚合各在线用户的隐藏值明文得到隐藏值聚合值
使用第一聚合值r解除隐藏值聚合值,得到聚合后的全局梯度g=a-r;
服务器使用服务器公钥pk加密全局梯度,加密公式为:
E(g)←Enc(pk,g)
其中,E(g)为全局梯度密文;
更新全局梯度密文E(g)、学习率α及当前在线用户数m并发送给各在线用户。
作为优选的技术方案,各在线用户借助可信第三方生成的公钥利用第二聚合值和全局梯度密文验证全局梯度的正确性,具体为:
可信第三方随机选取大素数p′和q′,计算n=p′q′和选择和/>互质的整数e生成公钥pk′=(n,e),并公开给所有在线用户;
所有在线用户依据自身的局部梯度密文E(gi)和公钥pk′,生成验证信息Vi:
Vi=E(gi)emodn,1≤i≤m
其中,gi为在线用户i的局部梯度,E(gi)为在线用户i的局部梯度密文,m为在线用户数;
将所有在线用户的验证信息进行聚合累乘得到第二聚合值V,公式为:
在线用户i利用第二聚合值和全局梯度密文验证全局模型的正确性,验证公式为:
(V=E(g)e)?"正确":"错误"
若验证公式输出正确,则通过验证,服务器正确聚合在线用户上传的局部梯度;
若验证公式输出错误,则未通过验证,在线用户停止联邦学习。
作为优选的技术方案,所述在线用户根据全局梯度密文更新局部梯度密文,具体为:
在线用户利用服务器公开的全局梯度密文E(g)、学习率α以及当前在线用户数m,计算出密文下的全局模型E(θl):
其中,l表示联邦学习任务进行的次数,1≤l≤k,k为最大学习次数,为当前在线用户数据集大小之和,di为当前在线用户i的数据集大小;
在线用户i利用密文下的全局模型E(θl)和自身n维数据集得到来更新局部梯度密文:
在线用户i将n维的局部梯度初始化为gi=(0,0,…,0);
利用Paillier同态算法的加法同态性,计算密文下的全局模型的预测值E(y*):
其中,为在线用户i在第l次联邦学习中的第j维的全局模型,/>为在线用户i的第j维的本地数据,θ0为第0维全局模型;
根据全局模型的预测值,在线用户i计算误差E(erri):
其中,为在线用户i的预测值的密文,E(-yi)为在线用户i的实际值的密文;
更新在线用户i第0维数据的局部梯度为E(g0)=E(erri);更新在线用户i第j维数据的局部梯度E(gj)为:
其中,为更新前的第j维的局部梯度密文,/>为在线用户i的第j维数据,为更新后的第j维的局部梯度密文。
第二目的在于提供一种支持隐私和全局保护的可验证联邦学习安全聚合系统,包括任务发布模块、局部训练模块、梯度隐藏模块、第一聚合模块、梯度聚合模块、梯度验证模块、模型判优模块及局部更新模块;
所述任务发布模块用于服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
所述局部训练模块用于各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
所述梯度隐藏模块用于各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
所述第一聚合模块用于对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
所述梯度聚合模块用于服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
所述梯度验证模块用于各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
当梯度验证模块验证全局梯度正确性通过时,所述模型判优模块用于在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
当模型判优模块判断全局模型未达到最优解时,所述局部更新模块用于在线用户根据全局梯度密文更新局部梯度密文,并继续调用梯度隐藏模块使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
第三目的在于提供一种电子设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法。
第四目的在于提供一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现上述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法。
本发明与现有技术相比,具有如下优点和有益效果:
1、增强了用户的安全性
本发明既没有将数据上传到服务器进行模型更新,也没有将局部模型梯度直接上传给服务器,而是利用paillier算法的同态性,使用随机数组将密文下的局部模型梯度经过简单隐藏后才将其上传给服务器,使得服务器无法直接得到每个用户的局部模型梯度,但是又能够得到正确的梯度聚合值,提高了用户的安全性。
2、增加了服务器的安全性
在现有的大多数方案中,服务器均直接将全局模型梯度公开给用户进行本地更新,这对于服务器来说是不够安全的;因此,本发明采用pailier同态加密对全局模型梯度进行加密,而pailier同态加密的加法和标量乘法可以满足局部模型更新的需求,既增加了服务器的安全性,又保证了全局模型的可用性。
3、更加适用于实际场景,支持用户掉线的场景
为了使模型更加符合现实场景,本发明在聚合随机数组时考虑了用户掉线的问题,采用双掩码技术和秘密共享隐藏并上传了每个用户的随机数组,由服务器进行安全聚合,通过这种方式能容忍一定数量的用户掉线,更加符合实际的网络场景。
4、提高了模型的可信度,实现对聚合结果的验证
本发明受到RSA算法中乘法同态性原理的启发,设计了验证方案。而现有的验证方案多数采用双线性对或是线性哈希的方法,针对的是加法的验证,并且现有方案中,恶意服务器可以通过形式化伪造验证信息。而本发明针对的是乘法的验证,并且由于公钥的保护,验证信息相对来说比较安全。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种支持隐私和全局保护的可验证联邦学习安全聚合方法的流程图。
图2为本发明实施例中一种支持隐私和全局保护的可验证联邦学习安全聚合方法中参与方聚合示意图。
图3为本发明实施例中一种支持隐私和全局保护的可验证联邦学习安全聚合系统的结构图。
图4为本发明实施例中电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
在介绍整体的技术方案之前,首先对一些技术细节和数学符号作如下说明:
1、Paillier同态算法
加法同态指的是对明文进行环上的加法和乘法运算再加密,与加密后对密文进行相应的运算结果是等价的。Paillier同态算法是一种满足加法同态加密的算法,能够实现加法和数乘同态。Paillier同态算法主要由四种算法组成,表示为HE=(KeyGen,Enc,Dec,Eval);其中每个算法的定义如下:
(1)密钥生成算法KeyGen:KeyGen(1v)→(sk,pk)
利用给定的安全参数v,随机选择两个大素数p,q,满足gcd(pq,(p-1)(q-1))=1且p,q长度相等;计算N=pq和最小公倍数λ=lcm(p-1,q-1);然后随机选择整数定义函数/>然后计算μ=(L(gλmodN2))-1mod N,得到公钥pk=(N,g),私钥sk=(λ,μ),其中,/>为阶数为N2-1的乘法循环群,其中包含了N2-1个与N2互质的整数。
(2)加密算法Enc:Enc(pk,m,r)→c
加密算法简写为E(),以公钥pk、随机数和明文m作为输入,然后计算密文c=gmrNmodN2,并输出密文c,其中,/>为阶数为N-1的乘法循环群。
(3)解密算法Dec:Dec(sk,c)→m
解密算法简写为D(),以密钥sk和密文c作为输入,计算明文m=L(cλmodN2)·μmodN并输出。
(4)密文操作阶段Eval:
除了上述加解密过程,Paillier同态算法还支持对密文进行同态加法和标量乘法计算;其中,同态加法为:对于明文m1,m2,有 定义为加法同态的运算符号;标量乘法为:对于明文m3和标量a,有/> 定义为标量乘法的运算符号。
2、梯度下降算法
在机器学习模型训练过程中,定义训练数据集为其中为机器学习模型的输入,yi=f(θ,xi)为机器学习模型的输出,f是回归函数,θ是机器学习模型,n是xi的维度,m是数据集D的大小。训练过程就是在给定D和f的情况下学习模型θ。训练过程中,要令损失函数最小来得到最优模型θ。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代更新模型,得到最小化的损失函数和模型参数值;其中损失函数为:
那么机器学习模型θ可以迭代为:
其中,i为迭代次数,θ0为随机化参数,α为学习率,为梯度。
在联邦学习任务中,涉及多个参与方的机器学习模型训练:设有m个在线用户参与训练,每个在线用户有数据集Di,i∈[1,m],服务器希望在所有数据集D=D1∪D2∪…∪Dm上共同训练一个机器学习模型θ;每个在线用户在得到全局模型θ后,通过本地数据集Di计算本地梯度其中,ei=f(θ,xi)-yi;
那么,全局梯度就可以表示为最后,利用全局梯度更新全局模型:/>
3、RSA算法的乘法同态性
RSA算法是一种非对称加密算法,通过生成的公钥和私钥来对明文密文进行加密解密。RSA算法由以下算法定义:
(1)密钥生成算法KeyGen:
随机选择两个尽量大的不相等的素数p′和q′;计算n=p′q′,n的长度即为密钥长度,一般为1024bit;计算n的欧拉函数然后,随机选择一个整数e,使得e和/>互质,且/>接着,根据/>计算e关于/>的模逆d,最后生成公钥pk′=(n,e)和私钥sk′={n,d}。
(2)加密算法Enc:
使用公钥pk′=(n,e)将明文m加密得到密文c,加密过程如下:
c=Enc(m)=memod n
(3)解密算法Dec:
使用私钥sk′={n,d}将密文c解密成明文m,解密过程如下:
m=Dec(c)=cdmod n
在RSA算法中,对于明文E(m1)和E(m2)具有乘法同态性,即:
由此本发明受到RSA算法的乘法同态性的启发,借助可信第三方设计验证方案,以验证密文形式下聚合结果的正确性。
4、DH算法
DH算法是一种密钥交换的算法,其允许通信双方在不直接传递密钥的情况下协商出一个共享的密钥;通信双方A和B协商出共享密钥S的过程如下:
A和B协商将要使用的大素数P和原根G,P和G是A、B共享的信息,且满足2≤G≤P-1;
A生成一个随机数a作为私钥,然后对a进行幂模运算得到公钥α:α=Gamod P;
A将公钥α发送至B;
B生成一个随机数b作为私钥,然后对b进行幂模运算得到公钥β:β=Gbmod P;
B将公钥β发送给A;
A已知G、P、α、β、a,然后计算密钥S1:S1=βamod P;
B已知G、P、α、β、b,然后计算密钥S2:S2=αbmod P;
最后,A和B共享了密钥S:
S=S1=(Gb)amod P=(Ga)bmod P=S2
该算法在本发明中用在在线用户对随机数组添加双重掩码的场景下,这样就可以在服务器聚合随机数组时抵消第二重掩码。
如图1、2所示,本实施例一种支持隐私和全局保护的可验证联邦学习安全聚合方法的参与方包括一个服务器和m个在线用户,方法包括下述步骤:
S1、服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数等参数开始联邦学习任务;
S2、各在线用户接收全局梯度密文、学习率及当前在线用户数等参数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
S3、各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
S4、对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
S5、服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数等参数并广播给各在线用户;
S6、各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
S7、若通过验证,则在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
S8、若未达到则在线用户根据全局梯度密文更新局部梯度密文,重复执行步骤S3-S7直至全局模型达到最优解。
进一步的,在开始联邦学习任务时,服务器使用Paillier同态算法的密钥生成算法KeyGen根据给定的安全参数v生成服务器公钥pk和服务器私钥sk,将服务器公钥pk分发给各在线用户,服务器私钥sk本地保存;
服务器初始化,使用Paillier同态算法的加密算法Enc根据服务器公钥pk对初始全局梯度g0进行加密得到全局梯度密文E(g0)。
进一步的,在线用户i接收到联邦学习任务后,计算出密文状态下的全局模型为E(θ),并使用自身n维数据集进行训练,得到局部梯度密文E(gi);
为保护用户的个人隐私,确保服务器仅能得到聚合后的梯度值,而不能得到单个用户的局部梯度,本发明通过使用随机数组来进行隐藏局部梯度,具体为:
在线用户i随机生成一组n维随机数组用于保护即将上传给服务器的局部梯度;使用随机数组隐藏局部梯度得到隐藏值E(ai),隐藏公式为:
E(ai)=E(gi)·E(ri)=E(gi+ri)
其中,E(gi)为在线用户i的局部梯度密文,E(ri)为在线用户i使用服务器公钥pk加密随机数组的密文。
进一步的,为了使服务器能正确聚合梯度,但是无法得到每一个用户的局部梯度,因此不能直接将随机数组发给服务器,故本申请在线用户保留自身生成的随机数组并基于DH密钥交换算法使用伪随机数算法对随机数组添加双重掩码,以保护随机数组,具体为:
基于DH密钥交换算法生成在线用户i和在线用户j之间的共享密钥si,j;
使用伪随机数算法基于共享密钥si,j生成在线用户i的第一重掩码PRG(bi)及在线用户i和在线用户j之间协商的第二重掩码PRG(si,j);
使用生成的双重掩码对在线用户i的随机数组进行保护得到掩码随机数组
式中,PRG(bi)为在线用户i生成的第一重掩码,∑i<jPRG(si,j)-∑i>jPRG(si,j)为除了在线用户i以外的其余所有在线用户j和在线用户i之间协商的第二重掩码,如果j>i,那么在线用户i就加上二者之间协商的随机数,否则,就减去二者之间协商的随机数。由于用户两两之间使用的是DH密钥交换算法协商的随机数,因此二者互相协商的随机数相等,即si,j=sj,i,所以后续服务器聚合掩码随机数组时可以直接消除第二重掩码。
将掩码随机数组上传服务器,并使用秘密共享技术将第一重掩码PRG(bi)和第二重掩码PRG(si,j)的一部分份额共享给其他在线用户保存;
由于用户i可能存在掉线的情况,因此服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,具体为:
设有m个在线用户成功上传掩码随机数组服务器获取掉线用户集合U′并聚合这m个掩码随机数组/>为:
若用户i在线,则其他在线用户将正常发送PRG(bi)的份额,并由服务器聚合出在线用户i的第一重掩码PRG(bi),即进一步得到第一聚合值:
若用户i掉线,则其他在线用户将会发送PRG(si,j)的份额,在服务器聚合时消除多余的第二重掩码,即-∑i∈U′,i<jPRG(si,j)+∑i∈U′,i>jPRG(si,j),保证服务器只获得所有随机数组的聚合值得到第一聚合值:
通过这种双掩码方式,能保证服务器只获得所有随机数的聚合值,同时也能防止因用户掉线而无法正确聚合随机数ri的问题。
进一步的,服务器解密并聚合各在线用户上传的隐藏值,并使用第一聚合值解除隐藏值得到聚合后的全局梯度,具体为:
基于Paillier同态算法服务器对在线用户上传的隐藏值E(ai)进行解密,得到隐藏值明文:
ai←Dec(sk,E((ai)))
其中,Dec()为Paillier同态算法中的解密算法,ai为在线用户i的隐藏值明文;
聚合各在线用户的隐藏值明文得到隐藏值聚合值
使用第一聚合值r解除隐藏值聚合值,得到聚合后的全局梯度g=a-r;
服务器使用服务器公钥pk加密全局梯度,加密公式为:
E(g)←Enc(pk,g)
其中,E(g)为全局梯度密文;
更新全局梯度密文E(g)、学习率α及当前在线用户数m等参数并发送给各在线用户。
进一步的,为了保证全局梯度的正确性和完整性,用户需在每一轮聚合结束后均需对聚合结果进行验证,因此本申请基于RSA算法原理,借助可信第三方生成的公钥利用第二聚合值和全局梯度密文验证全局梯度的正确性,具体为:
可信第三方随机选取大素数p′和q′,计算n=p′q′和选择和/>互质的整数e生成公钥pk′=(n,e),并公开给所有在线用户,公开参数后,可信第三方就下线了,不参与后续的验证工作;
所有在线用户依据自身的局部梯度密文E(gi)和公钥pk′,生成验证信息Vi:
Vi=E(gi)emodn,1≤i≤m
其中,gi为在线用户i的局部梯度,E(gi)为在线用户i的局部梯度密文,m为在线用户数;
将所有在线用户的验证信息进行聚合累乘得到第二聚合值V,公式为:
在线用户i利用第二聚合值和全局梯度密文验证全局模型的正确性,验证公式为:
(V=E(g)e)?"正确":"错误"
若验证公式输出正确,则通过验证,服务器正确聚合在线用户上传的局部梯度;
若验证公式输出错误,则未通过验证,在线用户停止联邦学习。
进一步的,在通过验证后,在线用户利用全局梯度密文计算全局模型,并判断是否达到最优解,若未达到,则在线用户根据全局梯度密文更新局部梯度密文,具体为:
在线用户利用服务器公开的全局梯度密文E(g)、学习率α以及当前在线用户数m等参数,计算出密文下的全局模型E(θl):
其中,l表示联邦学习任务进行的次数,1≤l≤k,k为最大学习次数,为当前在线用户数据集大小之和,do为当前在线用户i的数据集大小;/>
在线用户i利用密文下的全局模型E(θl)和自身n维数据集得到来更新局部梯度密文,包括:
在线用户i将n维的局部梯度初始化为gi=(0,0,…,0);
利用Paillier同态算法的加法同态性,计算密文下的全局模型的预测值E(y*):
其中,为在线用户i在第l次联邦学习中的第j维的全局模型,/>为在线用户i的第j维的本地数据,θ0为第0维全局模型;
根据全局模型的预测值,在线用户i计算误差E(erri):
其中,为在线用户i的预测值的密文,E(-yi)为在线用户i的实际值的密文;
更新在线用户i第0维数据的局部梯度为E(g0)=E(erri);更新在线用户i第j维数据的局部梯度E(gj)为:
其中,为更新前的第j维的局部梯度密文,/>为在线用户i的第j维数据,为更新后的第j维的局部梯度密文。
更新局部梯度密文后,在线用户继续在本地数据集的基础上进行联邦学习任务,直至全局模型达到最优解。
综上所述,本发明为了保证用户局部梯度的安全聚合,使服务器只得到聚合后的梯度,而无法得到单个用户的梯度,保证用户端的数据隐私,在服务器安全聚合局部梯度时,让每个用户对随机数组添加双重掩码来隐藏局部梯度密文,并将隐藏后的局部梯度密文上传服务器;随后所有在线用户将随机数组的聚合值发送给服务器,服务器先聚合在线用户的隐藏梯度,再解除隐藏得到聚合后的梯度。其次,为了保护全局梯度,服务器在安全聚合局部梯度后,使用Paillier同态算法加密全局梯度并将密文公开给用户,用户利用加密后的全局梯度和本地数据集更新局部梯度密文,然后进行新一轮的聚合。在这个过程中,私钥由服务器持有,保护了服务器聚合后的全局参数。此外,由于需要用户来验证聚合后的结果,因此由用户执行全局模型的更新,服务器只负责安全聚合局部梯度密文,并公开加密后的聚合结果和学习率给用户即可。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的一种支持隐私和全局保护的可验证联邦学习安全聚合方法相同的思想,本发明还提供一种支持隐私和全局保护的可验证联邦学习安全聚合系统,该系统可用于执行上述一种支持隐私和全局保护的可验证联邦学习安全聚合方法。为了便于说明,一种支持隐私和全局保护的可验证联邦学习安全聚合系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,本发明另一个实施例提供了一种支持隐私和全局保护的可验证联邦学习安全聚合系统,包括任务发布模块、局部训练模块、梯度隐藏模块、第一聚合模块、梯度聚合模块、梯度验证模块、模型判优模块及局部更新模块;
其中,任务发布模块用于服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
局部训练模块用于各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
梯度隐藏模块用于各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
第一聚合模块用于对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
梯度聚合模块用于服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
梯度验证模块用于各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
当梯度验证模块验证全局梯度正确性通过时,模型判优模块用于在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
当模型判优模块判断全局模型未达到最优解时,局部更新模块用于在线用户根据全局梯度密文更新局部梯度密文,并继续调用梯度隐藏模块使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
需要说明的是,本发明的一种支持隐私和全局保护的可验证联邦学习安全聚合系统与本发明的一种支持隐私和全局保护的可验证联邦学习安全聚合方法一一对应,在上述一种支持隐私和全局保护的可验证联邦学习安全聚合方法的实施例阐述的技术特征及其有益效果均适用于一种支持隐私和全局保护的可验证联邦学习安全聚合系统的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述实施例的一种支持隐私和全局保护的可验证联邦学习安全聚合系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述一种支持隐私和全局保护的可验证联邦学习安全聚合系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
如图4所示,在一个实施例中,提供了一种实现支持隐私和全局保护的可验证联邦学习安全聚合方法的电子设备,所述电子设备可以包括第一处理器、第一存储器和总线,还可以包括存储在所述第一存储器中并可在所述第一处理器上运行的计算机程序,如支持隐私和全局保护的可验证联邦学习安全聚合程序。
其中,所述第一存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述第一存储器在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述第一存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。所述第一存储器不仅可以用于存储安装于电子设备的应用软件及各类数据,例如支持隐私和全局保护的可验证联邦学习安全聚合程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述第一处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器内的程序或者模块(例如支持隐私和全局保护的可验证联邦学习安全聚合程序等),以及调用存储在所述第一存储器内的数据,以执行电子设备的各种功能和处理数据。
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
所述电子设备中的所述第一存储器存储的支持隐私和全局保护的可验证联邦学习安全聚合方法程序是多个指令的组合,在所述第一处理器中运行时,可以实现:
服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
若通过验证,则在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
若未达到则在线用户根据全局梯度密文更新局部梯度密文,使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,包括下述步骤:
服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
若通过验证,则在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
若未达到则在线用户根据全局梯度密文更新局部梯度密文,使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
2.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,所述开始联邦学习任务时,服务器使用Paillier同态算法的密钥生成算法KeyGen根据给定的安全参数v生成服务器公钥pk和服务器私钥sk,将服务器公钥pk分发给各在线用户,服务器私钥sk本地保存;
服务器初始化,使用Paillier同态算法的加密算法Enc根据服务器公钥pk对初始全局梯度g0进行加密得到全局梯度密文E(g0)。
3.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,在线用户i接收到联邦学习任务后,计算出密文状态下的全局模型为E(θ),并使用自身n维数据集进行训练,得到局部梯度密文E(gi);
在线用户i随机生成一组n维随机数组ri=(ri 1,ri 2,…,ri n),并使用随机数组隐藏局部梯度得到隐藏值E(ai),隐藏公式为:
E(ai)=E(gi)·E(ri)=E(gi+ri)
其中,E(gi)为在线用户i的局部梯度密文,E(ri)为在线用户i使用服务器公钥pk加密随机数组的密文。
4.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,所述各在线用户基于DH密钥交换算法使用伪随机数算法对随机数组添加双重掩码,具体为:
基于DH密钥交换算法生成在线用户i和在线用户j之间的共享密钥si,j;
使用伪随机数算法基于共享密钥si,j生成在线用户i的第一重掩码PRG(bi)及在线用户i和在线用户j之间协商的第二重掩码PRG(si,j);
使用生成的双重掩码对在线用户i的随机数组进行保护得到掩码随机数组
将掩码随机数组上传服务器,并使用秘密共享技术将第一重掩码PRG(bi)和第二重掩码PRG(si,j)的一部分份额共享给其他在线用户保存;
所述服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,具体为:
设有m个在线用户成功上传掩码随机数组服务器获取掉线用户集合U′并聚合这m个掩码随机数组/>为:
若用户i在线,则其他在线用户将正常发送PRG(bi)的份额,并由服务器聚合出在线用户i的第一重掩码PRG(bi),即进一步得到第一聚合值:
若用户i掉线,则其他在线用户将会发送PRG(si,j)的份额,在服务器聚合时消除多余的第二重掩码,即∑i∈U′,i<jPRG(si,j)-∑i∈U′,i>jPRG(si,j),保证服务器只获得所有随机数组的聚合值得到第一聚合值:
5.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,所述服务器解密并聚合各在线用户上传的隐藏值,并使用第一聚合值解除隐藏值得到聚合后的全局梯度,具体为:
服务器对在线用户上传的隐藏值E(ai)进行解密,得到隐藏值明文:
ai←Dec(sk,E((ai)))
其中,Dec()为Paillier同态算法中的解密算法,ai为在线用户i的隐藏值明文;
聚合各在线用户的隐藏值明文得到隐藏值聚合值
使用第一聚合值r解除隐藏值聚合值,得到聚合后的全局梯度g=a-r;
服务器使用服务器公钥pk加密全局梯度,加密公式为:
E(g)←Enc(pk,g)
其中,E(g)为全局梯度密文;
更新全局梯度密文E(g)、学习率α及当前在线用户数m并发送给各在线用户。
6.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,各在线用户借助可信第三方生成的公钥利用第二聚合值和全局梯度密文验证全局梯度的正确性,具体为:
可信第三方随机选取大素数p′和q′,计算n=p′q′和选择和互质的整数e生成公钥pk′=(n,e),并公开给所有在线用户;
所有在线用户依据自身的局部梯度密文E(gi)和公钥pk′,生成验证信息Vi:
Vi=E(gi)emod n,1≤i≤m
其中,gi为在线用户i的局部梯度,E(gi)为在线用户i的局部梯度密文,m为在线用户数;
将所有在线用户的验证信息进行聚合累乘得到第二聚合值V,公式为:
在线用户i利用第二聚合值和全局梯度密文验证全局模型的正确性,验证公式为:
(V=E(g)e)?″正确″:″错误″
若验证公式输出正确,则通过验证,服务器正确聚合在线用户上传的局部梯度;
若验证公式输出错误,则未通过验证,在线用户停止联邦学习。
7.根据权利要求1所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,其特征在于,所述在线用户根据全局梯度密文更新局部梯度密文,具体为:
在线用户利用服务器公开的全局梯度密文E(g)、学习率α以及当前在线用户数m,计算出密文下的全局模型E(θl):
其中,l表示联邦学习任务进行的次数,1≤l≤k,k为最大学习次数,为当前在线用户数据集大小之和,di为当前在线用户i的数据集大小;
在线用户i利用密文下的全局模型E(θl)和自身n维数据集得到来更新局部梯度密文:
在线用户i将n维的局部梯度初始化为gi=(0,0,…,0);
利用Paillier同态算法的加法同态性,计算密文下的全局模型的预测值E(y*):
其中,为在线用户i在第l次联邦学习中的第j维的全局模型,/>为在线用户i的第j维的本地数据,θ0为第0维全局模型;
根据全局模型的预测值,在线用户i计算误差E(erri):
其中,为在线用户i的预测值的密文,E(-yi)为在线用户i的实际值的密文;
更新在线用户i第0维数据的局部梯度为E(g0)=E(erri);更新在线用户i第j维数据的局部梯度E(gj)为:
其中,为更新前的第j维的局部梯度密文,/>为在线用户i的第j维数据,/>为更新后的第j维的局部梯度密文。
8.一种支持隐私和全局保护的可验证联邦学习安全聚合系统,其特征在于,应用于权利要求1-7中任一项所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法,包括任务发布模块、局部训练模块、梯度隐藏模块、第一聚合模块、梯度聚合模块、梯度验证模块、模型判优模块及局部更新模块;
所述任务发布模块用于服务器向各在线用户分发全局梯度密文、学习率及当前在线用户数开始联邦学习任务;
所述局部训练模块用于各在线用户接收全局梯度密文、学习率及当前在线用户数,计算出密文状态下的全局模型,使用自身数据集对密文状态下的全局模型进行训练得到局部梯度密文;
所述梯度隐藏模块用于各在线用户使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,并自己保留随机数组;
所述第一聚合模块用于对各在线用户的随机数组添加双重掩码后,发送至服务器进行聚合,服务器根据用户的在线情况恢复出不同掩码,进而得到第一聚合值,即各在线用户随机数组的聚合值;
所述梯度聚合模块用于服务器解密并聚合各在线用户上传的隐藏值,使用第一聚合值解除得到全局梯度;同时使用Paillier同态算法将全局梯度加密得到全局梯度密文,并更新全局梯度密文、学习率及当前在线用户数并广播给各在线用户;
所述梯度验证模块用于各在线用户依据自身的局部梯度密文生成验证信息公开给所有在线用户;各在线用户对收到的验证信息进行聚合得到第二聚合值,利用第二聚合值和全局梯度密文验证全局梯度的正确性;若未通过验证,则在线用户停止联邦学习任务;
当梯度验证模块验证全局梯度正确性通过时,所述模型判优模块用于在线用户利用全局梯度密文计算全局模型,判断全局模型是否达到最优解;若达到则停止联邦学习任务;
当模型判优模块判断全局模型未达到最优解时,所述局部更新模块用于在线用户根据全局梯度密文更新局部梯度密文,并继续调用梯度隐藏模块使用随机数组隐藏局部梯度密文得到隐藏值上传至服务器,重复执行直至全局模型达到最优解。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任意一项所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法。
10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的一种支持隐私和全局保护的可验证联邦学习安全聚合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311832247.5A CN117914476A (zh) | 2023-12-27 | 2023-12-27 | 一种支持隐私和全局保护的可验证联邦学习安全聚合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311832247.5A CN117914476A (zh) | 2023-12-27 | 2023-12-27 | 一种支持隐私和全局保护的可验证联邦学习安全聚合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117914476A true CN117914476A (zh) | 2024-04-19 |
Family
ID=90689099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311832247.5A Pending CN117914476A (zh) | 2023-12-27 | 2023-12-27 | 一种支持隐私和全局保护的可验证联邦学习安全聚合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117914476A (zh) |
-
2023
- 2023-12-27 CN CN202311832247.5A patent/CN117914476A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113424185B (zh) | 快速不经意传输 | |
Guo et al. | TABE-DAC: Efficient traceable attribute-based encryption scheme with dynamic access control based on blockchain | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
US11374910B2 (en) | Method and apparatus for effecting a data-based activity | |
CN110380845B (zh) | 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备 | |
CN110784320A (zh) | 分布式密钥实现方法、系统及用户身份管理方法、系统 | |
CN114219483B (zh) | 基于lwe-cpabe的区块链数据共享方法、设备和存储介质 | |
CN109861956B (zh) | 基于状态通道的数据验证系统、方法、装置及设备 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
WO2019110399A1 (en) | Two-party signature device and method | |
CN113158143A (zh) | 一种基于区块链数字版权保护系统的密钥管理方法及装置 | |
CN110690957A (zh) | 基于联盟链和隐式证书的抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN110855667A (zh) | 一种区块链加密方法、装置及系统 | |
US11637817B2 (en) | Method and apparatus for effecting a data-based activity | |
CN110737915A (zh) | 基于联盟链和隐式证书的抗量子计算匿名身份识别方法及系统 | |
US20210392177A1 (en) | Secure multi-party random bit generation | |
Agrawal et al. | Game-set-MATCH: Using mobile devices for seamless external-facing biometric matching | |
CN111565108B (zh) | 签名处理方法、装置及系统 | |
CN110266483B (zh) | 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备 | |
CN110677253B (zh) | 基于非对称密钥池和ecc的抗量子计算rfid认证方法及系统 | |
CN117914476A (zh) | 一种支持隐私和全局保护的可验证联邦学习安全聚合方法 | |
CN114782160A (zh) | 一种集团内不同子公司的授信额度总和获取方法及系统 | |
CN112995189A (zh) | 一种基于隐私保护的公开验证矩阵乘法正确性的方法 | |
CN114189329B (zh) | 一种公钥认证可否认加密方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |