CN115455476A - 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 - Google Patents
基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 Download PDFInfo
- Publication number
- CN115455476A CN115455476A CN202211131303.8A CN202211131303A CN115455476A CN 115455476 A CN115455476 A CN 115455476A CN 202211131303 A CN202211131303 A CN 202211131303A CN 115455476 A CN115455476 A CN 115455476A
- Authority
- CN
- China
- Prior art keywords
- model
- server
- participant
- key
- training
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于联邦学习技术领域,公开一种基于多密钥同态加密的纵向联邦学习隐私保护方法及系统;所述方法包括:S1)参数初始化;S2)模型初始化;S3)客户端侧训练;S4)服务器侧训练;S5)模型更新;S6)模型解密。本发明支持持有不同特征空间数据集的参与方在保护本地数据隐私的前提下,实现高效纵向联邦神经网络训练。采用多密钥同态加密,为不同参与方分发不同的同态加密密钥,解决了利用传统同态加密无法保证参与方之间互不泄露隐私的问题。无需引入额外的第三方负责管理密钥并进行解密,各参与方可以以分布式的方式进行合作解密,进一步增加了训练完成后的模型的安全性。
Description
技术领域
本发明属于联邦学习技术领域,特别涉及一种基于多密钥同态加密的纵向联邦学习隐私保护方法及系统。
背景技术
近年来,为了实现数据的“可用不可见”,打破“数据孤岛”问题,联邦学习技术得到广泛关注与研究。联邦学习的提出,使得多个参与方在保证数据不出本地的前提下,协同进行机器学习模型训练。然而,当前针对联邦学习的研究,大多集中于横向联邦学习,要求各参与方的本地数据集具有相同的特征空间,不同的样本空间。而在实际应用中,对纵向联邦学习的需求也广泛存在,如同一区域的银行与电网公司,二者拥有的本地数据集具有相同的样本空间,不同的特征空间,在联合训练时需要采用纵向联邦学习。目前对纵向联邦学习的研究主要为线性回归、逻辑回归、支持向量机等传统机器学习方法,无法满足大规模高维数据的训练,复杂任务,准确率等要求。而纵向联邦神经网络在方案实现,训练效率,隐私保护技术等方面均存在一定的技术难点,当前对该方面的研究较为缺乏。
目前针对神经网络提出的纵向联邦学习解决方案,大多是基于拆分学习实现的。具体的,将模型根据参与方本地数据的特征,拆分为多个拆分模型,并分发给各参与方,服务器也持有深层的部分模型。由于模型被分成多个部分,并且每个部分都在不同的客户端上进行训练,因此通过将每个部分的最后一层的权重发送给服务器来进行网络的训练。因此,只有每个拆分模型的最后一层(也称为切割层)的权重被发送给服务器,并且客户端之间不共享原始数据。服务器以切割层的权重作为输入继续进行训练,并将更新参数发送给各参与方,实现模型更新。
联邦学习的主要目的,是保证在各参与方数据不出本地的前提下,合作训练模型,从而实现隐私保护的目的。由此可见,各参与方与服务器之间,彼此并不是完全信任的。然而,目前已有多个研究表明,在拆分学习的方式下,虽然客户端与服务器仅共享切割层的权重以及模型更新参数,但通过属性推理攻击、成员推理攻击、数据重构攻击,攻击者或服务器能够在仅得到切割层权重的前提下,得到参与方的部分隐私信息,同样的,参与方之间也可能通过这些方式互相暴露隐私。此外,各参与方可通过标签推理攻击,在仅持有模型更新参数的前提下,推理出服务器持有的标签信息。因此,现有方案大多忽略了在当前的模型下,依旧存在隐私泄露的问题。
发明内容
本发明的目的在于提供一种基于多密钥同态加密的纵向联邦学习隐私保护方法,以保护各参与方的本地数据敏感信息不被泄露。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种基于多密钥同态加密的纵向联邦学习隐私保护方法,包括:
S1、密钥生成中心初始化多密钥同态加密安全参数与公共参数,为各参与方生成不同私钥;
S2、服务器确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方;
S3、各参与方利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器;
S4、服务器以各参与方加密后的拆分模型输出作为服务器模型的输入,在服务器模型上进行前向传播;
S5、服务器更新服务器模型,并将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型,直至服务器模型满足收敛或预设条件,训练结束;
S6、训练结束后,参与方对加密的训练结果进行解密。
本发明进一步的改进在于:步骤S1具体包括:
S101、密钥生成中心确定安全参数λ以及环上容错学习维度n,密文模数q,多项式剩余类环R=Z[X]/(Xn+1),Rq=R/(q·R),其中Z[X]表示为多项式;密钥分布c∈Rq,错误分布j∈R,随机向量其中表示向量中元素属于Rq的d维向量;返回公共参数pp=(n,q,c,j,a);
S102、密钥生成中心为每个参与方i生成不同的密钥si←c;并通过si计算参与方的公钥pki=(b,a);首先选择误差参数e←jd,计算b=-s·a+e(mod q);
S103、密钥生成中心为每个参与方i生成重线性化密钥rek;密钥生成中心在完成公共参数的设置,密钥与重线性化密钥的生成操作后,设置为离线状态。
本发明进一步的改进在于:步骤S2具体包括:
S201、服务器与各参与方共同协定拟训练的神经网络模型,设定超参数;
S202、服务器将整体的神经网络模型进行拆分,每个参与方和服务器各持有一个拆分模型,服务器持有的拆分模型作为服务器模型;各参与方的拆分模型输出,组成服务器模型的输入。
本发明进一步的改进在于:步骤S3具体包括:
S301、设向量a1=(x1,x2,…,xn)表示各参与方的输入向量,Wi表示拆分模型中每层网络的权重矩阵,fi表示每层网络的激活函数,每层网络的输出向量表示为ai=f(Wi·ai-1);各参与方j利用本地数据进行计算,得到拆分模型的输出向量yj=alast=f(Wlast·alast-1),alast表示拆分网络最后一层的输出;
S302、各参与方j将输出向量进行加密,得到密文ctj=(cj0,cj1);各参与方将加密后的密文向量发送给服务器。
本发明进一步的改进在于:步骤S4具体包括:
S401、服务器收到来自各参与方j的密文向量ctj=(cj0,cj1),将不同参与方的密文向量统一为能够进行同态评估的格式,将密文向量中的每个元素统一为其中每个参与方的密文中元素顺序一致,若某密文中不存在对应元素,则将对应项置0;
S402、服务器以统一后的密文向量作为输入,将各参与方的密文向量合并为一个向量Wi表示服务器模型中每层网络的权重矩阵,fi表示每层网络的激活函数,服务器模型第一层的输出向量表示为密文向量a1,ct作为下一层网络的输出,继续进行前向传播,直到得到服务器模型最后一层网络的加密输出向量yct=(y1,ct,y2,ct,...,yi,ct),其中i为输出层节点数量。
本发明进一步的改进在于:步骤S5具体包括:
S501、服务器检查目标函数是否收敛,若收敛,则结束训练;若未收敛或未满足预设条件,则进入步骤S502;
S502、服务器通过反向传播算法对权重进行更新;设ti为输出层节点i的目标值,y=(y1,y2,...,yi)为密文向量yct=(y1,ct,y2,ct,...,yi,ct)对应的明文输出向量;对于未加密的输出,目标函数利用随机梯度下降算法对目标函数进行优化其中wji为节点j到节点i的权重,为学习率;
S503、各参与方收到服务器发送的加密误差项后,对本地拆分模型的权重进行更新wji,ct←wji,ct-h dj,ctxji,ct;
S504、各参与方更新拆分模型权重后,迭代执行步骤S3-步骤S5,直至服务器模型满足收敛或预设条件,训练结束;
本发明进一步的改进在于:步骤S6具体包括:
S601、训练结束后,服务器向各参与方发送请求,各参与方将本地拆分模型参数加密后发送给服务器;
S602、服务器对各参与方的加密参数进行统一处理,并将模型进行整合,得到经多密钥同态加密算法加密后的全局模型;随后,服务器将加密的全局模型发送给各参与方;
S603、各参与方对加密的全局模型进行联合解密,得到最终的全局模型。
第二方面,本发明提供一种基于多密钥同态加密的纵向联邦学习隐私保护系统,包括:
密钥生成中心,用于初始化多密钥同态加密安全参数与公共参数,为各参与方生成不同私钥;
服务器,用于确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方;以各参与方加密后的拆分模型输出作为服务器模型的输入,在服务器模型上进行前向传播;更新服务器模型,并将反向传播结果发送给各参与方;
各参与方,用于利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器;将服务器模型的反向传播输出作为输入更新本地拆分模型,直至服务器模型满足收敛或预设条件,训练结束;对加密的训练结果进行解密。
第三方面,本发明提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现所述的基于多密钥同态加密的纵向联邦学习隐私保护方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述的基于多密钥同态加密的纵向联邦学习隐私保护方法。
相对于现有技术,本发明具有以下有益效果:
本发明提供一种基于多密钥同态加密的纵向联邦学习隐私保护方法及系统,可以实现各参与方之间的纵向联邦神经网络训练,并保证各参与方的本地数据敏感信息不被泄露。本发明提供的基于多密钥同态加密的纵向联邦学习隐私保护方法,支持持有不同特征空间数据集的参与方在保护本地数据隐私的前提下,实现高效纵向联邦神经网络训练。采用多密钥同态加密,为不同参与方分发不同的同态加密密钥,解决了利用传统同态加密无法保证参与方之间互不泄露隐私的问题。同时,切割层的权重信息、模型更新参数、最终的模型参数,均是以密文的形式发送,只有各参与方合作才能成功解密,因此攻击者、服务器、单个参与方,均无法通过属性推理攻击、成员推理攻击、数据重构攻击、标签推理攻击等方式获取其他方的隐私信息。此外,无需引入额外的第三方负责管理密钥并进行解密,各参与方可以以分布式的方式进行合作解密,进一步增加了训练完成后的模型的安全性。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种基于多密钥同态加密的纵向联邦学习隐私保护系统的结构示意图;
图2为本发明一种基于多密钥同态加密的纵向联邦学习隐私保护方法的流程事宜图;
图3为本发明一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本发明所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
相关术语解释:
神经网络:又称人工神经网络,它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
联邦学习:联邦学习是一种分布式机器学习技术,其核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地个体或样本数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,从而实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式。
纵向联邦学习:根据参与方持有的数据集特征不同,联邦学习又分为横向联邦学习与纵向联邦学习。纵向联邦学习中,各参与方持有的数据集具有相同的样本空间、不同的特征空间。纵向联邦学习也可以理解为按特征划分的联邦学习,如同一地区的电网公司与银行之间,目标客户群体相同,但拥有的客户数据特征不同,即可进行纵向联邦学习。
同态加密:同态加密是一种公钥加密技术,对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
实施例1
为了实现具有隐私保护的高效纵向联邦神经网络,本发明提供一种基于多密钥同态加密的纵向联邦学习隐私保护装置,如图1所示,服务器将拟训练的神经网络模型进行拆分,参与纵向联邦训练的各参与方在本地训练拆分模型,服务器训练服务器模型,最后将各方的训练结果进行整合,完成联合训练。本发明所采用的系统模型如下:
密钥生成中心:该组织是一个可信的第三方,负责生成多密钥同态加密的公共参数,并为各个参与方分发密钥。在完成加密参数的初始化后,为保证系统安全性,设定密钥生成中心离线;
参与方:包括2个及以上的具有相同样本空间,不同特征空间数据的参与方。参与方之间不希望向彼此以及其他第三方泄露本地数据的敏感信息,但出于好奇,会挖掘其他参与方本地数据所包含的敏感信息。各参与方在联合训练时,会按照约定的协议进行计算;
服务器:该组织是一个半可信的第三方,负责设置模型初始参数,拆分模型,整合各参与方的模型输出参数,并进行部分模型的训练。服务器会按照约定的协议进行计算,但也会挖掘参与方的敏感信息。
密钥生成中心初始化多密钥同态加密算法的公共参数并为每个客户端生成不同的密钥。服务器首先确定需要进行联合训练的模型以及参与方,对模型参数进行初始化,并将模型按照参与方所拥有的样本特征等信息进行拆分。参与方在本地对拆分模型进行训练,由于模型的输出及参数中可能会泄露参与方本地数据的敏感信息,因此参与方在将模型输出发送给服务器时,利用多密钥同态加密算法对模型的输出进行加密。采用多密钥同态加密算法主要包括两个目的:1)服务器只能以密文的形式更新模型,最终的全局模型也是以加密的形式生成的,既能防止服务器通过参与方发送的模型输出挖掘隐私信息,也能保证服务器无法获得训练后的全局模型。2)传统同态加密各参与方持有相同的密钥,加密后的密文可以被其他参与方解密,因此参与方之间可能会泄露敏感信息。多密钥同态加密为每个参与方分发不同的密钥,解决了上述问题。
服务器收到参与方发送的加密信息后,作为服务器模型的输入继续进行训练,并计算损失函数,通过反向传播更新模型,并将服务器模型的反向传播结果分别发送给各个参与方。各参与方以该输出作为拆分模型反向传播的输入,更新模型。并迭代进行前向传播训练与反向传播更新的过程直到完成训练。完成训练后,服务器将各参与方的拆分模型与服务器模型进行整合。各参与方联合解密,得到训练完成的全局模型。
实施例2
请参阅图2所示,本发明针对现有纵向联邦学习方案缺少神经网络解决方案,以及在训练过程中的隐私泄露问题,提供了一种基于多密钥同态加密的纵向联邦学习隐私保护方法,基本方案包括:S1)参数初始化;S2)模型初始化;S3)客户端侧训练;S4)服务器侧训练;S5)模型更新;S6)模型解密。本发明可以在保护隐私的前提下,保证多个具有纵向特征数据集的参与方进行纵向联邦神经网络模型训练,并且保证训练模型的准确率;具体步骤如下:
S1、参数初始化:密钥生成中心初始化多密钥同态加密安全参数与公共参数,为各参与方生成私钥。各参与方拥有相同的安全参数与公共参数,但为各参与方生成的同态加密私钥是不同的;
S2、模型初始化:服务器确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方。具体的,服务器首先与各参与方确定联合训练的神经网络模型,然后根据各参与方持有的不同的数据特征,将神经网络模型进行拆分,获得若干拆分模型,并为每个参与方分发拆分模型。为了方便表述,后文称服务器持有的拆分模型为服务器模型;
S3、客户端侧训练:各参与方利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器。具体的,各参与方以本地数据作为输入,在各自的拆分模型上进行前向传播,并将输出结果利用同态加密算法进行加密并发送至服务器。由于各参与方持有的同态加密密钥不同,因此各参与方无法对其他参与方的输出进行解密;
S4、服务器侧训练:服务器以各参与方加密后的拆分模型输出作为服务器模型的输入,进行加密训练。服务器首先对不同参与方发送的密文进行预处理,将同态加密密文转换为多密钥同态加密密文。随后,服务器以各参与方经过预处理后的密文作为输入,在服务器模型上进行前向传播;
S5、模型更新:服务器更新服务器模型,并将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型。在执行该步骤前,服务器首先检查模型是否满足收敛或预设条件,若满足,则停止训练。若未满足,服务器利用反向传播更新参数,并将反向传播的输出结果发送给各参与方,各参与方在本地拆分模型进行反向传播更新参数,并迭代执行步骤3)-5)直至服务器模型满足收敛或预设条件;服务器模型满足收敛或预设条件时,将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型。
S6、模型解密:训练结束后,参与方对加密的训练结果进行解密。包括:
S601、训练结束后,服务器向各参与方发送请求,各参与方将本地拆分模型参数加密发送给服务器。
S602、服务器首先对各参与方的加密参数进行统一处理,并将神经网络模型进行整合,得到经多密钥同态加密算法加密后的全局模型。最后,服务器将加密的全局模型发送给各参与方。由于解密密钥分布在各参与方中,服务器无法得到最终的全局模型。
S603、各参与方对加密的全局模型进行联合解密,得到最终的全局模型。
如图2所示,本发明一种基于多密钥同态加密的纵向联邦学习隐私保护方法的具体实施步骤包括:
步骤S1:参数初始化:密钥生成中心初始化多密钥同态加密安全参数与公共参数,为各参与方生成私钥。
S101、密钥生成中心(CA)首先确定安全参数λ以及环上容错学习(RLWE)维度n,密文模数q,多项式剩余类环R=Z[X]/(Xn+1),Rq=R/(q·R),其中Z[X]表示为多项式。密钥分布c∈Rq,错误分布随机向量其中表示向量中元素属于Rq的d维向量。返回公共参数pp=(n,q,c,j,a)。
S102、密钥生成中心CA为每个参与方i生成不同的密钥si←c。并通过si计算参与方的公钥pki=(b,a)。首先选择误差参数e←jd,计算b=-s·a+e(mod q)。由于每个参与方的公私钥是不同的,因此各参与方无法解密其他参与方的加密信息。
S103、密钥生成中心CA为每个参与方i生成重线性化密钥rek。重线性化密钥rek用于对密文之间进行乘法运算后生成的非线性组分进行线性化操作。由于设定密钥生成中心CA为可信第三方,因此为了保证系统的安全性,密钥生成中心CA在完成公共参数的设置,密钥与重线性化密钥的生成操作后,便设置为离线状态。
步骤S2:模型初始化:服务器确定联合训练的神经网络模型参数,拆分模型并分发给各参与方。
S201、服务器首先与各参与方共同协定拟训练的神经网络模型,设定超参数如神经网络层数,每层包含的神经元个数,学习率ηη,正则化参数λλ,迭代次数,代价函数的选择,权重初始化的方法,激活函数种类。
S202、服务器根据各参与方本地数据集特征的不同,将整体的神经网络模型进行拆分。在一具体实施方式中,将神经网络模型在选定的一层进行横向切割,拆分为深层和浅层两部分,其中深层部分的拆分模型成为服务器模型。进而将浅层部分的模型进行纵向切割,将切割后的每部分拆分模型的输出进行聚合,结果与切割前模型的输出一致,纵向切割后的每部分浅层的拆分模型称为客户端模型。每个参与方持有一个客户端模型,服务器持有一个服务器模型。各参与方的拆分模型输出,组成服务器模型的输入。
步骤S3:客户端侧训练:各参与方利用本地数据训练拆分模型,将模型输出加密发送给服务器。
S301、设向量a1=(x1,x2,...,xn)表示各参与方的输入向量,Wi表示拆分模型中每层网络的权重矩阵,fi表示每层网络的激活函数,则每层网络的输出向量可表示为ai=f(Wi·ai-1)。各参与方j利用本地数据进行上述计算,得到拆分模型的输出向量yj=alast=f(Wlast·alast-1),alast表示拆分网络最后一层的输出。
S302、各参与方将输出向量进行加密,得到密文ct=(c0,c1)。具体加密步骤如下:
S3021、编码:对输出向量yj进行编码,得到yplain,j=encode(yj)=(y1,y2,...,ym),m为模型输出层的神经元数量。
S3022、加密:选择参数v←c,误差参数e1,e2←j。设置a=a[0],b=b[0],对于向量yplain,j中的元素,1≤i≤m,逐项计算c0=v·b+yi+e0(mod q),c1=v·a+e1(mod q)。
S3023、各参与方j将加密后的密文向量发送给服务器,由于每个参与方用于加密的公钥均是由不同的私钥生成,因此各参与方之间无法获得彼此的输出向量。
步骤S4:服务器侧训练:服务器以各参与方加密后的拆分模型输出作为服务器模型的输入,进行加密训练。
S401、服务器收到来自各参与方j的密文向量ctj=(cj0,cj1),首先将不同参与方的密文向量统一为可进行同态评估(包括密文加密文,密文乘密文,明文乘密文)的格式,将密文向量中的每个元素统一为其中每个参与方的密文中元素顺序一致,若该密文中不存在该元素,则将该项置0。
S402、服务器以统一后的密文向量作为输入,将各参与方的密文向量合并为一个向量Wi表示服务器模型中每层网络的权重矩阵,fi表示每层网络的激活函数,则服务器模型第一层的输出向量可表示为由于向量中的每个组分也包含多个元素(如),因此无法直接进行计算。得到输出向量a1,ct的步骤如下:
S4021、线性层评估:计算该计算可表示为同态加密中评估运算的明文乘密文以及密文加密文运算,具体地,矩阵Wi中的每行元素组成的向量,与向量中的每个组分执行明文乘密文算法,得到若干密文,随后对密文逐项相加。最后得到一个密文向量
S4022、非线性层评估:由于常用激活函数如ReLU,Sigmoid均为非线性函数,而同态加密仅支持线性运算,因此无法直接通过计算得到因此需要将激活函数通过多项式近似方法近似为多项式后,再对密文向量中的元素逐项计算,得到最后的输出向量。具体地,将非线性函数f(x)转换为多项式g(x)=b1xn+b2xn-1+...+bnx,并将密文向量中的元素逐个带入进行计算。评估过程主要包括密文乘密文(多项式中的幂运算),明文乘密文(多项式系数乘变量),密文加法。对于多项式的同态加密评估,可以利用快速数论变换算法进行优化。最后得到密文向量
密文向量a1,ct作为下一层网络的输出,继续如上述步骤所述,进行前向传播。直到得到服务器模型最后一层网络的加密输出向量yct=(y1,ct,y2,ct,...,yi,ct),其中i为输出层节点数量。
步骤S5:模型更新:服务器更新服务器模型,并将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型;
S501、服务器首先检查目标函数是否收敛,若收敛,则结束训练。若未收敛或未满足预设条件,则进行如下计算。
S502、服务器通过反向传播算法对权重进行更新。设ti为输出层节点i的目标值,y=(y1,y2,...,yi)为密文向量yct=(y1,ct,y2,ct,...,yi,ct)对应的明文输出向量。目标函数以误差平方为例,对于未加密的输出,目标函数Ed=1/2∑(ti-yi)2,利用随机梯度下降算法对目标函数进行优化其中wji为节点j到节点i的权重,为学习率。但由于服务器仅获得加密后的输出向量yCT,因此对目标函数的的优化步骤如下:
S5021、利用同态加密算法对目标值ti,权重wji进行加密得到密文ti,ct,wij,ct。
S5023、同理,对于隐藏层节点,其中ai,ct为节点i的输出密文向量,dk,ct为下层节点k的加密误差项。则每个连接上密文形式的权重更新为:wji,ct←wji,ct-h dj,ctxji,ct,其中xji为节点i传递给节点j的输入,包含在向量ai中。
S5024、服务器将最顶层节点的加密误差项di,ct发送给各参与方。
S503、各参与方收到服务器发送的加密误差项后,采用上述方法对本地拆分模型的权重进行更新wji,ct←wji,ct-hdj,ctxji,ct。可选的,权衡通信和计算开销,参与方可首先合作解密误差项di,ct,再直接对本地拆分模型权重在明文形式下进行更新wji←wji-hdjxji。
S504、各参与方更新拆分模型权重后,迭代执行步骤S3-步骤S5。
步骤S6:模型解密:训练结束后,参与方对加密的训练结果进行解密。
S601、训练结束后,服务器向各参与方发送请求,各参与方将本地拆分模型参数加密后发送给服务器。
S602、服务器首先对各参与方的加密参数进行统一处理,并将模型进行整合,得到经多密钥同态加密算法加密后的全局模型。随后,服务器将加密的全局模型发送给各参与方。由于解密密钥分布在各参与方中,服务器无法得到最终的全局模型。
S603、各参与方对加密的全局模型进行联合解密,得到最终的全局模型。
实施例3
请参阅图3所示,本发明还提供一种实现基于多密钥同态加密的纵向联邦学习隐私保护方法的电子设备100;所述电子设备100包括存储器101、至少一个处理器102、存储在所述存储器101中并可在所述至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。
存储器101可用于存储所述计算机程序103,所述处理器102通过运行或执行存储在所述存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现实施例2所述的基于多密钥同态加密的纵向联邦学习隐私保护方法的步骤。所述存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述至少一个处理器102可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,所述处理器102是所述电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
所述电子设备100中的所述存储器101存储多个指令以实现一种基于多密钥同态加密的纵向联邦学习隐私保护方法,所述处理器102可执行所述多个指令从而实现:
S1、密钥生成中心初始化多密钥同态加密安全参数与公共参数,为各参与方生成不同私钥;
S2、服务器确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方;
S3、各参与方利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器;
S4、服务器以各参与方加密后的拆分模型输出作为服务器模型的输入,在服务器模型上进行前向传播;
S5、服务器更新服务器模型,并将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型,直至服务器模型满足收敛或预设条件,训练结束;
S6、训练结束后,参与方对加密的训练结果进行解密。
实施例4
所述电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-Only Memory)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,包括:
S1、密钥生成中心初始化多密钥同态加密安全参数与公共参数,为各参与方生成不同私钥;
S2、服务器确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方;
S3、各参与方利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器;
S4、服务器以各参与方加密后的拆分模型输出作为服务器模型的输入,在服务器模型上进行前向传播;
S5、服务器更新服务器模型,并将反向传播结果发送给各参与方,各参与方将服务器模型的反向传播输出作为输入更新本地拆分模型,直至服务器模型满足收敛或预设条件,训练结束;
S6、训练结束后,参与方对加密的训练结果进行解密。
2.根据权利要求1所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S1具体包括:
S101、密钥生成中心确定安全参数λ以及环上容错学习维度n,密文模数q,多项式剩余类环R=Z[X]/(Xn+1),Rq=R/(q·R),其中Z[X]表示为多项式;密钥分布c∈Rq,错误分布j∈R,随机向量其中表示向量中元素属于Rq的d维向量;返回公共参数
S102、密钥生成中心为每个参与方i生成不同的密钥si←c;并通过si计算参与方的公钥pki=(b,a);首先选择误差参数e←jd,计算b=-s·a+e(mod q);
S103、密钥生成中心为每个参与方i生成重线性化密钥rek;密钥生成中心在完成公共参数的设置,密钥与重线性化密钥的生成操作后,设置为离线状态。
3.根据权利要求2所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S2具体包括:
S201、服务器与各参与方共同协定拟训练的神经网络模型,设定超参数;
S202、服务器将整体的神经网络模型进行拆分,每个参与方和服务器各持有一个拆分模型,服务器持有的拆分模型作为服务器模型;各参与方的拆分模型输出,组成服务器模型的输入。
4.根据权利要求3所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S3具体包括:
S301、设向量a1=(x1,x2,…,xn)表示各参与方的输入向量,Wi表示拆分模型中每层网络的权重矩阵,fi表示每层网络的激活函数,每层网络的输出向量表示为ai=f(Wi·ai-1);各参与方j利用本地数据进行计算,得到拆分模型的输出向量yj=alast=f(Wlast·alast-1),alast表示拆分网络最后一层的输出;
S302、各参与方j将输出向量进行加密,得到密文ctj=(cj0,cj1);各参与方将加密后的密文向量发送给服务器。
5.根据权利要求4所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S4具体包括:
S401、服务器收到来自各参与方j的密文向量ctj=(cj0,cj1),将不同参与方的密文向量统一为能够进行同态评估的格式,将密文向量中的每个元素统一为其中每个参与方的密文中元素顺序一致,若某密文中不存在对应元素,则将对应项置0;
6.根据权利要求5所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S5具体包括:
S501、服务器检查目标函数是否收敛,若收敛,则结束训练;若未收敛或未满足预设条件,则进入步骤S502;
S502、服务器通过反向传播算法对权重进行更新;设ti为输出层节点i的目标值,y=(y1,y2,...,yi)为密文向量yct=(y1,ct,y2,ct,...,yi,ct)对应的明文输出向量;对于未加密的输出,目标函数Ed=1/2∑(ti-yi)2,利用随机梯度下降算法对目标函数进行优化其中wji为节点j到节点i的权重,h为学习率;
S504、各参与方更新拆分模型权重后,迭代执行步骤S3-步骤S5,直至服务器模型满足收敛或预设条件,训练结束。
7.根据权利要求6所述的基于多密钥同态加密的纵向联邦学习隐私保护方法,其特征在于,步骤S6具体包括:
S601、训练结束后,服务器向各参与方发送请求,各参与方将本地拆分模型参数加密后发送给服务器;
S602、服务器对各参与方的加密参数进行统一处理,并将模型进行整合,得到经多密钥同态加密算法加密后的全局模型;随后,服务器将加密的全局模型发送给各参与方;
S603、各参与方对加密的全局模型进行联合解密,得到最终的全局模型。
8.基于多密钥同态加密的纵向联邦学习隐私保护系统,其特征在于,包括:
密钥生成中心,用于初始化多密钥同态加密安全参数与公共参数,为各参与方生成不同私钥;
服务器,用于确定联合训练的神经网络模型参数,拆分神经网络模型并分发给各参与方;以各参与方加密后的拆分模型输出作为服务器模型的输入,在服务器模型上进行前向传播;更新服务器模型,并将反向传播结果发送给各参与方;
若干参与方,用于利用本地数据训练拆分模型,将拆分模型输出加密发送给服务器;将服务器模型的反向传播输出作为输入更新本地拆分模型,直至服务器模型满足收敛或预设条件,训练结束;对加密的训练结果进行解密。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至7中任意一项所述的基于多密钥同态加密的纵向联邦学习隐私保护方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任意一项所述的基于多密钥同态加密的纵向联邦学习隐私保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131303.8A CN115455476A (zh) | 2022-09-16 | 2022-09-16 | 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131303.8A CN115455476A (zh) | 2022-09-16 | 2022-09-16 | 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455476A true CN115455476A (zh) | 2022-12-09 |
Family
ID=84305592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211131303.8A Pending CN115455476A (zh) | 2022-09-16 | 2022-09-16 | 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455476A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987694A (zh) * | 2023-03-20 | 2023-04-18 | 杭州海康威视数字技术股份有限公司 | 基于多域联邦的设备隐私保护方法、系统和装置 |
CN116150809A (zh) * | 2023-04-14 | 2023-05-23 | 深圳市峰和数智科技有限公司 | 一种用于光伏功率预测模型训练中的数据保护方法 |
CN116502732A (zh) * | 2023-06-29 | 2023-07-28 | 杭州金智塔科技有限公司 | 基于可信执行环境的联邦学习方法以及系统 |
CN117556467A (zh) * | 2023-11-23 | 2024-02-13 | 深圳市铁穹信息技术有限公司 | 数据处理方法及相关装置 |
CN117556467B (zh) * | 2023-11-23 | 2024-06-07 | 深圳市铁穹信息技术有限公司 | 数据处理方法及相关装置 |
-
2022
- 2022-09-16 CN CN202211131303.8A patent/CN115455476A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987694A (zh) * | 2023-03-20 | 2023-04-18 | 杭州海康威视数字技术股份有限公司 | 基于多域联邦的设备隐私保护方法、系统和装置 |
CN116150809A (zh) * | 2023-04-14 | 2023-05-23 | 深圳市峰和数智科技有限公司 | 一种用于光伏功率预测模型训练中的数据保护方法 |
CN116502732A (zh) * | 2023-06-29 | 2023-07-28 | 杭州金智塔科技有限公司 | 基于可信执行环境的联邦学习方法以及系统 |
CN116502732B (zh) * | 2023-06-29 | 2023-10-20 | 杭州金智塔科技有限公司 | 基于可信执行环境的联邦学习方法以及系统 |
CN117556467A (zh) * | 2023-11-23 | 2024-02-13 | 深圳市铁穹信息技术有限公司 | 数据处理方法及相关装置 |
CN117556467B (zh) * | 2023-11-23 | 2024-06-07 | 深圳市铁穹信息技术有限公司 | 数据处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210279342A1 (en) | Neural-network training using secure data processing | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
Li et al. | Privacy-preserving machine learning with multiple data providers | |
EP3725023B1 (en) | Method for faster secure multiparty inner product with spdz | |
CN115455476A (zh) | 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统 | |
WO2021220278A1 (en) | System and method for fast, post-quantum blockchain concensus generation and smart contracts execution | |
JP2020515087A5 (zh) | ||
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
CN111447192B (zh) | 用于云雾协助物联网的轻量级属性基签密方法 | |
CN114219483B (zh) | 基于lwe-cpabe的区块链数据共享方法、设备和存储介质 | |
Erkin et al. | Privacy-preserving distributed clustering | |
Lyu et al. | Towards fair and decentralized privacy-preserving deep learning with blockchain | |
Baryalai et al. | Towards privacy-preserving classification in neural networks | |
CN113901512A (zh) | 数据共享方法及系统 | |
Ugwuoke et al. | Secure fixed-point division for homomorphically encrypted operands | |
CN117521102A (zh) | 一种基于联邦学习的模型训练方法及装置 | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及系统 | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
Yang et al. | Federated Medical Learning Framework Based on Blockchain and Homomorphic Encryption | |
Meraouche et al. | Tree Parity Machine-Based Symmetric Encryption: A Hybrid Approach | |
Das et al. | An Anonymity Retaining Framework for Multi-party Skyline Queries Based on Unique Tags | |
CN114912146B (zh) | 一种垂直联邦架构下的数据信息防御方法、系统、电子设备及存储介质 | |
Sun et al. | A lottery SMC protocol for the selection function in software defined wireless sensor networks | |
Zhao et al. | Practical Privacy Preserving‐Aided Disease Diagnosis with Multiclass SVM in an Outsourced Environment |
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 |