差分隐私(Differential privacy)最早于2008年由Dwork 提出,通过严格的数学证明,使用随机应答(Randomized Response)方法确保数据集在输出信息时受单条记录的影响始终低于某个阈值,从而使第三方无法根据输出的变化判断单条记录的更改或增删,被认为是目前基于扰动的隐私保护方法中安全级别最高的方法。
为了更形式化地描述差分隐私,我们需要先定义相邻数据集。现给定两个数据集 D 和 D’, 若它们有且仅有一条数据不一样,那我们就称此二者为相邻数据集。
那么对于一个随机化算法 A (所谓随机化算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布),其分别作用于两个相邻数据集得到的两个输出分布难以区分。差分隐私形式化的定义为:
也就是说,如果该算法作用于任何相邻数据集,得到一个特定输出 O 的概率应该是差不多的,那么我们就说这个算法能达到差分隐私的效果。
也就是在输入或输出上加入随机化的噪音,以期将真实数据掩盖掉。比较常用的是加拉普拉斯噪音。由于拉普拉斯分布的数学性质正好与差分隐私的定义相契合,因此很多研究和应用都采用了此种噪音。还是以前面那个数据集为例,假设我们想要知道到底有多少人是单身狗,我们只需要计算 ∑ a i \sum ai ∑ai,那么为了掩盖具体数值,实际输出值应为: O = ∑ a i + r l a p O = \sum{ai + r_{lap}} O=∑ai+rlap;相应地,另一个数据集输出的是: O ′ = ∑ a ′ i + r l a p ′ O' = \sum{a'i + r'_{lap}} O′=∑a′i+rlap′。这使得观察者分不清最终的输出是由哪个数据集产生的。
其实前面描述的是差分隐私的严格定义。还有一种稍微放宽一点的定义为:
其中 δ 是一个比较小的常数。要获取这种差分隐私,我们可以使用高斯噪音(Gaussian noise)。
当然,对输入或输出加噪音会使得最终的输出结果不准确。而且由于噪音是为了掩盖一条数据,所以很多情况下数据的多少并不影响加的噪音的量。
也有些算法不需要加噪音就能达到差分隐私的效果,听起来很美好,但这种算法通常要求数据满足一定的分布,这一点在现实中通常很难满足。
由于 传统的完全 差分隐私(Pure Differential Privacy)基于最严格的假设:最大背景攻击,即假设攻击者拥有除了某一条记录以外的所有背景信息,而这在实际情况中是十分罕见的。因此完全差分隐私对于隐私性的保护过于严苛,极大影响了数据的可用性,目前实际场景中主要采用的是 带有松弛机制 的近似差分隐私( Approximate Differential Privacy)。
本地化差分隐私意味着对数据的训练以及对隐私的保护过程全部在客户端就可以实现。直觉来看,这种差分隐私机制显然优于其他方案,因为用户可以全权掌握数据的使用与发布,也无需借助中心服务器,最有潜力实现完全意义上的去中心化联邦学习。
谷歌公司的Abadi等于2016年在传统机器学习中实现了差分隐私,并在当时就提出了在手机、平板电脑等小型设备上训练模型的设想,认为该差分隐私机制凭借轻量化的特点,更加适用于本地化、边缘化场景。
但是,本地化差分隐私本身及其在联邦学习的应用中仍然存在着不少问题。
差分隐私方法最初被提出时大多采用中心化的形式,通过-一个可信的第三方数据收集者汇总数据,并对数据集进行扰动从而实现差分隐私。B2C架构下的联邦学习同样可以在中心服务器上实现这种扰动。在服务器端收集用户更新后的梯度,通过逐个加噪的方式来隐藏各个节点的贡献;并证明了中心化加噪方案可以实现用户级别的差分隐私而不仅仅是本地化方案的数据点级别,这意味着它不会暴露出任何一个曾参与过训练的用户;最后通过实验证实了这种方法的模型训练效果要优于本地化差分隐私。
中心化差分隐私在实际应用中同样存在缺陷,因为它受限于一个可信的中心化服务器,但是很多场景下服务器并不可信。因此,可以采用分布式差分隐私来作为本地化与中心化的折中,或采用混合差分隐私回避这两者的部分缺陷。
分布式差分隐私指的是在若干个可信中间节点上先对部分用户发送的数据进行聚合并实施隐私保护,然后传输加密或扰动后的数据到服务器端,确保服务器端只能得到聚合结果而无法得到数据。该方案需要
Bittau等于2017年提出了一种安全混洗框架Encode- Shuffle-Analyze(ESA),通过在客户端与服务器端额外增加一次匿名化混洗的步骤,允许用户在本地只添加少量噪声就实现较高级别的隐私保护。此后,Erlingsson等、Cheu等均对此框架进行了改进,并考虑了与联邦学习的结合。类似的分布式差分隐私解决方案同样都兼具了本地化与中心化差分隐私的优势,既不需要信任等级极高的服务器,也不需要在本地添加过多噪声。但相对的,分布式差分隐私普遍需要极高的通信成本。
混合差分隐私方案由Avent等提出,它通过用户对服务器信任关系的不同对用户进行分类。举例而言,最不信任服务器的用户可以使用最低隐私预算的本地化差分隐私,而最信任服务器的用户甚至可以直接发送原始参数;服务器也将根据用户的信任关系对数据进行不同程度的处理。该方案的问题是同样需要一定的通信成本,并且还需要付出额外的预处理成本以划分信任关系。
【1】https://blog.csdn.net/watson2017/article/details/121653356