一种数据隐私保护的无服务器异步联邦学习方法

文档序号:29710296发布日期:2022-04-16 17:08阅读:来源:国知局

技术特征:
1.一种数据隐私保护的无服务器异步联邦学习方法,包括如下实体:客户端,生成系统参数和颁发证书的机构即可信机构ca,其特征在于,所述的方法包括下列步骤:步骤1:全局设置ca根据初始的安全参数λ运行算法生成系统参数para;ca选择一个签名方案σ;生成一个主公私钥对(msk,mpk)对应于签名方案σ;签名方案σ用于建立认证通道,并用于ca为系统中的节点颁发证书;步骤2:注册节点生成公私钥对ca为该节点生成使用其主私钥msk签名的证书;步骤3:群组建立客户端被划分为不同的群组;客户端初始化群组;每个客户端发布的成员消息必须使用签名方案σ签名;支持组加入退出,一个或多个客户端可以使用群组加入或群组退出协议加入或离开一个群组;步骤4:训练与聚合阶段对于具有初始模型参数向量或最优模型参数向量的客户端,基于本地数据集训练生成模型更新,然后将噪声添加到模型更新中获得干扰后的模型更新,对干扰模型加密并选择其它客户端作为目标子集交换模型;客户端解密收到的模型更新,对模型进行聚合和验证得到最优的模型参数向量;其中:所述步骤1具体包括:输入一个安全参数λ,ca根据λ选取阶为素数q的循环乘法群g1,g2,g
t
,存在双线性映射双线性映射满足以下性质:

双线性:g1和g2分别为群g1,g2中的元素,是阶为q的正整数集合,a和b为中元素,对任意的g1∈g1,g2∈g2,均有成立;

非退化性:存在g1∈g1,g2∈g2满足不等于

可计算性:存在有效算法,对于g2∈g2,均可计算选择g1∈g1,g2∈g2,q,b1,...,b
n
∈g1其中q,b1,...,b
n
均为群g1中的元素,并且设置集合b={b1,...,b
n
},正整数n是最大的组的大小;ca生成t个形为(r
γ
,p
γ
,f
γ
)的元组,每一个都对应一个协商的组的大小;元组(r
γ
,p
γ
,f
γ
)对应的组大小是正整数t,则系统参数的生成如下:1)任取一个整数i,且1≤i≤t,随机选取正整数1)任取一个整数i,且1≤i≤t,随机选取正整数是阶为q的正整数集合,计算中间值2)任取两个整数i,j,且1≤i,j≤t,i≠j,计算中间值3)令4)令5)ca公开系统参数:
ca选择一个签名方案σ,并生成一个主公私钥对(msk,mpk)与签名方案σ相对应,该签名方案用于建立身份认证通道,并用于ca为系统中的节点颁发证书;ca发布完整的系统参数fpara=(para,mpk,σ);所述步骤2具体包括:一个客户端节点,将生成其对应于签名方案σ的公私密钥对ca将为节点生成一个使用其主私钥msk签名的证书;所述步骤3具体包括:客户端即参与无服务器异步联邦学习的节点被划分为不同的群组,根据节点位置和k-means算法对客户端进行分组;对于有k个客户端的群组,首先需要协商群组的大小t,与所述系统参数fpara中的元组(r
γ
,p
γ
,f
γ
)对应,(r
γ
,p
γ
,f
γ
)是由ca在设置阶段生成的元组;客户端使用initialize(v1,

,v
k
)协议初始化群组,协议包括两个步骤:第一步:取1≤i≤k并且i为正整数,第i个客户端首先做如下操作:1)随机选取正整数2)计算中间值3)取1≤j≤t,计算中间值4)公开消息第二步:取1≤i≤k并且i为正整数,第i个客户端执行如下操作:1)计算公共加密密钥:2)取1≤i≤t,计算中间值:3)令作为解密密钥;4)设loc为t长的标志字符串,如果一个客户端是第i组成员,则令[loc]
i
=1;5)第i个客户端存储的信息为:当外部一个或多个客户端加入到第l群组作为第i个客户端节点时,需要设置[loc]
i
=1,协议有三个步骤:第一步:当外部节点加入到系统中时,要执行以下操作:1)随机选取正整数2)计算中间值3)取正整数j,且1≤j≤t,计算中间值
4)将消息发送给群组中的所有客户端节点;第二步:当群组中的每个客户端v
j
得到消息集合{m1,...,m
s
},将并行执行如下操作:1)更新公钥加密密钥:2)令1≤m≤t,计算中间值3)更新其新的解密密钥为:4)设置[loc]
i
=1,1≤i≤s;群组中最低索引的客户端节点需要将自己保持的信息分别发送给s个新的群组客户端v
i1
,v
i2
,...,v
is
;第三步:当v
il
,1≤l≤s接收到信息计算解密密钥然后存储消息当外部一个或多个客户端离开群组时,被移除的客户端v
l
,其中1≤l≤s,首先需要公开信息然后第j(j≠i)个客户端执行以下操作:1)令2)将公共加密密钥更新为:3)将第j个客户端的解密密钥更新为:4)设置[loc]
i
=0,1≤i≤s;客户端节点被划分成了不同的群组,每个群组中客户端的加入和离开遵循同样的规则,不同的群组拥有不同的群密钥;所述步骤4具体包括:具有初始模型参数向量或最优模型参数向量的客户端,基于其本地数据集训练生成初始模型更新,然后将噪声添加到初始模型中,以获得受干扰的模型;每个组设置一个标识符gid,协议输入{u
i
,gid
i
,pk
i
,loc}
1≤i≤q
,为了交换模型更新,客户端执行以下步骤:当i=1,客户端将加密的会话密钥发送给带有标识符gid客户端u,具体步骤如下:1)选择计算
令2)计算密文:3)发送元组(w1,w2,u)到组中的客户端,计算实际会话密钥:当i≥2,客户端向q个群组发送加密消息,1≤i≤q,具体步骤如下:1)选择假设pk
i
是第i个群对应的群公钥,计算令2)计算密文:3)发送元组到gid
i
的组,计算实际会话密钥:其中d
i
由发送方随机为每个群组进行选择;当一个客户端接收到消息,将解密密文获得加密密钥,协议输入其中j和s
j
表示组中第j个客户端,并使用gid
i
和其解密密钥,具体执行以下步骤:当i=1,集合u中第j个客户端具体解密步骤如下:1)计算2)计算会话密钥:当i≥2,1≤i≤q,集合u中第j个客户端具体解密步骤如下:1)计算2)计算会话密钥:客户端利用会话密钥加密干扰后的模型更新,发送给选择的目标客户端,目标客户端收到密文之后,利用会话密钥解密,对利用差分隐私加噪过的模型更新进行基于质量的聚合方法对模型进行聚合和验证,得到最优的模型参数向量,具体步骤如下:假设存在n个客户端v={v1,v2,...,v
n
},并且每个客户端都有自己的数据集d
i
={(x1,y1),...,(x
ni
,y
ni
)},每个客户端想学习自己的最终模型w
i
=f(θ,x),客户端需要找到使损失函数l
j
(f(θ,x),y)为数据样本(x
j
,y
j
)随θ的损失值;客户端
利用随机梯度下降计算损失函数更新θ,使得损失函数f
i
(θ)最小化;每个客户端通过计算临时聚合p
j
是客户端选择的不同比例值,来使得模型向最优方向更新,对临时聚合模型利用本地数据集进行精度验证,选择精度最高的作为本轮迭代最终模型。

技术总结
本发明公开了一种数据隐私保护的无服务器异步联邦学习方法,该方法包括:全局设置,注册,群组建立,训练与聚合阶段。本发明提出的方法针对联邦学习中数据隐私和模型质量的不足。该方法使得客户端能够直接交换他们的模型更新而不需要服务器,并自动聚合接收到的模型更新而不需要全局同步,该方法可以有效检测客户端接收到的更新是否为低质量的模型更新。此外扩展动态贡献广播加密方案用于在客户端之间建立安全通道,以增强数据私密性,其还支持低延迟的客户批加入和离开。该方法有效地避免了低质量模型更新,并保证了在模型精度和数据隐私之间的权衡。本发明满足安全性强,模型精度高等特点。高等特点。高等特点。


技术研发人员:张磊 高圆圆 董一鹏
受保护的技术使用者:华东师范大学
技术研发日:2021.12.29
技术公布日:2022/4/15
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1