CN112183767A - 一种多密钥下模型聚合的联邦学习方法及相关设备 - Google Patents

一种多密钥下模型聚合的联邦学习方法及相关设备 Download PDF

Info

Publication number
CN112183767A
CN112183767A CN202011059108.XA CN202011059108A CN112183767A CN 112183767 A CN112183767 A CN 112183767A CN 202011059108 A CN202011059108 A CN 202011059108A CN 112183767 A CN112183767 A CN 112183767A
Authority
CN
China
Prior art keywords
participant
model
encryption
aggregation
key
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
CN202011059108.XA
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202011059108.XA priority Critical patent/CN112183767A/zh
Publication of CN112183767A publication Critical patent/CN112183767A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种多密钥下模型聚合的联邦学习方法及相关设备,用于在多方协同训练机器学习模型时,保障各个数据公司的数据样本不被公开。本申请实施例的联邦学习方法采用加法同态加密算法,通过密钥生成中心生成公共密钥参数和主密钥,各参与方通过公共密钥参数生成各自的参与方私钥和参与方公钥,使用各自的参与方公钥对模型参数进行加密后发送到保密节点;而后保密节点为各参与方模型添加随机扰动,从而保证在模型参数聚合过程中各参与方的模型参数的数据隐私。

Description

一种多密钥下模型聚合的联邦学习方法及相关设备
技术领域
本申请实施例涉及信息安全领域,具体涉及一种多密钥下模型聚合的联邦学习方法及相关设备。
背景技术
机器学习模型是机器学习领域广泛使用的回归/分类模型。在对机器学习模型训练中,需要大量的数据样本进行训练,数据样本数量越多,机器学习模型的训练效果也越好。
数据公司用于大量的数据样本,可以用于进行机器学习模型的训练。但是出于保障用户数据隐私的考虑,数据公司之间并不希望在训练机器学习模型的过程中公开自己拥有的具体数据样本。
发明内容
本申请实施例提供了一种多密钥下模型聚合的联邦学习方法及相关设备,用于在训练机器学习模型时,保障各个数据公司的数据样本不被公开。
本申请第一方面提供一种多密钥下模型聚合的联邦学习方法,应用于密钥生成中心,包括:
生成公共参数和所述公共参数对应的主密钥;
发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密。
本申请第二方面提供一种多密钥下模型聚合的联邦学习方法,应用于参与方设备,包括:
接收公共参数,所述公共参数存在对应的主密钥;
根据所述公共参数生成和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取参与方模型;
使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
接收所述保密节点发送的第二加密聚合模型,所述第二加密聚合模型经过所述参与方公钥加密;
根据所述公共密钥参数计算参与方私钥;
使用所述参与方私钥对所述第二加密聚合模型进行解密。
可选地,所述获取参与方模型参数,包括:
获取初始模型和本地训练数据,所述本地训练数据为所述参与方提供的数据样本;
使用所述本地训练数据训练所述初始模型,得到参与方模型。
本申请第三方面提供一种多密钥下模型聚合的联邦学习方法,应用于保密节点,包括:
接收参与方设备发送的第一加密模型,所述第一加密模型经参与方密钥进行加法同态加密生成;
使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
发送第二加密模型至聚合节点;
接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密。
本申请第四方面提供一种多密钥下模型聚合的联邦学习方法,应用于聚合节点,包括:
获取主密钥,所述主密钥存在对应的公共参数;
接收保密节点发送的多个不同参与方的第二加密模型,所述第二加密模型包含随机扰动,且每个所述第二加密模型经由对应的参与方公钥加密生成,所述参与方公钥根据所述公共参数计算生成;
使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型;
接收参与方公钥,所述参与方公钥由参与方根据所述公共密钥参数按照加法同态加密算法生成。
使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
发送所述第一加密聚合模型至所述保密节点。
本申请第五方面提供一种密钥生成中心,包括:
生成单元,用于生成公共参数和所述公共参数对应的主密钥;
第一发送单元,用于发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
第二发送单元,用于发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密。
本申请第六方面提供一种参与方设备,包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
第二接收单元,用于接收所述保密节点发送的第二加密聚合模型,所述第二加密聚合模型经所述参与方公钥进行加密;
解密单元,用于使用所述参与方私钥对所述第二加密聚合模型进行解密。
可选地,所述的参与方设备,所述获取单元具体用于:
获取初始模型和本地训练数据,所述本地训练数据为所述参与方提供的数据样本;
使用所述本地训练数据训练所述初始模型,得到参与方模型。
本申请第七方面提供一种保密节点,包括:
第一接收单元,用于接收参与方设备发送的第一加密模型,所述第一加密模型经参与方密钥进行加法同态加密生成;
第一生成单元,用于使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
第一发送单元,用于发送第二加密模型至聚合节点;
第二接收单元,用于接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
第二生成单元,用于消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
第二发送单元,用于发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密。
本申请第八方面提供一种聚合节点,包括:
获取单元,用于获取主密钥,所述主密钥存在对应的公共参数;
第一接收单元,用于接收保密节点发送的多个不同参与方的第二加密模型,所述第二加密模型包含随机扰动,且每个所述第二加密模型经由对应的参与方公钥加密生成,所述参与方公钥根据所述公共参数计算生成;
解密单元,用于使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
聚合单元,用于将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型。
第二接收单元,用于接收参与方公钥,所述参与方公钥由参与方根据所述公共密钥参数按照加法同态加密算法生成。
加密单元,用于使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
发送单元,用于发送所述第一加密聚合模型至所述保密节点。
本申请第九方面提供一种多密钥下模型聚合的联邦学习系统,包括密钥生成中心、保密节点、聚合节点和至少两个参与方设备;
所述密钥生成中心,包括:
生成单元,用于生成公共参数和所述公共参数对应的主密钥;
第一发送单元,用于发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
第二发送单元,用于发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密;
所述参与方设备,包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
所述保密节点,包括:
第一接收单元,用于接收参与方设备发送的第一加密模型,所述第一加密模型经参与方密钥进行加法同态加密生成;
第一生成单元,用于使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
第一发送单元,用于发送第二加密模型至聚合节点;
第二接收单元,用于接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
第二生成单元,用于消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
第二发送单元,用于发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密;
所述参与方设备包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合。
从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供的一种多密钥下模型聚合的联邦学习方法采用同态加密算法,在各参与方在不公开自身数据样本的情况下,使用同态加密算法将训练后的多个参与方模型进行聚合,保证模型训练中各个参与方的数据样本不被泄露。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请提供的一个网络架构示意图;
图2为本申请提供的一种多密钥下模型聚合的联邦学习方法的实施例示意图;
图3为本申请提供的一种密钥生成中心的实施例示意图;
图4为本申请提供的一种参与方设备的实施例示意图;
图5为本申请提供的一种保密节点的实施例示意图;
图6为本申请提供的一种聚合节点的实施例示意图。
具体实施方式
本申请实施例提供了一种多密钥下模型聚合的联邦学习方法及相关设备,用于在多个数据公司作为参与方联合训练机器学习模型时,保障参与方的数据样本不被泄露。
请参阅图1,本申请所提供的一种多密钥下模型聚合的联邦学习方法在应用时,需要大致分为四个方面的设备进行参与,分别是密钥生成中心、保密节点、聚合节点和参与方设备。其中,密钥生成中心、保密节点和聚合节点各存在一个即可,而参与方设备需要存在多个,具体与参与方的数量相对应。各参与方在本发明中,不直接向聚合节点提供数据样本,而是提供使用参与方数据样本训练得到的模型,或者说模型参数。图1中出现的各设备为具备数据处理能力的计算机设备,每个计算机设备可以包括但不限于中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源等结构。
下面对本申请的所提供的一种多密钥下模型聚合的联邦学习方法进行完整说明,请参阅图2,本申请提供的一个实施例包括:
201、密钥生成中心生成公共参数和所述公共参数对应的主密钥;
密钥生成中心生成公共参数PP和主密钥MK,该公共参数PP可以作为种子进行一定计算后得到多组同态加密用的公钥pki和私钥ski,该主密钥MK可以解密使用前述任意一个公钥pki加密的密文,但是不能解密对应私钥ski加密的密文。优选地,该公共参数PP可以是一个512位或1024位的随机数,公共参数PP的维数越多,保密性越强。但可以理解的是,上述随机数的取值仅仅用于帮助本领域技术人员的示例;公共参数的具体位数还可以取其他整数值,位数越多,保密性越强。
202、密钥生成中心发送所述公共参数至多个参与方设备;
密钥生成中心将相同的公共参数PP发送到多个不同的参与方设备上。
203、密钥生成中心发送所述主密钥至聚合节点;
密钥生成中心将主密钥MK发送到保密节点,使得聚合节点能够对所有使用同一公共参数PP生成的公钥pki加密的密文进行解密。
204、参与方设备根据所述公共参数生成参与方公钥和参与方私钥,所述参与方公钥加密的密文可以被所述主密钥解密;
参与方设备使用密钥生成算法对公共参数PP进行一系列运算,得到参与方公钥pki参与方私钥ski。为了方便分别各个参与方设备,使用i代表自然数1,2,3……用i对各个参与方(或者说参与方设备进行编号),每个参与方都拥有一组与其他参与方不同的参与方公钥pki和参与方私钥ski。本步骤需要采用非对称加密技术,也就是说使用了公钥pki加密的密文,仅能被对应的私钥ski或主密钥MK解密,而不会被公钥pki解密。
205、参与方设备获取参与方模型;
参与方设备从内部存储器或其他属于参与方的存储空间中获取参与方模型,该参与方模型使用了参与方的数据样本进行学习训练,使得参与方模型的参数能够体现参与方数据样本的特征。具体地,该参与方模型的训练过程可以在参与方设备上进行,首先获取一个未经过参与方数据样本训练的初始模型,然后使用参与方所拥有的数据样本,对初始模型执行机器学习学习任务,以调整初始模型的一项或多项参数,得到参与方模型。可以理解的是,参与方模型的训练也可以在参与方的其他计算机设备上进行,具体的模型训练方式由数据样本和初始模型的特征所决定;该参与模型的训练时机也没有限制,可以是预先训练的,或者是在参与方在接收到公共参数之后开始进行训练生成的。
206、参与方设备使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
各个参与方设备使用步骤204中生成的参与方公钥pki,对按照加法同态加密算法对参与方模型进行加密,生成各自的第一加密模型
Figure BDA0002711817450000062
207、参与方设备发送所述第一加密模型和参与方公钥至保密节点;
各个参与方设备发送第一加密模型
Figure BDA0002711817450000061
以及各自的参与方公钥pki到保密节点。
208、使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
保密节点读取参与方设备发送的第一加密模型
Figure BDA0002711817450000063
的位数,分别为每个第一加密模型
Figure BDA0002711817450000064
生成一个随机序列ri。保密节点此时读取步骤207中所接收的参与方公钥pki,使用参与方公钥pki对随机序列ri进行加法同态加密操作后得到
Figure BDA0002711817450000065
此时,利用加法同态加密的特性,计算
Figure BDA0002711817450000066
就可以得到第二加密模型
Figure BDA0002711817450000067
可以看出,保密节点虽然持有公钥pki,并且收到了各个参与方发送的第一加密模型
Figure BDA0002711817450000068
但是保密节点无法解密这些密文得到具体的参与方模型modeli
209、发送第二加密模型至聚合节点;
保密节点发送步骤208中所生成的各参与方的第二加密模型
Figure BDA0002711817450000069
到聚合节点。
210、使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
聚合节点可以使用步骤203中获得的主密钥MK对第二加密模型
Figure BDA00027118174500000610
进行解密,但由于各个第二加密模型
Figure BDA00027118174500000611
在保密节点加入了随机扰动,因此解密后第二保密节点只能得到多个包含随机扰动的参与方模型(modeli+ri),而无法分离出参与方模型modeli
211、将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型;
利用加法同态加密的性质,聚合节点可以将持有的多组包含随机扰动的参与方模型(modeli+ri)进行聚合,得到包含随机扰动的聚合模型
Figure BDA0002711817450000071
此时,包含随机扰动的聚合模型
Figure BDA0002711817450000072
内已经聚合了各个参与方的模型训练成果,但同时也包含了各个第二加密模型的随机扰动的和
Figure BDA0002711817450000074
聚合节点无法将随机扰动
Figure BDA0002711817450000073
分离。因此,聚合节点既无法得知各参与方的数据样本,也无法得知训练成果。
212、参与方设备发送参与方公钥至聚合节点;
各个参与方设备将步骤204中生成的参与方公钥pk1发送到保密节点。可以理解的是,各个参与方设备发送参与方公钥pki的的操作在步骤204至步骤213之间的进行即可,并没有严格的时机限制。
213、使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
聚合节点使用各个参与方公钥pki,对包含随机扰动的聚合模型
Figure BDA0002711817450000075
进行加法同态加密操作,生成对应的第一聚合加密模型
Figure BDA0002711817450000076
作为训练成果。需要说明的是,第一聚合加密模型
Figure BDA0002711817450000077
的数量可以少于实际的参与方数量,相当于一部分参与方无偿提供了己方数据样本的参与方模型,协助其他参与方进行了模型参数的调整。但所有参与方都未在此过程中公开自身所持有的数据样本。
214、聚合节点发送所述第一加密聚合模型至所述保密节点
聚合节点将多个第一聚合加密模型
Figure BDA0002711817450000078
发送到保密节点。
215、保密节点消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
保密节点计算
Figure BDA0002711817450000079
利用加法同态加密算法的性质,将
Figure BDA00027118174500000710
与第一聚合加密模型
Figure BDA00027118174500000711
相乘,可以去除第一聚合加密模型
Figure BDA00027118174500000712
的随机干扰,得到包含了训练成果的第二加密聚合模型
Figure BDA00027118174500000713
由于第二加密聚合模型
Figure BDA00027118174500000714
经过了参与方公钥pki加密,保密节点既没有私钥ski,也没有主密钥MK,无法从第二加密聚合模型中窃取训练成果。
216、保密节点发送所述第二加密聚合模型至所述参与方设备;
保密节点将各个第二加密聚合模型
Figure BDA00027118174500000715
分发至对应的参与方设备上。
217、参与方设备使用所述参与方私钥对所述第二加密聚合模型进行解密。
参与方设备使用各自的参与方私钥ski对收到的
Figure BDA00027118174500000716
进行解密,可以得到聚合结果
Figure BDA00027118174500000717
再除以数据方的个数n即可得到综合了各个参与方的数据样本后最终训练成果。
本领域技术人员应当理解,在本实施例的实施过程中,各个密钥、密文使用都标注了序号,以表示密钥、密文对应于相同序号的参与方设备,在密文的加密、解密过程中,都需要对应序号的密钥,不能交叉使用。换句话说,使用了公钥pk1加密过的密文,无法使用私钥sk1解密,也不应使用pk2再次加密。
从以上实施例可以看出,本申请利用加法同态加密算法构建了一套完整的加密网络,使得网络架构中的各方都无法获知其他参与方的数据样本。即便某一参与方与聚合节点共享信息,也无法得知其他数据参与方提供的参与方模型的具体参数。因此,可以由某一参与方设备担任聚合节点,同时完成图2所示实施例中参与方设备和聚合节点的任务。
下面对网络架构中的各设备进行说明。
请参阅图3,图3出示了密钥生成中心的一个实施例示意图,该密钥生成中心包括:
生成单元301,用于生成公共参数和所述公共参数对应的主密钥;
第一发送单元302,用于发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
第二发送单元303,用于发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密。
图4出示了参与方设备的一个实施例示意图,该参与方设备包括:
第一接收单元401,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元402,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元403,用于获取参与方模型;
加密单元404,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元405,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
第二接收单元406,用于接收所述保密节点发送的第二加密聚合模型,所述第二加密聚合模型经所述参与方公钥进行加密;
解密单元407,用于使用所述参与方私钥对所述第二加密聚合模型进行解密。
在一些实施例中,获取单元403具体用于:
获取初始模型和本地训练数据,所述本地训练数据为所述参与方提供的数据样本;
使用所述本地训练数据训练所述初始模型,得到参与方模型。
图5出示了保密节点的一个实施例示意图,该保密节点包括:
第一接收单元501,用于接收参与方设备发送的第一加密模型,所述第一加密模型经参与方密钥进行加法同态加密生成;
第一生成单元502,用于使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
第一发送单元503,用于发送第二加密模型至聚合节点;
第二接收单元504,用于接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
第二生成单元505,用于消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
第二发送单元506,用于发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密。
图6出示了聚合节点的一个实施例示意图,该聚合节点包括:
获取单元601,用于获取主密钥,所述主密钥存在对应的公共参数;
第一接收单元602,用于接收保密节点发送的多个不同参与方的第二加密模型,所述第二加密模型包含随机扰动,且每个所述第二加密模型经由对应的参与方公钥加密生成,所述参与方公钥根据所述公共参数计算生成;
解密单元603,用于使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
聚合单元604,用于将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型。
第二接收单元605,用于接收参与方公钥,所述参与方公钥由参与方根据所述公共密钥参数按照加法同态加密算法生成。
加密单元606,用于使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
发送单元607,用于发送所述第一加密聚合模型至所述保密节点。
本申请还提供一种多密钥下模型聚合的联邦学习系统,该系统包括密钥生成中心、保密节点、聚合节点和至少两个参与方设备,密钥生成中心、保密节点、聚合节点和参与方设备的结构具体请参阅图3至图6出示的实施例示意图,此处不再赘述。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为密钥生成中心、保密节点、聚合节点和参与方设备中任意一者所用的计算机软件指令,其包括用于执行为密钥生成中心、保密节点、聚合节点和参与方设备中任意一者所设计的程序,当所述程序运行时,可以控制计算机设备执行图2中所示的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (11)

1.一种多密钥下模型聚合的联邦学习方法,应用于密钥生成中心,其特征在于,包括:
生成公共参数和所述公共参数对应的主密钥;
发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密。
2.一种多密钥下模型聚合的联邦学习方法,应用于参与方设备,其特征在于,包括:
接收公共参数,所述公共参数存在对应的主密钥;
根据所述公共参数生成和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取参与方模型;
使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型添加扰动;
接收所述保密节点发送的第二加密聚合模型,所述第二加密聚合模型经过所述参与方公钥加密;
根据所述公共密钥参数计算参与方私钥;
使用所述参与方私钥对所述第二加密聚合模型进行解密。
3.根据权利要求2所述的多密钥下模型聚合的联邦学习方法,其特征在于,所述获取参与方模型参数,包括:
获取初始模型和本地训练数据,所述本地训练数据为所述参与方提供的数据样本;
使用所述本地训练数据训练所述初始模型,得到参与方模型。
4.一种多密钥下模型聚合的联邦学习方法,应用于保密节点,其特征在于,包括:
接收参与方设备发送的第一加密模型,所述第一加密模型经参与方公钥进行加法同态加密生成;
使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
发送第二加密模型至聚合节点;
接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密。
5.一种多密钥下模型聚合的联邦学习方法,应用于聚合节点,其特征在于,包括:
获取主密钥,所述主密钥存在对应的公共参数;
接收保密节点发送的多个不同参与方的第二加密模型,所述第二加密模型包含随机扰动,且每个所述第二加密模型经由对应的参与方公钥加密生成,所述参与方公钥根据所述公共参数计算生成;
使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型;
接收参与方公钥,所述参与方公钥由参与方根据所述公共密钥参数按照加法同态加密算法生成;
使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
发送所述第一加密聚合模型至所述保密节点。
6.一种密钥生成中心,其特征在于,包括:
生成单元,用于生成公共参数和所述公共参数对应的主密钥;
第一发送单元,用于发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
第二发送单元,用于发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密。
7.一种参与方设备,其特征在于,包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
第二接收单元,用于接收所述保密节点发送的第二加密聚合模型,所述第二加密聚合模型经所述参与方公钥进行加密;
解密单元,用于使用所述参与方私钥对所述第二加密聚合模型进行解密。
8.根据权利要求7所述的参与方设备,其特征在于,所述获取单元具体用于:
获取初始模型和本地训练数据,所述本地训练数据为所述参与方提供的数据样本;
使用所述本地训练数据训练所述初始模型,得到参与方模型。
9.一种保密节点,其特征在于,包括:
第一接收单元,用于接收参与方设备发送的第一加密模型,所述第一加密模型经参与方公钥进行加法同态加密生成;
第一生成单元,用于使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
第一发送单元,用于发送第二加密模型至聚合节点;
第二接收单元,用于接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
第二生成单元,用于消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
第二发送单元,用于发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密。
10.一种聚合节点,其特征在于,包括:
获取单元,用于获取主密钥,所述主密钥存在对应的公共参数;
第一接收单元,用于接收保密节点发送的多个不同参与方的第二加密模型,所述第二加密模型包含随机扰动,且每个所述第二加密模型经由对应的参与方公钥加密生成,所述参与方公钥根据所述公共参数计算生成;
解密单元,用于使用所述主密钥解密所述多个不同参与方的第二加密模型,得到多个包含随机扰动的参与方模型;
聚合单元,用于将所述多个包含随机扰动的参与方模型按照加法运算进行聚合,得到包含随机扰动的聚合模型;
第二接收单元,用于接收参与方公钥,所述参与方公钥由参与方根据所述公共密钥参数按照加法同态加密算法生成;
加密单元,用于使用所述参与方公钥对所述包含随机扰动的聚合模型进行加密,生成包含随机扰动的第一加密聚合模型;
发送单元,用于发送所述第一加密聚合模型至所述保密节点。
11.一种多密钥下模型聚合的联邦学习系统,其特征在于,包括密钥生成中心、保密节点、聚合节点和至少两个参与方设备;
所述密钥生成中心,包括:
生成单元,用于生成公共参数和所述公共参数对应的主密钥;
第一发送单元,用于发送所述公共参数至多个参与方设备,以使得所述参与方设备使用所述公共参数生成参与方公钥和参与方私钥;
第二发送单元,用于发送所述主密钥至聚合节点,以使得所述聚合节点使用所述主密钥对多个不同参与方的第二加密模型进行解密;
所述参与方设备,包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合;
所述保密节点,包括:
第一接收单元,用于接收参与方设备发送的第一加密模型,所述第一加密模型经参与方公钥进行加法同态加密生成;
第一生成单元,用于使用所述参与方公钥为所述第一加密模型添加随机扰动,生成第二加密模型;
第一发送单元,用于发送第二加密模型至聚合节点;
第二接收单元,用于接收所述聚合节点发送的第一加密聚合模型,所述第一加密聚合模型由至少两个不同参与方的第二加密模型聚合生成;
第二生成单元,用于消除所述第一加密聚合模型的随机扰动,生成第二加密聚合模型;
第二发送单元,用于发送所述第二加密聚合模型至所述参与方设备,以使得所述参与方使用对应的私钥对所述第二加密聚合模型进行解密;
所述参与方设备包括:
第一接收单元,用于接收公共参数,所述公共参数存在对应的主密钥;
密钥生成单元,用于根据所述公共参数生成参与方私钥和参与方公钥,所述参与方公钥加密的密文可以被所述主密钥解密;
获取单元,用于获取参与方模型;
加密单元,用于使用所述参与方公钥对所述参与方模型进行加法同态加密算法加密,得到第一加密模型;
发送单元,用于发送所述第一加密模型和参与方公钥至保密节点,以使得所述保密节点对多个属于不同参与方的第一加密模型进行聚合。
CN202011059108.XA 2020-09-30 2020-09-30 一种多密钥下模型聚合的联邦学习方法及相关设备 Pending CN112183767A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011059108.XA CN112183767A (zh) 2020-09-30 2020-09-30 一种多密钥下模型聚合的联邦学习方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011059108.XA CN112183767A (zh) 2020-09-30 2020-09-30 一种多密钥下模型聚合的联邦学习方法及相关设备

Publications (1)

Publication Number Publication Date
CN112183767A true CN112183767A (zh) 2021-01-05

Family

ID=73947085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011059108.XA Pending CN112183767A (zh) 2020-09-30 2020-09-30 一种多密钥下模型聚合的联邦学习方法及相关设备

Country Status (1)

Country Link
CN (1) CN112183767A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553610A (zh) * 2021-09-22 2021-10-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于同态加密和可信硬件的多方隐私保护机器学习方法
CN113614726A (zh) * 2021-06-10 2021-11-05 香港应用科技研究院有限公司 对联邦学习系统的动态差异隐私
CN113807537A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
CN114095157A (zh) * 2021-10-29 2022-02-25 上海浦东发展银行股份有限公司 密钥管理方法、装置、计算机设备及可读存储介质
CN114629620A (zh) * 2022-04-02 2022-06-14 深圳市纽创信安科技开发有限公司 同态加密计算方法及系统、同态请求、计算和密钥系统
CN116150809A (zh) * 2023-04-14 2023-05-23 深圳市峰和数智科技有限公司 一种用于光伏功率预测模型训练中的数据保护方法
WO2023098511A1 (zh) * 2021-12-03 2023-06-08 华为技术有限公司 通信方法及装置、存储介质、程序产品
CN117395083A (zh) * 2023-12-11 2024-01-12 东信和平科技股份有限公司 基于联邦学习的数据保护方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599996B1 (ko) * 2014-12-08 2016-03-07 고려대학교 산학협력단 폐기가능한 id 기반 암호 서버 및 시스템
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及系统
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101599996B1 (ko) * 2014-12-08 2016-03-07 고려대학교 산학협력단 폐기가능한 id 기반 암호 서버 및 시스템
CN110572253A (zh) * 2019-09-16 2019-12-13 济南大学 一种联邦学习训练数据隐私性增强方法及系统
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807537A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
WO2022213957A1 (zh) * 2021-04-06 2022-10-13 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
CN113807537B (zh) * 2021-04-06 2023-12-05 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
CN113614726A (zh) * 2021-06-10 2021-11-05 香港应用科技研究院有限公司 对联邦学习系统的动态差异隐私
CN113553610A (zh) * 2021-09-22 2021-10-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于同态加密和可信硬件的多方隐私保护机器学习方法
CN114095157A (zh) * 2021-10-29 2022-02-25 上海浦东发展银行股份有限公司 密钥管理方法、装置、计算机设备及可读存储介质
CN114095157B (zh) * 2021-10-29 2023-10-24 上海浦东发展银行股份有限公司 密钥管理方法、装置、计算机设备及可读存储介质
WO2023098511A1 (zh) * 2021-12-03 2023-06-08 华为技术有限公司 通信方法及装置、存储介质、程序产品
CN114629620A (zh) * 2022-04-02 2022-06-14 深圳市纽创信安科技开发有限公司 同态加密计算方法及系统、同态请求、计算和密钥系统
CN116150809A (zh) * 2023-04-14 2023-05-23 深圳市峰和数智科技有限公司 一种用于光伏功率预测模型训练中的数据保护方法
CN117395083A (zh) * 2023-12-11 2024-01-12 东信和平科技股份有限公司 基于联邦学习的数据保护方法及系统
CN117395083B (zh) * 2023-12-11 2024-03-19 东信和平科技股份有限公司 基于联邦学习的数据保护方法及系统

Similar Documents

Publication Publication Date Title
CN112183767A (zh) 一种多密钥下模型聚合的联邦学习方法及相关设备
CN110572253B (zh) 一种联邦学习训练数据隐私性增强方法及系统
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
CN113037460A (zh) 基于同态加密和秘密共享的联邦学习隐私保护方法
CN111510281B (zh) 一种同态加密方法及装置
CN112906030B (zh) 基于多方全同态加密的数据共享方法和系统
GB2576289A (en) Cryptographic key-generation with application to data deduplication
CN111600661B (zh) 基于实时更新的混沌密钥分发的三维加密ofdm光系统
US10833851B2 (en) Methods and systems for linear key agreement with forward secrecy using an insecure shared communication medium
CN115392487A (zh) 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统
CN104158880A (zh) 一种用户端云数据共享解决方法
WO2013021360A1 (en) Encryption and decryption method
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
CN112382376A (zh) 基于区块链的医疗器械管理追溯系统
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
CN108989037A (zh) 一种多授权属性基加密方法、系统、设备及计算机介质
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
Shin et al. Securing a local training dataset size in federated learning
CN118445844A (zh) 一种联邦学习数据隐私保护方法、装置及可读存储介质
CN118133985A (zh) 任务处理方法、装置、系统及介质
CN109743156B (zh) 一种分组加解密方法和装置
CN113645022B (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
Aïssa et al. Image encryption using stream cipher algorithm with nonlinear filtering function
CN114629640A (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