CN112182649B - 一种基于安全两方计算线性回归算法的数据隐私保护系统 - Google Patents
一种基于安全两方计算线性回归算法的数据隐私保护系统 Download PDFInfo
- Publication number
- CN112182649B CN112182649B CN202011004265.0A CN202011004265A CN112182649B CN 112182649 B CN112182649 B CN 112182649B CN 202011004265 A CN202011004265 A CN 202011004265A CN 112182649 B CN112182649 B CN 112182649B
- Authority
- CN
- China
- Prior art keywords
- data
- cloud server
- value
- linear regression
- secret
- 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.)
- Active
Links
- 238000012417 linear regression Methods 0.000 title claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 title claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000007781 pre-processing Methods 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 18
- 239000013598 vector Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 claims description 3
- 239000000654 additive Substances 0.000 claims 1
- 230000000996 additive effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于安全两方计算的线性回归算法,所述方法包括以下步骤:步骤S1:采用秘密共享值的乘法;步骤S2:训练数据预处理;步骤S3:参数初始化;S4:模型参数更新;步骤S5:预测数据预处理;步骤S6:计算预测共享值;步骤S7:重构预测结果。本文方案在保证数据和模型参数隐私不被泄露的同时,所需要的通信开销更低。本申请将原始训练数据和模型参数私有化,在云服务器无法获得原始训练数据以及中间参数、并且无法推断模型参数的情况下,借助云服务的便利实现了一种保护数据隐私的线性回归算法;在此基础上,可安全地执行回归预测任务,在利用云服务器的计算及存储资源时,可高效准确的进行线性回归模型的训练及数据预测。
Description
技术领域
本发明涉及信息安全技术私领域,具体涉及一种基于安全两方计算线性回归算法的数据隐私保护系统。
背景技术
线性回归(Linear Regression)是一种以线性模型来建模一个或多个自变量与因变量关系的方法,其核心思想是将一系列的影响因素和结果进行拟合,从而勾画出因变量与自变量之间的相关关系。作为一种经典的算法,目前广泛应用于统计分析及机器学习领域。为了刻画最优的线性回归模型,往往需要由不同的数据提供方提供大量的原始数据发送给云服务器进行集中训练,但云服务器往往是不可信甚至恶意的,所以研究如何在不泄露用户数据隐私的情况下利用云服务安全高效的处理回归任务是有意义的。
目前有学者关于回归任务数据隐私保护问题,提出使用同态加密来实现的方案。同态加密允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样,这满足训练回归模型中的数据隐私保护要求。这种方案不需要大量交互,但计算开销很大。首先使用同态加密算法对数据进行同态加密,然后进行模型训练,最后对结果进行同态解密即可完成训练任务,可以同时实现原始数据和模型参数的隐私保护。现在大多数同态加密算法效率不高,因此使用同态加密方案解决数据的隐私性保护问题实用性不强。
另外,也有一些学者提出通过安全多方计算的方式来实现安全的线性回归任务。这种方案的主要特点是计算廉价。利用两方甚至多方之间的大量交互取代昂贵的计算开销,同时还可以满足原始数据和模型参数的隐私保护要求。因此,使用安全多方计算来解决数据的隐私保护问题是目前研究的主流方向之一。由于当前应用于机器学习的安全多方计算方案需要借助其他的一些密码学技术(比如不经意传输协议、同态加密等),故它的主要挑战是如何通过多方构建一个安全且效率较高的计算协议。
2011年,Hall等人基于同态加密首次提出了一种可以达到安全性定义的安全两方计算线性回归协议,但过于依赖计算开销巨大的同态加密,该方案无法应用到数据条目庞大的数据集中。Martine等人基于文献在数据集分布于多个参与方的情境下,提出了一种能够保护数据隐私的线性回归方案,各计算方可以在不共享自己私有数据集的情况下协同训练线性回归模型。Dankar通过引入一个半可信第三方,在理论上提出了一种支持多个数据提供者参与的隐私保护线性回归方案。Adrià等人提出一种用于任意分布于多个参与方的训练集的隐私保护线性回归方案,该方案结合了Yao的混淆电路和全同态加密方案。之后,Mohassel等人提出的SecureML方案基于混淆电路和不经意传输(Oblivious Transfer,OT)协议设计了支持安全两方计算的随机梯度下降算法,实现了线性回归、逻辑回归以及神经网络的模型训练任务,该方案由数据拥有者将私有数据通过秘密共享的方式分发给两个服务器,由两个服务器用安全多方计算的方式训练模型,实现了加法和乘法的分布式计算。在SecureML的基础上,唐等人借助基于OT协议生成的乘法三元组,提出了具有隐私性的回归模型训练算法,同时实现了对训练数据及模型参数的隐私保护。Akavia等人提出一种能够从多个数据所有者提供的数据集中学习线性回归模型的数据隐私保护方案,该方案使用两个非共谋服务器和线性同态加密(Linearly Homomorphic Encryption)来学习正则化线性回归模型。Dong等人提出了一个可以适应半诚实和恶意环境下的分布式机器学习框架,每个参与者将自己的梯度分成共享份额,并分配给多个参数服务器,由参数服务器聚合梯度后发还给参与者,参与者在本地更新参数。
综上,传统的数据隐私保护线性回归算法通常是基于不经意传输协议进行展开,由于不经意传输协议通信复杂度较高以及同态加密的计算限制,在回归任务过程中的效率并不高。
发明内容
本方案提出了一种基于安全两方计算线性回归算法的数据隐私保护系统,通过使用秘密共享和同态加密等现代密码学技术保护线性回归算法中训练数据、预测数据、模型参数以及两方交互过程的中间计算参数,从而高效地实现了完整的数据隐私保护线性回归方案。
本申请是通过以下技术方案实现的:
一种基于安全两方计算线性回归算法的数据隐私保护系统,包括数据预处理模块、秘密共享值乘积模块、模型参数训练模块、预测模块、多个数据提供端、第一云服务器、第二云服务器、数据请求端,所述数据提供端用于提供线性回归模型的训练集,每个数据提供端拥有不同的数据,将数据聚合起来构成训练集,采用同态代理重加密算法进行数据加密后存储在第一云服务器,所述第一云服务器与第二云服务器协作完成线性回归模型的训练,所述基于安全两方计算的线性回归算法,包括:
步骤S1:采用秘密共享值的乘法,
步骤S2:训练数据预处理,
步骤S3:参数初始化,
步骤S4:模型参数更新,
步骤S5:预测数据预处理,
步骤S6:计算预测共享值,
步骤S7:重构预测结果。
进一步,所述步骤S1用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算,为了清晰表述该步骤的实现效果,假设计算方S0拥有私有矩阵M0和私有向量v0,另一计算方S1拥有私有矩阵M1和私有向量v1,执行该步骤之后,Si(i=0,1)可以得到pi=Multi(M0,M1,v0,v1)。
进一步,所述步骤S1包括如下步骤:
S11:Si(i=0,1)分别生成自己的同态加密密钥对(pk0,sk0)和(pk1,sk1)(其中pki和ski分别表示Si的公钥和私钥),并使用自己的公钥pki加密自己的私有矩阵Mi得到Enc(Mi)后,将自己的公钥pki和加密矩阵Enc(Mi)发给对方S1-i(i=0,1),
S12:S1-i(i=0,1)收到对方公钥pki和加密矩阵Enc(Mi)后,随机生成一个与自身私有向量v1-i维度大小相同的向量r1-i,并使用对方的公钥pki加密得到Enc(r1-i),
S13:S1-i(i=0,1)利用加法同态加密的原理
Enc(a)+Enc(a)=Enc(2a)计算Enc(Miv1-i-r1-i)后将结果发送给Si,
S14:Si(i=0,1)收到Enc(Miv1-i-r1-i)后,使用自己的私钥ski解密得到Miv1-i-r1-i,
S15:Si(i=0,1)分别计算得到
pi=(Mivi)+(Miv1-i-r1-i)+(ri)。
进一步,所述步骤S2利用加法秘密共享的原理,将秘密以适当形式拆分后分发给不同计算方,重构的时候将不同计算方的子秘密相加恢复原始秘密,本方案中两个云服务器S0和S1非共谋,该步骤有效地避免了云服务器恢复原始数据信息的问题,实现了对训练数据的隐私保护,数据提供者将私有训练数据(X,y)随机拆分为与原始数据维度大小相同的两部分子数据(X0,y0)和(X1,y1),并通过安全信道分发给云服务器S0和S1,其中,X∈R表示维度大小为n×d(d为每个样本的特征数量)的矩阵,y∈R表示一个n维列向量,称作样本的目标值。
进一步,所述步骤S4中,对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:
其中,e表示当前迭代次数,XB和yB分别表示小批量样本集的特征值和目标值。线性回归模型参数更新子步骤如下,下列分步骤每执行一轮,迭代次数加1,Si(i=0,1)分别判断当前损失函数值lossi是否小于损失阈值T,若损失函数值小于损失阈值,则记当前的θi为模型参数的秘密共享值,训练结束;否则迭代执行S4。
进一步,所述步骤S4包括如下步骤:
步骤S41:Si(i=0,1)根据索引号分别选取索引相匹配的批量样本数据
步骤S42:Si(i=0,1)调用步骤S1,根据批量样本数据和当前模型参数θi分别得到秘密共享值/>
步骤S43:Si(i=0,1)分别求出与真实秘密共享值/>之间的误差
步骤S44:Si(i=0,1)调用步骤S1计算分别得到
步骤S45:Si(i=0,1)根据MBGD的模型参数更新公式(1)更新模型参数θi,
步骤S46:Si(i=0,1)计算当前损失函数值lossi=Xi×θi-yi。
进一步,所述步骤S5,经过步骤S1~S4,已知目前云服务器S0和S1分别拥有模型参数的秘密共享值θ0和θ1,用户需要利用云服务器强大的计算力进行线性预测任务,为了防止预测数据集信息泄露给云服务器,并且避免模型参数泄露给用户,故需要对预测数据集进行预处理,用户将预测数据集Xtest按照步骤S2的方式将数据集进行拆分预处理,得到两个子数据集和/>分别发送给云服务器S0和S1。
进一步,所述步骤S6,Si(i=0,1)调用步骤S1分别计算得出秘密共享值
进一步,所述步骤S7,Si(i=0,1)分别将秘密共享值发送给用户,由用户将秘密共享值/>相加后重构出真实的预测结果ytest。
进一步,所述协作完成线性回归模型的训练包括,第一云服务器对接收到的加密数据进行去噪处理,并重新添加噪音,第二云服务器对第一云服务器发送的噪音数据进行加密处理,第一云服务器对第二云服务器的加密数据进行去噪处理,所述数据请求端用于发送使用数据构建线性回归模型的请求,并采用私钥解密得到训练好的线性回归模型。
本申请原理:本申请主要采用一种基于安全两方计算的线性回归算法,并结合秘密共享、加法同态加密等现代密码学技术,将安全两方计算的密码学技术应用在线性回归模型训练中,并结合秘密共享和同态加密等其他现代密码学方案,保护了线性回归算法中训练数据、模型参数以及预测数据等的隐私问题,使具有某种需求的用户能够通过云计算进行相应的安全训练及预测。本申请利用秘密共享的原理提出了一种基于安全两方计算的数据隐私保护线性回归方案,由两个非共谋云服务器协作完成线性回归的训练及预测任务。本申请避免使用通信复杂度较高的OT协议,而是通过使用加法同态加密和加法掩码相结合的方法实现秘密共享值的乘法计算,避免两方服务器私有信息的泄露。相比之下,本文方案在保证数据和模型参数隐私不被泄露的同时,所需要的通信开销更低。本申请将原始训练数据和模型参数私有化,在云服务器无法获得原始训练数据以及中间参数、并且无法推断模型参数的情况下,借助云服务的便利实现了一种保护数据隐私的线性回归算法;在此基础上,可安全地执行回归预测任务,并且不泄露任何预测数据和预测结果。
有需求的企业或机构可以将大量的原始数据以适当的形式拆分后发送给两个非共谋的云服务器(可以在不同的云服务提供商之间或异构的云平台之间),并且在利用云服务器的计算及存储资源时,不需要考虑数据的隐私泄漏问题,从而高效准确的进行线性回归模型的训练及数据预测。
本申请的优点还体现在:
1)使用安全两方计算的方式执行小批量随机梯度下降算法进行模型参数的更新,不仅可以避免训练阶段的数据隐私泄露问题,还可以保护预测阶段的数据隐私;
2)为了避免两方计算过程中间参数等数据的泄露,本方案在更新参数的过程中,使用加法同态加密,加法掩码等现代密码学方法对数据以及模型参数进行加密盲化处理;
3)本方案在安全两方计算过程中采用加法同态加密的方法,相对于不经意传输(Oblivious Transfer,简称OT)协议的方法,计算和通信开销更小。
附图说明
图1为本申请隐私保护算法的整体框架结构示意图。
图2为本申请中线性回归技术解决方案流程示意图。
图3为本申请隐私保护算法的秘密共享值的乘法计算流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1-3所示,一种基于安全两方计算线性回归算法的数据隐私保护系统,包括数据预处理模块、秘密共享值乘积模块、模型参数训练模块、预测模块、多个数据提供端、第一云服务器、第二云服务器、数据请求端,所述数据提供端用于提供线性回归模型的训练集,每个数据提供端拥有不同的数据,将数据聚合起来构成训练集,采用同态代理重加密算法进行数据加密后存储在第一云服务器,所述第一云服务器与第二云服务器协作完成线性回归模型的训练,所述基于安全两方计算的线性回归算法,所述协作完成线性回归模型的训练包括,第一云服务器对接收到的加密数据进行去噪处理,并重新添加噪音,第二云服务器对第一云服务器发送的噪音数据进行加密处理,第一云服务器对第二云服务器的加密数据进行去噪处理,所述数据请求端用于发送使用数据构建线性回归模型的请求,并采用私钥解密得到训练好的线性回归模型。
为保护数据隐私的线性回归方案整体框架图,完整的包含了训练以及预测两个阶段。在训练阶段,主要展示了训练模型之前数据提供者对数据的预处理,采用秘密共享的原理,将数据集随机拆分为两部分数据子集分发给两个云服务器,其中双云服务器之间的复杂计算过程详见技术解决方案中步骤S3-S4,当损失函数值小于损失阈值时停止训练,由云服务器各自保存模型参数的秘密共享值。在预测阶段,用户同样采用秘密共享的方式,将待预测数据集随机拆分发送给两个云服务器,双云服务器之间的计算过程详见步骤S6,随后服务器分别将计算得到的私有预测值发送给用户,由用户重构恢复出最终预测结果。
数据预处理模块利用加法秘密共享的原理,即将秘密以适当形式拆分后分发给不同计算方,重构的时候将不同计算方的子秘密相加恢复原始秘密。由于本方案中两个云服务器S0和S1非共谋,因此该步骤有效地避免了云服务器恢复原始数据信息的问题,实现了对训练数据的隐私保护。数据提供者将私有训练数据(X,y)随机拆分为与原始数据维度大小相同的两部分子数据(X0,y0)和(X1,y1),并通过安全信道分发给云服务器S0和S1。其中,X∈R表示维度大小为n×d(d为每个样本的特征数量)的矩阵,y∈R表示一个n维列向量,称作样本的目标值。
秘密共享值乘积模块用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算。假设计算方S0拥有私有矩阵M0和私有向量v0,另一计算方S1拥有私有矩阵M1和私有向量v1,执行该模块之后,Si(i=0,1)可以得到pi=Multi(M0,M1,v0,v1)。
模型参数训练模块用于已有数据的训练,在两个服务器上形成共享模型参数。该模块调用数据预处理子模块和秘密共享值乘积子模块,并包含参数初始化子模块、模型参数更新子模块。
数据预处理子模块将私有训练数据随机拆分为与原始数据维度大小相同的两部分子数据和,并通过安全信道分发给两个云服务器。在拆分过程中,对每一个元素先取一个随机值,发给一个云服务器,将元素值与随机值之差发给另一个云服务器。
秘密共享值乘积子模块用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算。
参数初始化子模块,线性回归模型训练之前,需要预设一些必要的参数,以高效准确的完成回归任务。本方案采用小批量梯度下降算法训练回归模型,主要思想是在更新每一参数时都使用一部分样本进行更新,可以大大减小收敛所需要的迭代次数,同时可以使收敛的结果更加接近梯度下降的效果。Si(i=0,1)共同预置学习率α、小批量样本数量|B|,最大迭代次数E以及损失阈值TT,并分别初始化模型参数θi,将初始迭代次数置为1。其中θi∈R表示d维列向量。
模型参数更新子模块,对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:其中,ee表示当前迭代次数,XB和yB分别表示小批量样本集的特征值和目标值。故线性回归模型参数更新子模块如下:每执行一轮,迭代次数加1,Si(i=0,1)分别判断当前损失函数值lossi是否小于损失阈值T,若损失函数值小于损失阈值,则记当前的θi为模型参数的秘密共享值,训练结束;否则迭代执行模型参数更新子模块。Si(i=0,1)根据索引号分别选取索引相匹配的批量样本数据/>Si(i=0,1)调用秘密共享值乘积模块,根据批量样本数据/>和当前模型参数θi分别得到秘密共享值/>Si(i=0,1)分别求出/>与真实秘密共享值/>之间的误差/>Si(i=0,1)调用秘密共享值乘积模块计算分别得到Si(i=0,1)根据MBGD的模型参数更新公式更新模型参数θi。Si(i=0,1)计算当前损失函数值lossi=Xi×θi-yi。
预测模块,已知目前云服务器S0和S1分别拥有模型参数的秘密共享值θ0和θ1,数据拥有者需要利用云服务器强大的计算力进行线性预测任务。用于输入模型参数,待预测的数据集,输出预测结果。预测模块包括数据预处理子模块,计算预测共享值子模块及预测结果重构子模块。
数据预处理子模块,为了防止预测数据集信息泄露给云服务器,并且避免模型参数泄露给用户,故需要对预测数据集进行预处理。数据拥有者调用数据预处理子模块,将预测数据集Xtest进行拆分预处理,得到两个子数据集和/>分别发送给云服务器S0和S1。
计算预测共享值子模块,Si(i=0,1)调用秘密共享值乘积模块分别计算得出秘密共享值
预测结果重构子模块,Si(i=0,1)分别将秘密共享值发送给用户,由用户将秘密共享值/>相加后重构出真实的预测结果ytest。
为了更好的理解技术解决方案,以实施例的角度对本发明做进一步的说明,具体流程如下:
步骤S1:采用秘密共享值的乘法
S11:Si(i=0,1)分别生成同态加密密钥对(pk0,sk0)和(pk1,sk1),并使用自己的公钥pki加密私有矩阵Mi得到Enc(Mi)后,将公钥pki和加密矩阵Enc(Mi)发给对方S1-i(i=0,1);
S12:S1-i(i=0,1)收到对方公钥pki和加密矩阵Enc(Mi)后,随机生成一个与自身私有向量v1-i维度大小相同的向量r1-i,并使用对方公钥pki加密得到Enc(r1-i);
S13:S1-i(i=0,1)计算Enc(Miv1-i-r1-i)并将结果发送给Si;
S14:Si(i=0,1)收到Enc(Miv1-i-r1-i)后,用自己的私钥ski解密得到Miv1-i-r1-i;
S15:Si(i=0,1)计算得到
步骤S2:训练数据预处理
S21:数据提供者在本地随机产生一个维度大小为n×(d+1)的数据集(X0,y0);
S22:数据提供者将维度大小为n×(d+1)原始数据集(X,y)与数据集(X0,y0)对应元素相减得到另一个数据集(X1,y1);
S23:数据提供者将数据集(X0,y0)和(X1,y1)发送给云服务器S0和S1。
步骤S3:参数初始化
S31:Si(i=0,1)预置学习率∝、最大迭代次数E、小批量样本数量|B|(∝和E的最优选取可通过网格搜索算法找到,|B|通常选取64,128,256等值,可根据样本大小而定),以及损失阈值T,并将初始迭代次数置为1;
S32:Si(i=0,1)分别将模型参数向量θi初始化为全0列向量。
步骤S4:模型参数更新
S41:云服务器S0从(X0,y0)中随机选取|B|个批量样本数据并将这些数据的索引号发送给S1,S1按照索引号顺序从(X1,y1)中选出批量数据/>
S42:Si(i=0,1)调用步骤S1计算得到秘密共享值
S43:Si(i=0,1)分别求出与真实秘密共享值/>之间的误差/>
S44:Si(i=0,1)调用步骤S1计算得到
S45:Si(i=0,1)计算更新模型参数;
S46:Si(i=0,1)计算当前损失函数值lossi=Xi×θi-yi;
S47:若lossi<T,则停止训练,记当前的θi为模型参数的秘密共享值;否则跳至步骤S41,并将迭代次数加1。
步骤S5:预测数据预处理
S51:用户将待预测数据集Xtest按照步骤S2的方式拆分得到数据集和/>
S52:用户将和/>分别发送给云服务器S0和S1。
S6:计算预测共享值
Si(i=0,1)调用步骤S1分别得到预测的秘密共享值
S7:重构预测结果
S71:Si(i=0,1)将秘密共享值发送给用户;
S72:用户重构出真实的预测结果
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.一种基于安全两方计算线性回归算法的数据隐私保护系统,其特征在于,包括数据预处理模块、秘密共享值乘积模块、模型参数训练模块、预测模块、多个数据提供端、第一云服务器、第二云服务器、数据请求端,所述数据提供端用于提供线性回归模型的训练集,每个数据提供端拥有不同的数据,将数据聚合起来构成训练集,采用同态代理重加密算法进行数据加密后存储在第一云服务器,所述第一云服务器与第二云服务器协作完成线性回归模型的训练,所述基于安全两方计算的线性回归算法,包括:
步骤S1:采用秘密共享值的乘法,
步骤S2:训练数据预处理,
步骤S3:参数初始化,
步骤S4:模型参数更新,
步骤S5:预测数据预处理,
步骤S6:计算预测共享值,
步骤S7:重构预测结果;
所述步骤S1用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算,为了清晰表述该步骤的实现效果,假设计算方S0拥有私有矩阵M0和私有向量v0,另一计算方S1拥有私有矩阵M1和私有向量v1,执行该步骤之后,Si(i=0,1)可以得到pi=Multi(M0,M1,v0,v1);
S11:Si(i=0,1)分别生成自己的同态加密密钥对(pk0,sk0)和(pk1,sk1),其中pki和ski分别表示Si的公钥和私钥,并使用自己的公钥pki加密自己的私有矩阵Mi得到Enc(Mi)后,将自己的公钥pki和加密矩阵Enc(Mi)发给对方S1-i(i=0,1),
S12:S1-i(i=0,1)收到对方公钥pki和加密矩阵Enc(Mi)后,随机生成一个与自身私有向量v1-i维度大小相同的向量r1-i,并使用对方的公钥pki加密得到Enc(r1-i),
S13:S1-i(i=0,1)利用加法同态加密的原理Enc(a)+Enc(a)=Enc(2a)计算Enc(Miv1-i-r1-i)后将结果发送给Si,
S14:Si(i=0,1)收到Enc(Miv1-i-r1-i)后,使用自己的私钥ski解密得到Miv1-i-r1-i,
S15:Si(i=0,1)分别计算得到
pi=(Mivi)+(Miv1-i-r1-i)+(ri);
所述步骤S2利用加法秘密共享的原理,将秘密以适当形式拆分后分发给不同计算方,重构的时候将不同计算方的子秘密相加恢复原始秘密,本方案中两个云服务器S0和S1非共谋,该步骤有效地避免了云服务器恢复原始数据信息的问题,实现了对训练数据的隐私保护,数据提供者将私有训练数据(X,y)随机拆分为与原始数据维度大小相同的两部分子数据(X0,y0)和(X1,y1),并通过安全信道分发给云服务器S0和S1,其中,X∈R表示维度大小为n×d的矩阵,d为每个样本的特征数量,y∈R表示一个n维列向量,称作样本的目标值;
所述步骤S4中,对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:
其中,e表示当前迭代次数,XB和yB分别表示小批量样本集的特征值和目标值,线性回归模型参数更新子步骤如下,下列分步骤每执行一轮,迭代次数加1,Si(i=0,1)分别判断当前损失函数值lossi是否小于损失阈值T,若损失函数值小于损失阈值,则记当前的θi为模型参数的秘密共享值,训练结束;否则迭代执行S4;
所述步骤S4包括如下步骤:
步骤S41:Si(i=0,1)根据索引号分别选取索引相匹配的批量样本数据
步骤S42:Si(i=0,1)调用步骤S1,根据批量样本数据和当前模型参数θi分别得到秘密共享值/>
步骤S43:Si(i=0,1)分别求出与真实秘密共享值/>之间的误差/>
步骤S44:Si(i=0,1)调用步骤S1计算分别得到
步骤S45:Si(i=0,1)根据小批量梯度下降算法MBGD的模型参数更新公式(1)更新模型参数θi,
步骤S46:Si(i=0,1)计算当前损失函数值lossi=Xi×θi-yi;
所述步骤S5,经过步骤S1~S4,已知目前云服务器S0和S1分别拥有模型参数的秘密共享值θ0和θ1,用户需要利用云服务器强大的计算力进行线性预测任务,为了防止预测数据集信息泄露给云服务器,并且避免模型参数泄露给用户,故需要对预测数据集进行预处理,用户将预测数据集Xtest按照步骤S2的方式将数据集进行拆分预处理,得到两个子数据集和分别发送给云服务器S0和S1;
所述步骤S6,Si(i=0,1)调用步骤S1分别计算得出秘密共享值
所述步骤S7,Si(i=0,1)分别将秘密共享值发送给用户,由用户将秘密共享值相加后重构出真实的预测结果ytest。
2.根据权利要求1所述的一种基于安全两方计算线性回归算法的数据隐私保护系统,其特征在于,所述协作完成线性回归模型的训练包括,第一云服务器对接收到的加密数据进行去噪处理,并重新添加噪音,第二云服务器对第一云服务器发送的噪音数据进行加密处理,第一云服务器对第二云服务器的加密数据进行去噪处理,所述数据请求端用于发送使用数据构建线性回归模型的请求,并采用私钥解密得到训练好的线性回归模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004265.0A CN112182649B (zh) | 2020-09-22 | 2020-09-22 | 一种基于安全两方计算线性回归算法的数据隐私保护系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004265.0A CN112182649B (zh) | 2020-09-22 | 2020-09-22 | 一种基于安全两方计算线性回归算法的数据隐私保护系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182649A CN112182649A (zh) | 2021-01-05 |
CN112182649B true CN112182649B (zh) | 2024-02-02 |
Family
ID=73955777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011004265.0A Active CN112182649B (zh) | 2020-09-22 | 2020-09-22 | 一种基于安全两方计算线性回归算法的数据隐私保护系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182649B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910631B (zh) * | 2021-02-08 | 2022-11-22 | 上海海洋大学 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
CN112906030B (zh) * | 2021-03-09 | 2023-05-16 | 浙江万里学院 | 基于多方全同态加密的数据共享方法和系统 |
CN113065145B (zh) * | 2021-03-25 | 2023-11-24 | 上海海洋大学 | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 |
CN113191396B (zh) * | 2021-04-09 | 2022-09-20 | 华中科技大学 | 一种基于数据隐私安全保护的建模方法和装置 |
CN113190858B (zh) * | 2021-04-20 | 2024-02-02 | 中国人民大学 | 一种基于隐私保护的图像处理方法、系统、介质和设备 |
CN113112312B (zh) * | 2021-05-13 | 2022-09-30 | 支付宝(杭州)信息技术有限公司 | 针对用户生成模型的方法、装置和计算机可读存储介质 |
CN113434898B (zh) * | 2021-05-22 | 2022-10-18 | 西安电子科技大学 | 一种非交互式的隐私保护逻辑回归联邦训练方法及系统 |
CN113407987B (zh) * | 2021-05-24 | 2023-10-20 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN113032838B (zh) * | 2021-05-24 | 2021-10-29 | 易商征信有限公司 | 基于隐私计算的标签预测模型生成方法、预测方法、模型生成装置、系统及介质 |
CN113472524B (zh) * | 2021-06-09 | 2022-05-17 | 湖北工业大学 | 一种抗恶意传输数据攻击的数据聚合签名系统及方法 |
CN113496258A (zh) * | 2021-06-28 | 2021-10-12 | 成都金融梦工场投资管理有限公司 | 一种基于边缘计算的物联网设备非共享数据训练方法 |
CN113792339A (zh) * | 2021-09-09 | 2021-12-14 | 浙江数秦科技有限公司 | 一种双向隐私保密的神经网络模型共享方法 |
CN113780530B (zh) * | 2021-09-09 | 2024-05-24 | 浙江数秦科技有限公司 | 一种三角式隐私计算方法 |
CN113938266B (zh) * | 2021-09-18 | 2024-03-26 | 桂林电子科技大学 | 基于整数向量同态加密的垃圾邮件过滤器训练方法及系统 |
CN114154554A (zh) * | 2021-10-28 | 2022-03-08 | 上海海洋大学 | 一种基于非共谋双云服务器的隐私保护外包数据knn算法 |
CN114003939B (zh) * | 2021-11-16 | 2024-03-15 | 蓝象智联(杭州)科技有限公司 | 一种用于纵向联邦场景的多重共线性分析方法 |
CN114244497B (zh) * | 2021-12-09 | 2024-02-13 | 支付宝(杭州)信息技术有限公司 | 两方协同生成分片的方法及装置 |
CN113935060B (zh) * | 2021-12-17 | 2022-03-11 | 山东青揽电子有限公司 | 一种抗碰撞混淆标记算法 |
CN114679316A (zh) * | 2022-03-25 | 2022-06-28 | 中国人民解放军国防科技大学 | 人员流动性的安全预测方法、系统、客户端设备及服务器 |
CN114650134A (zh) * | 2022-03-31 | 2022-06-21 | 深圳前海环融联易信息科技服务有限公司 | 一种基于秘密共享的纵向隐私保护逻辑回归方法 |
CN114494803B (zh) * | 2022-04-18 | 2022-07-05 | 山东师范大学 | 基于安全计算的图像数据标注方法及系统 |
CN115314211B (zh) * | 2022-08-08 | 2024-04-30 | 济南大学 | 基于异构计算的隐私保护机器学习训练与推理方法及系统 |
CN115632761B (zh) * | 2022-08-29 | 2023-06-23 | 哈尔滨工业大学(深圳) | 基于秘密共享的多用户分布式隐私保护回归方法及装置 |
CN115186831B (zh) * | 2022-09-09 | 2022-12-13 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
CN116738494B (zh) * | 2023-08-16 | 2023-11-14 | 北京瑞莱智慧科技有限公司 | 基于秘密分享的多方安全计算的模型训练方法和装置 |
CN117056978A (zh) * | 2023-08-30 | 2023-11-14 | 西安电子科技大学 | 一种基于算术共享的安全并查集方法及其运算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763954A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 线性回归模型多维高斯差分隐私保护方法、信息安全系统 |
CN110190945A (zh) * | 2019-05-28 | 2019-08-30 | 暨南大学 | 基于多加密的线性回归隐私保护方法及系统 |
CN110851786A (zh) * | 2019-11-14 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 纵向联邦学习优化方法、装置、设备及存储介质 |
CN111543025A (zh) * | 2017-08-30 | 2020-08-14 | 因福尔公司 | 高精度隐私保护实值函数评估 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110537191A (zh) * | 2017-03-22 | 2019-12-03 | 维萨国际服务协会 | 隐私保护机器学习 |
-
2020
- 2020-09-22 CN CN202011004265.0A patent/CN112182649B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111543025A (zh) * | 2017-08-30 | 2020-08-14 | 因福尔公司 | 高精度隐私保护实值函数评估 |
CN108763954A (zh) * | 2018-05-17 | 2018-11-06 | 西安电子科技大学 | 线性回归模型多维高斯差分隐私保护方法、信息安全系统 |
CN110190945A (zh) * | 2019-05-28 | 2019-08-30 | 暨南大学 | 基于多加密的线性回归隐私保护方法及系统 |
CN110851786A (zh) * | 2019-11-14 | 2020-02-28 | 深圳前海微众银行股份有限公司 | 纵向联邦学习优化方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于安全两方计算的具有隐私性的回归算法;唐春明;魏伟明;;信息网络安全(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112182649A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182649B (zh) | 一种基于安全两方计算线性回归算法的数据隐私保护系统 | |
CN111324870B (zh) | 一种基于安全双方计算的外包卷积神经网络隐私保护系统 | |
Ding et al. | Encrypted data processing with homomorphic re-encryption | |
Shen et al. | From distributed machine learning to federated learning: In the view of data privacy and security | |
CN112822005B (zh) | 基于同态加密的安全迁移学习系统 | |
CN113065145B (zh) | 一种基于秘密共享和随机扰动的隐私保护线性回归方法 | |
Erkin et al. | Privacy-preserving distributed clustering | |
US20230327856A1 (en) | Secure multi-party computation methods, apparatuses, and systems | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
Park et al. | Privacy-preserving reinforcement learning using homomorphic encryption in cloud computing infrastructures | |
CN111404943A (zh) | 数据的处理方法、装置、电子设备及计算机可读存储介质 | |
CN111371545A (zh) | 一种基于隐私保护的加密方法和系统 | |
CN113435592A (zh) | 一种隐私保护的神经网络多方协作无损训练方法及系统 | |
Liu et al. | Privacy preserving pca for multiparty modeling | |
Kamal et al. | Searchable encryption of image based on secret sharing scheme | |
Bandaru et al. | Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment | |
Li et al. | PMDP: A framework for preserving multiparty data privacy in cloud computing | |
Zong et al. | Secure outsourced computation of matrix determinant based on fully homomorphic encryption | |
Qu et al. | Improved cryptanalysis of a fully homomorphic symmetric encryption scheme | |
Cheng et al. | Manto: A practical and secure inference service of convolutional neural networks for iot | |
Han et al. | Efficient privacy preserving logistic regression inference and training | |
CN117349685A (zh) | 一种通信数据的聚类方法、系统、终端及介质 | |
Pan et al. | PNAS: A privacy preserving framework for neural architecture search services | |
Zhou et al. | Toward scalable and privacy-preserving deep neural network via algorithmic-cryptographic co-design | |
Marquet et al. | Secure key management for multi-party computation in mozaik |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |