APP下载

基于BCP 的联合委托学习模型及协议

2021-06-04高胜向康田有亮谭伟杰冯涛吴晓雪

通信学报 2021年5期
关键词:决策树委托客户端

高胜,向康,田有亮,谭伟杰,冯涛,吴晓雪

(1.贵州大学计算机科学与技术学院公共大数据国家重点实验室,贵州 贵阳 550025;2.中央财经大学信息学院,北京 100081;3.贵州大学密码学与数据安全研究所,贵州 贵阳 550025;4.兰州理工大学计算机与通信学院,甘肃 兰州 730050;5.贵州省计量测试院,贵州 贵阳 550000)

1 引言

机器学习等相关技术的发展使大数据中的有利信息得以被挖掘和利用。在实际生活中,数据的分布并不是只存在于一个数据站点,而是多样化地分布于多个数据站点。因此,数据共享[1-2]已成为数据挖掘等相关领域的研究热点,而数据隐私泄露等安全问题是数据共享技术中的发展瓶颈。传统的基于安全多方计算(SMC,secure multi-party computation)[3-4]的解决方案效率低下且可行性较差,无法真正实现对大数据[5]的处理。

在实际的数据特征学习过程中,对数据进行较复杂的分析、模型构造以及优化通常是比较困难的,导致客户端背负着沉重的计算成本。甚至部分企业或用户由于受限于自身对数据处理的能力而无法挖掘出有用的信息,只能依托于云服务[6-7]提供商进行特征提取和模型训练。因此,基于传统的委托计算思想引出数据多点分布时的数据外包挖掘方法具有重要的实际应用价值。本文将这种数据外包挖掘的方式命名为联合委托学习,如图1 所示。

图1 联合委托学习

在数据多点分布时进行联合委托学习需要考虑以下需求。

1) 在数据共享中,不仅要避免用户隐私数据的泄露,而且必须保证加密后的数据满足数据挖掘的条件。

2) 避免服务器从计算的中间结果推测出最终构建的模型信息。

3) 尽量将计算任务委托给云服务提供商,以降低客户端的计算成本。

1.1 本文的贡献

针对联合委托学习中的安全性需求,本文的主要贡献如下。

1) 基于传统的委托计算思想提出了一种联合委托学习模型,并针对决策树的构造设计了一种基于虚假记录的隐私保护方法(FRPPM,false-based records privacy protection method),该方法利用少量的虚假记录扰乱最终构建的模型结构,增强了数据和模型结构的安全性。

2) 基于BCP(Bresson,Catalano,Pointcheval)同态加密算法分别设计了隐私保护委托点积算法(PPDDPA,privacy preserving delegation dot product algorithm)和隐私保护委托求熵算法(PPDEA,privacy preserving delegation entropy algorithm),降低了客户端的隐私数据在数据共享中的泄露风险。

3) 针对数据垂直和水平分布的情况,根据上述2 种算法分别提出了对应的委托学习协议,降低了客户端在数据挖掘中的计算成本。

1.2 相关工作

隐私保护数据挖掘技术[8-9]可分为基于数据扰动的方法和基于安全多方计算的方法。基于数据扰动方面,Agrawal 等[10]提出了用加入随机噪声的方法来进行隐私保护决策树挖掘的方案。但此种加入随机噪声的方法过于简单,Kargupta 等[11-12]对加入随机噪声方法的安全性提出了质疑,并基于随机矩阵理论提出了从扰动后的数据估计真实数据的方法。Bu 等[13]给出了一种基于函数扰动的方法,该方法采用反函数变换方式来将扰动数据上的虚假决策树还原为真实数据上的决策树。

基于安全多方计算方面,Hamada 等[14]及Bost等[15]分别研究了可以应用于SMC 中的决策树分类算法,在SMC 中向各参与方隐藏了输入向量,但有关决策树的信息被假定对各方公开。其中,Bost等[15]研究了使用同态加密通过决策树对信息进行安全分类的方法。随后,Wu 等[16]及Backes 等[17]各自将其扩展为一个随机森林。此外,在与本文的工作相似的研究中,Ichikawa 等[18]提出了一种新颖的安全多方协议,同样隐藏了输入向量和输出类以及树的结构。Zheng 等[19]及Li 等[20]分别设计了基于云服务器的分类模型,可以保护树模型和客户数据隐的分类模型提高了系统的可伸缩性。特别地,Li 等[22]私。另外,Liu等[21]在此基础上设计了支持离线服务针对数据的水平和垂直分布分别设计了外包隐私保护加权平均协议(OPPWAP,outsourced privacy preserving weighted average protocol)和外包安全集交叉协议(OSSIP,outsourced secure set intersection protocol),但不能保护训练模型结构的安全性。

2 预备知识

2.1 BCP 同态加密

BCP 同态加密算法是由Bresson、Catalano 和Pointcheval 于2003 年提出的,属于同态密码体制,具有以下性质。

其中,m1和m2表示明文信息,⊙表示在同一公钥下加密域中的算术乘法运算。BCP 同态加密算法的形式化描述包括以下4 个部分。

1) Setup(λ)。首先给定安全参数λ表示模数N的位长,再选定2 个不同的素数p'和q'分别计算p=2p'+1,q=2q'+1以及N=pq;随后选择表示在2[1,N]中所有与N2互质的数),并使最后得到公共参数pp=(N,k,g),主 密 钥

3) Encpk(m)。明文m∈ZN,选择随机数,利用公钥加密得到密文(A,B),其中A=grmodN2,B=gtr(1+mN)modN2。

4) Decsk(A,B)。利用私钥sk=t解密,获得明文。

2.2 数据的分布形式

通常数据的分布类型包括2 种情况:水平分布类型,即每个站点仅包含一部分元组,但每个元组都是完整的;垂直分布类型,即各个站点包含所有元组,但每个元组都不是完整的,仅包含一部分属性。如表1 中前14 条记录所示,为方便叙述,此处假设数据分布在站点P1和P2处。数据水平分布时,站点P1和P2分别包含部分完整的记录,同时各站点都知道数据所对应的属性名称,即表1 中的第二行信息,但各个站点对其他站点所包含的具体数据一无所知。数据垂直分布时,站点P1和P2都包含所有记录,但每条记录都是不完整的,对于所有特征属性而言站点P1只包含前2 个属性的数据,站点P2只包含后2 个属性的数据,但它们都包含标签项数据,即表1 中的最后一列信息,同样各个站点不愿意对其他站点透露自己所包含的具体数据。

表1 数据集的分布形式

3 联合委托学习模型

3.1 系统模型

联合委托学习的系统模型框架如图2 所示,系统模型包含2 个服务器和n个客户端(用户),并且相互之间采用安全信道连接。其中 S1是主服务器,S2是副服务器,分别由不同的服务提供商提供。首先,由 S2生成公共参数并发送给各客户端,客户端根据公共参数计算出各自的公私钥对。其次,客户端根据FRPPM 对各自的私有数据集进行扰动处理,并利用各自的公钥对扰动后的数据统计信息进行加密。然后,将A、B这2 类密文分别发送给 S2和 S1进行计算,并由 S1综合计算后返回结果。最后,各客户端根据返回的结果构建同样的决策树模型。需要注意的是,无论数据垂直分布还是水平分布,本文在模型的构建过程中都以ID3[23]算法为例。为方便后续描述,假设总体数据集D分布在n个客户端处,即D=D1∪D2∪…∪Dn,并且共有t条记录、d个属性和一个分类标签项C,其中属性集a={a1,a2,…,ad},且各属性有U个可能的取值

图2 联合委托学习的系统模型框架

3.2 安全模型

假设所有的参与者和服务器都是半诚实的并且不存在共谋行为,即服务器会认真完成客户端的计算任务但对计算结果好奇,客户端会诚实地提供自己的密文数据但同样好奇其他客户端的数据,并且服务器不具备数据集属性名及其取值类别信息等先验知识。

模型假设每个客户端都有私有数据对(xi,yi),其中i=(1,2,…,n),客户端之间不愿透露数据真实值但又希望利用其他人的数据计算最终结果R。

初始化阶段。由服务器 S2生成公共参数pp=(N,k,g)并分发给每一个客户端。各客户端选择随机数生成各自的公钥pki和私钥ski,即

输出阶段。服务器 S1将最终计算结果R返回给每一个客户端。

4 基于虚假记录的隐私保护方法

本节针对决策树的构造提出了一种新的隐私保护方法。该方法类似于数据扰动的方法,但与之不同的是客户端不在原始数据中做扰动操作,而是添加完整的虚假记录来达到扰动效果。

以表1 中的数据为例,前14 条记录是真实的数据,最后2 条是添加的虚假记录。换句话说,在原始数据属性outlook 的取值情况中并没有foggy类型,同样其他属性也都没有对应的cold、low、calm以及breezy 的取值类型。简而言之,最后2 条记录是虚构的,其目的在于通过添加虚假记录的方式来生成干扰树枝,使服务器无法辨认决策树分支的真实性。

以ID3 算法为例,表1 中的数据可以生成如图3所示的决策树T'。

图3 具有干扰分支的决策树T '

图3 中,虚线框中的分支就是生成的干扰分支,当所有节点以及分支信息处于加密状态时,服务器是很难猜测或分辨分支的真实性的,而客户端解密后通过后剪枝的方式剪掉虚假的分支可以轻松获得真实决策树T。

在添加虚假记录进行扰动时,有以下两点是需要注意的。

1) 由于ID3 算法的核心是以属性的信息增益大小来确定决策树各节点的划分属性的,因此,在添加虚假记录后要保证真实数据中原本信息增益最高的属性仍保持最高。例如,在表1 的真实数据中,属性outlook 的信息增益最大,当加入虚假记录后仍要保证属性outlook 的信息增益最大,否则就破坏了真实决策树的结构,根节点不再是属性outlook,也就是说,降低了决策树模型的分类精度。

2) 添加虚假记录的方法在提高安全的同时,也由于增加虚假数据集D'导致挖掘计算量增大。因此本文限定添加的虚假数据集为原真实数据集的2%~15%,当增加的计算量在可接受的范围内时,客户端应尽量增加更多根节点可能取值的虚假类别以提高决策树的安全性,这一点将在后续的安全性分析章节进行具体介绍。另外,n个客户端在联合委托学习之前可以通过协商确定添加的虚假数据集D'或由某一个客户端设定虚假数据集分发给其他客户端。当数据垂直分布时,各客户端也应将数据集D'垂直分割,因此各客户端添加的记录数为|D'|;当数据水平分布时,则每个客户端添加的数据量为

5 联合委托学习协议

根据第3 节和第4 节提出的联合委托学习模型及基于虚假记录的隐私保护方法,可以设计以下数据在不同分布形式时的委托学习协议。

5.1 数据垂直分布的委托学习协议

当数据垂直分布时,各客户端虽然包含的记录信息不完整,但可以使用布尔化向量表示数据在各属性上的取值情况。例如,在表1 中,P1使用向量表示所有记录在属性 outlook 上取值为sunny 的情况

其中,“1”表示该记录在属性outlook 上取值为sunny,“0”表示取其他值。同理,P2可以表示所有记录在属性humidity 上取值为high 的情况

尽管P1和P2之间都不愿透露各自的数据信息,但可以通过向量点积来获得同时满足在属性outlook 和humidity 上分别取值为sunny 和high 的记录数。其中,求解点积的过程可以看作第3.2 节安全模型中假设的一部分,如

根据以上描述,各客户端可以将各自的私有向量加密后发送给服务器,由服务器代理进行点积运算,具体如算法1 所示。

算法1隐私保护委托点积算法

输入每个客户端分别输入各自(t+|D'|)维的隐私向量Vi

输出结果R

1) 服务器 S2采用BCP 同态加密算法生成公共参数pp 并分发给各客户端。

3) 各客户端利用各自的公钥对向量Vi中每一个元素进行加密,得到密文向量对并将分别发送给服务器 S2和 S1。

4) 服务器 S2接收到各方发送的向量后做如下计算。

令j=1,中的第

j个元素vi,j计算,将vj加入向量VA中,j=j+1},最后将向量VA发送给服务器 S1。

5) 服务器 S1接收到各客户端及服务器 S2发送的向量后做如下计算。

令j=1,R=0,while(j≤t+|D'|) do {取及VA中第j个元素vi,j及vj计算

if(m≤ 1)令m=0,else 令m=1,R=R+m,

j=j+1}

6) 服务器 S1将结果R返回给各客户端。

根据上述算法,可以设计数据垂直分布时的联合委托学习协议,具体介绍如下。

1) 各客户端利用自身的数据计算出数据集D的信息熵

其中,K表示数据集D中分类标签项可能取值的类别数,pk表示第k个类别的样本所占的比例,k={1,2,…,K}。

2) 各客户端计算出各自所具有的属性信息增益大小,以此来共同确定信息增益最大的属性并作为决策树的根节点。

其中,Du表示在第u个分支中包含的D中所有在属性ai上取值为的样本集,u={1,2,…,U}。

3) 各客户端共同协商决定添加虚假记录的数量以及虚假数据的具体值,并将数据集D和D'布尔化,用布尔型向量表示所有记录在某一个属性上的取值情况。

4) 由当前划分(只有一个节点时指根节点)属性所属的客户端计算出各分支的信息熵并发送给其他客户端。若某分支的信息熵为零,则直接标记该分支为叶子节点,否则共同委托服务器计算该分支的其他信息,以便选取该分支的划分属性。

5) 各客户端将各自的私有向量加密后发送给服务器,并由服务器返回计算结果。

6) 各客户端根据结果R计算出各属性的信息增益并确定信息增益最大的属性为该分支节点。再返回到步骤4),以类似的方式递归地构造树的其他节点。

下面,以表1 中的数据为例,说明上述协议的具体执行过程。

1) 由于站点P1和P2都拥有标签项数据和不完整的记录数据,因此各客户端可以利用自身的数据计算出数据集D的信息熵

2) 站点P1和P2也可以计算出各自所具有的属性信息增益大小,并发布给其他客户端。

因此选择属性outlook 为根节点。

3) 虽然P1和P2可以在不透露具体数据的情况下共同确定根节点,但余下的所有分支节点必须利用整个数据集信息计算才能确定。因此在确定根节点后,P1和P2需要将各自数据的统计信息委托给服务器进行整合计算,为了保证数据以及模型的安全,首先P1和P2需要共同协商决定添加虚假记录并将数据集布尔化。

4) 由P1计算outlook 属性划分的4 个分支的信息熵,其中包括foggy 分支。例如,式(12)计算的sunny 分支不为零,因此该分支下的节点为非叶子节点。

P1将Ent(Ds)发送给P2,并联合P2将各自数据的统计信息发送给服务器计算其余3 个属性在该分支下的信息增益情况。例如计算humidity 属性的信息增益值。用Ds_h和Ds_n分别表示当属性outlook 取sunny、属性humidity 取high 和normal时的样本集,则

其中,Ds_h_y和Ds_h_n分别表示当属性outlook 及humidity 取值为sunny 和high 时,标签项play 取值为yes 和no 的样本集。同理,Ds_n_y和Ds_n_n也分别表示对应的样本集。

5) 在计算各属性的信息增益过程中,各站点需要知道当前分支的样本数等数据信息,但由于各站点之间不愿透露自己的数据样本信息,因此通过第三方服务器进行代理计算。例如,若站点P2想要知道在sunny 分支中的样本数,则可以联合站点P1分别将向量V和Vs加密后发送给服务器,让其代理计算出在sunny 分支中的样本数|Ds|=Vs⋅V,并返回给站点P2。其中,向量V是(t+|D'|)维的通用向量,其所有元素都为1。

类似地,站点P1使用向量

表示所有记录在属性outlook 及标签项play 上的取值情况,其中“1”表示该条记录同时满足在属性outlook 及标签项play 上分别取值为sunny 和yes,“0”表示不满足。同理,向量Vs_n表示所有记录在属性outlook 及标签项上分别取值sunny 和no 的情况。在站点P2的数据中,向量Vh表示所有记录在humidity 属性上取值为high 的情况,向量Vn表示所有记录在humidity 属性上取值为normal 的情况。站点P1和P2分别将

加密后发送给服务器,可以得到对应的计算结果。

6) 站点P1和P2收到服务器返回的结果后,各自可以计算出相同的humidity 属性信息增益数据。再返回到步骤4),以相同的方式,站点P1和P2可以计算出余下2 个属性的信息增益大小,并选择信息增益最大的属性作为sunny 分支下的划分节点。以类似的方式递归地构造树的其他节点,最后站点P1和P2都可以构造出图3 中完整的决策树T',经过剪掉虚假的分支后获得真正的决策树T。

5.2 数据水平分布的委托学习协议

与数据垂直分布的情况不同,数据水平分布时各客户端无法根据自身的数据计算出总体数据的信息熵和各属性的信息增益,只能委托服务器作为中间节点进行代理计算。

根据式(7)可以看出,计算总体数据的信息熵需要各客户端提供各自数据的统计信息,即

其中,Di,k表示在第i个客户端的数据中属于第k类样本的数据集。式(17)同样可以看作第3.2 节中安全模型的假设形式

假设各客户端使用向量

表示该客户端的数据所属类别的统计信息,其中,|Di|表示该客户端具有的数据量;使用向量

下面,给出多个客户端委托服务器代理计算的具体算法,如算法2 所示。

算法2隐私保护委托求熵算法

输入每个客户端{Pi|1≤i≤n}分别输入各自的隐私向量Vi,D、Vi,j以及向量组

输出以第j个属性划分的信息增益Gain(D,aj)

根据算法2,可以设计如下数据水平分布的联合委托学习协议。

1) 各客户端以向量的形式表示自身数据所属类别信息。经过各自公钥加密后将A、B两类密文分别发送给服务器 S2和 S1,计算得到整体数据集(或分支包含的子数据集)的信息熵。

2) 类似地,各客户端以向量Vi,j和的形式表示数据在第j个属性上的取值情况。通过委托服务器进行代理计算,可以获得所有属性的信息增益数据,将信息增益最大的属性作为节点(当前没有节点时作为根节点)属性。

3) 确定根节点后,各客户端协商确定添加虚假记录的数量|D'|及具体数据值,并且每一个客户端添加的虚假记录数都为

4) 返回执行步骤1),客户端采用同样的方式发送虚假的统计信息委托服务器计算根节点下各分支的信息熵。若某分支的信息熵为零,即表示该分支所包含的样本属于同一类别,则客户端直接标记该分支为此类别的叶子节点。否则执行步骤2),委托服务器计算出该分支下的所有属性信息增益,选择信息增益最大的属性作为该分支的节点属性。

5) 反复执行步骤1)和步骤2),以类似的方式递归地构造树的其他节点。

6 安全性及性能分析

6.1 安全性分析

本节从客户端的数据与最终构建的决策树模型2 个方面分析本文所提出的隐私保护委托算法和学习协议的安全性。

1) 当服务器 S2不能同时获得数据的密文A和B时,客户端的数据是安全的。

证明服务器 S2利用主密钥MK=(p',q')解密的过程如下。

①利用客户端的公钥计算出对应的私钥。

其中,k−1表示k模N的逆。

②利用密文A计算出客户端在加密过程中选择的随机数r。

③令δ表 示p'q'模N的 逆,并 且γ=(sk ⋅r)modN,则明文为

从上述解密过程可以看出,当服务器 S2利用主密钥解密时,必须同时具有密文(A,B)才能获得明文m,但在本文所设计的安全模型中,各客户端是将其密文A和B分别发送给不同的服务器做求和运算,并最终由服务器 S1计算出构建决策树模型的中间结果。因此当服务器 S1和 S2之间不存在共谋行为时,任何一个服务器都不会具备解密数据的基本条件。综上所述,客户端的数据是安全的。

2) 当数据集的属性个数d等基本参数足够大时,最终构建的决策树模型是安全的,即服务器不能从中间结果推测出真正的模型。

证明在数据垂直分布的情况中,隐私保护委托点积算法只要求服务器对布尔化后的向量做内积运算,因此服务器并不了解数据的真实意义和计算目的,所以,很难猜测出有关决策树模型的任何信息。而在数据水平分布的情况中,服务器 S1根据计算信息熵和信息增益的结果,可以构造出如图4所示的空模型框架。

图4 决策树空模型框架

为方便描述,假设客户端在添加虚假记录的过程中,将根节点属性的取值类别增加了l个可能的虚假取值,并且最终构建的决策树模型有e个非叶子节点、f个中间叶子节点和h个底层叶子节点。首先,服务器能够正确匹配所有非叶子节点对应的节点属性的概率可以表示为

其次,服务器能正确匹配所有叶子节点对应的类别信息的概率可表示为

最后,服务器能正确剪掉虚假分支的概率可以表示为

因此,服务器能正确获得完整的决策树模型的概率为

根据式(29)可知,当数据集的属性个数d等基本参数以及根节点属性可能的虚假取值数l足够大时,服务器能猜测模型的概率p是可以忽略的,同时也说明了当增加虚假记录的数量在可接受的范围时,l的值越大越能提高模型的安全性。

另外,值得注意的是,上述服务器能够正确获得完整决策树的概率p是基于服务器了解数据集基本信息的情况下才成立的。即只有当服务器知道该数据集有哪些具体的属性名及各属性可能的取值时,才能了解该数据集的用途并对模型框架进行匹配和猜测。然而在本文提出的算法中,客户端并未透露任何关于数据集的基本信息,因此进一步降低了服务器根据中间计算结果对模型进行推测的概率。

综上所述,本文提出的联合委托学习协议构建的决策树模型是安全的。

6.2 性能分析

本节通过对比客户端与服务器的时间开销来评估本文所提出的算法和协议的性能。实验测试中使用Python 实现了PPDDPA 和PPDEA,建立了安全参数λ为1 024 的BCP 密码系统,并在Ubuntu 18.04(CPU主频为2.6 GHz,型号为Core i5-3230M,内存为4 GB)的设备上进行了测试。为了避免网络时延的影响,本文在同一设备上模拟所有客户端和服务器。

首先,对PPDDPA 和PPDEA 的性能进行了测试,设定每个客户端的隐私向量是1 000 维,相当于数据集的记录数为1 000,特征属性个数d>500。如图5 所示,在PPDDPA 的性能测试中可以看出,两服务器的时间花销总和及各参与的客户端的时间花销几乎不随着客户端的数量增加而增加,这表明PPDDPA 的性能几乎不受客户端数量的影响。其实在该算法的执行过程中也可以看出这一点,每当该算法执行一次时,不管客户端的数量是多少,实际上只有2 个客户端参与其中并只对各自的向量进行加密操作,同时服务器也只对2 个向量做点乘运算。

图5 PPDDPA 性能测试

在PPDEA 的测试中,每个客户端都有1 000 条数据记录,因此每一个客户端都会参与其中,从图6可以看出,服务器的时间花销随着客户端数量的增加而显著增加,而各客户端的时间花销几乎不受影响。同样也可以从该算法的执行过程看出,各客户端仅执行向量加密操作,而服务器的计算量随着客户端数量的增加而增大。综上所述,本文提出的算法不仅适用于少量客户端联合委托学习的情况,而且在大量客户端参与时也能保证各客户端的数据加密成本不随客户端数量的增加而增大。

图6 PPDEA 性能测试

其次,利用急性肝功能衰竭疾病预测数据集对本文提出的协议与OPPC4.5[22]协议进行了对比测试。由于该数据集只包含29 个特征属性,因此设定参与的客户端数量最大为29,并且插入的虚假记录数为200条。如图7 所示,当数据垂直分布时,在本文所提出的协议中由于客户端需要提前计算出整体数据集的信息熵并布尔化数据集,因此计算成本略高于OPPC4.5 协议,但从整体来看客户端与服务器对模型训练的总成本略低于OPPC4.5 协议。从图8 中可以看出,当数据水平分布时,在本文所提出的协议中客户端的计算成本显著低于OPPC4.5 协议,因为模型训练的计算过程几乎完全由服务器处理,客户端仅需对数据进行统计和加密操作。因此也说明当数据水平分布时,客户端的计算负担得到了显著改善。

图7 数据垂直分布的协议性能测试

图8 数据水平分布的协议性能测试

最后,以表1 中的数据对本文提出的基于虚假记录的隐私保护方法进行了测试。如图9 所示,无论数据分布情况如何,客户端最终都可以构建正确的决策树模型T。而在服务器侧,当数据垂直分布时,两服务器都得不到任何关于模型的信息。当数据水平分布时,只有服务器S1可以推测出如图10 所示的模型框架,且仅能使用不确定的信息(字母)代替节点和分支的信息。对于机器学习模型训练而言,学习的过程就是对模型参数的调参过程,而没有参数的模型是毫无价值的。通常隐私保护的决策树挖掘方法均使用隐藏节点名称达到保密的目的,本文在此基础上增加了虚假分支的方法(图10 中A 节点下的分支中(a,c,d)必有一个分支是虚假的)以此来扰动决策树模型结构,进一步提升了决策树模型的安全性。

图9 客户端最终获得的模型T

图10 S1 可推测的虚假模型框架

7 结束语

为降低用户隐私数据在数据共享过程中的泄露风险,同时减少客户端在数据挖掘过程中的计算成本,本文基于传统的委托计算思想和BCP 同态加密算法提出了一种联合委托学习模型,该模型采用双服务器分别计算客户端的部分密文信息的方式来降低数据共享中的隐私泄露风险。进一步地,针对决策树的安全构造,提出了一种基于虚假记录的隐私保护方法,该方法利用少量的虚假记录改变了数据统计的真实结果,并对决策树的模型结构进行扰动,避免了服务器获得真实的中间计算结果和最终训练的模型结构。另外,分别对数据垂直分布和水平分布的情况设计了隐私保护委托算法及联合委托学习协议,在保证数据安全共享的同时降低了客户端的计算成本。最后,通过实验测试结果表明,在联合委托学习过程中,各客户端的数据加密成本不随客户端数量的增加而增大,并且最终获得的模型与真实数据构建的模型具有一致性,即最终挖掘得到的模型准确度没有任何损失,而服务器很难推测和匹配出真实的模型结构。

猜你喜欢

决策树委托客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
神秘人约在几点碰面?
个股盘中突然暴涨暴跌原因分析
决策树和随机森林方法在管理决策中的应用
决策树学习的剪枝方法
决策树多元分类模型预测森林植被覆盖
绩效评价在委托管理酒店中的应用
新华社推出新版客户端 打造移动互联新闻旗舰