差分隐私(Differential Privacy)

目录

一、对于隐私的理解

二、对于差分隐私的理解

三、 前提知识

3.1 符号说明

3.2 数据库

3.3 数据库的距离

3.4 概率单纯形

3.5 随机算法

四、 差分隐私的定义

五、差分隐私中常用的随机化算法(机制)

5.1 敏感度

5.2 拉普拉斯机制(Laplace mechanism)

1.拉普拉斯分布

2.实现拉普拉斯机制

3.拉普拉斯机制满足 (ε,0)-差分隐私的数学证明

5.3 高斯机制

1.高斯分布(正态分布)

2.高斯机制

3.拉普拉斯机制满足 (ε,δ)-差分隐私的数学证明

一、对于隐私的理解

        在不同的考量下,隐私的定义也不一样。

        百度百科给出的定义:隐私就是一种与公共利益、群体利益无关,当事人不愿意他人知道或他人不便于知道的信息。

        目前普遍比较接受的定义是:“单个用户的某一些属性” 可以被看做是隐私。注意该说法所强调的是“单个用户”,也就是说,如果是一群用户的某一些属性,那么可以不看做隐私。

        比如,医院发布调查报告说,抽烟的人会有更高几率得肺癌,这个不泄露任何隐私。但是如果医生说,张三因为抽烟,所以有x%的概率得肺癌,这就是个人隐私的泄露。

        如果我们拥有一个数据库,那么对精确的个体信息的查询与检索都会泄露隐私,因此对于个人数据的加密是最基本的保护隐私策略。然而,就算我们对个人数据进行了加密,对一群用户的某些属性的查询,以及对查询结果进行加工与建模,也就是“数据分析”,往往也会泄露个人隐私。

        那通过分析数据怎么获取个人隐私呢?

        比如要查询一个大型医疗数据库,如果我们知道A的信息在数据库中,就可以利用一种叫差分攻击的方法得到个体的信息。可以查询有多少人患糖尿病,假如有100个人,然后条件查询,有多少不叫A的人患糖尿病,假如有99个人,这样经过差分,就得到了A患糖尿病。

        差分隐私就是针对差分攻击的隐私保护框架。

二、对于差分隐私的理解

        差分隐私想做的事情就是即使攻击者知道发布的100个人的信息,以及A之外另外99个人的信息,也没有办法对比这两个信息之后获取A的信息。

        那如何做到这一点呢?

        差分隐私就是要用一种方法让攻击者查询100个信息和查询99个信息得到的结果是一致的,这样攻击者就无法找出A的信息。

        那如何做到让查询结果一致呢?

        就是在查询结果里加入随机性/噪声。 让查询者无法根据返回的带噪声的结果推断出原始数据。

三、 前提知识

3.1 符号说明

  •  f(x)表示一个查询函数,比如查询count值,最大值,均值,梯度等等。
  • R 表示一个实数的概念,上标如果不写表示一维数据,比如最大值;如果是R^n表示n维数据,比如梯度。 x_{i}\in R^{n} 代表x_{i} 是n维实数集,即x_{1},x_{2}, ... ,x_{n},每个元素是n维向量,向量中的每个分量是实数
  • O是一个离散集合,|O|代表集合中元素的数量
  • Y_i和θ都表示一个随机噪声,可以服从拉普拉斯分布或者高斯分布。
  • x,x′ 表示两个数据库,且只相差了一个样本。
  • M(x) 表示最终的一个确定的查询结果f(x)加上一个不确定的随机噪声Y_i/θ得到的最终结果。
  • ε表示一个很小的值,用来衡量隐私预算。 δ 是一个松弛项,表示可以接受差分隐私在一定程度上的不满足。

 3.2 数据库

        将数据库x视为来自全集 \chi 的记录的集合,,其中每一个x_i表示全集\chi中第i个数据在x数据库中的数量。(设\mathbb{N}表示所有非负整数的集合,包括0)。在这种表示中,可以度量两个数据库x和y的ℓ1距离。

举例:

全集\chi

        令  ,即\chi中第1个数据在x中的数量为1,第2个数据的数量为0,第3个数据的数量为2....

则数据库x为:

3.3 数据库的距离

        衡量两个数据库X和Y的差异是用L1距离来表示。

        数据库x的L1范数用||x||_1表示,其定义为:

         数据库 x 和 y的 L1 距离是||x-y||_1 。

         ||x||_1​描述了数据库x 的大小,即该数据库包含了多少条记录。而||x-y||_1​表示了x 和y 之间的差距是多大。对于两个数据库 x 和 y ,若||x-y||_1=1 ,则它们被称为相邻数据库,也就是它们仅在某一个类型的数据上有差异。 

         ||x||_1 的直观理解是数据库中各种类型的记录之和,所以实际上就是数据库x 的记录数量。  而||x-y||_1表示了两个数据库之间,各种类型的记录的数量之差。比如 x 有A型数据2条,B型数据3条;y 有A型数据2条,B型数据4条。则 ||x||_1=5 , ||y||_1=6||x-y||_1=|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,而是一个随机变量,又或者说,算法将以一定概率输出某一个值。

        在上面的例子中:

                                                        Pr[M(2)=3]=(M(2))_3=\frac{1}{3}

 同理A中的其它值。

       以数据库的形式理解这个定义:记数据库中所有条目的集合为\chi,则所有可能的子数据库构成的空间为\mathbb{N}^{|\chi |}。随机算法M将一个子数据库D∈\mathbb{N}^{|\chi |}映射到离散集合O的概率单纯形的一个可能分布上,即:

         也称O为随机算法M的 Range,即O=Range(M)。其中对于每一个可能作为算法输入的数据库D,随机算法M先将其映射到一个概率分布,即对于任意D∈\mathbb{N}^{|\chi |},以及任意的o∈O,随机算法M(D)以概率(M(D))o输出M(D)=o。

四、 差分隐私的定义

        对于一个随机算法M,如果对于任意得一对相邻数据集D和D’,算法M满足:

        则称算法M满足(ε,δ)-差分隐私,其中参数ε为隐私保护预算正是ε控制上面所说的“一致”

        Pr:probability的缩写,就是概率的意思。

        Pr[M(D) \in O]表示给定数据库D以及输出M(D),输出M(D)在O中的概率。 

         当δ=0时,就称随机算法满足ε-差分隐私,也就是纯差分隐私:

        意思就是当两个相差为1的数据库D和D‘,经过随机算法M的扰动,得到一个特定输出 O 的概率相差应很小。这个大小由ε控制,ε越小,隐私保护性越强。结合下图更好理解:

五、差分隐私中常用的随机化算法(机制)

  • 拉普拉斯机制(Laplace mechanism)
  • 指数机制(Exponential mechanism)
  • 高斯机制(Gaussian mechanism)

5.1 敏感度

         在对数据库查询时,应该考虑这个查询的结果有多依赖于某个特定病人的信息。如果很依赖于这个病人的信息,就可以通过差分攻击获取到这部分信息。所以要知道这个依赖程度,然后用相应的噪声扰动。

        一般使用敏感度\Delta f来衡量这个依赖程度, \Delta f可以用来控制噪声的幅度,如果\Delta f比较大,那相应的噪声的幅度就应该大一些,才能有更好的隐私保证。

        举个例子理解敏感度,在数据库查询中:

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 的拉普拉斯分布记为 Lap(b) 形式如下:

均值:

        均值的求解,若X的概率密度函数为f(X),那么X的均值为

 令y=\frac{x }{b}

E(X)=\frac{1}{2b}\int_{-\infty }^{+\infty }x e^{-\frac{|x|}{b}}dx=\frac{1}{2}\int_{-\infty }^{+\infty }(by)e^{-|y|}dy=\frac{b}{2}\int_{-\infty }^{+\infty }ye^{-|y|}dy=0

方差:

        方差的求解根据

        因为后面一项为0,所以主要求前一项

D(X)=E(X^2)=\frac{1}{2b}\int_{-\infty }^{+\infty }x^2 e^{-\frac{|x|}{b}}dx=\frac{b^2}{2}\int_{-\infty }^{+\infty }y^2e^{-|y|}dy=b^2\int_{0}^\infty{ } y^2 e^{-y} dy=-b^2\int_{0}^\infty{ } y^2 de^{-y} =2b^2

拉普拉斯分布的密度曲线:

        该函数中值当x=0时,Lap(x\mid b)=\frac{1}{2b}为最大,两边成指数型下降:

2.实现拉普拉斯机制

        拉普拉斯机制主要是针对数值型的查询,即 fD\rightarrow \mathbb{R}^k映射数据库为k个实数。因此遇到发布数值型数据的时候,可以用拉普拉斯机制来引入噪声。

        拉普拉斯机制简单地来说就是在 f 的 k 个实数输出上,加上噪声扰乱每个结果。加入的噪声,就是在拉普拉斯分布上采样。这里只考虑均值为 0 的拉普拉斯分布。噪声的尺度将根据 f 的灵敏度(除以 ε )进行调整

        对于尺度参数为 b 的拉普拉斯分布:

        当尺度参数 b =\frac{\Delta f}{\epsilon }时(\Delta f为全局敏感度或局部敏感度),即能满足\epsilon-差分隐私。

        在隐私预算\epsilon不变的情况下,敏感度\Delta f越大,则尺度参数 b 越大,尺度参数 b 越大,则加入的噪声越大。

拉普拉斯机制:

        对于任意的函数 fD\rightarrow \mathbb{R}^k ,拉普拉斯机制可以被表示为:

        其中 Y_{i} 是服从Y_{i} ~ Lap(\frac{\Delta f}{\epsilon })采样的独立同分布的随机变量,其实就是对数据库的查询结果f(x)分别添加了噪声,第1个输出结果就是f(x)+Y1,第k个输出结果就是f(x)+Yk。

3.拉普拉斯机制满足 (ε,0)-差分隐私的数学证明

        假设敏感数据x即为要发布的数据f(x)=x∈R,即数据库D=x, 相邻敏感数据记为x′

        数据发布时,需掩盖x与x^′的差距,即敏感度为 \Delta f=max||f(x)-f(x')||=\alpha

        不失一般性,有 x−x^′=α 。       

        发布信息1: f(x)+θ=x+θ; 发布信息2: f(x′)+θ=x′+θ′。

        由上面拉普拉斯机制知道噪声θ、θ'服从拉普拉斯分布:

         可以推出:

第一种证明方式:

因此:

第二种证明方法:

第一步:

p_x(z)是M(x,f,ε)输出为z时的概率,即对所有的i,f(x)_i+\theta _i=z_i的概率。

由于f(x)_i的值是固定的,这个等式的概率由\theta_i来决定,即噪声为\theta _i=z_i-f(x)_i的概率。

由于\theta_i服从Lap(\frac{\Delta f}{\epsilon })\theta _i=z_i-f(x)_i的概率为:

 由于 z 有 k 个分量,且k 个噪声 \theta_i 是独立同分布的,所以

同理可得p_x'(z)

第二步:

利用了三角不等式

第三步:

利用了数据库距离, 连乘之后,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),则高斯机制可提供(ϵ,δ)-差分隐私保证,其中噪声参数\sigma \geq \frac{c\Delta (f)}{\varepsilon }, c为一常数,满足在ϵ∈(0,1)时,c\geq \sqrt{2ln(1.25/\delta )}

       与Laplace机制类似,高斯机制也是直接对统计结果添加高斯噪声:M(x)=f(x)+θ

  (ϵ,δ)-差分隐私定义

        一种随机化机制𝑀(∙)提供(ϵ,δ)-差分隐私保证,如果对于任意观测集𝑂∈𝑅𝑎𝑛𝑔𝑒(𝑀)和所有相邻数据库D和D'使得下式成立

        其中,M(D)=f(D)+(Y_1,Y_2,...,Y_k),这里形式与 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 的部分, S_2表示违反严格 DP 的部分。 

        在松弛差分隐私中,输出分为两部分,一部分是严格遵守 DP,另一部分是违反 DP 的。即,保证1-δ的概率满足≤ε,也就是δ的概率满足≥ε即可。

        因此需要将输出集合分隔成两部分,证明第一部分是被 ε 约束住,而第二部分小于 δ 。上面已经证出。

参考:  

https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf

差分隐私:原理、应用与展望_哔哩哔哩_bilibili

差分隐私系列之一:差分隐私的定义,直观理解与基本性质 - 知乎 (zhihu.com)

差分隐私的算法基础 第二章 第三节 形式化差分隐私 - 知乎 (zhihu.com)

(66条消息) 差分隐私——高斯机制(The Gaussian Mechanism)_夏季八起的博客-CSDN博客

差分隐私的常用机制 - 知乎 (zhihu.com)

差分隐私(三)- 指数,高斯,拉普拉斯机制 - 知乎 (zhihu.com)

【教材分享】拉普拉斯机制?高斯机制?严格差分隐私?松弛差分隐私?_哔哩哔哩_bilibili

(18条消息) 高斯机制-暂时还没完全搞懂_第七个bug的博客-CSDN博客

差分隐私 -- Laplace mechanism、Gaussian mechanism、Composition theorem - 知乎 (zhihu.com)

  • 15
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
差分隐私Differential Privacy)是一种隐私保护的技术,旨在保护个体数据的隐私,并在个体数据的基础上提供统计分析结果。pyvacy是一个基于Python编程语言实现的差分隐私工具库。 差分隐私通过向原始数据中注入噪声,使得攻击者无法根据输出的结果确定个体的具体数据。这种噪声的注入是经过严格数学设计和计算的,保障了数据的隐私性。 pyvacy提供了一系列的差分隐私算法和工具,方便开发者在数据分析任务中应用差分隐私技术保护数据隐私。它支持的功能包括随机响应机制、局部敏感哈希、拉普拉斯机制等,可根据具体需求选择适合的算法。 pyvacy的使用过程相对简单,首先选择适当的差分隐私算法,然后根据具体的数据集和分析任务设定隐私参数。接下来,使用pyvacy提供的函数和方法对数据进行隐私保护,即注入差分隐私噪声。之后,可以进行相应的数据分析或计算,并根据结果进行相应的隐私保护措施。 差分隐私pyvacy带来的好处是能够在维护数据隐私的同时,保证对数据的分析结果是准确的。它适用于各种场景下的数据分析任务,如社交网络分析、医疗数据分析、金融数据分析等。 总的来说,差分隐私pyvacy提供了一个便捷的工具库,用于实现差分隐私保护,保障个体数据的隐私,并为数据分析提供准确可靠的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值