掌桥专利:专业的专利平台
掌桥专利
首页

基于联邦学习的数据保护方法、装置和系统

文献发布时间:2024-04-18 20:00:50


基于联邦学习的数据保护方法、装置和系统

技术领域

本申请涉及数据安全领域,特别是涉及一种基于联邦学习的数据保护方法、装置和系统。

背景技术

当前,随着大数据以及人工智能时代的到来,和机器学习相关的应用得到了快速的发展,例如垃圾检测、人脸识别、基因组预测、金融预测、自然语言处理、计算机视觉以及推荐系统等。这些技术的成功,都是建立在海量数据的基础上。一般的学习模型需要通过成千上万的数据去训练一个合适的模型,为了更加准确高效的训练模型,使用联邦学习桥接各个数据孤岛,进而解决数据孤岛和数据碎片化问题。

现有技术中,在数据共享的同时又要保护数据的安全,实现数据的可用但不可见;但是在面临基于联邦学习庞大的计算量时,常见的密码算法难以应对,因此在联邦学习过程中,难以实现对于大量的用户数据的加密,进而难以实现用户数据及隐私的安全保护。

针对相关技术中存在联邦学习中用户数据的安全性较低的问题,目前还没有提出有效的解决方案。

发明内容

在本实施例中提供了一种基于联邦学习的数据保护方法、装置和系统,以解决相关技术中在联邦学习中用户数据安全性低的问题。

第一个方面,在本实施例中提供了一种基于联邦学习的数据保护方法,所述方法包括:

发送联邦学习请求至云端服务器,所述联邦学习请求包括用户标识;

当所述云端服务器接收的联邦学习请求的用户数量超过预设的数量阈值后,接收所述云端服务器发送的所有所述用户标识,并根据所述用户标识获取目标输入数据;

根据所述目标输入数据,生成加密后的所述用户数据的密文数据和签名数据,并发送所述密文数据和签名数据至所述云端服务器,以使云端服务器生成聚合结果;

接收并解密所述云端服务器发送的聚合结果,根据解密后的聚合结果更新所述用户模型,以实现所述用户模型的数据保护。

在其中的一些实施例中,所述发送联邦学习请求至云端服务器之前,包括:

根据系统参数和超递增序列,对所述用户模型的参数进行编码,生成所述用户模型的梯度数据;所述系统参数和所述超递增序列均由密钥生成中心生成。

在其中的一些实施例中,所述根据所述目标输入数据,生成加密后的所述用户数据的密文数据和签名数据,包括:

根据所述目标输入数据和所述系统参数,生成所述用户模型的子密钥;所述目标输入数据为用户模型中的本地输入数据;

根据所述目标输入数据、所述系统参数、所述梯度数据和所述子密钥,生成加密后的所述用户数据的密文数据;

根据所述梯度数据和所述系统参数,生成加密后的所述用户模型的签名数据。

在其中的一些实施例中,所述接收并解密所述云端服务器发送的聚合结果,根据解密后的聚合结果更新所述用户模型,包括:

接收所述云端服务器发送的加密的聚合结果;使用所述系统参数中的私钥,对所述加密的聚合结果进行解密,得到聚合结果;所述聚合结果包括密文聚合结果和签名聚合结果;

通过所述系统参数和所述签名聚合结果,判断所述聚合结果是否正确;

当判断所述聚合结果正确时,使用所述超递增序列对所述聚合结果进行解码,得到多维数据的聚合结果;

根据所述多维数据的聚合结果,获取用户模型的聚合梯度向量,并使用所述聚合梯度向量更新所述用户模型的参数。

在其中的一些实施例中,所述使用所述聚合梯度向量更新所述用户模型的参数,包括:

根据预设的模型更新学习率、所述聚合梯度向量、所述联邦学习请求的数量以及所述用户模型的参数,确定用户模型的目标参数;

将所述用户模型的参数更新为用户模型的目标参数,以更新所述用户模型。

第二个方面,在本实施例中提供了一种基于联邦学习的数据保护方法,所述方法包括:

接收用户端发送的密文数据和签名数据,并根据系统参数、联邦学习请求的数量以及超递增序列,分别对所述密文数据和所述签名数据进行聚合,得到聚合结果;

根据所述聚合结果中的签名数据与用户标识的对应关系,发送所述聚合结果至每个用户,以使所述用户根据所述聚合结果更新用户模型。

在其中的一些实施例中,所述接收所述用户发送的密文数据和签名数据之前,包括:

接收用户端发送的联邦学习请求,并判断接收联邦学习请求的用户数量是否超过预设的数量阈值;

当判断接收联邦学习请求的用户数量超过预设的数量阈值时,集合所有发送联邦学习请求用户的用户标识,得到用户标识集合;

将所述用户标识集合发送至所有发送联邦学习请求的用户,以使所述用户进行数据加密。

第三个方面,在本实施例中提供了一种基于联邦学习的数据保护装置,所述装置包括:发送模块、接收模块和处理模块;

所述发送模块,用于发送联邦学习请求至云端服务器,所述联邦学习请求包括用户标识;还用于发送密文数据和签名数据至所述云端服务器,以使云端服务器生成聚合结果;

所述接收模块,用于当所述云端服务器接收的联邦学习请求的用户数量超过预设的数量阈值后,接收所述云端服务器发送的所有所述用户标识,并根据所述用户标识获取目标输入数据;还用于接收所述云端服务器发送的聚合结果

所述处理模块,用于根据所述目标输入数据,生成加密后的密文数据和签名数据;还用于解密所述云端服务器发送的聚合结果,根据解密后的聚合结果更新所述用户模型,以实现所述用户模型的数据保护。

第四个方面,在本实施例中提供了一种基于联邦学习的数据保护装置,所述装置包括:发送模块、接收模块和处理模块;

所述接收模块,用于接收用户端发送的密文数据和签名数据;

所述处理模块,用于根据系统参数、联邦学习请求的数量以及超递增序列,分别对所述密文数据和所述签名数据进行聚合,得到聚合结果;

所述发送模块,用于根据所述聚合结果中的签名数据与用户标识的对应关系,发送所述聚合结果至每个用户,以使所述用户根据所述聚合结果更新用户模型。

第五个方面,在本实施例中提供了一种基于联邦学习的数据保护系统,所述系统包括:用户端和云端服务器;所述用户端与所述云端服务器连接;

所述用户端用于执行第一个方面所述的基于联邦学习的数据保护方法;

所述云端服务器用于执行第二个方面所述的基于联邦学习的数据保护方法。

与相关技术相比,在本实施例中提供的基于联邦学习的数据保护方法、装置和系统,通过多个用户端向云端发送联邦学习请求,当云端接收的用户数量超过预设的数量后,向用户发送所有用户的标识,进而使用户确定对应的模型输入数据;用户端根据模型输入数据生成加密后的密文数据和签名数据,并将这些数据发送至云端;云端接收这些数据并生成聚合结果,用户端接收并解密这些聚合结果,进而更新用户模型,进而提高用户数据的安全性。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是执行本申请实施例的基于联邦学习的数据保护方法的终端的硬件结构框图。

图2是本申请实施例的基于联邦学习的数据保护方法的流程图。

图3是本申请实施例的另一种基于联邦学习的数据保护方法的流程图。

图4是本申请具体实施例的基于联邦学习的数据保护方法的流程图。

图5是本申请具体实施例中的交互系统示意图。

图6是本申请实施例的基于联邦学习的数据保护装置的结构框图。

具体实施方式

为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。

除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。

在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是执行本申请实施例的基于联邦学习的数据保护方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的基于联邦学习的数据保护方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种基于联邦学习的数据保护方法,图2是本申请实施例的基于联邦学习的数据保护方法的流程图,如图2所示,该流程包括如下步骤:

步骤S210,发送联邦学习请求至云端服务器,联邦学习请求包括用户标识。

具体地,当用户需要进行横向联邦学习时,用户端向云端服务器发送包括用户标识的联邦学习请求。

步骤S220,当云端服务器接收的联邦学习请求的用户数量超过预设的数量阈值后,接收云端服务器发送的所有用户标识,并根据用户标识获取目标输入数据。

具体地,当云端服务器接收多个用户端的联邦学习请求,且判断接收的联邦学习请求的用户数量超过预设的数量阈值后,云端服务器集合所有用户端联邦请求中的用户标识,并向用户端发送所有用户标识;用户端接收云端服务器发送的所有用户标识,并根据用户标识获取用户模型对应的目标输入数据。

步骤S230,根据目标输入数据,生成加密后的用户数据的密文数据和签名数据,并发送密文数据和签名数据至云端服务器,以使云端服务器生成聚合结果。

具体地,用户端根据目标输入数据,生成加密后的用户数据的密文数据和签名数据;将密文数据和签名数据发送至云端服务器,进而使云端服务器根据多个用户端发送的密文数据和签名数据,生成聚合结果。

步骤S240,接收并解密云端服务器发送的聚合结果,根据解密后的聚合结果更新用户模型,以实现用户模型的数据保护。

具体地,当云端服务器生成聚合结果后,将该聚合结果分别发送至多个用户端;用户端接收该聚合结果,并对聚合结果进行解密,进而根据解密后的聚合结果更新用户模型,进而实现对用户模型中数据的保护。

通过上述步骤,多个用户端向云端服务器发送联邦学习请求,当云端服务器接收的用户数量超过预设的数量后,向用户发送所有用户标识,进而使用户确定对应的目标输入数据;用户端根据目标输入数据生成加密后的密文数据和签名数据,并将这些数据发送至云端服务器;云端服务器接收这些数据并生成聚合结果,用户端接收并解密这些聚合结果,进而根据解密后的聚合结果更新用户模型,进而提高用户模型中数据的安全性,进而有利于保护用户端的隐私。

在其中的一些实施例中,在步骤S210之前还包括步骤S201。

步骤S201,根据系统参数和超递增序列,对用户模型的参数进行编码,生成用户模型的梯度数据;系统参数和超递增序列均由密钥生成中心生成。

具体地,密钥生成中心生成系统参数和超递增序列,并将系统参数和超递增序列发送至用户端;用户端根据系统参数和超递增序列,对用户模型的参数进行编码,进而生成用户模型的梯度数据,以便于后续通过梯度数据等对用户模型进行加密解密。

在其中的一些实施例中,步骤S230包括步骤S231至步骤S233。

步骤S231,根据目标输入数据和系统参数,生成用户模型的子密钥;目标输入数据为用户模型中的本地输入数据。

具体地,用户端根据目标输入数据和系统参数,生成用户模型的子密钥。

步骤S232,根据目标输入数据、系统参数、梯度数据和子密钥,生成加密后的用户数据的密文数据。

具体地,用户端根据目标输入数据、系统参数、梯度数据和子密钥,并对所有梯度数据的集合进行加密,进而生成加密后的用户数据的密文数据。

步骤S233,根据梯度数据和系统参数,生成加密后的用户模型的签名数据。

具体地,用户端根据梯度数据和系统参数,计算得到对应的哈希值,进而根据哈希值和系统参数等,生成加密后的用户模型的签名数据。

通过上述步骤,用户端根据用户模型中的本地输入数据以及密钥生成中心发送的系统参数,生成用户模型的子密钥;进而根据子密钥、目标输入数据、系统参数以及生成的梯度数据,得到加密后的用户数据的密文数据和签名数据;通过不同来源的数据以及不同时段生成的数据,得到加密后用户数据的密文数据和签名数据,有利于提高用户数据的安全性。

在其中的一些实施例中,步骤S240包括步骤S241至步骤S244。

步骤S241,接收云端服务器发送的加密的聚合结果;使用系统参数中的私钥,对加密的聚合结果进行解密,得到聚合结果;聚合结果包括密文聚合结果和签名聚合结果。

具体地,当云端服务器接收多个用户端发送的密文数据和签名数据后,对数据进行聚合,得到加密后的聚合结果,并将聚合结果发送至所有用户端;用户端接收云端服务器发送的加密的聚合结果后,使用系统参数中的私钥参数,对加密的聚合结果进行解密,进而得到包括密文聚合结果和签名聚合结果的聚合结果。

步骤S242,通过系统参数和签名聚合结果,判断聚合结果是否正确。

具体地,用户端基于系统参数及签名聚合结果,通过双线性映射对聚合结果,进而判断聚合结果是否正确。

步骤S243,当判断聚合结果正确时,使用超递增序列对聚合结果进行解码,得到多维数据的聚合结果。

具体地,当用户端判断聚合结果正确时,接收该聚合结果,并通过密钥生成中心选择的超递增序列对聚合结果进行解码,进而得到多维的聚合结果。当用户端判断聚合结果不正确时,确认该聚合结果无效。

步骤S244,根据多维数据的聚合结果,获取用户模型的聚合梯度向量,并使用聚合梯度向量更新用户模型的参数。

具体地,用户端根据多维数据的聚合结果,得到用户模型的聚合梯度向量,进而使用聚合梯度向量更新用户模型的参数。

通过上述步骤,用户端接收云端服务器发送的聚合结果后,首先通过签名聚合结果判断该聚合结果是否准确,当判断聚合结果准确后,对聚合结果进行解码,得到多维数据的聚合结果;进而根据多维数据的聚合结果,得到用户模型的聚合梯度向量,并使用聚合梯度向量更新用户模型的参数,有利于提高用户模型的数据安全,示例性地,用户模型的数据包括用户本地的个人数据、隐私数据等,从而实现用户的隐私保护,进一步提高用户模型的数据安全,保护了用户端的隐私。

在其中的一些实施例中,步骤S244包括步骤S2441至步骤S2442。

步骤S2441,根据预设的模型更新学习率、聚合梯度向量、联邦学习请求的数量以及用户模型的参数,确定用户模型的目标参数。

具体地,用户端根据预设的模型更新学习率、聚合梯度向量、联邦学习请求的用户数据以及用户模型的原始参数,进行相关计算,得到用户模型的目标参数。

步骤S2442,将用户模型的参数更新为用户模型的目标参数,以更新用户模型。

具体地,用户端更新用户模型的目标参数,进而根据目标参数更新用户模型。

通过上述步骤,用户端计算得到用户模型的目标参数,进而将用户模型的参数替换为迭代后的目标参数,进而使用目标参数更新用户模型,进而提高用户模型的数据安全性,保护用户隐私。

在本实施例中还提供了一种基于联邦学习的数据保护方法。图3是本申请实施例的另一种基于联邦学习的数据保护方法的流程图,如图3所示,该流程包括如下步骤:

步骤S310,接收用户端发送的密文数据和签名数据,并根据系统参数、联邦学习请求的数量以及超递增序列,分别对密文数据和签名数据进行聚合,得到聚合结果。

具体地,云端服务器接收多个用户端发送的密文数据和签名数据,进而根据系统参数、超递增序列以及联邦学习请求的用户数量,分别对密文数据和签名数据进行聚合,进而得到聚合结果。

步骤S320,根据聚合结果中的签名数据与用户标识的对应关系,发送聚合结果至每个用户,以使用户根据聚合结果更新用户模型。

具体地,云端服务器得到聚合结果后,根据聚合结果中签名数据与不同用户标识的对应关系,将聚合结果发送至不同用户端,进而使用户端根据聚合结果更新用户模型。

通过上述步骤,云端服务器接收用户端发送的密文数据和签名数据,进而对密文数据和签名数据进行聚合,得到聚合结果;并将聚合结果根据不同用户标识,分别发送至不同用户端,进而使用户端根据聚合结果更新用户模型,进而保护用户模型的数据安全与隐私。

在其中的一些实施例中,步骤S310之前还包括步骤S301至步骤S303。

步骤S301,接收用户端发送的联邦学习请求,并判断接收联邦学习请求的用户数量是否超过预设的数量阈值。

具体地,云端服务器接收多个用户端发送的联邦学习请求,并判断所接收的联邦学习请求的用户数量是否超过预设的数量阈值。

步骤S302,当判断接收联邦学习请求的用户数量超过预设的数量阈值时,集合所有发送联邦学习请求用户的用户标识,得到用户标识集合。

具体地,当云端服务器判断所接收的联邦学习请求的用户数量超过预设的用户数量阈值时,接收并集合所有发送联邦学习请求的用户标识,进而得到用户标识集合。

步骤S303,将用户标识集合发送至所有发送联邦学习请求的用户,以使用户进行数据加密。

具体地,云端服务器将用户标识集合发送至所有发送联邦学习请求的用户,进而使用户端根据用户标识对用户模型的数据进行加密。

通过上述步骤,云端服务器判断发送联邦学习请求的用户数量是否超过预设的数量阈值;当超过预设的数量阈值时,接收并集合所有发送联邦学习请求的用户标识,进而得到用户标识集合,有利于当多个用户不同时在线时进行联邦学习,进而实现了用户的柔性参与联邦学习。通过将用户标识集合分别发送至参与联邦学习的用户端,并根据用户标识对用户模型的数据进行加密,进而有利于提高后续用户模型的数据安全性。

在本实施例中还提供了一种基于联邦学习的数据保护系统,包括用户端和云端服务器,用户端用于执行如图2中的基于联邦学习的数据保护方法;云端服务器用于执行如图3中的基于联邦学习的数据保护方法。

下面通过具体实施例对本实施例进行描述和说明。

图4是本申请具体实施例的基于联邦学习的数据保护方法的流程图。如图4所示,该基于联邦学习的数据保护方法包括如下步骤:

步骤S410,密钥生成中心生成系统参数,并分发至用户端。

具体地,步骤S410包括步骤S411至步骤S414。

步骤S411,在系统初始化阶段,输入安全参数k

步骤S412,密钥生成中心KGC根据系统参数p,选择随机数r,并使r

步骤S413,密钥生成中心KGC选择一个超递增序列

步骤S414,选择n个随机数x

步骤S420,用户端训练本地模型,并根据密钥管理中心分发的参数对梯度数据进行编码、加密和签名。

具体地,步骤S420包括步骤S421至步骤S424。

步骤S421,对于每一个用户端的用户模型f(x

其中Di={

步骤S422,用户使用随机梯度下降(Stochastic Gradient Descent,SGD)算法训练模型,计算得到梯度数据:

最终用户i得到用户模型的梯度数据的集合d

w

d

其中,w

步骤S423,用户i向云端先发送联邦学习请求,发送相应的ID给云端,云端等待接收到客户端请求大于t时,云端服务器汇集所有参与联邦学习的用户的ID;将参与联邦学习的所有用户的ID打包返回给各用户,具体地,此处的用户的ID即为前述实施例中的用户标识。用户根据云端返回参与联邦学习的用户的ID从{x

其中,x

用户i根据β(x

S

其中,β(x

步骤S424,用户利用密钥管理中心KGC分发的参数,对梯度集合di进行加密,此处所采用的加密算法是在原始的Paillier算法基础上的一个改进算法,该改进算法可以对梯度向量数据进行打包,并且利用秘密共享的子密钥进一步加密,确保每个用户数据的安全,防止共谋攻击,具体加密公式如下式所示:

其中,用户端不同模型的梯度数据为:

d

其中,{g

其后,用户端i计算

其中,a

最后,用户端将{C

步骤S430,云端服务器根据用户上传的密文数据和签名完成数据的聚合。

具体地,步骤S430包括步骤S431至步骤S432。

步骤S431,云端在接受到用户上传的加密数据,根据Paillier算法的同态特性对多个用户数据进行聚合,云服务器确保收到所有请求过参与横向联邦学习用户的数据才进行聚合运算,否则聚合结果将无法正确解密,用户将无法正确解密的聚合结果视为错误结果并且抛弃。云端聚合具体计算可以表示为公式:

在上式中,Ci表示云平台收到的每一个用户的具体加密值,w表示参加聚合用户的数量,且w大于秘密分享的最小门限值;a

步骤S432,云端进一步完成参与联邦学习用户的签名的聚合,具体如下式所示:

其中,δ

云端完成密文数据的聚合以及签名的聚合,然后返回聚合结果和相应的签名{C

步骤S440,参与联邦学习的用户端根据云端的密文聚合结果解密获得聚合结果,根据聚合结果更新本地模型。

具体地,步骤S440包括步骤S441至步骤S444。

步骤S441,每一个用户端在得到聚合结果后,将利用私钥λ对聚合结果进行解密,具体的解密算法如下式所示:

其中,λ表示私钥,C表示密文数据的聚合,g和N分别表示KGC生成的公共参数。

当每一个用户端解密完成后,用户端得到以下的聚合结果:

其中,{a

步骤S442,每一个用户端根据签名δ、公钥Yi、哈希值h

其中,δ表示用户端的签名,M表示聚合结果,Yi表示公钥、h

当上式成立时,即用户验证通过聚合结果,用户接收聚合结果M;进一步对M进行解码。当上式不成立时,用户判断该聚合结果M无效。

步骤S443,各用户端利用超递增的序列对聚合结果M进行解码,进一步得到各维数据的聚合结果

其中,主要的输入为密钥生成中心KGC分发给用户的超递增序列,用户的解密结果M,算法的输出为每个模型对应的聚合结果(D

步骤S444,各用户端在获得对应模型的聚合结果后,使用聚合结果更新本地模型参数,对于每一个模型参数W

其中,表示用户i的模型的参数,η

在本申请具体实施例中,参与联邦学习的每个用户端使用超递增序列对梯度数据进行编码和解码,进而在确保聚合结果正确的同时提高了数据聚合的效率。通过Paillier算法来对编码后的数据进行加密,Paillier算法保证了用户端梯度数据的安全和隐私保护;用户端进一步通过秘密共享的方法对数据进行加密保护,秘密共享的方法可以确保系统中的用户柔性参与联邦学习,即用户端可以根据自身联邦学习的需求,参与联邦学习,并且可以防止共谋攻击;进一步地,使用聚合签名的方法对数据进行签名,联邦学习系统中的用户端可以通过聚合签名对云端聚合结果进行验证,使得云端聚合结果具有可验证性,进而提高了用户端数据的安全性。

在本实施例中还提供了一种基于联邦学习的数据保护装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是申请本实施例的基于联邦学习的数据保护装置的结构框图,如图6所示,该装置包括:发送模块10、接收模块20和处理模块30。

发送模块10,用于发送联邦学习请求至云端服务器,联邦学习请求包括用户标识;还用于发送密文数据和签名数据至云端服务器,以使云端服务器生成聚合结果。

接收模块20,用于当云端服务器接收的联邦学习请求的用户数量超过预设的数量阈值后,接收云端服务器发送的所有用户标识,并根据用户标识获取目标输入数据;还用于接收云端服务器发送的聚合结果。

处理模块30,用于根据目标输入数据,生成加密后的密文数据和签名数据;还用于解密云端服务器发送的聚合结果,根据解密后的聚合结果更新用户模型,以实现用户模型的数据保护。

在其中的一些实施例中,接收模块20,用于接收用户端发送的密文数据和签名数据。

处理模块30,用于根据系统参数、联邦学习请求的数量以及超递增序列,分别对密文数据和签名数据进行聚合,得到聚合结果。

发送模块10,用于根据聚合结果中的签名数据与用户标识的对应关系,发送聚合结果至每个用户,以使用户根据聚合结果更新用户模型。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。

应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。

显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。

“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

技术分类

06120116540909