首页> 中国专利> 一种安全的数据外包机器学习数据分析方法

一种安全的数据外包机器学习数据分析方法

摘要

本发明公开了一种安全的数据外包机器学习数据分析方法,由任意树均能化归为二叉树的性质,将训练好的决策树预测模型化归为二叉树,并归纳为一个形为无穷多个乘数项之和的特殊多项式,对模型中每一个数据用RSA加密上传到云平台,再将需要被决策的数据也用RSA加密上传到云平台,利用RSA的乘同态加密性质,将模型的加密数据和需要被决策的加密数据进行相应计算,得到每一个乘数项的密文结果,将结果返回到数据使用者解密,即可得到决策结果,通过将二叉树转化为多项式,使得原本需要多种计算才能实现的决策树,转化为一种计算即可实现,进而使用乘同态算法就能快速完成决策树的机器学习过程,大大降低了在密文上进行决策树这种机器学习算法的复杂程度,提升了计算效率。

著录项

  • 公开/公告号CN107124276A

    专利类型发明专利

  • 公开/公告日2017-09-01

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201710224720.X

  • 申请日2017-04-07

  • 分类号H04L9/30(20060101);H04L9/00(20060101);H04L29/06(20060101);G06N99/00(20100101);G06F21/60(20130101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人徐文权

  • 地址 710065 陕西省西安市雁塔区太白南路2号

  • 入库时间 2023-06-19 03:10:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-28

    授权

    授权

  • 2017-09-29

    实质审查的生效 IPC(主分类):H04L9/30 申请日:20170407

    实质审查的生效

  • 2017-09-01

    公开

    公开

说明书

技术领域

本发明属于信息安全技术领域,具体涉及一种安全的数据外包机器学习数据分析方法。

背景技术

随着科技的发展,云平台(Cloud Platforms)的规模巨大、虚拟快捷、通用性强、按需服务并且非常廉价等优越性日益凸显,这使得大数据的高速运算和高效存储成为现实。但一直以来,云平台都存在着巨大的安全隐患,极易出现数据泄露事件。短短几年内,触目惊心的信息泄露事件频出:美国第二大医疗保险公司Anthem丢失8000万个人信息、国内知名求职平台58同城简历数据被廉价售卖等等;数据泄露的根本原因是,用户的个人隐私数据集中储存在云平台的服务器上,这些隐私数据对于云平台完全透明,用户无法对数据的流向和应用进行监管,直接导致无论是云平台遭受外部攻击抑或内部人员非法泄露数据,都会直接造成大量隐私数据泄露的事件发生。这不仅威胁着所有使用者的个人隐私和生命财产安全·也严重打击了公众对云平台的信心,阻碍了云平台的推广应用,限制了云平台的应用场景。

为了防止数据泄露事件的发生,对数据加密后再存储在云平台上是公认最有效的方法,但这带来了一个新的问题:加密后的密文毫无特征,云平台无法对其进行有效处理,丧失了它在大数据处理方面的优势,而一旦将数据解密又极易造成隐私数据泄露,甚至带来严重的灾难性后果。为了解决这类问题,同态加密的思想在20世纪70年代被首次提出,并于近些年取得了突破性进展。同态加密能实现密文之间的计算以达到处理明文的目的,即对密文计算出结果后解密等价于先解密成明文后再对明文计算出结果,这种特性对密文运算有着重要意义,其中全同态加密指可对密文进行任意计算,半同态加密是指可对密文进行一种或几种计算,可对密文进行乘法运算的同态加密算法又叫乘同态加密算法。全同态加密功能强大,但是其存取耗时过长,处理复杂度过高,严重拉低了云平台的工作效率,因此大规模的应用前景并不为人看好。相比之下,半同态加密算法不仅可满足基本的数据处理需求,处理速度也达到了可接受的程度,显然是一种更好的选择。在目前机器学习快速发展的背景下,基于半同态加密利用机器学习从密文数据中挖掘有效信息,促成更强的决策能力,可将云平台的优势发挥到极致,但是机器学习所要进行的计算较为复杂,难以用一种计算来实现。

发明内容

针对上述现有技术的不足,本发明的目的是提供一种安全的数据外包机器学习数据分析方法,解决了现有云平台上数据的安全性和可处理性间的矛盾,即数据加密后上传云平台无法对其进行处理,但解密后处理又将使数据面临泄露风险的问题。本发明基于决策树实现了对加密数据进行预测,可高效地对用户上传至云平台的加密数据进行方案决策、统计分析等处理,在保护隐私的同时增加了数据的利用率,可在一些处理大量隐私数据的特殊场所,例如医院、银行等进行广泛应用。

为了实现上述目的,本发明采用的技术方案是,一种安全的数据外包机器学习数据分析方法,包括以下步骤:

步骤一、模型提供者对训练集中数据进行训练构筑一个决策树,然后将决策树转化为二叉树,并将二叉树归为多项式:

其中,

F(T)为最终的预测结果,i表示从左到右第i条路径,Ci为第i条路径的对应的预测结果,为Ci前的系数,表示第i条路径中的第j个节点的值,k=1时表示向左走;k=-1时表示向右走,只有一个子节点时k=0,取1;

步骤二、模型提供者将多项式中每一项的系数以及结果分别使用乘同态加密算法加密后上传至云平台;

步骤三、模型使用者将待预测参数使用乘同态加密算法公钥加密后上传至云平台,待预测参数为常数c,将其结果表示为E(c);

步骤四、云平台接收步骤二和步骤三中上传的密文,使步骤三中密文与步骤二中密文中的每一项分别相乘,得到新的密文数据;

步骤五、模型使用者下载步骤六中得到的新的密文数据,并使用乘同态加密算法的私钥解密新的密文数据得到明文数据,其中唯一不为0的一项即为最终预测结果数据;

步骤六、模型使用者向模型提供者请求模型对应的信息列表L,并将步骤五中得到的最终预测结果数据与查询信息列表L匹配即可得出该数据对应的预测结论。

乘同态加密算法采用RSA公钥加密算法,乘同态加密算法的私钥为RSA公钥加密算法的私钥。

步骤四中新的密文数据经乘同态加密算法的私钥解密后得到的明文数据个数与二叉树的末级分支个数相等。

步骤一中根据图论原理将决策树转化为二叉树。

本发明由任意树均能化归为二叉树的性质,将训练好的决策树预测模型化归为二叉树,并归纳为一个形为无穷多个乘数项之和的特殊多项式,对模型中每一个数据用RSA加密上传到云平台。再将需要被决策的数据也用RSA加密上传到云平台,利用RSA的乘同态加密性质,将模型的加密数据和需要被决策的加密数据进行相应计算,得到每一个乘数项的密文结果,将结果返回到数据使用者解密,即可得到决策结果。

与现有技术相比,本发明至少具有以下有益效果,通过将二叉树转化为多项式,使得原本需要多种计算才能实现的决策树,转化为一种计算即可实现,进而使用乘同态算法就能快速完成决策树的机器学习过程,大大降低了在密文上进行决策树这种机器学习算法的复杂程度,提升了计算效率,解决了现有云平台上数据的安全性和可处理性的矛盾,即数据加密上传云平台无法对其进行处理,但解密后处理又将使数据面临泄露风险的矛盾;本发明使云平台在对数据进行决策树处理时不必对密文进行解密操作,而是直接在密文上进行乘同态操作,在保证高效率处理的同时保护了用户隐私数据的安全。

附图说明

图1为本发明的工作流程图;

图2为二叉树的结构示意图;

图3为三层二叉树的结构示意图;

图4为实施例1的二叉树模型图;

图5本发明的方案与全同态方案耗时对比图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

如图1所示,为本发明的工作流程图,具体步骤如下:

①训练模型及转化为多项式

11.训练决策树模型

模型提供者通过训练大量的相关数据构筑一棵决策树;

12.决策树转化为多项式

121.决策树转化为二叉树

根据图论原理,任意树均能化归为二叉树的性质,将步骤11中训练好的决策树预测模型化归为二叉树,如图2所示。

122.二叉树化归为多项式

将如图2所示的无穷二叉树化归为多项式(2-1)

其中,

F(T)为最终的预测结果,i表示从左到右第i条路径,Ci为第i条路径的对应的预测结果,为Ci前的系数。表示第i条路径中的第j个节点的值,k=1时表示向左走;k=-1时表示向右走,只有一个子节点时k=0,取1,例如为第1条路径中的第3个节点。

现举例说明,如图3所示,当二叉树只有三层时,由(2-1)可得多项式(2-2)

F(T)=(1-b0)[(1-b1)G(T1)+b1G(T2)]+b0[(1-b2)G(T3)+b2G(T4)](2-2)

以最左边的路径为例,当A事件发生时,b0=0,F(T)=(1-b1)G(T1)+b1G(T2),紧接着C事件发生,b1=0,F(T)=G(T1),其余路径同理;

从上述举例容易看出,代入数值后的多项式(2-1)中仅有唯一一项不为0,其余项均为0,其中,不为0的那一项数据即为最终的预测结果F(T)的数据。

②多项式加密上传

模型提供者将多项式中每一项的系数以及结果分别使用RSA公钥加密后上传至云平台,例如,对于式(2-2),需要对(1-b0),(1-b1),G(T1),b1,G(T2),b0,(1-b2),G(T3),b2,G(T4)这10项分别加密,结果分别为E(1-b0),E(1-b1),E[G(T1)],E(b1),E[G(T2)],E(b0),E(1-b2)E[G(T3)],E(b2)E[G(T4)]。

③待预测参数加密上传

待预测参数为常数c,将其使用RSA公钥加密后上传至云平台,结果为E(c)。

④请求列表

模型使用者向模型提供者请求模型对应的信息列表L。

⑤返回列表

模型提供者向模型使用者返回模型对应的信息列表L。

⑥云平台乘同态处理

云平台接收来自两方(模型提供者和模型使用者)的密文,并将步骤③中密文与步骤②中密文中的每一项分别相乘,得到新的密文数据。仍以(2-2)为例,那么处理过程即就是E(c)分别与②中的:

E(1-b0),E(1-b1),E[G(T1)],E(b1),E[G(T2)],E(b0),E(1-b2),E[G(T3)],E(b2),E[G(T4)]

这10项密文相乘,得到10个新的密文数据E(c)E(1-b0),E(c)E(1-b1),E(c)E[G(T1)],……,E(c)E[G(T4)]。

⑦下载解密得到结果

模型使用者将云平台处理过的新的密文下载至pc端,使用RSA私钥解密后得到与二叉树末级个数相等的明文数据,仍以(2-2)为例,步骤⑥中的密文数据解密结果为:

D(c)D(1-b0),D(c)D(1-b1),D(c)D[G(T1)],……,D(c)D[G(T4)]这10项,由步骤112可知,其中唯一不为0的一项即为最终预测结果数据,查询信息列表L后即可得出该数据对应的预测结论。

实施例1,我们以医疗为场景来模拟,在此场景下,医院为模型提供者,患者为模型使用者,假设的模型如图4所示。

首先,医院将自己的4层决策树模型转化为多项式,并进行加密,多项式计算结果为1—8对应c1—c8,多项式加密前为

b0*b2*b6*8+b0*b2*(1-b6)*7+b0*(1-b2)*b5*6+b0*(1-b2)*(1-b5)*5+(1-b0)*b1*b4*4+(1-b0)*b1*b4*3+(1-b0)*(1-b1)*b3*2+(1-b0)*(1-b1)*(1-b3)*1

多项式加密后为

b0*b2*b6*D522323233434223、b0*b2*(1-b6)*23343923822291EF、

b0*(1-b2)*b5*223DFD838D932BCB、b0*(1-b2)*(1-b5)*3343422323343923、

(1-b0)*b1*b4*838D9333434223D、(1-b0)*b1*b4*34342DFD83933343、

(1-b0)*(1-b1)*b3*32323FD838DD9333、(1-b0)*(1-b1)*(1-b3)*DFD832BCB3232323。

接着,病人将自己的生理数据编码为二进制序列并加密,数据加密前为b0-b6分别是0、1、0、0、0、1、0,加密后b0-b6分别是39C121233392BE21、23BE2131BAE9392、131B233A321392BE、D3233DF3211B1893、8D97204B2B31A81F、E211B233392B31BA、1B29311B9B318312。

将模型提供者提供的加密模型和模型使用者提供的生理数据在云平台进行运算,得到加密的预测结果,共有8个返回值,对应4层决策树模型的8个预测结果;加密的预测结果分别是334DDB2B318910AE、D109392BE211BAFD、E1AFBC1293931891、318B2912BE9D1211、D3233322B31A892B、BC12333DF8DF2934、3C328D9F8D63EE23、C1A3872041A22B45。

最后将结果解密,分别是0、0、3、0、0、0、0、0,可发现结果除了一项显示结果为3(代表预测结果为C3),其他结果均为0,符合我们的设计预期,表明我们的方法可对加密的模型和数据进行运算,得到决策树模型预测的结果。

我们通过对比基于全同态加密的决策树预测方案和我们的决策树预测方案的耗时来说明有益效果,对比如图5所示,其中纵轴为时间,横轴为二叉树的层数。我们的测试模型均为满二叉树,即树中每个节点均有两个叶子节点,我们的测试设备为Intel Xeon处理器,主频为4.0GHz。

从图中可以看出,我们的耗时与全同态加密相比大大降低,且随着模型的复杂度增加,差距会越来越大。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号