CN114785510A - 一种可验证的轻量化隐私保护联邦学习系统及方法 - Google Patents

一种可验证的轻量化隐私保护联邦学习系统及方法 Download PDF

Info

Publication number
CN114785510A
CN114785510A CN202210025877.0A CN202210025877A CN114785510A CN 114785510 A CN114785510 A CN 114785510A CN 202210025877 A CN202210025877 A CN 202210025877A CN 114785510 A CN114785510 A CN 114785510A
Authority
CN
China
Prior art keywords
local
calculating
parameters
participant
generating
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
Application number
CN202210025877.0A
Other languages
English (en)
Inventor
张佳乐
李晔
陈玮彤
薄莉莉
孙小兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yangzhou University
Original Assignee
Yangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yangzhou University filed Critical Yangzhou University
Priority to CN202210025877.0A priority Critical patent/CN114785510A/zh
Publication of CN114785510A publication Critical patent/CN114785510A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种可验证的轻量化隐私保护联邦学习系统及方法,来防止局部梯度在传输阶段泄漏。本发明包括初始化模块、注册模块、局部训练模块、聚合和解密模块以及全局更新模块;在局部训练模块,基于Paillier同态密码体制和分布式选择性随机梯度下降(DSSGD)方法,提出了一种有效的PPFL机制,该机制可以保护局部模型梯度隐私,降低密码系统的计算成本。在聚合和解密模块,采用带边缘计算框架的在线/离线签名方法,实现了对数据完整性的轻量级局部梯度验证;通过将耗时的操作外包,降低了计算成本。

Description

一种可验证的轻量化隐私保护联邦学习系统及方法
技术领域
本发明属于信息安全技术领域,具体涉及一种可验证的轻量化隐私保护联邦学习系统及方法。
背景技术
边缘计算联邦学习是数据蓬勃发展时代的一个很有前途的解决方案,它利用每个边缘设备的计算能力来训练本地模型,只将模型梯度共享给中心服务器,其结构如图2所示。然而,频繁传输的局部梯度也可能泄露参与者的私人数据。近年来,为了保护局部训练数据的隐私,保护隐私的联邦学习(PPFL)方案得到了广泛的研究。但是,由于物联网设备资源的限制和耗时的隐私保护操作,传统的PPFL方案无法同时提供高效的数据保密性和梯度完整性验证。
发明内容
发明目的:本发明的目的是提供一种能够保护局部模型梯度的隐私、完成对数据完整性的轻量级局部梯度验证的联邦学习系统;本发明的另一目的是提供一种联邦学习方法。
技术方案:本发明所述的联邦学习系统,包括:
初始化模块,生成一个随机数p1、一个双线性映射
Figure BDA0003464623590000011
其中,
Figure BDA0003464623590000012
为p阶乘法循环群,
Figure BDA0003464623590000013
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure BDA0003464623590000014
Figure BDA0003464623590000015
以及一个变色龙散列函数
Figure BDA0003464623590000016
其中,
Figure BDA0003464623590000017
Figure BDA0003464623590000018
分别为p阶和
Figure BDA0003464623590000019
阶的整数循环群;从整数群
Figure BDA00034646235900000110
和乘法循环群
Figure BDA00034646235900000111
中随机生成三个元素
Figure BDA00034646235900000112
Q,且
Figure BDA00034646235900000113
然后对
Figure BDA00034646235900000114
进行计算;其中,
Figure BDA00034646235900000115
是对
Figure BDA00034646235900000116
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure BDA00034646235900000117
发送给移动终端;将主密钥
Figure BDA00034646235900000118
分配给中央服务器,其中,p,q为随机生成的两个大素数;
注册模块,绘制
Figure BDA00034646235900000119
作为签名密钥Sigk,绘制
Figure BDA00034646235900000120
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure BDA0003464623590000021
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure BDA0003464623590000022
βi=ei-xiH2i);发送注册信息{yiii}给中央服务器;计算
Figure BDA0003464623590000023
并作为参与者i的认证密钥,其中,
Figure BDA0003464623590000024
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure BDA0003464623590000025
中生成离线签名参数
Figure BDA0003464623590000026
计算
Figure BDA0003464623590000027
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure BDA0003464623590000028
计算BLS签名;发送离线签名
Figure BDA0003464623590000029
Figure BDA00034646235900000210
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器;
局部训练模块,计算联邦学习某一通信轮的梯度向量
Figure BDA00034646235900000211
其中
Figure BDA00034646235900000212
表示对权重wt求偏导,
Figure BDA00034646235900000213
为本地模型的损失函数;分离权重
Figure BDA00034646235900000214
和梯度
Figure BDA00034646235900000215
计算本地参数
Figure BDA00034646235900000216
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure BDA00034646235900000217
计算本地密文
Figure BDA00034646235900000218
Figure BDA00034646235900000219
其中mod表示求余函数,
Figure BDA00034646235900000220
表示n2阶的整数循环群;计算在线签名参数
Figure BDA00034646235900000221
其中
Figure BDA00034646235900000222
生成在线签名
Figure BDA00034646235900000223
给中央服务器发送本地密文
Figure BDA00034646235900000224
和在线签名
Figure BDA00034646235900000225
聚集和解密模块,计算聚合后的密文
Figure BDA00034646235900000226
并将ct+1转换为标准Paillier加密格式
Figure BDA00034646235900000227
采用Paillier密码系统的解密算法
Figure BDA00034646235900000228
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n];
全局更新模块,中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure BDA0003464623590000031
当下一个通信轮t+1开始时,每个参与者i根据
Figure BDA0003464623590000032
更新参与者i的本地模型参数w(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。
进一步的,在注册模块中,
在发送注册信息{yiii}给中央服务器之后,检查公式
Figure BDA0003464623590000033
的正确性,若正确,则允许访问;否则直接拒绝访问。
进一步的,在局部训练模块中,
在计算联邦学习某一通信轮的梯度向量之前,通过认证密钥Verk检查等式
Figure BDA0003464623590000034
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure BDA0003464623590000035
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问。
进一步的,在聚集和解密模块中,
在计算聚合后的密文之前,通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问。
本发明所述的联邦学习方法,包括:
(1)生成一个随机数p1、一个双线性映射
Figure BDA0003464623590000036
其中,
Figure BDA0003464623590000037
为p阶乘法循环群,
Figure BDA0003464623590000038
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure BDA0003464623590000039
Figure BDA00034646235900000310
以及一个变色龙散列函数
Figure BDA00034646235900000311
其中,
Figure BDA00034646235900000312
Figure BDA00034646235900000313
分别为p阶和
Figure BDA00034646235900000323
阶的整数循环群;从整数群
Figure BDA00034646235900000314
和乘法循环群
Figure BDA00034646235900000315
中随机生成三个元素
Figure BDA00034646235900000316
Q,且
Figure BDA00034646235900000317
然后对
Figure BDA00034646235900000318
进行计算;其中,
Figure BDA00034646235900000319
是对
Figure BDA00034646235900000320
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure BDA00034646235900000321
发送给移动终端;将主密钥
Figure BDA00034646235900000322
分配给中央服务器,其中,p,q为随机生成的两个大素数;
(2)绘制
Figure BDA0003464623590000041
作为签名密钥Sigk,绘制
Figure BDA0003464623590000042
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure BDA0003464623590000043
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure BDA0003464623590000044
βi=ei-xiH2i);发送注册信息{yiii}给中央服务器;计算
Figure BDA0003464623590000045
并作为参与者i的认证密钥,其中,
Figure BDA0003464623590000046
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure BDA0003464623590000047
中生成离线签名参数
Figure BDA0003464623590000048
计算
Figure BDA0003464623590000049
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure BDA00034646235900000410
计算BLS签名;发送离线签名
Figure BDA00034646235900000411
Figure BDA00034646235900000412
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器;
(3)计算联邦学习某一通信轮的梯度向量
Figure BDA00034646235900000413
其中
Figure BDA00034646235900000414
表示对权重wt求偏导,
Figure BDA00034646235900000415
为本地模型的损失函数;分离权重
Figure BDA00034646235900000416
和梯度
Figure BDA00034646235900000417
计算本地参数
Figure BDA00034646235900000418
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure BDA00034646235900000419
计算本地密文
Figure BDA00034646235900000420
其中mod表示求余函数,
Figure BDA00034646235900000421
表示n2阶的整数循环群;计算在线签名参数
Figure BDA00034646235900000422
其中
Figure BDA00034646235900000423
生成在线签名
Figure BDA00034646235900000424
给中央服务器发送本地密文
Figure BDA00034646235900000425
和在线签名
Figure BDA00034646235900000426
(4)计算聚合后的密文
Figure BDA00034646235900000427
并将ct+1转换为标准Paillier加密格式
Figure BDA00034646235900000428
采用Paillier密码系统的解密算法
Figure BDA00034646235900000429
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n];
(5)中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure BDA0003464623590000051
当下一个通信轮t+1开始时,每个参与者i根据
Figure BDA0003464623590000052
更新参与者i的本地模型参数q(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。
进一步的,在步骤(2)中,
在发送注册信息{yiii}给中央服务器之后,检查公式
Figure BDA0003464623590000053
的正确性,若正确,则允许访问;否则直接拒绝访问。
进一步的,在步骤(3)中,
在计算联邦学习某一通信轮的梯度向量之前,通过认证密钥Verk检查等式
Figure BDA0003464623590000054
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure BDA0003464623590000055
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问。
进一步的,在步骤(4)中,
在计算聚合后的密文之前,通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问。
本发明提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的联邦学习方法的步骤。
本发明提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的联邦学习方法的步骤。
有益效果:本发明与现有技术相比,其显著优点是:1、能够保护局部模型梯度的隐私:在局部训练模块,本发明基于Paillier同态密码系统和分布式选择性随机梯度下降(DSSGD)方法,提出了一种有效的PPFL机制,可以保护局部模型梯度的隐私,同时也降低密码系统的计算成本;2、完成对数据完整性的轻量级局部梯度验证:在聚集和解密模块,本发明采用带边缘计算框架的在线/离线签名方法,实现了对数据完整性的轻量级局部梯度验证;如图4所示,通过将耗时的操作外包,降低了计算成本。此外,如图5所示,对本发明方法在真实MNIST数据集上进行计算成本验证,结果证明本发明的计算成本在可接受范围内。
附图说明
图1是本发明的流程图;
图2是边缘计算联邦学习的结构图;
图3是本发明的模型图;
图4是在梯度上的密码计算成本图;
图5是在MINIST数据集上的计算成本图。
具体实施方式
以下结合附图对本发明的具体实施方式进行说明。
实施例1
如图1、图3所示,所述的联邦学习系统,包括:
初始化模块,生成一个随机数p1、一个双线性映射
Figure BDA0003464623590000061
其中,
Figure BDA0003464623590000062
为p阶乘法循环群,
Figure BDA0003464623590000063
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure BDA0003464623590000064
Figure BDA0003464623590000065
以及一个变色龙散列函数
Figure BDA0003464623590000066
其中,
Figure BDA0003464623590000067
Figure BDA0003464623590000068
分别为p阶和
Figure BDA00034646235900000625
阶的整数循环群;从整数群
Figure BDA0003464623590000069
和乘法循环群
Figure BDA00034646235900000610
中随机生成三个元素
Figure BDA00034646235900000611
Q,且
Figure BDA00034646235900000612
然后对
Figure BDA00034646235900000613
进行计算;其中,
Figure BDA00034646235900000614
是对
Figure BDA00034646235900000615
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure BDA00034646235900000616
发送给移动终端;将主密钥
Figure BDA00034646235900000617
分配给中央服务器,其中,p,q为随机生成的两个大素数。
注册模块,绘制
Figure BDA00034646235900000618
作为签名密钥Sigk,绘制
Figure BDA00034646235900000619
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure BDA00034646235900000620
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure BDA00034646235900000621
βi=ei-xiH2i);发送注册信息{yiii}给中央服务器;检查公式
Figure BDA00034646235900000622
的正确性,若正确,则允许访问;否则直接拒绝访问;计算
Figure BDA00034646235900000623
并作为参与者i的认证密钥,其中,
Figure BDA00034646235900000624
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure BDA0003464623590000071
中生成离线签名参数
Figure BDA0003464623590000072
计算
Figure BDA0003464623590000073
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure BDA0003464623590000074
计算BLS签名;发送离线签名
Figure BDA0003464623590000075
Figure BDA0003464623590000076
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器。
局部训练模块,通过认证密钥Verk检查等式
Figure BDA0003464623590000077
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure BDA0003464623590000078
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问;计算联邦学习某一通信轮的梯度向量
Figure BDA0003464623590000079
其中
Figure BDA00034646235900000710
表示对权重wt求偏导,
Figure BDA00034646235900000711
为本地模型的损失函数;分离权重
Figure BDA00034646235900000712
和梯度
Figure BDA00034646235900000713
计算本地参数
Figure BDA00034646235900000714
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure BDA00034646235900000715
计算本地密文
Figure BDA00034646235900000716
Figure BDA00034646235900000717
其中mod表示求余函数,
Figure BDA00034646235900000718
表示n2阶的整数循环群;计算在线签名参数
Figure BDA00034646235900000719
其中
Figure BDA00034646235900000720
生成在线签名
Figure BDA00034646235900000721
给中央服务器发送本地密文
Figure BDA00034646235900000722
和在线签名
Figure BDA00034646235900000723
聚集和解密模块,通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问;计算聚合后的密文
Figure BDA00034646235900000724
并将ct+1转换为标准Paillier加密格式
Figure BDA00034646235900000725
采用Paillier密码系统的解密算法
Figure BDA00034646235900000726
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n]。
全局更新模块,中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure BDA0003464623590000081
当下一个通信轮t+1开始时,每个参与者i根据
Figure BDA0003464623590000082
更新参与者i的本地模型参数w(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。
实施例2
如图1、图3所示,所述的联邦学习方法,包括:
(1)生成一个随机数p1、一个双线性映射
Figure BDA0003464623590000083
其中,
Figure BDA0003464623590000084
为p阶乘法循环群,
Figure BDA0003464623590000085
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure BDA0003464623590000086
Figure BDA0003464623590000087
以及一个变色龙散列函数
Figure BDA0003464623590000088
其中,
Figure BDA0003464623590000089
Figure BDA00034646235900000810
分别为p阶和
Figure BDA00034646235900000830
阶的整数循环群;从整数群
Figure BDA00034646235900000811
和乘法循环群
Figure BDA00034646235900000812
中随机生成三个元素
Figure BDA00034646235900000813
Q,且
Figure BDA00034646235900000814
然后对
Figure BDA00034646235900000815
进行计算;其中,
Figure BDA00034646235900000816
是对
Figure BDA00034646235900000817
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure BDA00034646235900000818
发送给移动终端;将主密钥
Figure BDA00034646235900000819
分配给中央服务器,其中,p,q为随机生成的两个大素数。
(2)绘制
Figure BDA00034646235900000820
作为签名密钥Sigk,绘制
Figure BDA00034646235900000821
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure BDA00034646235900000822
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure BDA00034646235900000823
βi=ei-xiH2i);发送注册信息{yiii}给中央服务器;检查公式
Figure BDA00034646235900000824
的正确性,若正确,则允许访问;否则直接拒绝访问;计算
Figure BDA00034646235900000825
并作为参与者i的认证密钥,其中,
Figure BDA00034646235900000826
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure BDA00034646235900000827
中生成离线签名参数
Figure BDA00034646235900000828
计算
Figure BDA00034646235900000829
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure BDA0003464623590000091
计算BLS签名;发送离线签名
Figure BDA0003464623590000092
Figure BDA0003464623590000093
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器。
(3)通过认证密钥Verk检查等式
Figure BDA0003464623590000094
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure BDA0003464623590000095
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问;计算联邦学习某一通信轮的梯度向量
Figure BDA0003464623590000096
其中
Figure BDA0003464623590000097
表示对权重wt求偏导,
Figure BDA0003464623590000098
为本地模型的损失函数;分离权重
Figure BDA0003464623590000099
和梯度
Figure BDA00034646235900000910
计算本地参数
Figure BDA00034646235900000911
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure BDA00034646235900000912
计算本地密文
Figure BDA00034646235900000913
Figure BDA00034646235900000914
其中mod表示求余函数,
Figure BDA00034646235900000915
表示n2阶的整数循环群;计算在线签名参数
Figure BDA00034646235900000916
其中
Figure BDA00034646235900000917
生成在线签名
Figure BDA00034646235900000918
给中央服务器发送本地密文
Figure BDA00034646235900000919
和在线签名
Figure BDA00034646235900000920
(4)通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问;计算聚合后的密文
Figure BDA00034646235900000921
并将ct+1转换为标准Paillier加密格式
Figure BDA00034646235900000922
采用Paillier密码系统的解密算法
Figure BDA00034646235900000923
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n]。
(5)中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure BDA00034646235900000924
当下一个通信轮t+1开始时,每个参与者i根据
Figure BDA00034646235900000925
更新参与者i的本地模型参数w(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。

Claims (10)

1.一种可验证的轻量化隐私保护联邦学习系统,其特征在于,包括:
初始化模块,生成一个随机数p1、一个双线性映射
Figure FDA0003464623580000011
其中,
Figure FDA0003464623580000012
为p阶乘法循环群,
Figure FDA0003464623580000013
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure FDA0003464623580000014
Figure FDA0003464623580000015
以及一个变色龙散列函数
Figure FDA0003464623580000016
其中,
Figure FDA0003464623580000017
Figure FDA0003464623580000018
分别为p阶和
Figure FDA0003464623580000019
阶的整数循环群;从整数循环群
Figure FDA00034646235800000110
和乘法循环群
Figure FDA00034646235800000111
中随机生成三个元素
Figure FDA00034646235800000112
Q,且
Figure FDA00034646235800000113
Figure FDA00034646235800000114
进行计算;其中,
Figure FDA00034646235800000115
是对
Figure FDA00034646235800000116
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure FDA00034646235800000117
发送给移动终端;将主密钥
Figure FDA00034646235800000118
分配给中央服务器,其中,p,q为随机生成的两个大素数;
注册模块,绘制
Figure FDA00034646235800000119
作为签名密钥Sigk,绘制
Figure FDA00034646235800000120
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure FDA00034646235800000121
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure FDA00034646235800000122
βi=ei-xiH2i);发送注册信息{yiii}给中央服务器;计算
Figure FDA00034646235800000123
并作为参与者i的认证密钥,其中,
Figure FDA00034646235800000124
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure FDA00034646235800000125
中生成离线签名参数
Figure FDA00034646235800000126
计算
Figure FDA00034646235800000127
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure FDA00034646235800000128
计算BLS签名;发送离线签名
Figure FDA00034646235800000129
Figure FDA00034646235800000130
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器;
局部训练模块,计算联邦学习某一通信轮的梯度向量
Figure FDA00034646235800000131
其中
Figure FDA00034646235800000132
表示对权重wt求偏导,
Figure FDA00034646235800000133
为本地模型的损失函数;分离权重
Figure FDA0003464623580000021
和梯度
Figure FDA0003464623580000022
计算本地参数
Figure FDA0003464623580000023
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure FDA0003464623580000024
计算本地密文
Figure FDA0003464623580000025
Figure FDA0003464623580000026
其中mod表示求余函数,
Figure FDA0003464623580000027
表示n2阶的整数循环群;计算在线签名参数
Figure FDA0003464623580000028
其中
Figure FDA0003464623580000029
生成在线签名
Figure FDA00034646235800000210
给中央服务器发送本地密文
Figure FDA00034646235800000211
和在线签名
Figure FDA00034646235800000212
聚集和解密模块,计算聚合后的密文
Figure FDA00034646235800000213
并将ct+1转换为标准Paillier加密格式
Figure FDA00034646235800000214
采用Paillier密码系统的解密算法
Figure FDA00034646235800000215
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n];
全局更新模块,中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure FDA00034646235800000216
当下一个通信轮t+1开始时,每个参与者i根据
Figure FDA00034646235800000217
更新参与者i的本地模型参数w(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。
2.根据权利要求1所述的可验证的轻量化隐私保护联邦学习系统,其特征在于:在注册模块中,
在发送注册信息{yiii}给中央服务器之后,检查公式
Figure FDA00034646235800000218
的正确性,若正确,则允许访问;否则直接拒绝访问。
3.根据权利要求2所述的可验证的轻量化隐私保护联邦学习系统,其特征在于:在局部训练模块中,
在计算联邦学习某一通信轮的梯度向量之前,通过认证密钥Verk检查等式
Figure FDA00034646235800000219
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure FDA00034646235800000220
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问。
4.根据权利要求3所述的可验证的轻量化隐私保护联邦学习系统,其特征在于:在聚集和解密模块中,
在计算聚合后的密文之前,通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问。
5.一种可验证的轻量化隐私保护联邦学习方法,包括:
(1)生成一个随机数p1、一个双线性映射
Figure FDA0003464623580000031
其中,
Figure FDA0003464623580000032
为p阶乘法循环群,
Figure FDA0003464623580000033
是p×p阶乘法循环群,|p1|=k1,(k,k1)为两个安全参数;生成随机数对(n,g)和(λ,μ),计算Paillier密码系统的公私钥对(pk,sk)=(n,g),(λ,μ),生成三个安全的加密单向散列函数
Figure FDA0003464623580000034
Figure FDA0003464623580000035
以及一个变色龙散列函数
Figure FDA0003464623580000036
其中,
Figure FDA0003464623580000037
Figure FDA0003464623580000038
分别为p阶和
Figure FDA0003464623580000039
阶的整数循环群;从整数循环群
Figure FDA00034646235800000310
和乘法循环群
Figure FDA00034646235800000311
中随机生成三个元素
Figure FDA00034646235800000312
Q,且
Figure FDA00034646235800000313
Figure FDA00034646235800000314
进行计算;其中,
Figure FDA00034646235800000315
是对
Figure FDA00034646235800000316
进行乘方运算得到的一个值,g1为生成元;将初始化的秘钥参数
Figure FDA00034646235800000317
发送给移动终端;将主密钥
Figure FDA00034646235800000318
分配给中央服务器,其中,p,q为随机生成的两个大素数;
(2)绘制
Figure FDA00034646235800000319
作为签名密钥Sigk,绘制
Figure FDA00034646235800000320
作为认证密钥Verk;计算ei=H1(ki||IDi||SIt),其中,ei为数学符号,表示哈希运算;
Figure FDA00034646235800000321
是不可见的因子,IDi代表参与者i的身份,SIt代表时间t内的本地状态信息;计算用户注册参数
Figure FDA00034646235800000322
发送注册信息{yiii}给中央服务器;计算
Figure FDA00034646235800000323
并作为参与者i的认证密钥,其中,
Figure FDA00034646235800000324
表示当前时间戳,Q为参与方身份信息;广播注册信息{yiii};从
Figure FDA00034646235800000325
中生成离线签名参数
Figure FDA00034646235800000326
计算
Figure FDA00034646235800000327
同时将本地状态信息SI=(ei,si,ui)保存在本地,其中,g2和g3是在线认证密钥中的两个元素;基于DTCH函数按照
Figure FDA0003464623580000041
计算BLS签名;发送离线签名
Figure FDA0003464623580000042
Figure FDA0003464623580000043
给边缘服务器;发送在线认证密钥Veron=(g1,g2,g3)给中央服务器;
(3)计算联邦学习某一通信轮的梯度向量
Figure FDA0003464623580000044
其中
Figure FDA0003464623580000045
表示对权重wt求偏导,
Figure FDA0003464623580000046
为本地模型的损失函数;分离权重
Figure FDA0003464623580000047
和梯度
Figure FDA0003464623580000048
计算本地参数
Figure FDA0003464623580000049
其中η为本地学习率;生成参与方的本地模型并更新本地参数为
Figure FDA00034646235800000410
计算本地密文
Figure FDA00034646235800000411
其中mod表示求余函数,
Figure FDA00034646235800000412
表示n2阶的整数循环群;计算在线签名参数
Figure FDA00034646235800000413
其中
Figure FDA00034646235800000414
生成在线签名
Figure FDA00034646235800000415
给中央服务器发送本地密文
Figure FDA00034646235800000416
和在线签名
Figure FDA00034646235800000417
(4)计算聚合后的密文
Figure FDA00034646235800000418
并将ct+1转换为标准Paillier加密格式
Figure FDA00034646235800000419
采用Paillier密码系统的解密算法
Figure FDA00034646235800000420
对聚合后的密文ct+1进行解密,得到聚合后的明文Lt+1,其中,R(u)=[(u-1)/n];
(5)中央服务器对聚合后的明文Lt+1进行平均,生成一个新的全局模型
Figure FDA00034646235800000421
当下一个通信轮t+1开始时,每个参与者i根据
Figure FDA00034646235800000422
更新参与者i的本地模型参数w(t+1),其中η′表示本地学习率;重复上述操作,直至全局模型趋于收敛,整个流程结束。
6.根据权利要求5所述的可验证的轻量化隐私保护联邦学习方法,其特征在于:在步骤(2)中,
在发送注册信息{yiii}给中央服务器之后,检查公式
Figure FDA00034646235800000423
的正确性,若正确,则允许访问;否则直接拒绝访问。
7.根据权利要求6所述的可验证的轻量化隐私保护联邦学习方法,其特征在于:在步骤(3)中,
在计算联邦学习某一通信轮的梯度向量之前,通过认证密钥Verk检查等式
Figure FDA0003464623580000051
的正确性,若验证正确,则继续执行后续流程;否则拒绝执行;通过确定方程
Figure FDA0003464623580000052
是否为真来批量验证离线签名,若等式成立返回允许访问,否则返回拒绝访问。
8.根据权利要求7所述的可验证的轻量化隐私保护联邦学习方法,其特征在于:在步骤(4)中,
在计算聚合后的密文之前,通过验证等式Hch(ri,si,ui)=Hch(ci,s′i,u′i)是否成立来验证在线签名的正确性,其中ri为随机生成的大整数,ci为本地密文;如果成立返回允许访问,否则返回拒绝访问。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至8中任一项所述方法的步骤。
CN202210025877.0A 2022-01-11 2022-01-11 一种可验证的轻量化隐私保护联邦学习系统及方法 Pending CN114785510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210025877.0A CN114785510A (zh) 2022-01-11 2022-01-11 一种可验证的轻量化隐私保护联邦学习系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210025877.0A CN114785510A (zh) 2022-01-11 2022-01-11 一种可验证的轻量化隐私保护联邦学习系统及方法

Publications (1)

Publication Number Publication Date
CN114785510A true CN114785510A (zh) 2022-07-22

Family

ID=82422715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210025877.0A Pending CN114785510A (zh) 2022-01-11 2022-01-11 一种可验证的轻量化隐私保护联邦学习系统及方法

Country Status (1)

Country Link
CN (1) CN114785510A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996235A (zh) * 2023-09-26 2023-11-03 中电科大数据研究院有限公司 联合建模的安全认证方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996235A (zh) * 2023-09-26 2023-11-03 中电科大数据研究院有限公司 联合建模的安全认证方法、装置及系统
CN116996235B (zh) * 2023-09-26 2023-12-05 中电科大数据研究院有限公司 联合建模的安全认证方法、装置及系统

Similar Documents

Publication Publication Date Title
US10944575B2 (en) Implicitly certified digital signatures
Xu et al. VerifyNet: Secure and verifiable federated learning
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
CN107634836B (zh) 一种sm2数字签名生成方法及系统
US10129029B2 (en) Proofs of plaintext knowledge and group signatures incorporating same
CN107483585B (zh) 云环境中支持安全去重的高效数据完整性审计系统及方法
US10148422B2 (en) Implicitly certified public keys
US9021572B2 (en) Anonymous access to a service by means of aggregated certificates
CN107342859A (zh) 一种匿名认证方法及其应用
CN105978695A (zh) 一种用于云存储数据的批量自审计方法
CN104754570B (zh) 一种基于移动互联网络的密钥分发和重构方法与装置
CN116049897B (zh) 基于线性同态哈希和签密的可验证隐私保护联邦学习方法
CN115277015A (zh) 异步联邦学习隐私保护方法、系统、介质、设备及终端
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
Yu et al. Identity‐Based Proxy Signcryption Protocol with Universal Composability
Han et al. Zero-knowledge identity authentication for internet of vehicles: Improvement and application
CN103312707A (zh) 属性基签名的云服务器辅助验证方法
CN114785510A (zh) 一种可验证的轻量化隐私保护联邦学习系统及方法
CN111245615B (zh) 一种基于身份的数字签名密码逆向防火墙方法
CN109766716A (zh) 一种基于可信计算的匿名双向认证方法
CN103259658A (zh) 基于多变量公钥密码体制的交互式零知识身份认证方法
CN116389164B (zh) 数据的检测方法及装置
Asad et al. Towards privacy-aware federated learning for user-sensitive data
Yuan et al. Identity-based proxy signature multiple-file pdp for mobile cloud computing
CN113360927B (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