云计算和机器学习[1]是目前业界课题研究的主流方向,机器学习及其他各种分析计算的快速发展使得越来越多的数据从本地转移到云服务器.基于云存储服务[2],机器学习在各个领域得到了广泛应用,同时自适应性资源调度等机器学习算法的发展也降低了云服务器的网络开销,但是云服务器由半诚实的第三方管理运行,当用户数据进行训练等模型学习时,用户无法保证私有数据不被窃取,存在用户隐私数据泄漏的风险.目前主要引入两类不同的安全研究算法来克服这些挑战.第一类是同态加密[3]算法,例如文献[4]提出了一种基于非交换环的同态加密框架(HEFNR),定义了密文空间中的同态操作,实现了数据密文环境下机器学习训练和分类的隐私保护.这类算法主要应用于数据隐私保护的外包存储和计算[5],数据提供者首先将数据进行同态加密,然后将密文发送给云服务器进行存储,云服务器可以在密文数据上直接进行计算,这既不会泄露数据提供者的隐私信息又满足了机器学习的云存储需求.但这类方法因为承受过高的计算成本和网络开销而效率低下,可行性不高,不适合训练数据的收集、模型参数保护等机器学习场景.为了解决此问题,研究人员又提出了第二类安全算法,即差分隐私[6]算法,根据它的形式化定义引入了各种变体方法,例如计算差分隐私和差分隐私共识算法.文献[7]通过梯度进化算法生成对抗网络,采用添加随机噪声的差分隐私,动态规划保证高维数据的隐私安全,提高了数据传输阶段的安全性,降低了计算成本和通信开销.但是在数据分析阶段,算法执行效率低下、计算开销较高,且模型训练期间隐私数据的安全性无法得到保障.文献[8]提出了一个分布式的差分隐私保护的机器学习框架,该框架适用于模块化的并行系统,支持统计查询,但存在数据分析师合谋攻击的安全隐患.上述方案中的机器学习隐私保护算法模型计算准确率虽然不低,但是时间成本开销大,为此,研究人员提出了分布式的机器学习安全算法[8-9],这些尽管提高了运算速度,但是在合谋攻击隐私数据的安全层面依然没有足够的保证.本研究提出一种高效而抗合谋攻击的分布式机器学习隐私保护(EPDMLCA)方案,采取分布式机器学习架构,将大量计算任务分布式地部署到多台多类型机器上同时进行训练.基于部分同态Hash-ElGamal方案,构建了数据提供者(DP)同态加密算法,用于数据隐私保护的外包存储.采用拉普拉斯分布建立了云服务器(CS)差分隐私算法,适用于模型训练学习期间的隐私保护.在保证计算精度和提高计算效率的基础上,通过抗合谋攻击算法[10]避免数据分析师内部合谋窃取数据,保证数据训练时用户隐私的安全性.本研究提出一种高效而抗合谋攻击的分布式机器学习隐私保护(EPDMLCA)方案,通过同态加密与差分隐私相结合的技术来抵制数据训练时敌手与数据分析师之间的合谋攻击;以分布式机群的形式分发数据训练任务,提高机器学习时数据训练的效率;与现有机器学习方案相比,EPDMLCA方案具有完备性、隐私性和抗合谋攻击性,在保证数据分析准确率的基础上提高了机器学习的计算效率.1 EPDMLCA方案系统模型方案的系统模型如图1所示,由数据提供者(DP)、云服务器(CS)和数据分析师(DA)三个实体组成,它们之间的通信关系如下.10.13245/j.hust.220507.F001图1方案系统模型图a.ADA是一个用于分布式机器学习的计算机机群,即ADA={A1,A2,…,An}.当执行机器学习任务时,分布式机群中的每一台计算机根据自己的任务需求分别向云服务器请求添加噪声后的模型参数等密文数据集,这样就可以在不损害数据提供者隐私的情况下通过下发和反馈在随机数据集上进行分布式联合训练.b.CS作为一个半诚实的实体,拥有一个数据中心,为用户提供无限的存储空间和强大的计算能力,聚合来自不同DP的数据集,并根据DA的任务(如查询、分类和计算)将数据集添加噪声后重新定向到数据分析师对其进行发布.c.PDP在方案模型中是一组数据提供者,即PDP={P1,P2,…,Pn}.为系统提供不同来源的数据,数据集在外包给云服务器之前,每个数据提供者须要使用自己的公钥同态加密其敏感数据集,然后委托给云服务器CS.2 基础知识2.1 部分同态Hash-ElGamal方案当且仅当使用异或(⊕)算子时,Hash-ElGamal是部分同态的[11].假设m为明文消息,H为哈希函数,那么对于任何选定的二进制值τ∈{0,1},当h∈Zq(q为素数),F1=gh,F2=H(gh)⊕m,F=(F1,F2)时,可以得到m的Hash-ElGamal加密为F'=(F1,F2'),其中F2'=F2⊕τ,即F2'=H(gh)⊕m⊕τ.2.2 差分隐私差分隐私(DP)[6]是一种概率机制,算法的输出在数据集中变化很小,且不会影响个人数据的隐私.假设m1和m2为两个相邻但有一条记录不同的数据集,差分隐私利用拉普拉斯噪声机制,在密文中加入可测量的扰动,保证输出数据的安全性.定义1 ε-DP:若有一对相邻的数据集m1和m2,且K在实数集R范围内,随机函数f属于ε-DP,则有如下公式成立,即pr[f(m1)=K]≤eεpr[f(m2)=K],式中:pr为概率;ε为隐私保护预算.若ε越小,则ε-DP的保密性越强,这种随机化的差分隐私确保了差分隐私的鲁棒性.定义2 敏感度:f为输入数据集为m、输出为n维实数空间中的函数,即f :m→Rn.设Δf为两个相邻数据集m1和m2的敏感度,则Δf=maxm1,m2||f(m1)-f(m2)||1,式中:||·||1为实数域中从f (m1)到f (m2)的曼哈顿距离,即1-阶范数距离;敏感度Δf为数据集m1和m2的值域f (m1)和f (m2)的1-阶范数距离的最大值.定义3 拉普拉斯噪声机制:拉普拉斯噪声机制利用概率密度函数从拉普拉斯分布中添加噪声,其中的拉普拉斯分布为Lap(Δf /ξ)=ξ/(2Δf)exp(-ξ|x|/Δf),则拉普拉斯噪声机制为       Lap(Δf /ξ)=(Lap(Δf1/ξ),Lap(Δf2/ξ),⋯,Lap(Δfn/ξ))T,式中ξ为隐私级别.拉普拉斯噪声机制依赖于要计算的密文中加入的测量噪声.3 EPDMLCA方案3.1 方案概述在EPDMLCA方案中,数据提供者可以决定哪些数据是敏感数据,使用部分同态Hash-ElGamal方案构建的同态加密算法对其加密.云服务器采用ε-DP添加不同的噪声并把噪声密文分发给执行机器学习算法的分布式数据分析师机群.数据分析师各自执行机器学习算法.在不泄露用户隐私的情况下,模型的所有组件可以在确保公开可验证性的操作之前,公开检查密文的完整性.3.2 方案设计借鉴单向代理重加密(UPRE)算法[12],EPDMLCA方案的设计包括初始化阶段、上传阶段、下载阶段、差分隐私加密阶段和机器学习阶段.a.初始化阶段初始化阶段主要构建系统公共参数和数据提供者的密钥,具体过程如下.设p和q为两个素数,其中,q|p-1,q的长度为安全参数k,g为群G的生成元,群G为Zq中一个阶为q的子群,l1和l2为二进制数{0,1}的长度.选择以下4个哈希函数,H1:{0,1}l1×{0,1}l2→Zq,H2:G→{0,1}l1+l2,H3:{0,1}*→Zq*和H4:G→Zq*,则系统公共参数为(q,G,g,H1,H2,H3,H4,l1,l2).构建数据提供者的密钥,数据提供者Pi(i=1,2,…,n)选择随机数spi,1,spi,2∈Zq,则Pi的私钥Spi和公钥Kpi分别为:Spi=(spi,1,spi,2);Kpi=(kpi,1,kpi,2)=(gspi,1modq,gspi,2modq).b.上传阶段在此阶段,基于部分同态Hash-ElGamal方案构建DP同态加密算法(算法1),Pi(i=1,2,…,n)向云端上传加密敏感数据集di={(mi,bi)⊂M,B},其中,mi∈M表示所有Pi的数据集,bi∈B:={0,1}表示关联的二进制标签.Pi(i=1,2,…,n)使用算法1所示的同态加密算法加密其敏感数据集mi.输出四元组密文[mi]=(Ei,Fi,ρ,μi),其中ρ和μi作为签名用来验证密文的完整性.然后发送加密数据集[mi]给CS.算法1 DP同态加密算法输入 Pi的公钥Kpi=(kpi,1,kpi,2),明文数据mi步骤1 选择随机数λ∈Zq,并计算ρ=(kpi,1H4(kpi,2)∙kpi,2)λmodq;步骤2 选择并保密随机数τ∈Zq,计算hi=H1(mi,τ);步骤3 计算Ei=(kpi,1H4(kpi,2)kpi,2)himodq,Fi=H2(ghi)⊕mi⊕τ;步骤4 计算μi=λ+hiH3(ρ,Ei,Fi,μi)modq.输出 密文[mi]=(Ei,Fi,ρ,μi) (i=1,2,…,n).c.下载阶段在加密数据上传到云端之后,允许Pi (i=1,2,…,n)随时通过标签bi搜索自己拥有的密文,验证其完整性并从云服务器下载,为DA保证隐私数据的可用性和动态性.如算法2的DP同态解密算法所示,Pi首先使用自己的公钥Kpi验证搜索到的密文[mi]的正确性,然后用其私钥Spi解密密文以进行实时动态更新.算法2 DP同态解密算法输入 Pi的私钥Spi=(spi,1,spi,2),密文[mi]=(Ei,Fi,ρ,μi)步骤1 用Pi的公钥验证密文的完整性,即(kpi,1H4(kpi,2)kpi,2)μi=ρEiH3(ρ,Ei,Fi,μi);步骤2 若步骤1成立,则解密Fi⊕H2(Ei[spi,1H4(kpi,2)+spi,2]-1)⊕τ=mi.输出 明文mi∈M(i=1,2,…,n).d.差分隐私加密阶段在云端接收到数据提供者上传的密文[mi]后,在验证密文完整性的基础上,采用如算法3所示的CS差分隐私算法为密文[mi]添加噪声进行二次加密为密文[mi],再将密文分发给数据分析师,为接下来的数据训练提供安全保障.算法 3 CS差分隐私算法输入 Pi的公钥Kpi=(kpi,1,kpi,2),Pi的密文(Ei,Fi,ρ,μi)步骤1 验证密文的完整性,同算法2的步骤1;步骤2 若完整性成立,则计算相邻密文敏感度Δfi=maxmi,mi-1||f[mi]-f([mi-1])||1 (i=2,3,…,n);步骤3 决定隐私级别ξ,对随机噪声xi计算拉普拉斯分布Lap(Δf /ξ)=ξ/(2Δf)exp(-ξ |xi|/Δfi);步骤4 计算拉普拉斯噪声Lap(Δf /ξ)=(Lap(Δf1/ξ),(Δf2/ξ),…,(Δfn/ξ))T;步骤5 计算[mi](i=1,2,…,n)的差分密文[m11][m22]⋮[mnn]=[m1][m2]⋮[mn]+Lap(Δf /ξ),即[mii]=[mi]+Lap(Δfi/ξ).输出 差分密文[mii](i=1,2,…,n).e.机器学习阶段云服务器将训练任务分发到分布式计算平台,分布式计算平台上的数据分析师Ai(i=1,2,…,n)对分配给自己的噪声密文[mii]进行联合学习和并行训练,不同训练结果有效融合,形成一个整体的机器学习模型.云服务器采用差分隐私算法显著地提高了训练数据及模型的隐私安全性,虽然对其完整性存在一定的误差,但是整体影响较小,可忽略不计.4 安全性分析4.1 数据的隐私性在数据上传之前,Pi(i=1,2,…,n)已采用DP同态加密算法加密了其敏感数据集mi,Pi的敏感数据集是以密文[mi]的方式向云服务器CS传输.当CS接收到密文[mi]时,会在密文[mi]的基础上进行CS差分隐私重加密操作,然后在CS中存储.在机器学习阶段,传输和Ai(i=1,2,…,n)进行学习的噪声密文[mi]仍然是以密文[mi]为基础的方式存在,因此敌手只要解密密文[mi]才能获取Pi的隐私信息.由于敌手没有Pi的私钥,因此只有通过算法1中步骤3的Fi=H2(ghi)⊕mi⊕τ进行解密才能获得明文数据mi,要解密该式,必须同时获得H2(ghi)和τ做⊕操作即可.首先τ是Pi的保密随机数,敌手是无法获得的.假设敌手以很低的概率猜得τ,还须获取H2(ghi)的值,根据哈希函数的单向性,敌手只要获取hi即可.根据算法1中步骤2的hi=H1(mi,τ)及哈希函数H1的单向性,因为敌手只要获取明文mi即可,而这是不可能的,所以EPDMLCA方案具有数据的隐私性.4.2 抗合谋攻击性若敌手获取所有同态密文[mi](i=1,2,…,n),则敌手不须要解密,可通过机器学习获得完整的训练模型.定理 若敌手与所有Ai(i=1,2,…,n)进行合谋攻击,则敌手不能获取同态密文[mi],从而不能获得完整训练模型.证明 设yi=Lap(Δfi/ξ)(i=1,2,…,n),如果敌手与所有Ai进行合谋攻击,则可联合建立如下的方程组:[m11]=[m1]+y1;[m22]=[m2]+y2;⋮[mnn]=[mn]+yn. (1)因为式(1)为含有2n个未知数[m1],[m2],…,[mn],y1,y2,…,yn的n元不定方程组,所以敌手无法和Ai(i=1,2,…,n)合谋计算出所有同态密文[m1],[m2],…,[mn],从而敌手无法通过机器学习获得完整的训练模型.另外,Ai为一个执行机器学习算法的分布式机群[13],其中每台主机根据各自的不同任务单独向云服务器请求添加噪声后的模型参数等密文数据[mii],并各自进行数据分析任务,互不干扰,互不影响,使得EPDMLCA方案在机器学习阶段也具有抗合谋攻击性.5 性能分析从方案的完备性、计算效率、同类方案性能及模型训练效果比较等方面对EPDMLCA方案做全面的分析与评估.5.1 方案的完备性a.算法2中步骤1验证密文完整性的完备性证明 因为(kpi,1H4(kpi,2)kpi,2)λ+μi-λ=(kpi,1H4(kpi,2)kpi,2)λ(kpi,1H4(kpi,2)kpi,2)μi-λ=ρ(kpi,1H4(kpi,2)kpi,2)λ+hiH3(ρ,Ei,Fi,μi)-λ=ρ(kpi,1H4(kpi,2)kpi,2)hiH3(ρ,Ei,Fi,μi)=ρ((kpi,1H4(kpi,2)kpi,2)hi)H3(ρ,Ei,Fi,μi)=ρEiH3(ρ,Ei,Fi,μi),所以(kpi,1H4(kpi,2)kpi,2)λ+μi-λ=ρEiH3(ρ,Ei,Fi,μi).b.算法2中步骤2解密密文的完备性证明 因为Ei[spi,1H4(kpi,2)+spi,2]-1=(kpi,1H4(kpi,2)kpi,2)hi/[spi,1H4(kpi,2)+spi,2]=(kpi,1H4(kpi,2)kpi,2)hi/[spi,1H4(kpi,2)+spi,2]=((gspi,1)H4(kpi,2)gspi,2)hi/[spi,1H4(kpi,2)+spi,2]=(gspi,1H4(kpi,2)+spi,2)hi/[spi,1H4(kpi,2)+spi,2]=ghi,所以Fi⊕H2(Ei[spi,1H4(kpi,2)+spi,2]-1)⊕τ=Fi⊕H2(ghi)⊕τ=H2(ghi)⊕mi⊕τ⊕H2(ghi)⊕τ=(H2(ghi)⊕H2(ghi))⊕mi⊕τ⊕τ=(00…0)⊕mi⊕(00…0)=mi.5.2 计算效率分析方案的时间成本取决于编码时间、通信时间及计算时间.为了评估EPDMLCA方案的时间成本,在系统为Windows10,2.95 GHz Intel(R) Core(TM) i7-7500U和8 GiB RAM的笔记本电脑上进行实验,在MNIST数据集上检验相关方案的运行时间,数据集大小为m,d=12 175,1 439,其中m和d为训练和测试的数据集样本容量.通过Python平台实现方案的分布式运算.本研究将EPDMLCA方案与文献[7-8,14]中方案的时间开销进行对比,通过计算N(N=5,10,25,40)台主机之间分发数据集,得出表1所示数据,表中N为主机数.10.13245/j.hust.220507.T001表1不同方案在不同主机数上的运行时间方案N5102540文献[7]910.21 071.61 351.81 697.7文献[8]912.31 239.12 127.92 940.8文献[14]908.41 419.52 502.14 103.6EPDMLCA890.5632.4397.6196.2s实验在逐渐增加主机数量的同时,测量不同方案的训练时间,可以得出以下结论:当N=5时,由于主机数量较少,主机之间并行度小,因此所有的方案几乎具有相同的性能;而随着主机数量的增加,不同方案处理相同量数据集所用的时间差异越来越大,方案之间的性能对比更加明显.由于MDPACA方案的分布式特性,数据集总量均匀地分布在每台主机,主机数量越多,处理相同任务所用的时间越少,总运行时间越短,因此处理数据集的时间随着主机数量的增加而减少.而在参考方案中,无论有多少台主机,每一台主机都重复计算整个数据集,以满足处理所有任务的需求.当主机数量N=40时,通过对比发现:本研究的方案相对文献[7-8,14]中的方案,分别达到了8.6,15.0,20.9倍的速度.表2给出了当N=40时每一种方案的秘密共享时间、编码时间、计算时间和总时间,可以看出,本方案的各部分运行时间相对参考方案都有了显著的改进,其主要原因为:在参考方案中,每台主机的数据集大小与原始数据集相同,而在本方案中,由于分布式机器学习为方案提供了较大的并行化增益,每台主机的数据集只是原数据集的1/40,因此显著降低了各环节的运行时间.10.13245/j.hust.220507.T002表2N=40时各环节运行时间数据表方案秘密共享时间编码时间计算时间总时间文献[7]17.7342.61 337.41 697.7文献[8]33.4578.32 329.12 940.8文献[14]49.5804.43 249.74 103.6EPDMLCA9.398.788.2196.2s5.3 同类方案性能比较将EPDMLCA方案和相关最新的隐私保护方案(文献[7-8,14])进行比较研究,表3描述了这些方案的不同之处.第二列说明了是否采用差分隐私加密算法保证密文的安全性,第三列说明了方案是否具有抗合谋攻击的能力,第四列解释系统中所有组件是否可以公开验证数据提供者密文的完整性.通过对比可以得出:EPDMLCA方案采用差分隐私技术保证密文的安全性,可以抵抗合谋攻击,且系统各个组件能够参与公开验证数据的完整性;文献[7-8]的方案不具有抗敌手合谋攻击性,且文献[8]的方案没有采用差分隐私算法保障隐私安全性,但可以公开验证数据完整性;文献[14]既没有使用差分隐私技术保障安全性,又不具有抗合谋攻击性,而且系统无法公开验证完整性.10.13245/j.hust.220507.T003表3不同方案功能对比方案差分隐私抗合谋公开验证EPDMLCA是是是文献[7]是否是文献[8]否否是文献[14]否否否5.4 模型训练效果比较在MNIST数据集上,对文献[7-8,14] 方案和EPDMLCA的模型训练效果进行比较研究.首先DP对训练数据采用相应方案的同态加密算法进行加密并上传于CS,然后CS使用相应的差分隐私算法对模型参数等训练数据进行隐私保护并执行分布式联合训练.图2显示了文献[7-8,14]方案和EPDMLCA的分布式机器学习所得到的迭代次数与训练损失的对比关系,图中:M为迭代次数;H为训练损失率.可以看出:随着训练迭代次数的逐渐增大,训练损失逐渐减小;方案EPDMLCA的训练损失比文献[7-8,14]方案的训练损失都小,而且当迭代轮次大于等于600时,其模型的训练精度基本处于稳定状态,这说明模型经过600 轮次的迭代训练学习所提取的特征已经能够出色刻画整个训练数据集的整体特征,但文献[7-8,14]方案只有当迭代次数大于900时,其模型的训练精度才会处于稳定状态.10.13245/j.hust.220507.F002图2模型训练效果对比图3 结语针对外包训练数据机器学习方案中的隐私安全性问题,本研究提出一种抗合谋攻击的分布式机器学习隐私保护方案.数据传输过程中采用UPRE算法保护传输密文.系统模型各组件可公开验证加密的数据集,降低计算成本和网络开销.云服务器使用ε-DP向密文添加噪声,传输给数据分析师对数据进行模型训练.部分同态加密算法和分布式机群架构保护了数据分析环节数据的安全性和隐私性,在保证计算精度的同时提高了数据模型分析训练的效率.未来希望在本方案的基础上将数据传输过程中的部分环节用机器学习的训练模型代替,使机器学习过程中的隐私保护更加智能化、高效化.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读