差分隐私采用了一种随机机制,使得当输入中的单个样本改变之后,输出的分布不会有太大的改变。比如两个数据集中只有1条记录有差别,查询这两个数据集且获得相同输出的概率非常接近。因此,用户即便获取了输出结果,也无法通过结果推测出输入数据来自哪一方。 在现有的隐私保护方法中,差分隐私对隐私损失进行了数学上的定义,同时实现过程简捷,系统开销小,所以得到了广泛的应用。
1.1 差分隐私的定义
差分隐私是由Dwork在2006年首次提出的一种隐私定义,是在统计披露控制的场景下发展起来的。它提供了一种信息理论安全性保障,即函数的输出结果对于数据集里的任何特定记录都不敏感。因此,差分隐私能被用于抵抗成员推理攻击。
按照数据收集方式的不同,当前的差分隐私可以分为中心化差分隐私和本地化差分隐私,主要区别在于差分隐私对于数据处理的阶段不同。
(1)中心化差分隐私依赖一个可信的第三方来收集数据,用户将本地数据发送不是到可信第三方,然后在收集的数据中进行差分隐私处理。但可信第三方在现实生活中通常很难获得。
(2)本地化差分隐私将数据隐私化的工作转移到每个参与方,参与方自己来处理和保护数据,再将扰动后的数据发送到第三方,由于发送的数据不是原始数据,因此不需要要求第三方是可信的。
1.2 本地化差分隐私
本地化差分隐私(Local Differential Privacy,LDP)可以将数据隐私化的工作转移到每个参与方,参与方自己来处理和保护数据,进一步降低了隐私泄露的可能性。
本地化差分隐私是定义在本地数据任意两条记录的输出相似性上的。
(1)中心化差分隐私需要保护全体数据的隐私,具有全局敏感性的概念,采用的扰动机制可以包括高斯噪声机制、拉普拉斯噪声机制、指数噪声机制等。
(2)在本地化差分隐私中,数据隐私化的工作转移到每个参与方,而每个参与方并不知道其他参与方的数据,因此它并没有全局隐私敏感性的概念,它采用的扰动机制一般通过随机相应实现(Randomized Response,RR)。
(3)本地差分隐私的概念和联邦学习相似,在联邦学习实现中,可结合本地化差分隐私的思想,比如给每一参与方上传梯度或模型参数加上噪声来,更好保护模型参数。联邦差分隐私不但要求保证每一个客户端的本地数据隐私安全,也要求客户端之间的信息安全,即用户在服务端接收到客户端的本地模型,既不能推断出是由哪个客户端上传,也不能推断出某个客户端是否参与了当前的训练
1.3 全局敏感度
要想知道不同算法函数M需要添加多少噪声才能提供差分隐私保护,就需要定义该算法在当前数据上的全局敏感度。全局敏感度根据计算距离的方式不同,可分为L1全局敏感度和L2全局敏感度。
不论是L1敏感度还是L2敏感度,它的结果和提供的数据集无关,只由函数本身决定。
(1)从直观上理解,当全局敏感度比较大时,说明数据集的细微变化可能导致函数M的输出有很大不同,我们需要添加较大的噪声数据,才能使函数M提供差分隐私保护。
(2)相反,当全局敏感度较小时,说明数据集 的细微变化不会对函数M的输出产生很大的影响,我们只需要添加较小的噪声数据,就能使M提供差分隐私保护
1.4 机器学习与差分隐私
在机器学习中应用差分隐私技术,其情况会更加复杂。需要保护的信息,不仅包括输入数据和输出数据,还包括算法模型参数、算法的目标函数设计等。
因此,在机器学习领域应用差分隐私算法,一个关键的问题是何时、何阶段添加噪声数据。为此,差分隐私算法根据噪声数据扰动使用的方式和使用阶段的不同,将其划分为下面几类。
(1)输入扰动:将噪声数据加入训练数据。
(2)目标扰动:将噪声数据加入学习算法的目标函数
(3)算法扰动:噪声数据加入到中间值,比如迭代算法中的梯度
(4)输出扰动:噪声数据加入到训练后的输出参数
在不同阶段,采用的扰动机制也有不同的考虑。