一种岭回归训练方法、计算设备、介质与流程

文档序号:18144193发布日期:2019-07-10 11:27阅读:290来源:国知局
一种岭回归训练方法、计算设备、介质与流程

本发明涉及数据安全与隐私保护领域,特别涉及一种基于多源数据隐私保护的岭回归训练方法、计算设备、介质。



背景技术:

近年来,大数据技术和人工智能正处于高速发展阶段,我们在日常生活中无时无刻不享受着大数据技术所带来的便利。然而,在享受这些便利的同时,伴随的是用户隐私数据的泄露,这些数据在无形之中被各企业所共享,换言之,我们其实是在牺牲隐私换取便利。用户隐私数据的泄露将会给用户造成很大的困扰,在大数据时代也愈发重视保护个人数据的隐私。常用的数据安全技术便是加密技术,将用户的私有数据加密后再存储在云端,数据加密技术能够防止数据的泄露,然而,普通的加密技术只能保证数据不会被泄露出去,却丧失了数据的可用性。

机器学习需要大量数据来训练更准确的模型,也就意味着用户经常需要把与个人隐私相关的数据上传到机器学习云服务器上进行训练,这就是正在大肆兴起的机器学习即服务(mlaas)。目前,云服务提供商在mlaas方面发展迅速,但所有的训练数据都必须透露给执行该服务的操作人员,这个过程往往不能保证数据不会被第三方利用。

在密码学领域,同态加密和安全多方计算等密文计算方法为解决这个难题提供了一种有效的解决思路,利用同态密码学技术能够在加密的数据上执行一定的运算操作,并且等同于在明文上进行操作,即能够利用同态密码学构造在密文上训练机器学习模型的协议。但值得注意的是,全同态加密算法虽然支持在密文上进行任何运算,但由于效率低下的原因无法在现实场景中使用。而现有的很多技术虽然能够利用加法同态构造出密文上的机器学习训练协议,但由于执行算法的过程中用户与云服务器的交互次数太多,增加了方案的通信复杂度,使得整体机器学习的效率降低,还不能完全适用于现实场景,如nikolaenko等人在2003年提出的基于paillier和gc(使得开发人员能够使用基本的“异或”门、“或”门和“与”门来定义任意电路的基于java的开源框架)的岭回归训练方案,由于使用了gc导致计算开销太大。在2005年gascon等人也提出了一个基于垂直分区数据集的算法,但解决方案仍需要用到gc。参考文献:

[1]nikolaenkov,weinsbergu,ioannidiss,etal.privacy-preservingridgeregressiononhundredsofmillionsofrecords[c]//ieeesymposiumonsecurity&privacy.ieeecomputersociety,2013.

[2]adriàgascón,schoppmannp,balleb,etal.privacypreservingdistributedlinearregressiononhigh-dimensionaldata[j].proceedingsonprivacyenhancingtechnologies,2017,2017(4):345–364.



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种岭回归训练方法,利用密文计算保障个人数据在加密服务提供商训练、流转过程中不泄露个人隐私,保证数据资源在合作过程中的机密性,同时精简计算,提高计算速度的同时降低计算成本。

本发明的目的通过以下的技术方案实现:

一种岭回归训练方法,包括如下步骤:

参数初始化,生成系统公共参数,生成dps(数据提供者)、csp(加密服务提供商)、acs(辅助服务器)、dr(数据请求者)的公私钥对,计算acs与dr的重加密密钥;

接收训练请求时,计算csp与acs的联合公钥,用联合公钥加密私有数据,生成密文一;

通过csp对密文一进行部分解密,对密文一的每个数据项加噪声以盲化,生成数据包一;

通过acs对数据包一进行解密后再加密,生成数据包二;

利用加法同态性质,通过csp对数据包二进行去盲,加入正则化矩阵,得到中间值,并引入随机值对中间值进行盲化,同时将随机值用重加密密钥加密,生成包括盲化后中间值、加密后随机值的数据包三;

通过acs对加密后随机值进行重加密、对盲化后中间值进行解密操作,生成密文二;

通过dr对密文二进行解密,得到模型的最终训练结果。

优选的,所述重加密密钥由acs私钥和dr公钥计算得出。

优选的,通过引入常数对密文一每个数据项加噪声。

一种计算设备,用于实现上述岭回归训练方法,具体包括:

存储设备,用于存储用户数据;

存储器,用于存储用于处理的数据以及处理器;

所述处理器被配置为:参数初始化,生成系统公共参数,生成dps(数据提供者)、csp(加密服务提供商)、acs(辅助服务器)、dr(数据请求者)的公私钥对,计算acs与dr的重加密密钥;

接收训练请求时,计算csp与acs的联合公钥,用联合公钥加密私有数据,生成密文一;

通过csp对密文一进行部分解密,对每个数据项加噪声,生成数据包一;

通过acs对数据包一进行解密后再加密,生成数据包二;

利用加法同态性质,通过csp对数据包二进行去盲,加入正则化矩阵,得到中间值,并引入随机值对中间值进行盲化,同时将随机值用重加密密钥加密,生成包括盲化后中间值、加密后随机值的数据包三;

通过acs对加密后随机值进行重加密、对盲化后中间值进行解密操作,生成密文二;

通过dr对密文二进行解密,得到模型的最终训练结果。

优选的,所述计算设备还包括用于连接到网络的网络连接。

优选的,所述csp和acs实现在分离的计算设备上。

一种介质,为包含指令的机器可读介质,所述指令在被执行时实现上述岭回归训练方法的步骤。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明用到elgamal加法变体方案,结合密文重加密技术,保证数据资源在合作过程中的机密性的同时精简计算,提高计算速度的同时降低计算成本。

2、利用密文计算保障个人数据在加密服务提供商训练、流转过程中不泄露个人隐私,,使得整个方案在计算和通信上都有明显的提升,而且所有的计算操作都是外包给加密服务提供商的,对用户而言是轻量级的,较适用于当前的云计算场景。

附图说明

图1是本发明实施例一种岭回归训练方法示意图。

图2为本发明实施例一种保护隐私的医学疾病诊断模型训练示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

在大数据时代,企业间的数据共享日益频繁,对多源数据进行关联分析和深度挖掘,能够将经过匿名化处理的数据复原,导致现有数据脱敏技术“失灵”,直接威胁用户的个人隐私数据。在大数据平台,一个数据资源池同时服务于多个数据提供者和数据使用者,强化数据隔离和访问控制,实现数据“可用不可见”,是大数据环境下数据安全的新需求。

本实施例用到elgamal加法变体方案,结合密文重加密技术,以实现快速保密训练。

1.基于elgamal的加法同态方案

由于原始的elgamal方案是只具有乘法同态性的,而现有的很多场景都是需要加法同态性的,现有的很多文章都是基于elgamal方案进行改进,使得其具有加法同态性。下面我们描述一个最直观的改进方法,该密码系统还包含的主要算法:setup(初始化)、keygen(密钥生成)、enc(加密)和dec(解密)。

setup:选择一个大素数p,循环群的两个生成元g,α。

keygen:选择一个随机数计算h=gxmodp。则公钥pk=h,私钥sk=x。

enc:输入公钥和消息m,选择一个随机数输出密文[m]。

[m]=(a,b)=(grmodp,αmhrmodp).

dec:输入密文[m]和私钥x,该算法输出明文m。

需要求解对数来得到结果,即

该方案的加法同态性:

对于两条不同的消息m和m′,有如下的同态性质:

(1)[m]⊙[m′]=[m+m′],其中⊙是定义在密文上的某种运算,一般为乘法。

(2)[m]k=[k·m],其中k是一个常数。

在我们的方案中,我们假设私钥sk=sk1+sk2,对应的公钥pk′=(p,g,h′,α),其中h′=gskmodp。在此,我们使用一个两阶段的解密机制,描述如下:

pdec1:用sk1进行部分解密,执行这个算法能够将原始密文转化为能够由sk2解密的密文,计算如下:

其中

pdec2:用sk2进行解密,执行该算法可以最终解密得到结果,计算如下:

2.隐私保护的岭回归训练

给定由d个属性描述的样本xi=(xi1;xi2;…;xid),其中xij是样本xi在第j个属性上的取值,线性模型试图学得一个通过这d个属性的线性组合来进行预测的函数,即:f(x)=w1x1+w2x2+…+wdxd+b,一般用向量形式写成f(x)=wtx+b,得到w和b后,模型就确定了。我们假定数据集d={(x1,y1),(x2,y2),…,(xn,yn)},其中xi=(xi1;xi2;…;xid),将w和b吸收进入向量的形式并将每个样本xi都扩展到d+1维变成xi′,其中最后一个元素x′i(d+1)恒置为1。现需要训练一个岭回归模型以尽可能准确地预测新值对应的输出结果。

我们将数据集写成矩阵形式:

y=[y1,y2,…,yn]

x表示训练数据中特征向量的矩阵形式,y表示训练数据中目标值的矩阵形式,利用最小二乘法来进行岭回归模型性能的度量,最终目的是求解其中λ称为正则化系数,i是单位向量。

我们提出下图所示的场景,拥有四部分实体:dps(数据提供者)、csp(云服务提供商)、acs(辅助云服务器)、dr(数据请求者)。其中,dps提供私有数据并加密上传到csp;csp具有不受限的存储空间和计算能力,存储所有用户的加密数据,并能够基于密文进行运算操作;acs协助csp执行岭回归训练协议;dr向dps请求数据,并能够获取数据处理结果,一个dr同时也可以是dp。

接下来我们详述在该场景下进行岭回归训练的步骤:

步骤一:系统参数的初始化,生成该系统下的公共参数pp=(p,g,α),之后系统中的各参与方调用keygen算法生成自己的公私钥对:(pkcsp,skcsp)、(pkacs,skacs)、(pkdr,skdr),同时acs利用自己的私钥和dr的公钥计算一个重加密密钥rkacs→dr=gskdr/skacsmodp,并发给csp。

步骤二:dr向dps发送请求,dps计算csp和acs的联合公钥pk=gskcsp+skacs=pkcsp·pkacsmodp,并用pk加密dps的私有数据,生成密文一并上传到csp:

[y]pk=[[y1]pk,…,[yn]pk]tn×1。

步骤三:csp执行pdec1算法,用skcsp对密文一进行部分解密,并对密文一的每个数据项都加噪声以盲化,生成数据包一,其中rij和ri都是常数。

[y′]acs=[[y1r1]acs,…,[ynrn]acs]t

将数据包一([x′]acs,[y′]acs)发给acs。

步骤四:acs收到数据包一后,对[x′]acs和[y′]acs进行解密,计算x′tx′和x′ty′,并用pkacs加密,生成数据包二,将数据包二([x′tx′]acs,[x′ty′]acs)返回给csp:

步骤五:csp对acs返回的矩阵进行“去盲”操作,利用加法同态的性质,计算:

并加入正则化矩阵λi,得到中间值[g]acs=[xtx+λi]acs,再选择一个随机矩阵r和一个随机向量r,对a和b进行盲化,得到中间值c、e在acs的公钥下加密的密文形式:[c]acs=[gr]acs,[e]acs=[b+gr]acs,将矩阵r和r用rkacs→dr加密。把数据包三([c]acs,[e]acs,[r]rk,[r]rk)发送给acs。

步骤六:acs利用私钥对[r]rk和[r]rk进行重加密得到[r]dr和[r]dr,并对[c]acs和[e]acs执行解密操作,计算:

c-1=(ar)-1=r-1a-1

将密文二发送给dr。

步骤七:dr对进行解密,得到模型的最终训练结果

下面结合具体事例说明本发明原理,如图2所示,一种保护隐私的医学疾病诊断模型训练。

现假设某医学研究所需要训练一个糖尿病病情预测的模型,因此需要各医院提供糖尿病人的一些生理数据(如,年龄、性别、血压、各种血清的化验数据等),出于对病人隐私的保护,医院会对这些数据进行加密后再发送给云服务提供商,云平台基于密文进行模型的训练,最终该研究所能够获得糖尿病病情预测的模型,而云平台不会获知数据和模型的信息。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1