Privacy-Preserving Deep Learning via Additively Homomorphic Encryption

通过加法同态加密保护隐私的深度学习

我们提出了一个保护隐私的深度学习系统,在这个系统中,许多学习参与者对所有的组合数据集进行基于神经网络的深度学习,而不向中央服务器透露参与者的本地数据。为此,我们重新审视了 Shokri 和 Shmatikov(ACM CCS 2015)以前的工作,并表明,用他们的方法,本地数据信息可能会泄露给一个诚实但好奇的服务器。然后,我们通过建立一个具有以下特性的增强系统来解决这个问题。1)没有信息被泄露给服务器,2)与普通的深度学习系统相比,在组合数据集上的准确性保持不变。我们的系统连接了深度学习和密码学:我们利用应用于神经网络的异步随机梯度下降法,并结合加法同态加密法。我们表明,我们对加密的使用给普通的深度学习系统增加了可容忍的开销。

1 介绍

1.1 背景

近年来,深度学习(又称深度机器学习)在学术界和工业界都取得了令人振奋的成果,深度学习系统正在接近甚至超过人类水平的准确性。这要归功于算法上的突破和应用于神经网络处理大量数据的物理并行硬件。

大规模的数据收集,虽然对深度学习至关重要,但也提出了隐私问题。就个人而言,收集的照片可以永久保存在公司的服务器上,不受所有者的控制。在法律上,隐私和保密问题可能会阻止医院和研究中心分享他们的医疗数据集,阻碍他们享受大规模深度学习对联合数据集的优势。

Shokri 和 Shmatikov [28] 提出了一个保护隐私的深度学习系统,允许几个参与者的本地数据集留在家里,而参与者可以获得联合数据集上的神经网络学习模型。为了达到这个结果,[28] 中的系统需要如下:每个学习参与者,使用本地数据,首先计算神经网络的梯度;然后这些梯度的一部分(例如 1%∼100%)必须被发送到参数云服务器。该服务器是诚实而好奇的。也就是说,它被假定在提取个人数据时是好奇的;然而,它被假定在操作中是诚实的。

为了保护隐私,Shokri 和 Shmatikov 的系统保留了准确性 / 隐私的权衡(见表一):不共享局部梯度会导致完美的隐私,但没有理想的准确性;另一方面,共享所有局部梯度会违反隐私,但会导致良好的准确性。为了妥协,共享部分局部梯度是 [28] 中保持最佳精度的主要解决方案。

1.2 我们的贡献

我们证明,在 Shokri 和 Shmatikov [28] 的系统中,即使是存储在云服务器上的梯度的一小部分也可以被利用。也就是说,局部数据可以被偷偷地从这些梯度中提取出来。举例来说,我们在第三节展示了几个例子,说明一小部分梯度是如何泄露数据的有用信息的。

然后,我们提出了一个新颖的深度学习系统,使用加法同态加密技术,在诚实而好奇的云服务器上保护梯度。所有梯度都被加密并存储在云服务器上。加法同态性使梯度的计算得以进行。我们的系统在第四节中描述,并在图 5 中描述,在安全性和准确性方面享有以下特性:

安全性:我们的系统不会将参与者的信息泄露给诚实而好奇的参数(云)服务器。 准确度:我们的系统实现了与在所有参与者的联合数据集上训练的相应深度学习系统(即异步 SGD(ASGD))相同的准确性。

简而言之,我们的系统享有两方面的优势:加密安全和深度学习的准确性。见第四节中的定理 1 和定理 2。

  1. 我们的权衡:保护梯度不受云服务器影响的代价是增加学习参与者和云服务器之间的通信。我们在表二中显示,增加的系数不是太大:对于具体的混合国家标准和技术研究所(MNIST)数据集 [5] 和街景门牌号(SVHN)数据集 [24] 来说,小于 3。例如,在 MNIST 的情况下,如果每个学习参与者在每次上传或下载时需要向服务器传递 0.56MB 的普通梯度,那么在我们的系统中使用基于错误学习(LWE)的加密,每次上传或下载的相应通信成本就变成了: 这需要大约 8 毫秒的时间在一个 1Gbps 的通道上进行传输。技术细节见第五节和第六节。

    在计算方面,我们估计我们的系统采用了具有 109386 梯度的多层感知器,在 MNIST 数据集的训练和测试中,在大约 2.25 小时内完成了 97% 的准确率,这与 [2] 中给出的同类型神经网络的结果一致。此外,使用与 [28] 中相同的卷积神经网络对 MNIST 进行 105506 梯度的训练,我们估计我们的系统在大约 7.3 小时内完成(由于定理 2,准确率与 [28] 相同,大约 99%)。

  2. 关于权衡的讨论:我们表明,在我们的系统中,[28] 中的准确性 / 隐私之间的权衡可以转变为效率 / 隐私。[28] 的准确性 / 隐私权衡可能会使保护隐私的深度学习不如普通深度学习有吸引力,因为准确性是该领域的主要吸引力。如果采用更多的处理单元和更多的专用编程代码,我们的效率 / 隐私权衡,保持普通深度学习的准确性,可以得到改善。

  3. 威胁模型:在本文中,我们将认为服务器是一个诚实但好奇的实体,而学习参与者是诚实的实体。这与学习参与者被视为金融机构或医院等有责任和章程行事的组织的情况有关。下面我们将讨论该威胁模型中的其他工作,特别是 [28]。

1.3 技术概述

1.4 更多相关工作

1.5 对会议版的改进

2 初步了解

2.1 关于加法同态加密

2.2 关于深度机器学习

3 梯度泄漏信息

4 我们的系统:保护隐私的深度学习,没有准确性下降

4.1 学习参与者

4.2 云服务器

5 我们系统的实例

在本节中,我们使用加法同态加密方案来实例化我们在第四节中的系统。我们使用以下方案来展示我们系统的两个实例。基于 的加密(现代的,可能是后量子的),以及 加密(经典的,较小的密钥大小,不是后量子的)。

5.1 使用基于 LWE 的加密

5.2 使用 Paillier 加密

  1. Paillier 加密:用公钥 (一个大的正整数),对整数 的加密是 ,其中 是从 中随机选择的。加密是加法同构的,因为密文乘积 成为 的加密。关于解密和 CPA 安全,见论文 [25]。

  2. 对需要加密的数据进行打包:由于明文空间有 位,我们可以将许多非负整数 打包到每个 明文中,如下所示: 其中 位的 填充,这有助于防止密文加法中的溢出。通常情况下, ,因为我们需要 的密文加法。此外,由于明文位的数量必须小于 ,因此需要 ,其中 是将前位整数打包成一个 明文的上限值。为了处理负整数和正整数,我们可以使用双射

    由于一个实数 可以表示为 形式的整数,上述打包方法可用于加密 范围内精度为 的约 实数,容忍约 的密文添加。为了实现图 5 中的加密 ,只需描述一个实数向量 的加密,因为 ,其中 。加密 大约由 密文组成,如下所示:

定理 4(通信增加系数,基于 Paillier 的):我们系统的服务器和参与者之间的通信是相应的异步 SGD 通信的 倍,其中 是容忍 加法的 填充的数量(等于服务器上梯度更新的数量), 是数字的位精度。

证明:在我们图 5 的系统中,每个参与者最多需要加密并向服务器发送 梯度,其中 的长度。因此,用上述 加密的打包方法,每个参与者发送的 密文的数量大约为 由于每个 密文为 位,每次通信的比特数约为: 另一方面,注意到异步 SGD 中的每个副本都需要向服务器发送 梯度的每一个 比特,通信成本的比特数是 。因此,增加的系数为 对于 加密的情况,我们可以采取 的方式,这样,通过定理 4,增加的通信系数变成了 这是与 无关的。当 很大时,这个增加的通信系数比基于 LWE 的通信系数要大一些,正如下面所评价的。

6 基于 LWE 的加密技术的具体评估

6.1 沟通中增加的因素

6.2 估算计算成本

7 结论

在本文中,我们已经表明,像 [28] 中那样在参数云服务器上共享梯度,即使是部分共享,也可能泄露信息。然后我们提出了一个新的系统,利用加法同态加密来保护梯度不受好奇的服务器的影响。除了保护隐私之外,我们的系统还享有不降低深度学习的准确性的特性。