CN115622800A - 基于中国剩余表示的联邦学习同态加密系统及方法 - Google Patents

基于中国剩余表示的联邦学习同态加密系统及方法 Download PDF

Info

Publication number
CN115622800A
CN115622800A CN202211512979.1A CN202211512979A CN115622800A CN 115622800 A CN115622800 A CN 115622800A CN 202211512979 A CN202211512979 A CN 202211512979A CN 115622800 A CN115622800 A CN 115622800A
Authority
CN
China
Prior art keywords
homomorphic encryption
vector
central server
federal learning
client
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
CN202211512979.1A
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.)
Shandong Blockchain Research Institute
Original Assignee
Shandong Blockchain Research Institute
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 Shandong Blockchain Research Institute filed Critical Shandong Blockchain Research Institute
Priority to CN202211512979.1A priority Critical patent/CN115622800A/zh
Publication of CN115622800A publication Critical patent/CN115622800A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于通信技术领域,为解决同态加密会引入大量额外的通信开销和计算开销,降低通信效率的问题,提供一种基于中国剩余表示的联邦学习同态加密系统及方法。其中,基于中国剩余表示的联邦学习同态加密系统包括中央服务器及若干个与其进行数据加密传输的客户端;每个客户端用于计算相应本地样本数据的梯度向量,再进行中国剩余表示编码,对编码后的梯度向量进行加密并传送至中央服务器;中央服务器用于将所有加密的编码梯度向量进行累加并返回至每个客户端;每个客户端用于对累加向量进行解密及解码,利用解码的梯度向量及预设学习率对设定预测模型中的参数进行更新,以实现利用更新后的预测模型来预测设定目标。其能够大大提高通信效率。

Description

基于中国剩余表示的联邦学习同态加密系统及方法
技术领域
本发明属于通信技术领域,尤其涉及一种基于中国剩余表示的联邦学习同态加密系统及方法。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
机器学习模型被广泛应用于银行的违约预测、医院的疾病检测、自动驾驶中的环境感知等领域。其中,机器学习模型的好坏主要依赖于训练数据的大小,训练数据的大小决定了机器学习模型性能的上限。但在现实生活中,数据通常被不同机构持有,数据以“孤岛”的形式存在。为了获得更多数据,多家机构往往直接将各自数据发送到一个中心,然后汇总为一个大的数据集。但是这样随意地发送明文数据大大泄露了用户的隐私。
联邦学习(FL)的方法能够解决用户隐私泄露的问题。然而在联邦学习训练过程中直接向中央服务器传递梯度或者模型参数也会带来很大的安全问题,如果中央服务器是honest-but-curious的,那么中央服务器可以根据梯度或者模型参数反推出客户端的部分数据信息。这与联邦学习的保护用户数据隐私的初衷背道而驰。为了解决这个挑战,将联邦学习升级为安全联邦学习。具体策略包括差分隐私(DP)、安全聚合(secure aggregation)、安全多方计算(MPC)和同态加密(HE)。其中,差分隐私(DP)、安全聚合(secureaggregation)和安全多方计算(MPC)均不适用于cross-silo FL。同态加密的策略是适用于cross-silo FL的。
但是发明人发现,同态加密会引入大量额外的通信开销和计算开销,往往是使用明文情况下的几十甚至上百倍,增加了中央服务器及各个客户端的计算负担,从而降低了通信效率及延长了机器学习模型的训练时间。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于中国剩余表示的联邦学习同态加密系统及方法,其引入中国剩余表示的方法,能够大大减少使用同态加密时所来的计算开销和通信开销,减轻中央服务器及各个客户端的计算负担,提高通信效率。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于中国剩余表示的联邦学习同态加密系统。
一种基于中国剩余表示的联邦学习同态加密系统,其包括:中央服务器以及若干个与所述中央服务器进行数据加密传输的客户端;每个客户端内均预先存储有初始化的设定预测模型;
所述中央服务器用于:生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个所述客户端用于:计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
所述中央服务器还用于:将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个所述客户端还用于:利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
作为一种实施方式,所述同态加密密钥对为Paillier加性半同态加密密钥对。
作为一种实施方式,基于横向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
作为一种实施方式,在基于横向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新的过程中,更新后的参数向量为更新前的参数向量减去预设学习率与解码的梯度向量的乘积。
作为一种实施方式,基于纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
作为一种实施方式,在基于纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新的过程中,采用mini-batch SGD来训练设定预测模型;更新后的参数向量为:更新前的参数向量减去一个向量;该减去的向量为:预设学习率与mini-batch的大小相除后再与解码的梯度向量的相乘。
其中,mini-batch SGD是小批量梯度下降法,其思想是每次迭代使用与mini-batch(小批量数据集合)大小相同数量的样本对预测模型的参数进行更新。
本发明的第二个方面提供一种基于中国剩余表示的联邦学习同态加密方法。
一种基于中国剩余表示的联邦学习同态加密方法,其包括:
中央服务器生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个客户端计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
中央服务器将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个客户端利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
作为一种实施方式,所述同态加密密钥对为Paillier加性半同态加密密钥对。
作为一种实施方式,基于横向同态加密联邦学习方法或纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
与现有技术相比,本发明的有益效果是:
本发明的引入了中国剩余表示的方法,利用预设大小且两两互为素数的正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,大大减少了使用同态加密时所来的计算开销和通信开销,减轻了中央服务器及各个客户端的计算负担,提高了通信效率以及大大缩短了客户端内设定预测模型的训练时间。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是现有的横向同态加密联邦学习的过程;
图2是本发明实施例的基于中国剩余表示的联邦学习高效同态加密方法流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
联邦学习:指的是多个客户端在中央服务器的帮助下协作训练机器学习模型,每一次迭代的大致流程为:(1)各客户端在本地计算模型梯度,并发送给中央服务器;(2)中央服务器进行聚合操作,比如加权平均;(3)中央服务器将聚合后的结果发送给各客户端;(4)每个客户端使用聚合后的梯度更新各自的模型参数。整个过程中原始数据不需要离开本地即可参与训练。
根据应用场景的不同,联邦学习可以大致分为cross-device FL和cross-siloFL。在cross-device FL中,客户端是大量计算能力有限、通信不可靠的移动或物联网设备。而在cross-silo FL中,客户是少数的机构,如银行或医院,通信可靠,数据中心有丰富的计算资源。与cross-device FL相比,cross-silo FL对隐私和模型性能的要求更加严格。首先,最终的训练模型只发布给那些参与训练的机构,其他任何外部方都不能得到或访问模型,包括中央服务器。其次,模型的准确性应和集中式的相当,因为机构对模型的性能要求往往很高,如果模型精度低几个百分点是不可接受的。本发明是针对cross-silo FL的。
差分隐私(DP),差分隐私是一种常用的工具,它通过注入噪声来保证数据的隐私性。虽然有一些研究表明将差分隐私的方法应用到联邦学习中可以有效实现,但差分隐私有以下弊端。其一,差分隐私会引入噪声,必然会对模型精度产生影响。其二,使用差分隐私虽然会对客户端数据就行一定的保护,但是聚合后的模型会暴露给中央服务器。其三,有一些研究表明,反推差分隐私保护过的梯度,仍然可以获得部分客户端数据。因此,差分隐私的策略不适用于cross-silo FL。
安全聚合(secure aggregation),安全聚合是指客户端之间协商一个秘密,用这个秘密去掩盖真实值,从而保护数据隐私。但安全聚合会将聚合后的模型暴露给中央服务器。而且,每一层迭代中,只有所有客户端上传完数据后,才能将掩码抵消。因此,安全聚合也不适用于cross-silo FL。
安全多方计算(MPC),安全多方计算指多方以一种各方除了输入和输出之外一无所知的方式,协同计算一个具有私有数据的约定函数。虽然安全多方计算有很强的隐私保障,但是其实现效率往往很低。在cross-silo FL中,受带宽和网络的影响,其实现更加困难。因此安全多方计算的策略对cross-silo FL也不是一个好的方法。
同态加密(HE),同态加密可以在不对数据解密的情况下,直接对密文进行某些计算(例如加法)。使用同态加密,客户端可以将数据加密后再上传给中央服务器,然后由中央服务器进行密文聚合,然后将密文聚合结果返回给客户端,最后客户端将密文聚合结果解密即获得明文聚合结果。可以发现,同态加密可以满足cross-silo FL的要求。因为同态加密没有引入噪声,不会造成精度损失,而且模型没有暴露给除客户端以外的如何方。因此,同态加密的策略是适用于cross-silo FL的。但是同态加密会引入大量额外的通信开销和计算开销,往往是使用明文情况下的几十甚至上百倍。这对同态加密的使用带来了很大的障碍。
为了解决上述背景技术中存在的技术问题,本发明提供一种基于中国剩余表示的联邦学习同态加密系统及方法,其引入中国剩余表示的方法,大大减少了使用同态加密时所来的计算开销和通信开销,提高了通信效率。
实施例一
术语解释:
中国剩余表示:
Figure 761008DEST_PATH_IMAGE001
是一个两两互素的正整数集合,
Figure 285530DEST_PATH_IMAGE002
。对于一组整数
Figure 774280DEST_PATH_IMAGE003
,由中国剩余定理可知以下同余方程组有一个唯一解:
Figure 42451DEST_PATH_IMAGE004
Figure 96994DEST_PATH_IMAGE005
其中
Figure 81435DEST_PATH_IMAGE006
。可以使用拓展欧几里得或大衍求一术求得。
上述系统为基于集合
Figure 119798DEST_PATH_IMAGE007
的中国剩余表示(Chinese Remainder Representation),用
Figure 926080DEST_PATH_IMAGE008
表示。该系统有如下性质。
给定集合
Figure 303971DEST_PATH_IMAGE009
假设有n个用户,每个用户持有一个大小为r的正整数集合。
用户1有正整数集合
Figure 170296DEST_PATH_IMAGE010
Figure 430376DEST_PATH_IMAGE011
基于
Figure 40349DEST_PATH_IMAGE012
构造如下方程组:
Figure 335064DEST_PATH_IMAGE013
可以求得:
Figure 637870DEST_PATH_IMAGE014
用户2有正整数集合
Figure 119667DEST_PATH_IMAGE015
Figure 533330DEST_PATH_IMAGE016
基于
Figure 416973DEST_PATH_IMAGE017
构造如下方程组:
Figure 890679DEST_PATH_IMAGE018
可以求得
Figure 859773DEST_PATH_IMAGE019
……
用户n有正整数集合
Figure 14810DEST_PATH_IMAGE020
Figure 18538DEST_PATH_IMAGE021
基于
Figure 663146DEST_PATH_IMAGE012
构造如下方程组:
Figure 119536DEST_PATH_IMAGE022
可以求得
Figure 875002DEST_PATH_IMAGE023
Figure 733236DEST_PATH_IMAGE024
有如下性质:
(1)
Figure 548746DEST_PATH_IMAGE025
Figure 695693DEST_PATH_IMAGE026
则有
Figure 254851DEST_PATH_IMAGE027
Figure 233171DEST_PATH_IMAGE028
(2)
Figure 954002DEST_PATH_IMAGE029
Figure 384984DEST_PATH_IMAGE030
则有
Figure 685515DEST_PATH_IMAGE031
Figure 518342DEST_PATH_IMAGE032
(3)类似的关系也适用于其他的代数组合,比如:
Figure 410074DEST_PATH_IMAGE033
Figure 593931DEST_PATH_IMAGE034
则有
Figure 698153DEST_PATH_IMAGE035
Paillier同态加密:
由于全同态的加密方案效率非常低下,所以我们的同态加密方案为Paillier加性半同态加密,Paillier同态加密也是联邦学习中最实用的加密方案,我们将
Figure 916645DEST_PATH_IMAGE036
的密文状态记为
Figure 244858DEST_PATH_IMAGE037
横向同态加密cross-silo联邦学习:
符号说明:
Figure 588115DEST_PATH_IMAGE038
黑体字母代表向量,其维度为d
Figure 292766DEST_PATH_IMAGE039
代表
Figure 100185DEST_PATH_IMAGE040
中的第
Figure 599299DEST_PATH_IMAGE041
个数,
Figure 226590DEST_PATH_IMAGE042
本实施例提供了一种基于中国剩余表示的联邦学习同态加密系统,其包括:中央服务器以及若干个与所述中央服务器进行数据加密传输的客户端;每个客户端内均预先存储有初始化的设定预测模型;
所述中央服务器用于:生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个所述客户端用于:计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
所述中央服务器还用于:将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个所述客户端还用于:利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
下面提供一种具体实施方式:
数据集为金融或医疗行业的一些记录,比如信用卡交易记录。
横向同态加密联邦学习:
先考虑横向联邦学习场景,位于不同地区的K家银行想联合训练一个逻辑回归模型,用于预测某个客户是否会违约。每个银行都有一定数量的样本,且每个样本具有标签和相同的特征,标签记录了是否违约,特征包含年龄,婚姻状况,固定资产,负债额等d条特征信息,如表1所示。
表1 银行特征信息
Figure 469352DEST_PATH_IMAGE043
记银行
Figure 68961DEST_PATH_IMAGE044
的数据集权重为
Figure 738976DEST_PATH_IMAGE045
,其中
Figure 853563DEST_PATH_IMAGE046
为银行
Figure 900016DEST_PATH_IMAGE047
的数据集的大小,
Figure 416448DEST_PATH_IMAGE048
Figure 257365DEST_PATH_IMAGE049
为银行
Figure 859248DEST_PATH_IMAGE047
的第
Figure 647075DEST_PATH_IMAGE050
个样本的标签值,-1表示没有违约,1表示违约;
Figure 18014DEST_PATH_IMAGE051
是银行
Figure 29832DEST_PATH_IMAGE047
的第
Figure 119011DEST_PATH_IMAGE050
个样本的特征信息。
逻辑回归的目的是寻找一组合适的模型参数
Figure 507267DEST_PATH_IMAGE052
使得预测值
Figure 732712DEST_PATH_IMAGE053
和真实值(标签)最接近,我们用损失函数
Figure 118694DEST_PATH_IMAGE054
来评估这种差距,
Figure 695169DEST_PATH_IMAGE054
越小代表
Figure 621536DEST_PATH_IMAGE055
越好。我们用梯度下降法来寻找这样的
Figure 967067DEST_PATH_IMAGE055
。即银行
Figure 586267DEST_PATH_IMAGE056
基于本地数据集计算
Figure 384459DEST_PATH_IMAGE057
的梯度:
Figure 317780DEST_PATH_IMAGE058
然后更新
Figure 252238DEST_PATH_IMAGE059
Figure 307919DEST_PATH_IMAGE060
为学习率。不断更新
Figure 593406DEST_PATH_IMAGE055
,直到达到终止条件,最后的
Figure 861577DEST_PATH_IMAGE055
就是
Figure 916120DEST_PATH_IMAGE061
家银行联合训练的模型。其中:
Figure 877123DEST_PATH_IMAGE062
我们先描述基于同态加密的横向逻辑回归常规方案:
图1展示了横向同态加密联邦学习的过程,在该设置中,银行和中央服务器都是honest-but-curious的,银行和中央服务器之间通过SSL/TSL通信。在训练开始之前,银行之间协商一个相同的同态加密(Homomorphic encryption,HE)密钥对,并进行初始化。在训练过程中,每一次迭代都有五个步骤:
步骤1:银行
Figure 587590DEST_PATH_IMAGE063
用本地数据计算梯度
Figure 659451DEST_PATH_IMAGE064
Figure 834081DEST_PATH_IMAGE065
步骤2:银行
Figure 700406DEST_PATH_IMAGE066
使用公钥对
Figure 960486DEST_PATH_IMAGE067
中的每一个数据都加密,然后得到
Figure 570459DEST_PATH_IMAGE068
,并将
Figure 599595DEST_PATH_IMAGE068
发送给中央服务器。
步骤3:中央服务器计算:
Figure 636821DEST_PATH_IMAGE069
并将
Figure 649776DEST_PATH_IMAGE070
返回给每一个银行。
步骤4:各银行用私钥对
Figure 797861DEST_PATH_IMAGE068
解密,得到
Figure 947082DEST_PATH_IMAGE071
步骤5:各银行用
Figure 624051DEST_PATH_IMAGE072
对模型
Figure 593144DEST_PATH_IMAGE055
进行更新,
Figure 810499DEST_PATH_IMAGE073
步骤6:重复上述迭代过程,直到模型收敛或者达到最大训练轮数,即完成训练。其中,
Figure 814227DEST_PATH_IMAGE074
为学习率。
如图2,本实施例的基于中国剩余表示的联邦学习高效同态加密方法,银行之间除了协商公私钥对,还要协商一个大小为
Figure 396518DEST_PATH_IMAGE075
的两两互素的正整数集合
Figure 852907DEST_PATH_IMAGE076
。当银行
Figure 608374DEST_PATH_IMAGE077
计算完梯度向量
Figure 732187DEST_PATH_IMAGE078
后,将
Figure 547697DEST_PATH_IMAGE078
中的数据按顺序分成
Figure 491382DEST_PATH_IMAGE079
份,每份基于
Figure 784960DEST_PATH_IMAGE076
构造同余方程组,然后求解,这样就可以用一个数来代替
Figure 497701DEST_PATH_IMAGE080
个数,我们将其称为CRR(Chinese RemainderRepresentation)编码,编码后得到
Figure 687374DEST_PATH_IMAGE081
,易知
Figure 118355DEST_PATH_IMAGE082
是一个
Figure 481204DEST_PATH_IMAGE083
维的向量。根据上面介绍的中国剩余表示系统的性质(1),我们可知:
Figure 48451DEST_PATH_IMAGE084
依次类推,我们可以得到
Figure 205763DEST_PATH_IMAGE072
,我们将这个过程叫做解码。
其一次训练过程为:
(1)银行
Figure 327303DEST_PATH_IMAGE085
用本地数据计算梯度
Figure 962683DEST_PATH_IMAGE067
Figure 915596DEST_PATH_IMAGE086
(2)对
Figure 243809DEST_PATH_IMAGE087
进行CRR编码,得到
Figure 383803DEST_PATH_IMAGE082
(3)银行
Figure 291717DEST_PATH_IMAGE063
使用公钥对
Figure 99136DEST_PATH_IMAGE082
中的每一个数据加密,得到
Figure 598250DEST_PATH_IMAGE088
,并将
Figure 225540DEST_PATH_IMAGE088
发送给中央服务器。
(4)中央服务器计算:
Figure 405986DEST_PATH_IMAGE089
并将
Figure 67912DEST_PATH_IMAGE090
返回给每一个银行。
(5)各银行用私钥对
Figure 737927DEST_PATH_IMAGE091
进行解密,得到
Figure 118093DEST_PATH_IMAGE092
(6)各银行
Figure 898967DEST_PATH_IMAGE093
进行解码得到
Figure 415399DEST_PATH_IMAGE072
(7)用
Figure 459579DEST_PATH_IMAGE094
对模型
Figure 61461DEST_PATH_IMAGE055
进行更新,
Figure 911606DEST_PATH_IMAGE095
。其中,
Figure 282544DEST_PATH_IMAGE060
为学习率。
纵向同态加密联邦学习:
下面考虑纵向联邦学习场景,位于相同地区的一个银行联合运营商、互联网公司训练逻辑回归模型用于预测客户是否违约。银行叫做Guest,记作
Figure 497625DEST_PATH_IMAGE096
;运营商叫做Host1,记作
Figure 321224DEST_PATH_IMAGE097
,互联网公司叫做Hosts2,记作
Figure 709480DEST_PATH_IMAGE098
。一共有n个用户样本,它们之间持有用户不同维度的特征信息。
银行
Figure 200504DEST_PATH_IMAGE096
持有用户的月收入、负债额等特征信息,经过预处理后,共
Figure 586486DEST_PATH_IMAGE099
个维度。以及标签,即个人是否违约。
运营商
Figure 162961DEST_PATH_IMAGE100
,持有用户的月通话时长、月费用等特征信息,预处理后共
Figure 354908DEST_PATH_IMAGE101
个维度。
互联网
Figure 434860DEST_PATH_IMAGE102
,持有用户借贷软件安装量、投资软件安装量等特征信息,预处理后共
Figure 257322DEST_PATH_IMAGE103
个维度。
具体表2所示:
表2 纵向联邦学习场景
Figure 55514DEST_PATH_IMAGE104
Figure 519993DEST_PATH_IMAGE105
为第
Figure 720030DEST_PATH_IMAGE106
个样本的标签值,-1表示没有违约,1表示违约;
Figure 775711DEST_PATH_IMAGE107
是银行的第
Figure 795620DEST_PATH_IMAGE106
个样本的特征信息;
Figure 532632DEST_PATH_IMAGE108
是运营商的第
Figure 587175DEST_PATH_IMAGE106
个样本的特征信息;
Figure 548178DEST_PATH_IMAGE109
是互联网公司的第
Figure 524224DEST_PATH_IMAGE106
个样本的特征信息。银行的模型参数为
Figure 596086DEST_PATH_IMAGE110
,运营商的模型参数为
Figure 505136DEST_PATH_IMAGE111
,互联网公司的模型参数为
Figure 637040DEST_PATH_IMAGE112
。采用mini-batch SGD来训练模型,mini-batch的大小为
Figure 631541DEST_PATH_IMAGE113
由于在
Figure 507093DEST_PATH_IMAGE114
条件下,根据泰勒展开公式有:
Figure 801808DEST_PATH_IMAGE115
因此,纵向逻辑回归的损失函数为:
Figure 839034DEST_PATH_IMAGE116
A的梯度公式为
Figure 789672DEST_PATH_IMAGE117
Figure 203336DEST_PATH_IMAGE118
的梯度公式为,
Figure 352558DEST_PATH_IMAGE119
Figure 560685DEST_PATH_IMAGE120
记:
Figure 529778DEST_PATH_IMAGE121
我们首先介绍纵向联邦逻辑回归的常规方案:
在纵向逻辑回归中,Guest、Hosts和中央服务器同样都是honest-but-curious的,Guest、Host1、Host2、中央服务器之间都是通过SSL/TSL通信。在训练开始之前,中央服务器生成一个Paillier密钥对,并将公钥发送给Guest、Host1和Host2,Guest、Host1和Host2分别初始化模型参数
Figure 950395DEST_PATH_IMAGE122
Figure 954123DEST_PATH_IMAGE123
,并分别生成一个
Figure 598731DEST_PATH_IMAGE124
维的随机向量
Figure 258383DEST_PATH_IMAGE125
。每一次迭过程如下:
Guest A:
(1)Guest A本地计算每一条数据的梯度分量
Figure 13849DEST_PATH_IMAGE126
Figure 137663DEST_PATH_IMAGE127
,得到
Figure 953172DEST_PATH_IMAGE128
,并用公钥加密
Figure 631278DEST_PATH_IMAGE129
中的每个数,得到
Figure 393698DEST_PATH_IMAGE130
(2)Guest A收到
Figure 372018DEST_PATH_IMAGE131
Figure 358429DEST_PATH_IMAGE132
后,计算:
Figure 992673DEST_PATH_IMAGE133
,得到
Figure 89942DEST_PATH_IMAGE134
,并发送给
Figure 680627DEST_PATH_IMAGE135
Figure 103518DEST_PATH_IMAGE136
,同时A计算
Figure 756216DEST_PATH_IMAGE137
Figure 860438DEST_PATH_IMAGE138
并将
Figure 547771DEST_PATH_IMAGE139
发送给Central Server(中央服务器)。
(3)Guest收到
Figure 141564DEST_PATH_IMAGE140
后,计算
Figure 281558DEST_PATH_IMAGE141
,并更新模型参数
Figure 720630DEST_PATH_IMAGE142
Hosts
Figure 465732DEST_PATH_IMAGE143
(1)
Figure 230425DEST_PATH_IMAGE144
本地计算每一条数据的梯度分量
Figure 857716DEST_PATH_IMAGE145
得到
Figure 100478DEST_PATH_IMAGE146
,并用公钥加密
Figure 965666DEST_PATH_IMAGE147
中的每个数,得到
Figure 635682DEST_PATH_IMAGE148
,将
Figure 750269DEST_PATH_IMAGE149
发送给A。
(2)
Figure 796722DEST_PATH_IMAGE144
收到
Figure 313154DEST_PATH_IMAGE150
后,计算
Figure 357333DEST_PATH_IMAGE151
,计算
Figure 693637DEST_PATH_IMAGE152
,并将
Figure 543781DEST_PATH_IMAGE153
发送给Central Server(中央服务器)。
(3)收到
Figure 117982DEST_PATH_IMAGE154
后,计算
Figure 129800DEST_PATH_IMAGE155
,并更新模型参数
Figure 218979DEST_PATH_IMAGE156
Central Server(中央服务器):
收到
Figure 607235DEST_PATH_IMAGE157
Figure 98259DEST_PATH_IMAGE158
后,用私钥解密得
Figure 280979DEST_PATH_IMAGE159
Figure 795137DEST_PATH_IMAGE160
,并分别发送给A和
Figure 721504DEST_PATH_IMAGE161
本实施例提出基于中国剩余表示的联邦学习高效同态加密系统,其中:
Guest、Host1和Host2之间协商一个大小为r的两两互素的正整数集合
Figure 67035DEST_PATH_IMAGE162
,且
Figure 686235DEST_PATH_IMAGE163
中的每个数都足够大。记
Figure 484427DEST_PATH_IMAGE164
为A的第i个样本的第j个特征,
Figure 417748DEST_PATH_IMAGE165
Figure 617785DEST_PATH_IMAGE166
Figure 407887DEST_PATH_IMAGE167
的第i个样本的第j个特征,
Figure 693374DEST_PATH_IMAGE168
训练开始之前,Guest和Hosts先进行实体对齐,然后选择当前训练的batch B。
编码:当Guest计算得到
Figure 227124DEST_PATH_IMAGE169
后,对
Figure 484930DEST_PATH_IMAGE170
中的数据基于
Figure 180354DEST_PATH_IMAGE171
编码,得到
Figure 218717DEST_PATH_IMAGE172
,Host1、Host2同理得到
Figure 290578DEST_PATH_IMAGE173
,可知它们是
Figure 261945DEST_PATH_IMAGE174
维向量。除此之外还要对数据编码,以Guest为例,将所有样本的相同特征编码,比如对于A的所有样本的第一个特征
Figure 393849DEST_PATH_IMAGE175
,基于
Figure 388350DEST_PATH_IMAGE176
编码得到
Figure 263902DEST_PATH_IMAGE177
,其他特征同理,最后得到
Figure 761879DEST_PATH_IMAGE178
每个
Figure 330264DEST_PATH_IMAGE179
Figure 812061DEST_PATH_IMAGE180
也进行类似的编码得到:
Figure 225725DEST_PATH_IMAGE181
Figure 109367DEST_PATH_IMAGE182
解码:对于
Figure 583074DEST_PATH_IMAGE183
,取它们的的第一个数,由中国剩余表示系统的性质(3)可知:
Figure 755429DEST_PATH_IMAGE184
然后取它们的第二个数,我们可知:
Figure 972784DEST_PATH_IMAGE185
依次计算,我们可以得到
Figure 710933DEST_PATH_IMAGE186
,进而可以计算
Figure 621120DEST_PATH_IMAGE187
。对于
Figure 77509DEST_PATH_IMAGE188
类似,最后我们可以得到
Figure 36238DEST_PATH_IMAGE189
,我们将此过程叫做解码。
一次迭代过程为:
Guest A:
1.For j in [1,
Figure 894472DEST_PATH_IMAGE190
] do
Figure 444402DEST_PATH_IMAGE191
基于
Figure 388088DEST_PATH_IMAGE192
编码得到
Figure 212824DEST_PATH_IMAGE193
2.计算得到
Figure 925565DEST_PATH_IMAGE194
,对
Figure 115238DEST_PATH_IMAGE194
中的数据编码得到
Figure 77378DEST_PATH_IMAGE195
,对
Figure 377909DEST_PATH_IMAGE196
中的所有数据加密得到
Figure 210736DEST_PATH_IMAGE197
3.等待并得到
Figure 368048DEST_PATH_IMAGE198
4.For t in [1,T] do
Figure 20746DEST_PATH_IMAGE199
Figure 187285DEST_PATH_IMAGE200
发送给
Figure 874618DEST_PATH_IMAGE201
5. 创建一个
Figure 202832DEST_PATH_IMAGE202
的矩阵
Figure 546088DEST_PATH_IMAGE203
For j in [1,
Figure 985160DEST_PATH_IMAGE190
] do
For t in [1,T] do
Figure 527000DEST_PATH_IMAGE204
Figure 291693DEST_PATH_IMAGE205
发送给Central Server(中央服务器);
6.得到
Figure 918984DEST_PATH_IMAGE206
后,对
Figure 161746DEST_PATH_IMAGE207
解码,得到
Figure 761355DEST_PATH_IMAGE208
,更新模型参数
Figure 431371DEST_PATH_IMAGE209
Hosts
Figure 545957DEST_PATH_IMAGE210
1.For j in [1,
Figure 592411DEST_PATH_IMAGE211
] do
Figure 843263DEST_PATH_IMAGE212
基于
Figure 949760DEST_PATH_IMAGE213
编码得到
Figure 551642DEST_PATH_IMAGE214
2.计算得到
Figure 136207DEST_PATH_IMAGE215
,对
Figure 507146DEST_PATH_IMAGE215
中的数据编码得到
Figure 518964DEST_PATH_IMAGE216
,对
Figure 608143DEST_PATH_IMAGE216
中的所有数据加密得到
Figure 934082DEST_PATH_IMAGE217
,并发送给A;
3.等待并收到
Figure 159527DEST_PATH_IMAGE218
4. 创建一个
Figure 873405DEST_PATH_IMAGE219
的矩阵
Figure 184301DEST_PATH_IMAGE220
For j in [1,
Figure 110668DEST_PATH_IMAGE211
] do
For t in [1,T] do
Figure 456199DEST_PATH_IMAGE221
Figure 809820DEST_PATH_IMAGE222
发送给Central Server(中央服务器);
5. 得到
Figure 811274DEST_PATH_IMAGE223
后,对
Figure 541333DEST_PATH_IMAGE224
解码,得到
Figure 741370DEST_PATH_IMAGE225
,更新模型参数
Figure 531471DEST_PATH_IMAGE226
Central Server(中央服务器):
收到
Figure 816959DEST_PATH_IMAGE227
Figure 85129DEST_PATH_IMAGE228
后,用私钥解密得
Figure 342936DEST_PATH_IMAGE229
Figure 303938DEST_PATH_IMAGE230
,并分别发送给A和
Figure 342301DEST_PATH_IMAGE231
实施例二
本实施例提供了一种基于中国剩余表示的联邦学习同态加密方法,其包括:
中央服务器生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个客户端计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
中央服务器将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个客户端利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
其中,所述同态加密密钥对为Paillier加性半同态加密密钥对。
在一些实施例中,基于横向同态加密联邦学习方法或纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
同态加密往往会带来很大的计算负担和通信负担,比如在机器学习中,数据一般采用32bit浮点数,即每个梯度占32bit的空间。在同态加密中,以paillier为例,安全密钥长度为2048bit,那么对一个数据加密后,该数据膨胀为4096bit。所以,在常规方案中,用paillier加密后,梯度占用的空间膨胀为原来的128倍(4096/32)。在机器学习中,尤其是深度神经网络,模型参数非常多,有上万甚至上十万个,在paillier中有大量的模幂的计算,因此对如此庞大的数据就行同态加密,计算负担也是很大的。
本发明提出了CRR编码方案,可以将多个梯度编码为一个数据,假设r=50,那么该方案就可以减少50倍的通信负担和计算负担。这种编码方式在数学上是很自然的,很优美的。而且通过合理选择
Figure 148583DEST_PATH_IMAGE232
,可以避免溢出的发生。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于中国剩余表示的联邦学习同态加密系统,其特征在于,包括:中央服务器以及若干个与所述中央服务器进行数据加密传输的客户端;每个客户端内均预先存储有初始化的设定预测模型;
所述中央服务器用于:生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个所述客户端用于:计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
所述中央服务器还用于:将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个所述客户端还用于:利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
2.如权利要求1所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,所述同态加密密钥对为Paillier加性半同态加密密钥对。
3.如权利要求1所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,基于横向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
4.如权利要求3所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,在基于横向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新的过程中,更新后的参数向量为更新前的参数向量减去预设学习率与解码的梯度向量的乘积。
5.如权利要求1所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,基于纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
6.如权利要求5所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,在基于纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新的过程中,采用mini-batch SGD来训练设定预测模型;更新后的参数向量为:更新前的参数向量减去一个向量;该减去的向量为:预设学习率与mini-batch的大小相除后再与解码的梯度向量的相乘。
7.如权利要求1所述的基于中国剩余表示的联邦学习同态加密系统,其特征在于,所述中央服务器与每个客户端之间通过SSL/TSL通信。
8.一种基于中国剩余表示的联邦学习同态加密方法,其特征在于,包括:
中央服务器生成一个同态加密密钥对及正整数集合并发送给各个客户端;所述正整数集合中任意两个正整数均互为素数;
每个客户端计算相应本地样本数据的梯度向量,根据所述正整数集合对本地样本数据的梯度向量进行中国剩余表示编码,使用公钥对编码后的梯度向量进行加密并传送至中央服务器;
中央服务器将所有加密的编码梯度向量进行累加,得到累加向量,并将累加向量返回至每个客户端;
每个客户端利用私钥对累加向量进行解密,对解密后的向量再进行解码,得到解码的梯度向量;再利用解码的梯度向量及预设学习率对初始化的设定预测模型中的参数进行更新,直至达到预设要求停止更新,以实现利用更新后的预测模型来预测设定目标。
9.如权利要求8所述的基于中国剩余表示的联邦学习同态加密方法,其特征在于,所述同态加密密钥对为Paillier加性半同态加密密钥对。
10.如权利要求8所述的基于中国剩余表示的联邦学习同态加密方法,其特征在于,基于横向同态加密联邦学习方法或纵向同态加密联邦学习方法对初始化的设定预测模型中的参数进行更新。
CN202211512979.1A 2022-11-30 2022-11-30 基于中国剩余表示的联邦学习同态加密系统及方法 Pending CN115622800A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211512979.1A CN115622800A (zh) 2022-11-30 2022-11-30 基于中国剩余表示的联邦学习同态加密系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211512979.1A CN115622800A (zh) 2022-11-30 2022-11-30 基于中国剩余表示的联邦学习同态加密系统及方法

Publications (1)

Publication Number Publication Date
CN115622800A true CN115622800A (zh) 2023-01-17

Family

ID=84880267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211512979.1A Pending CN115622800A (zh) 2022-11-30 2022-11-30 基于中国剩余表示的联邦学习同态加密系统及方法

Country Status (1)

Country Link
CN (1) CN115622800A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913554A (zh) * 2023-03-13 2023-04-04 深圳市洞见智慧科技有限公司 基于国密的高效匿踪联邦学习方法、系统及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130216044A1 (en) * 2012-02-17 2013-08-22 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US20180359078A1 (en) * 2017-06-12 2018-12-13 Microsoft Technology Licensing, Llc Homomorphic data analysis
CN111814985A (zh) * 2020-06-30 2020-10-23 平安科技(深圳)有限公司 联邦学习网络下的模型训练方法及其相关设备
CN112149171A (zh) * 2020-10-27 2020-12-29 腾讯科技(深圳)有限公司 联邦神经网络模型的训练方法、装置、设备及存储介质
CN115037477A (zh) * 2022-05-30 2022-09-09 南通大学 一种基于区块链的联邦学习隐私保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130216044A1 (en) * 2012-02-17 2013-08-22 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US20180359078A1 (en) * 2017-06-12 2018-12-13 Microsoft Technology Licensing, Llc Homomorphic data analysis
CN111814985A (zh) * 2020-06-30 2020-10-23 平安科技(深圳)有限公司 联邦学习网络下的模型训练方法及其相关设备
CN112149171A (zh) * 2020-10-27 2020-12-29 腾讯科技(深圳)有限公司 联邦神经网络模型的训练方法、装置、设备及存储介质
CN115037477A (zh) * 2022-05-30 2022-09-09 南通大学 一种基于区块链的联邦学习隐私保护方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913554A (zh) * 2023-03-13 2023-04-04 深圳市洞见智慧科技有限公司 基于国密的高效匿踪联邦学习方法、系统及相关设备
CN115913554B (zh) * 2023-03-13 2023-05-16 深圳市洞见智慧科技有限公司 基于国密的高效匿踪联邦学习方法、系统及相关设备

Similar Documents

Publication Publication Date Title
Fereidooni et al. SAFELearn: Secure aggregation for private federated learning
CN110719158B (zh) 基于联合学习的边缘计算隐私保护系统及保护方法
Zhang et al. GELU-Net: A Globally Encrypted, Locally Unencrypted Deep Neural Network for Privacy-Preserved Learning.
Madi et al. A secure federated learning framework using homomorphic encryption and verifiable computing
CN111177791B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
Liu et al. Secure model fusion for distributed learning using partial homomorphic encryption
CN112182649A (zh) 一种基于安全两方计算线性回归算法的数据隐私保护系统
US10635824B1 (en) Methods and apparatus for private set membership using aggregation for reduced communications
CN114547643B (zh) 一种基于同态加密的线性回归纵向联邦学习方法
CN113065145B (zh) 一种基于秘密共享和随机扰动的隐私保护线性回归方法
Wang et al. Multi-party quantum key agreement protocol secure against collusion attacks
CN111177768A (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN108712409B (zh) 一种基于私有区块链的电子账单交易系统
CN115310121B (zh) 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法
Gérault et al. Related-key cryptanalysis of midori
Zhang et al. Augmented multi-party computation against gradient leakage in federated learning
CN115983409A (zh) 基于差分隐私的联邦学习训练方法、装置、系统及设备
CN115622800A (zh) 基于中国剩余表示的联邦学习同态加密系统及方法
Liu et al. Privacy preserving pca for multiparty modeling
CN113114456B (zh) 一种带认证的多用户量子隐私查询方法
Ye et al. Anonymous biometric access control
Bandaru et al. Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment
CN117675270A (zh) 面向纵向联邦学习的多模态数据加密传输方法及系统
Li et al. Privacy enhancement via dummy points in the shuffle model
Cheng et al. A secure crossing two qubits protocol based on quantum homomorphic encryption

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