部分文字引用自该文:崔建京, 龙军, 闵尔学, et al. 同态加密在加密机器学习中的应用研究综述[J]. 计算机科学, 2018(4):46-52.
同态加密
Rivest等人[1]于1978年最早提出了同态加密的概念:同态加密是一种加密形式,允许用户直接对密文进行特定的代数运算,得到的数据仍是加密的结果,且与对明文进行同样的操作再将结果加密一样。同态加密若只支持加法运算,就是加法同态加密;若只支持乘法运算,就是乘法同态加密;若同时支持加法和乘法运算,就为全同态加密。
加密函数背后的思想是在明文中添加一个称为噪声的小值进行加密。因此,每个密文都有少量的噪声。当我们将两个密文相加时,结果也是一个密文,但是噪声会增加。如果噪声小于一个阈值,解密函数将正常工作。阈值的存在使得在加密数据上可以执行的计算数受限。如果一方想要降低噪声,它应该对密文进行解密和加密,对于解密,它需要密钥。多年来,学界一直在试图找出一种可以在没有密钥的情况下降低噪音的方法。
然而,直到2009年,Gentry[2]才从数学上提出了基于理想格的全同态加密方案,对这个问题进行了回答。Am FHE方案是一种支持任意深度电路的HE方案。在论文中,Gentry介绍了一种处理任意深度计算的技术,称为bootstrapping。在bootstrapping技术中,无需访问密钥即可减少噪声量。然而,它有巨大的计算成本,是一个非常缓慢的过程。这一限制使得FHE不能实际应用。
HE最近的进展产生了一个更快的HE方案:层次同态加密(Leveled Homomorphic Encryption,LHE)。LHE方案不支持bootstrapping步骤,因此它们只允许深度小于特定阈值的电路。如果我们在开始计算之前知道运算的数量,我们可以使用LHE而不是FHE。采用单指令多数据(SIMD)技术进一步提高了LHE方案的性能。Halevi等人在[14]中,使用此技术创建了一批密文。因此,在计算中,一个单密文被一个密文数组所取代。
尽管使用HE方案有很多优点,但它们也有一些局限性。第一个是信息空间。几乎所有的HE方案都使用整数[3,4]。因此,在加密数据项之前,我们需要将它们转换为整数。第二个限制是密文大小。通过加密,信息的大小大大增加。另一个重要的限制与噪声有关。每次操作后,密文中的噪声量都会增加。乘法比加法增加的噪声更多。我们应该始终保持噪声量小于预先定义的阈值。最后一个也是最重要的限制是缺乏对除法运算的支持。总之,在加密数据上只允许有限数量的加法和乘法[5],因此神经网络中使用的激活函数等复杂函数与HE方案不兼容。
Privacy-preserving Machine Learning
问题定义
我们需要建立一个隐私保护的深度学习系统,在这个系统中,许多学习参与者对组合后的数据集执行基于神经网络的深度学习,而实际上没有向中央服务器透露参与者的本地数据。
我们要实现的系统需要满足以下条件:
- 没有向服务器泄漏任何信息;
- 与普通的深度学习系统相比,在合并的数据集上,精度保持不变。
值得说明的是,直接上传梯度或者是上传部分梯度,事实上会泄露本地数据信息给诚实但好奇的服务器。
一、Privacy-Preserving Deep Learning via Additively Homomorphic Encryption [28]
作为一项直接相关的工作,Shokri和Shmatikov(ACM CCS 2015)[29]提出了一个隐私保护的深度学习系统,允许多个参与者的本地数据集,而参与者可以通过联合数据集学到神经网络模型。为了达到这个结果,在[29]中的系统需要如下:每个学习参与者,使用本地数据,首先计算神经网络的梯度;然后,这些梯度的一部分(例如1%~10%)必须发送到参数云服务器。服务器是诚实但好奇的:在提取个人数据时,它被假定是好奇的;然而,在操作中,它被假定是诚实的。
为了保护隐私,Shokri和Shmatikov的系统允许了一个准确性/隐私的权衡(见表1):不共享本地梯度会导致完美的隐私,但不会带来理想的准确性;另一方面,共享所有的本地梯度会违反隐私,但会带来很好的准确性。为了妥协,在[29]中共享本地梯度的一部分是保持尽可能少的精度下降的主要解决方案。

针对云服务器保护梯度会增加学习参与者与云服务器之间的通信成本。他们在表2中表明,增长因子并不大:对于具体数据集MNIST和SVHN,小于3。例如,在MNIST的情况下,如果每个学习参与者需要在每次上传或下载时将0.56MB的明文梯度通信到服务器;那么在他们的基于LWE的加密系统中,每次上传或下载时相应的通信成本将变为:![]()
它需要大约8毫秒才能通过超过1 Gbps信道传输。
在计算方面,他们估计使用神经网络的系统在对MNIST数据集进行训练和测试时,大约在2.25小时内完成,以获得约97%的准确度。

系统
他们的系统如图4所示,由一个公共云服务器和N个学习参与者组成。
学习参与者:参加者共同设置公钥pk和密钥sk,以实现加法同态加密方案。密钥sk对云服务器保密,但所有学习参与者都知道。每个参与者将建立一个彼此不同的TLS/SSL安全通道,以通信和保护同态密文的完整性。同态加密方案有两种:一种是LWE-based编码(一种公钥编码方案[30]的加法同态变种[31]);另一种是Paillier编码[32]。

全局模型权重Wglobal和梯度向量G被分为npu个部分,不同部分的序号参见符号上标。
如图4所示,每个参与者1 ≤ k ≤ N将执行以下步骤(本地模型采用的是随机梯度下降):
云服务器:云服务器是递归更新加密权重参数的地方。特别是,服务器上的每个处理单元PUi在接收到任何加密E(α·G(i))后,计算

测试



经过2分钟的20000次迭代后,他们的TensorFlow代码在测试集中的精确度达到了97%左右。
同态加密机器学习
因此,加密机器学习不能简单地套用现有的同态加密方案,目前有两种常见的策略:1)借助安全多方计算构造适合基于同态加密的加密机器学习算法的协议,通过执行协议来完成算法(以下简称多方计算)[6];2)寻求原有机器学习算法的近似算法,使其在不依赖交互方案的条件下,仍可以满足同态加密方案的数据及运算要求(以下简称算法近似)。
安全多方计算(Secure Multi-party Computation, SMC)起源于姚期智的百万富翁比较问题,主要研究如何解决一组互不信任的参与方之间保护隐私的协同计算问题。SMC要确保输入的独立性和计算的正确性,同时不泄露各输入值给参与计算的其他成员。Goldreich[7]已经证明,对于任意多项式函数,都有一个安全多方计算解决方案。因此,SMC可以作为实现基于同态加密的加密机器学习的一种手段。
在[6]提出的协议中,它隐藏了所有中间的神经网络计算,并且没有借助于SMC来实现激活函数的求值。简言之,NN的所有者(比如Bob)执行加密域中的所有线性计算,并委托用户(比如Alice)计算非线性函数(阈值、sigmoid等)。然而,在这样做之前,Bob会混淆激活函数的输入,这样Alice就不会了解她正在计算的内容。
同态加密在隐私保护机器学习中的应用与挑战

本文介绍了同态加密在保护隐私的机器学习中的应用,包括在深度学习系统中的隐私保护机制,如CryptoNets、CryptoDL、Faster CryptoNets和HCNN等方案。这些方案通过同态加密技术,允许在加密数据上执行计算,从而保护数据隐私。然而,同态加密面临着噪声管理、运算复杂度、计算效率和不支持复杂运算的挑战。尽管有进展,如层次同态加密(LHE),但全同态加密(FHE)的计算成本高昂,限制了其实用性。未来的研究方向包括优化加密方案、提升计算效率和设计适用于加密数据的机器学习算法。
最低0.47元/天 解锁文章
1267

被折叠的 条评论
为什么被折叠?



