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

一种基于安全两方计算线性回归算法的数据隐私保护系统

文献发布时间:2023-06-19 09:26:02


一种基于安全两方计算线性回归算法的数据隐私保护系统

技术领域

本发明涉及信息安全技术私领域,具体涉及一种基于安全两方计算线性回归算法的数据隐私保护系统。

背景技术

线性回归(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用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算,为了清晰表述该步骤的实现效果,假设计算方S

进一步,所述步骤S1包括如下步骤:

S11:S

S12:S

S13:S

Enc(a)+Enc(a)=Enc(2a)计算Enc(M

S14:S

S15:S

p

进一步,所述步骤S2利用加法秘密共享的原理,将秘密以适当形式拆分后分发给不同计算方,重构的时候将不同计算方的子秘密相加恢复原始秘密,本方案中两个云服务器S

进一步,所述步骤S4中,对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:

其中,e表示当前迭代次数,X

进一步,所述步骤S4包括如下步骤:

步骤S41:S

步骤S42:S

步骤S43:S

步骤S44:S

步骤S45:S

步骤S46:S

进一步,所述步骤S5,经过步骤S1~S4,已知目前云服务器S

进一步,所述步骤S6,S

进一步,所述步骤S7,S

进一步,所述协作完成线性回归模型的训练包括,第一云服务器对接收到的加密数据进行去噪处理,并重新添加噪音,第二云服务器对第一云服务器发送的噪音数据进行加密处理,第一云服务器对第二云服务器的加密数据进行去噪处理,所述数据请求端用于发送使用数据构建线性回归模型的请求,并采用私钥解密得到训练好的线性回归模型。

本申请原理:本申请主要采用一种基于安全两方计算的线性回归算法,并结合秘密共享、加法同态加密等现代密码学技术,将安全两方计算的密码学技术应用在线性回归模型训练中,并结合秘密共享和同态加密等其他现代密码学方案,保护了线性回归算法中训练数据、模型参数以及预测数据等的隐私问题,使具有某种需求的用户能够通过云计算进行相应的安全训练及预测。本申请利用秘密共享的原理提出了一种基于安全两方计算的数据隐私保护线性回归方案,由两个非共谋云服务器协作完成线性回归的训练及预测任务。本申请避免使用通信复杂度较高的OT协议,而是通过使用加法同态加密和加法掩码相结合的方法实现秘密共享值的乘法计算,避免两方服务器私有信息的泄露。相比之下,本文方案在保证数据和模型参数隐私不被泄露的同时,所需要的通信开销更低。本申请将原始训练数据和模型参数私有化,在云服务器无法获得原始训练数据以及中间参数、并且无法推断模型参数的情况下,借助云服务的便利实现了一种保护数据隐私的线性回归算法;在此基础上,可安全地执行回归预测任务,并且不泄露任何预测数据和预测结果。

有需求的企业或机构可以将大量的原始数据以适当的形式拆分后发送给两个非共谋的云服务器(可以在不同的云服务提供商之间或异构的云平台之间),并且在利用云服务器的计算及存储资源时,不需要考虑数据的隐私泄漏问题,从而高效准确的进行线性回归模型的训练及数据预测。

本申请的优点还体现在:

1)使用安全两方计算的方式执行小批量随机梯度下降算法进行模型参数的更新,不仅可以避免训练阶段的数据隐私泄露问题,还可以保护预测阶段的数据隐私;

2)为了避免两方计算过程中间参数等数据的泄露,本方案在更新参数的过程中,使用加法同态加密,加法掩码等现代密码学方法对数据以及模型参数进行加密盲化处理;

3)本方案在安全两方计算过程中采用加法同态加密的方法,相对于不经意传输(Oblivious Transfer,简称OT)协议的方法,计算和通信开销更小。

附图说明

图1为本申请隐私保护算法的整体框架结构示意图。

图2为本申请中线性回归技术解决方案流程示意图。

图3为本申请隐私保护算法的秘密共享值的乘法计算流程图。

具体实施方式

下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1-3所示,一种基于安全两方计算线性回归算法的数据隐私保护系统,包括数据预处理模块、秘密共享值乘积模块、模型参数训练模块、预测模块、多个数据提供端、第一云服务器、第二云服务器、数据请求端,所述数据提供端用于提供线性回归模型的训练集,每个数据提供端拥有不同的数据,将数据聚合起来构成训练集,采用同态代理重加密算法进行数据加密后存储在第一云服务器,所述第一云服务器与第二云服务器协作完成线性回归模型的训练,所述基于安全两方计算的线性回归算法,所述协作完成线性回归模型的训练包括,第一云服务器对接收到的加密数据进行去噪处理,并重新添加噪音,第二云服务器对第一云服务器发送的噪音数据进行加密处理,第一云服务器对第二云服务器的加密数据进行去噪处理,所述数据请求端用于发送使用数据构建线性回归模型的请求,并采用私钥解密得到训练好的线性回归模型。

为保护数据隐私的线性回归方案整体框架图,完整的包含了训练以及预测两个阶段。在训练阶段,主要展示了训练模型之前数据提供者对数据的预处理,采用秘密共享的原理,将数据集随机拆分为两部分数据子集分发给两个云服务器,其中双云服务器之间的复杂计算过程详见技术解决方案中步骤S3-S4,当损失函数值小于损失阈值时停止训练,由云服务器各自保存模型参数的秘密共享值。在预测阶段,用户同样采用秘密共享的方式,将待预测数据集随机拆分发送给两个云服务器,双云服务器之间的计算过程详见步骤S6,随后服务器分别将计算得到的私有预测值发送给用户,由用户重构恢复出最终预测结果。

数据预处理模块利用加法秘密共享的原理,即将秘密以适当形式拆分后分发给不同计算方,重构的时候将不同计算方的子秘密相加恢复原始秘密。由于本方案中两个云服务器S

秘密共享值乘积模块用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算。假设计算方S

模型参数训练模块用于已有数据的训练,在两个服务器上形成共享模型参数。该模块调用数据预处理子模块和秘密共享值乘积子模块,并包含参数初始化子模块、模型参数更新子模块。

数据预处理子模块将私有训练数据随机拆分为与原始数据维度大小相同的两部分子数据和,并通过安全信道分发给两个云服务器。在拆分过程中,对每一个元素先取一个随机值,发给一个云服务器,将元素值与随机值之差发给另一个云服务器。

秘密共享值乘积子模块用于解决安全两方计算中秘密值的共享问题,利用加法同态加密的方法保护其中一个计算方的私有值,利用加法掩码的方式保护另一计算方的私有值,从而在不泄露双方秘密值的基础上,实现秘密共享值之间的乘法计算。

参数初始化子模块,线性回归模型训练之前,需要预设一些必要的参数,以高效准确的完成回归任务。本方案采用小批量梯度下降算法训练回归模型,主要思想是在更新每一参数时都使用一部分样本进行更新,可以大大减小收敛所需要的迭代次数,同时可以使收敛的结果更加接近梯度下降的效果。S

模型参数更新子模块,对于训练数据集(X,y)的小批量梯度下降算法的参数更新方式:

预测模块,已知目前云服务器S

数据预处理子模块,为了防止预测数据集信息泄露给云服务器,并且避免模型参数泄露给用户,故需要对预测数据集进行预处理。数据拥有者调用数据预处理子模块,将预测数据集X

计算预测共享值子模块,S

预测结果重构子模块,S

为了更好的理解技术解决方案,以实施例的角度对本发明做进一步的说明,具体流程如下:

步骤S1:采用秘密共享值的乘法

S11:S

S12:S

S13:S

S14:S

S15:S

步骤S2:训练数据预处理

S21:数据提供者在本地随机产生一个维度大小为n×(d+1)的数据集(X

S22:数据提供者将维度大小为n×(d+1)原始数据集(X,y)与数据集(X

S23:数据提供者将数据集(X

步骤S3:参数初始化

S31:S

S32:S

步骤S4:模型参数更新

S41:云服务器S

S42:S

S43:S

S44:S

S45:S

S46:S

S47:若loss

步骤S5:预测数据预处理

S51:用户将待预测数据集X

S52:用户将

S6:计算预测共享值

S

S7:重构预测结果

S71:S

S72:用户重构出真实的预测结果

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种基于安全两方计算线性回归算法的数据隐私保护系统
  • 基于安全两方计算的认知无线网络位置隐私保护方法
技术分类

06120112166407