首页> 中国专利> 基于有权重分层异步联邦学习的可验证安全聚合方法

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

摘要

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

著录项

  • 公开/公告号CN114978533A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 西安邮电大学;

    申请/专利号CN202210519513.8

  • 发明设计人 秦宝东;杨国栋;郑东;郭瑞;

    申请日2022-05-12

  • 分类号H04L9/32(2006.01);H04L9/40(2022.01);G06N3/04(2006.01);G06N3/08(2006.01);G06N20/20(2019.01);

  • 代理机构西安赛博睿纳专利代理事务所(普通合伙) 61236;

  • 代理人张鹏

  • 地址 710121 陕西省西安市长安区西安邮电大学网络空间安全学院

  • 入库时间 2023-06-19 16:36:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-30

    授权

    发明专利权授予

  • 2022-09-16

    实质审查的生效 IPC(主分类):H04L 9/32 专利申请号:2022105195138 申请日:20220512

    实质审查的生效

说明书

技术领域

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

背景技术

随着海量数据成为新时代的发展趋势,机器学习技术正以前所未有的速度应用于各行各业。然而“数据孤岛”问题的出现,使传统机器学习的发展达到了瓶颈,这不仅严重制约了人工智能技术在企业中的应用,而且还造成了宝贵数据资源的浪费。为了有效应对“数据孤岛”带来的数据资源浪费问题,联邦学习技术横空出世,为信息技术发展带来了新的希望。

联邦学习通过聚合局部客户端上本地训练的模型来获得全局服务器上的中心模型,但是客户端与服务器之间的通信开销较大。针对该问题,2020年Chen等人提出了一种高效分层异步联邦学习,通过在客户端上分层异步学习和在服务器上时间加权聚合的策略,保留模型高精度的同时,还降低了客户端与服务器之间的通信开销,与此同时,也增加了对分层异步联邦学习隐私保护的难度。联邦学习使用聚合模型参数的方式,虽然在一定程度上保护了本地客户端的数据隐私,但仍存在推理攻击等安全问题。

联邦学习系统中有些客户端频繁参与模型更新(勤奋客户端),有些客户端偶尔参与模型更新(懒惰客户端),服务器仅根据客户端上训练数据的数据点数对每个局部模型的重要性进行加权并不合理。在联邦学习参数安全聚合过程中,不仅要考虑更新参数的隐私性,还要考虑参数是否被第三方恶意篡改,更新参数被恶意篡改将导致服务器的聚合结果偏离正确值。

为了解决上述问题,本申请提出了基于有权重分层异步联邦学习的可验证安全聚合方法。

发明内容

本发明的目的在于提供基于有权重分层异步联邦学习的可验证安全聚合方法,以解决上述背景技术中提出的问题。

为了实现上述目的,本发明提供如下技术方案:基于有权重分层异步联邦学习的可验证安全聚合方法,联邦学习中广泛采用深度神经网络作为局部模型,安全聚合方法主要包括以下步骤:

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

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

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

优选地,针对深度神经网络的主要特征可知,较浅层的参数数量相对较少且对中心模型的性能更关键,相应地,较浅层的更新频率应该比较深层的更新频率高;因此,模型中浅层和深层的参数可以异步更新,从而减少服务器和客户端之间发送的数据量,这种更新方式称为分层异步更新。

优选地,深度神经网络的浅层学习适用于不同任务和数据集的一般特征,这意味着深度神经网络中相对较小的一部分参数,即在较浅层的参数,代表了不同数据集的一般特征;深度神经网络的深层学习与特定数据集的特定特征相关,并且大量参数关注特定数据的学习特征。

优选地,联邦学习中服务器在聚合客户端训练参数的时候,不仅根据相应客户端上训练数据的数据点数对每个局部模型的重要性进行加权,而且服务器为每轮参与训练的不同客户端分配合适的权重值q

优选地,联邦学习系统中,即使客户端不直接上传用户的数据,攻击者仍然能够通过客户端上传的模型参数间接推出客户端标签数据的特征以及数据集的成员信息;暴露的模型参数是由客户端的本地数据集训练得到的,也就是说客户端的本地数据被编码到了模型参数中;然而,攻击者如果可以根据暴露的模型参数构造出相应的解码器,便可以根据客户端的模型参数反向推理出客户端本地的隐私数据,这种攻击方式称为推理攻击。

优选地,每个客户端k选取自己的秘密值a

优选地,客户端k生成一个K+1维的向量

优选地,服务器接收到K个客户端的掩盖结果

优选地,服务器将每个客户端k的权重值q

优选地,1)的具体步骤为:

A、客户端k根据自己选择的秘密值a

B、客户端k将所有客户端的ID分别代入自己构造的多项式S

C、服务器通过k个客户端的S

优选地,2)的具体步骤为:

客户端k从服务器接收最新的ω

客户端先对浅层深度神经网络参数

最后,将掩盖结果

优选地,3)的具体步骤为:

A、服务器初始化参数ω

B、当前更新轮数模上Rlp,若结果属于Set集合,则把flag标记为‘是’,否则把flag标记为‘否’,若flag为‘是’,则服务器将最新更新的

C、每个客户端k在本地独立地执行模型参数更新、掩盖和签名,并发送给服务器,服务器将当前轮次t赋值给客户端k的

D、当属于m集合的客户端均更新结束后,服务器对所有K个客户端的掩盖结果加入时间加权的权重值q

E、最后,服务器统一对所有客户端k的浅层签名进行聚合并验证加入权重值q

本发明的有益效果如下:

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

附图说明

图1为本发明客户端执行流程图;

图2为本发明服务器执行流程图;

图3为本发明客户端本地更新流程图;

图4为本发明模型总图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1至图4所示,本发明提供一种基于有权重分层异步联邦学习的可验证安全聚合方法,在密钥协商部分中:

客户端k构造多项式

客户端k将所有客户端的ID分别代入自己构造的多项式S

取G

1)生成一个双线性群元组

2)每个客户端之间共享一个私钥

3)选择一个哈希函数H:{0,1}

4)输出p,公钥PK=(G,H,β,u)和私钥SK=γ。

其中,私钥SK用于每个客户端k对本地更新参数的掩盖结果进行签名,公钥PK用于服务器对聚合签名的验证。

为了进一步对发明技术方案内容作解释,具体实施主要分为三个过程:密钥协商过程、客户端执行过程和服务器执行过程。每个过程的实施步骤如下:

一、密钥协商

设GF(p)是一个有限域,其中p是一个大素数。系统中总共有K个客户端,每个客户端k选择自己的秘密a

客户端k将自己构造的多项式S

服务器接受到来自客户端k的S

服务器将客户端ID相同的多项式进行整理得到S(x

然后,服务器分别对S(x

服务器通过k个客户端的秘密份额S

签名设置:

设G

1)生成一个双线性群元组

2)每个客户端之间共享一个私钥

3)选择一个哈希函数H:{0,1}

4)输出p,公钥PK=(G,H,β,u)和私钥SK=γ。

其中,私钥SK用于每个客户端k对本地更新参数的掩盖结果进行签名,公钥PK用于服务器对聚合签名的验证。

二、客户端执行

结合附图1,客户端具体执行步骤如下:

1)客户端k随机选取掩盖参数a

2)客户端k从服务器接收最新的ω

3)客户端k先对浅层DNN权重参数

4)客户端k对更新结果

5)若flag被标记为‘是’,则客户端k再对深层DNN权重参数

6)客户端k对更新结果

7)若flag被标记为‘否’,则直接退出,客户端执行结束。

参数掩盖与签名过程:

a)客户端k在GF(p)上均匀选取随机数a

b)客户端k生成一个K+1维的向量

c)客户端k对掩盖结果进行签名,即:

d)客户端k把秘密参数掩盖的更新结果

对深层DNN更新结果的秘密参数掩盖和签名过程与浅层DNN相同。同样的方式,客户端k可以得到参数掩盖的深层DNN更新结果

三、服务器执行

结合附图2,服务器具体执行步骤如下:

1)服务器首先对参数ω

2)选择客户端集合,并确定整个系统中有K个客户端。

3)服务器获取公钥PK=(G,H,β,u),用于后续聚合签名的验证。

4)随机选择参与方的集合m,m表示所有客户端集合K中,因主动或被动退出学习后的客户端集合,且h≤|m|≤K。若|m|<h,则退出学习。其中h为秘密分享的门限值。

5)当前轮数模上Rlp,若结果属于Set集合,则把flag标记为‘是’,否则把flag标记为‘否’。Rlp为更新轮数的分组,Set为每组更新轮数中指定深层DNN更新的集合。

6)若flag为‘是’,则服务器将最新更新的

7)然后每个客户端k在本地独立地执行模型参数更新,对更新结果进行秘密参数掩盖和签名,并将掩盖结果

8)服务器将当前轮次t赋值给客户端k的

9)当属于m集合的客户端均更新结束后,服务器对所有K个客户端的掩盖结果加入时间加权的权重值q

10)若flag为‘是’,则服务器先对所有客户端k的深层签名进行聚合,并验证加入权重值q

11)由于浅层DNN参数每轮都需要参与更新,所以最后服务器统一对所有客户端k的浅层签名进行聚合,并验证加入权重值q

12)根据聚合结果更新中央模型参数,并进入下一轮模型更新,直至模型收敛。签名验证与掩盖抵消:

a)服务器接收到K个客户端的掩盖结果

b)若flag为‘是’,则先对深层DNN的签名进行聚合。聚合过程中,将每个客户端k的权重值q

c)然后再对聚合签名进行验证,判断双线性对是否相等,即

d)若E

e)然后服务器用客户端秘密份额S

f)服务器便可得到有权重深层DNN参数的安全聚合结果ω

接下来,再对浅层DNN的签名σ

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号