目录
一、对于隐私的理解
在不同的考量下,隐私的定义也不一样。
百度百科给出的定义:隐私就是一种与公共利益、群体利益无关,当事人不愿意他人知道或他人不便于知道的信息。
目前普遍比较接受的定义是:“单个用户的某一些属性” 可以被看做是隐私。注意该说法所强调的是“单个用户”,也就是说,如果是一群用户的某一些属性,那么可以不看做隐私。
比如,医院发布调查报告说,抽烟的人会有更高几率得肺癌,这个不泄露任何隐私。但是如果医生说,张三因为抽烟,所以有x%的概率得肺癌,这就是个人隐私的泄露。
如果我们拥有一个数据库,那么对精确的个体信息的查询与检索都会泄露隐私,因此对于个人数据的加密是最基本的保护隐私策略。然而,就算我们对个人数据进行了加密,对一群用户的某些属性的查询,以及对查询结果进行加工与建模,也就是“数据分析”,往往也会泄露个人隐私。
那通过分析数据怎么获取个人隐私呢?
比如要查询一个大型医疗数据库,如果我们知道A的信息在数据库中,就可以利用一种叫差分攻击的方法得到个体的信息。可以查询有多少人患糖尿病,假如有100个人,然后条件查询,有多少不叫A的人患糖尿病,假如有99个人,这样经过差分,就得到了A患糖尿病。
差分隐私就是针对差分攻击的隐私保护框架。
二、对于差分隐私的理解
差分隐私想做的事情就是即使攻击者知道发布的100个人的信息,以及A之外另外99个人的信息,也没有办法对比这两个信息之后获取A的信息。
那如何做到这一点呢?
差分隐私就是要用一种方法让攻击者查询100个信息和查询99个信息得到的结果是一致的,这样攻击者就无法找出A的信息。
那如何做到让查询结果一致呢?
就是在查询结果里加入随机性/噪声。 让查询者无法根据返回的带噪声的结果推断出原始数据。
三、 前提知识
3.1 符号说明
- f(x)表示一个查询函数,比如查询count值,最大值,均值,梯度等等。
- R 表示一个实数的概念,上标如果不写表示一维数据,比如最大值;如果是表示n维数据,比如梯度。 代表 是n维实数集,即,每个元素是n维向量,向量中的每个分量是实数
- O是一个离散集合,|O|代表集合中元素的数量
- 和θ都表示一个随机噪声,可以服从拉普拉斯分布或者高斯分布。
- x,x′ 表示两个数据库,且只相差了一个样本。
- M(x) 表示最终的一个确定的查询结果f(x)加上一个不确定的随机噪声/θ得到的最终结果。
- ε表示一个很小的值,用来衡量隐私预算。 δ 是一个松弛项,表示可以接受差分隐私在一定程度上的不满足。
3.2 数据库
将数据库视为来自全集 的记录的集合,,其中每一个表示全集中第i个数据在数据库中的数量。(设表示所有非负整数的集合,包括0)。在这种表示中,可以度量两个数据库x和y的ℓ1距离。
举例:
全集:
令 ,即中第1个数据在x中的数量为1,第2个数据的数量为0,第3个数据的数量为2....
则数据库x为:
3.3 数据库的距离
衡量两个数据库X和Y的差异是用L1距离来表示。
数据库x的L1范数用表示,其定义为:
数据库 x 和 y的 L1 距离是 。
描述了数据库x 的大小,即该数据库包含了多少条记录。而表示了x 和y 之间的差距是多大。对于两个数据库 x 和 y ,若 ,则它们被称为相邻数据库,也就是它们仅在某一个类型的数据上有差异。
的直观理解是数据库中各种类型的记录之和,所以实际上就是数据库x 的记录数量。 而表示了两个数据库之间,各种类型的记录的数量之差。比如 x 有A型数据2条,B型数据3条;y 有A型数据2条,B型数据4条。则 , ,=|2−2|+|3−4|=1
3.4 概率单纯形
单纯形(simplex):一个k维单纯形是指包含k+1个顶点的凸多面体,一维单纯形是一条线段,二维单纯形是一个三角形,三维单纯形是一个四面体,以此类推推广到任意维。“单纯”意味着基本,是组成更复杂结构的基本构件。
概率单纯形(probability simplex):是一个数学空间,上面每个点代表有限个互斥事件之间的概率分布。该空间的每条坐标轴代表一个互斥事件,k−1维单纯形上的每个点在k维空间中的坐标就是其k个互斥事件上的概率分布。每一点的坐标(向量)包含k个元素,各元素非负且和为1。
如下图所示,三个事件发生的概率分布形成一个二维的概率单纯形,上面每个点在三个事件上发生的概率之和为1。
形式化定义:
给定一个数目有限的离散集O,可以将O看作是有限数量的互斥事件,定义O上的概率单纯形为Δ(O),满足
Δ(O)是一个集合,集合中每一个元素是一个|O|维向量该向量代表了一个离散型随机变量的概率分布。 Δ(O)代表了一个有|O|种取值的离散型随机变量的所有可能的概率分布,其实就是在事件集O上所有可能的概率分布的集合。
比如O={1,2,3,4,5},Δ(O)就是随机变量取值为1,2,3,4,5的概率分布的集合,这里假设Δ(O)中包含三个元素,分别为、、,即:
表示取值分别为1,2,3,4,5的概率。
3.5 随机算法
随机算法指,对于特定输入,该算法的输出不是固定值,而是服从某一分布。
原论文中的定义:一个随机算法M有定义域A、离散的值域B和一个映射M:A→Δ(B)。一个输入a∈A,算法M的输出为M(a)=b,以概率(M(a))b成立,其中b∈B。
举例:假设,设Δ(B)中包含三个元素,分别为:,即:
每个元素均代表算法输出的随机变量取值为1,2,3,4,5的概率分布,则现在可以规定映射M为:
,,
即:输入为2时,随机算法的输出为 。也就是说,一个特定输入a∈A经过随机化算法M得到的不是一个具体值b∈B,而是一个随机变量,,又或者说,算法将以一定概率输出某一个值。
在上面的例子中:
同理A中的其它值。
以数据库的形式理解这个定义:记数据库中所有条目的集合为,则所有可能的子数据库构成的空间为。随机算法M将一个子数据库D∈映射到离散集合O的概率单纯形的一个可能分布上,即:
也称O为随机算法M的 Range,即O=Range(M)。其中对于每一个可能作为算法输入的数据库D,随机算法M先将其映射到一个概率分布,即对于任意D∈,以及任意的o∈O,随机算法M(D)以概率(M(D))o输出M(D)=o。
四、 差分隐私的定义
对于一个随机算法M,如果对于任意得一对相邻数据集D和D’,算法M满足:
则称算法M满足(ε,δ)-差分隐私,其中参数ε为隐私保护预算。正是ε控制上面所说的“一致”
Pr:probability的缩写,就是概率的意思。
表示给定数据库D以及输出M(D),输出M(D)在O中的概率。
当δ=0时,就称随机算法满足ε-差分隐私,也就是纯差分隐私:
意思就是当两个相差为1的数据库D和D‘,经过随机算法M的扰动,得到一个特定输出 O 的概率相差应很小。这个大小由ε控制,ε越小,隐私保护性越强。结合下图更好理解:
五、差分隐私中常用的随机化算法(机制)
- 拉普拉斯机制(Laplace mechanism)
- 指数机制(Exponential mechanism)
- 高斯机制(Gaussian mechanism)
5.1 敏感度
在对数据库查询时,应该考虑这个查询的结果有多依赖于某个特定病人的信息。如果很依赖于这个病人的信息,就可以通过差分攻击获取到这部分信息。所以要知道这个依赖程度,然后用相应的噪声扰动。
一般使用敏感度来衡量这个依赖程度, 可以用来控制噪声的幅度,如果比较大,那相应的噪声的幅度就应该大一些,才能有更好的隐私保证。
举个例子理解敏感度,在数据库查询中:
SELECT COUNT(*)
FROM D
WHERE Type = “心脏病”
当修改D中任意一个病患的数据,上述查询结果最多会改变1。
如果能用机制生成的噪声来“掩盖”这种不大于1的改变,就能满足差分隐私。那么这种不大于1的改变称为敏感度。
SELECT 3*COUNT(*)
FROM D
WHERE Type = “心脏病”
当修改D中任意一个病患的数据,上述查询结果最多会改变3.
如果能用这种机制生成的噪声来“掩盖”这种不大于3的改变,就能满足差分隐私。像这种不大于3的改变称为最大敏感度.
敏感度的定义:
数值查询是最基本的数据库查询类型之一,可用函数 来表示。 这些查询将数据库映射到 k 个实数。 回答此类查询的准确程度的重要参数之一是它们的 ℓ1 灵敏度(ℓ1-sensitivity):
函数 f 的L1 灵敏度描述了单个个体的数据在最坏情况下可以改变函数 f 的幅度,因此,我们需要对响应引入不确定性,以隐藏单个个体是否参与到调查中或是否在数据库中这一事实。 函数的灵敏度给出了我们扰乱其输出以保护隐私的界。
5.2 拉普拉斯机制(Laplace mechanism)
1.拉普拉斯分布
如果随机变量的概率密度函数分布为
那么就称服从参数为μ,b的拉普拉斯分布。其中μ为位置参数,b>0是尺度参数。
尺度参数与位置参数是两种常用的统计参数,尺度参数通常用于度量数据集中值的散布程度,而位置参数则用于描述数据集中值的位置和分布。
尺度参数用于表示数据集中值的散布程度。通常情况下,使用标准差、方差和中位数绝对偏差等参数来描述数据的尺度。
位置参数用于描述数据集中值的位置和分布。最常用的位置参数是平均值、中位数和众数等。
一般μ的取值为0, 尺度参数为 b 的拉普拉斯分布记为 形式如下:
均值:
均值的求解,若X的概率密度函数为f(X),那么X的均值为
令
方差:
方差的求解根据
因为后面一项为0,所以主要求前一项
拉普拉斯分布的密度曲线:
该函数中值当x=0时,为最大,两边成指数型下降:
2.实现拉普拉斯机制
拉普拉斯机制主要是针对数值型的查询,即 :映射数据库为k个实数。因此遇到发布数值型数据的时候,可以用拉普拉斯机制来引入噪声。
拉普拉斯机制简单地来说就是在 的 个实数输出上,加上噪声扰乱每个结果。加入的噪声,就是在拉普拉斯分布上采样。这里只考虑均值为 0 的拉普拉斯分布。噪声的尺度将根据 f 的灵敏度(除以 ε )进行调整。
对于尺度参数为 b 的拉普拉斯分布:
当尺度参数 =时(为全局敏感度或局部敏感度),即能满足-差分隐私。
在隐私预算不变的情况下,敏感度越大,则尺度参数 越大,尺度参数 越大,则加入的噪声越大。
拉普拉斯机制:
对于任意的函数 : ,拉普拉斯机制可以被表示为:
其中 是服从 ~ 采样的独立同分布的随机变量,其实就是对数据库的查询结果f(x)分别添加了噪声,第1个输出结果就是f(x)+Y1,第k个输出结果就是f(x)+Yk。
3.拉普拉斯机制满足 (ε,0)-差分隐私的数学证明
假设敏感数据x即为要发布的数据f(x)=x∈R,即数据库D=x, 相邻敏感数据记为x′
数据发布时,需掩盖x与x^′的差距,即敏感度为 。
不失一般性,有 x−x^′=α 。
发布信息1: f(x)+θ=x+θ; 发布信息2: f(x′)+θ=x′+θ′。
由上面拉普拉斯机制知道噪声θ、θ'服从拉普拉斯分布:
可以推出:
第一种证明方式:
因此:
第二种证明方法:
第一步:
是M(x,f,ε)输出为z时的概率,即对所有的i,的概率。
由于的值是固定的,这个等式的概率由来决定,即噪声为的概率。
由于服从,的概率为:
由于 z 有 k 个分量,且k 个噪声 是独立同分布的,所以
同理可得
第二步:
利用了三角不等式
第三步:
利用了数据库距离, 连乘之后,e的指数相加,就是L1范数的定义
第四步:
利用了敏感度的定义:
对应于推导公式中:
5.3 高斯机制
Laplace机制提供的是严格的 (ε,0)−DP ,而高斯机制则提供的是松弛的 (ε,δ)−DP 机制。其允许 DP 算法以概率 δ 的概率被打破。
1. 高斯分布(正态分布)
正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution)
若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
若随机变量X服从一个位置参数为μ 、尺度参数为σ的概率分布,且其概率密度函数为
则这个随机变量就称为正态随机变量,正态随机变量服从的分布就称为正态分布,记作 ,读作X服从 ,或X服从正态分布。
2.高斯机制
高斯噪声θ~N(0, σ^2):均值为0,方差为σ^2, PDF为:
若θ~N(0, σ^2),则高斯机制可提供(ϵ,δ)-差分隐私保证,其中噪声参数, c为一常数,满足在ϵ∈(0,1)时,
与Laplace机制类似,高斯机制也是直接对统计结果添加高斯噪声:M(x)=f(x)+θ
(ϵ,δ)-差分隐私定义:
一种随机化机制𝑀(∙)提供(ϵ,δ)-差分隐私保证,如果对于任意观测集𝑂∈𝑅𝑎𝑛𝑔𝑒(𝑀)和所有相邻数据库D和D'使得下式成立
其中,,这里形式与 Laplace 机制相似,不过注入的噪声为高斯噪声。高斯机制的定义明显比 Laplace 复杂,主要有三个参数:
- 高斯分布的标准差 σ,决定噪声的尺度;
- ε 表示隐私预算,和噪声成负相关;
- δ 表示松弛项,比如设置为 ,就表示只能容忍的概率违反严格差分隐私。
3.高斯机制满足 (ε,δ)-差分隐私的数学证明
由拉普拉斯机制我们知道要满足:
即:
因为θ、θ'满足高斯分布,
即,要满足:
到这一步后发现这里噪声x消不掉,也就是两个高斯分布函数之比最后得到的还是一个高斯分布,这样就不好求,可以换一种方式继续证明
即,只需要满足:
这里式子左边还是有x,x是一个从-∞到+∞的分布,做不到让它小于某个定值。也就是做不到
那么可以做到的是什么呢?
保证1-δ的概率满足≤ε即可,反过来就是δ的概率满足≥ε,也就是δ的概率可以违反差分隐私,这就是松弛差分隐私中的松弛,满足的条件变宽松了。本来是严格满足差分隐私的,这里可以有部分违反了。
到这里就已经证明完了,下面是求c的值满足多少,即标准差σ = c∆f /ε为多少时,满足(ε,δ)-差分隐私。
上面的概率写成数学公式即为:
因为x是一个从-∞到+∞的分布,所以要考虑正负,要加绝对值。因为正态分布具有对称性,去掉绝对值便于计算:
这里,令,即:
又转换为了一个概率分布,即:
即,需要满足:
继续化简:
这里让σ = c∆f /ε,想要约束c,首先要找到第一项为非负项的条件
对于不等式左边第一项:
因为ε≤1且c≥1,经过放缩可以得到:
所以由第一项为非负项,即,可以推出:
这里先讨论第一项,得出c的一个不太紧的界,然后由第二项推出一个关于c更紧的界。
对于第二项:
对于,对其求导,在c≥3/2的这个范围,导数是正的,即是单调递增的。所以可以推出:
最后可以得到:
这里可以去掉第一项是因为,当c≥3/2,第一项大于0,加上一个大于0的数不等式依然成立
继续化简:
因为:
所以求出来c的范围:
因为,所以求出来标准差(方差)的范围:
这样Δf、ε、δ假定都知道,那高斯分布的方差也确定了,用于实现差分隐私的高斯机制的概率密度也确定了。
总结如下:
表示准守严格 DP 的部分, 表示违反严格 DP 的部分。
在松弛差分隐私中,输出分为两部分,一部分是严格遵守 DP,另一部分是违反 DP 的。即,保证1-δ的概率满足≤ε,也就是δ的概率满足≥ε即可。
因此需要将输出集合分隔成两部分,证明第一部分是被 ε 约束住,而第二部分小于 δ 。上面已经证出。
参考:
https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf
差分隐私系列之一:差分隐私的定义,直观理解与基本性质 - 知乎 (zhihu.com)
差分隐私的算法基础 第二章 第三节 形式化差分隐私 - 知乎 (zhihu.com)
(66条消息) 差分隐私——高斯机制(The Gaussian Mechanism)_夏季八起的博客-CSDN博客
差分隐私(三)- 指数,高斯,拉普拉斯机制 - 知乎 (zhihu.com)
【教材分享】拉普拉斯机制?高斯机制?严格差分隐私?松弛差分隐私?_哔哩哔哩_bilibili
(18条消息) 高斯机制-暂时还没完全搞懂_第七个bug的博客-CSDN博客
差分隐私 -- Laplace mechanism、Gaussian mechanism、Composition theorem - 知乎 (zhihu.com)