差分隐私-学习笔记

本文介绍了差分隐私的概念,旨在防止差分攻击,确保单个用户隐私不被泄露。通过添加噪声来实现隐私保护,如拉普拉斯机制。文章详细探讨了相邻数据集、差分隐私的实现、组合原理,以及在实际应用中的挑战和局限性。
摘要由CSDN通过智能技术生成

@data: 24 February 2019
@author: ◕‿◕ Echo 戴帽子の鹿 °


1. 隐私

定义:单个用户的某一些属性,强调 单个用户

举例:若医院发布肺癌趋势,表明抽烟的人得肺癌的几率更高。这不泄露隐私。进一步讲,大家都知道张三抽烟,是否张三就会有肺癌呢?那么这算不算隐私泄露?结论是同样不算,因为这只是一个猜测。若医院说,张三因为抽烟,所以有了肺癌,即隐私泄露。

所以,从隐私保护的角度讲,隐私的主体是单个用户,只有牵涉到某个特定用户才属于隐私泄露,而群体用户的信息(聚集信息)的发布不属于隐私泄露范畴。高德地图曾发过一张图,大意为开某一类车的群体喜欢去洗浴中心……很多人说暴露隐私,但从学术定义上来说,这不属于泄露隐私,因为没有牵涉到任何个体。

差分攻击:那么是不是就可以随意发布聚集信息呢?那倒未必,设想这样一种情况:医院发布了一序列信息说,这个月医院接诊了100个病人,其中有10个感染HIV。假设攻击者知道100个人中的99个人是否有感染HIV的信息,那么攻击者只需要将99个人的信息与医院发布的信息进行配对,那么就可以知道第100个人是否感染HIV。这种对隐私的攻击行为就是差分攻击。

举例:

序号 姓名 感染HIV
1 Tom 0
2 Jack 1
3 Alice 1
…… …… ……
99 Diego 0
100 Henry 1

把上述表格的前 99 99 99 条记录作为数据集 D 1 D_1 D1,前 100 100 100 条记录作为数据集 D 2 D_2 D2。算法 M = count ⁡ ( i ) M = \operatorname{count}(i) M=count(i),其中, i = 1 , 2 , 3 ⋯ i=1,2,3\cdots i=1,2,3。因此,对于数据集 D 1 D_1 D1 count ⁡ ( 99 ) = 9 \operatorname{count}(99)=9 count(99)=9, 数据集 D 2 D_2 D2 count ⁡ ( 100 ) = 10 \operatorname{count}(100)=10 count(100)=10,这样我们可以推断第 100 100 100 条的记录的值一定为 1 ​ 1​ 1,此时就会造成隐私泄露,即所谓的差分攻击。


2. 差分隐私(Differential Privacy)

差分隐私,顾名思义,即防止差分攻击。它的目的就是即使你知道医院发布的100个人的信息以及另外99个人的细信息,你也绝对无法通过比对两者的信息而获取第100个人的信息。那么如何才能做到这一点呢?

差分隐私如何你能找到一种方法让攻击者用某种方式查询100个人的信息和查询那99个人的信息得到的结果是一致的,那攻击者就没办法找出第100个人的信息。 所以重点在 “一致” 上,即加入 “随机性” 。如果查询100个记录和查询99个记录,输出同样的值的概率是一样的,攻击者就无法进行差分攻击。因此,差分隐私的 核心思想 为:对于差别只有一条记录的两个相邻数据集,查询它们获得相同值的概率非常非常的接近这里要区别一下 “一致”“接近”,如果概率一致,表示数据需要完全随机化,那数据就没有实用性了,其隐私保护也就没有意义了。? So,只能尽可能地让概率接近,而非一致,以期在隐私与实用性之间寻找一个平衡,即隐私保护与数据实用性之间的权衡问题。

差分隐私的基本思路:对于两个只相差一个记录的相邻数据集 D D D 和数据集 D ′ D' D,查询算法 M M M 的输出结果 S ​ S​ S 的概率应该非常接近。

Differential Privacy(DP)的定义

给定两个相似的数据集 D D D D ′ D' D,其中只有一条记录不同,即 ∣ D Δ D ′ ∣ ≤ 1 |D\Delta D'|\leq1 DΔD1。对于任意参数 ϵ > 0 \epsilon > 0 ϵ>0,查询函数 M M M 满足 ϵ \epsilon ϵ - differential privacy,则两个数据集 D D D D ′ D' D 的查询结果在概率上应该接近。
严格上讲,对于任意的查询结果S满足:
P [ M ( D ) ∈ S ] ≤ e ϵ P [ M ( D ′ ) ∈ S ] P[M(D) \in S] \leq e^\epsilon P[M(D') \in S] P[M(D)S]eϵP[M(D)S]

参数 ϵ \epsilon ϵ 接近 0 0 0 时, e ϵ e^\epsilon eϵ 接近 1 1 1,两个概率接近相等,保密程度高。

ϵ \epsilon ϵ 越大,数据越准确,保密程度越低。

举例:

以上面的是否感染HIV的表为例,在差分隐私保护的情况下,对于数据集 D 1 D_1 D1 count ⁡ ( 99 ) = 9 + Y = S 1 \operatorname{count}(99)=9+Y=S_1 count(99)=9+Y=S1 ,对于数据集 D 2 D_2 D2 count ⁡ ( 100 ) = 10 + Y = S 2 \operatorname{count}(100)=10+Y=S_2 count(100)=10+Y=S2 ,其中, Y Y Y 为添加的噪音。最终结果 S 1 S_1 S1 S 2 S_2 S2 均以几乎完全相同的概率输出 { 8 , 9 , 10 , 11 } \{8,9,10,11\} { 8,9,10,11}(这个结果知识假设)中的任意一个,其中,两者的概率差值为 e ϵ e^\epsilon eϵ


3. 差分隐私实现

差分隐私实现:在原始数据/查询结果中加入随机性

若某一种方法,用在数据集上能满足差分隐私的核心思想,则称该方法满足差分隐私。所以最常用的方法是在结果上加入满足某种分布的噪声,使查询结果随机化。目前,常见的方法有 拉普拉斯(Laplace)机制指数(Exponential)机制高斯(Gauss)机制

初级版本

A. 原始数据加噪声方式:

  • 原始数据 + 指数噪声 = 指数保护隐私的数据 → ​ \rightarrow​ 给别人分析
  • 原始数据 + 高斯噪声 = 高斯保护隐私的数据 → ​ \rightarrow​ 给别人分析
  • 原始数据 + Laplace噪声 = Laplace保护隐私的数据 → \rightarrow 给别人分析

B. 访问原始数据的函数加噪声方式:(别人想分析原始数据)

  • 访问原始数据的结果 + 指数噪声 = 输出指数噪声保护的数据
  • 访问原始数据的结果 + 高斯噪声 = 输出高斯噪声保护的数据
  • 访问原始数据的结果 + Laplace噪声 = 输出Laplace噪声保护的数据

进阶版本

  • 原始数据 + 指数噪声 + 主成分分析 = 指数主成分分析保护隐私的数据 → \rightarrow 给别人分析
  • 原始数据 + 高斯噪声 + 主成分分析 = 高斯主成分分析保护隐私的数据 → \rightarrow 给别人分析
  • 原始数据 + Laplace噪声 + 主成分分析 = Laplace主成分分析保护隐私的数据 → \rightarrow 给别人分析

拉普拉斯(Laplace)机制

即在查询结果中加入 Laplace分布 的噪音,适用于数值型输出。例如:zhihu里有多少用户为 985 985 985 大学毕业的?假设结果为 2000 2000 2000 人,那么每一次查询得到的结果都会稍微有些区别,比如有很高的概率输出 2001 2001 2001,较高概率输出 2010 2010 2010,较低概率输出 1990 1990 1990,等等。

Laplace分布 X ~ L a p ( μ , b ) X \tilde{ } Lap(\mu,b) X~Lap(μ,b)

Laplace噪声,即满足Laplace分布的一个随机值。在差分隐私领域,Laplace噪声是一种最常见的噪声添加方式,该分布的概率密度函数表示如下:

f ( x ∣ μ , b ) = 1 2 b e − ∣ x − μ ∣ b f(x|\mu,b)=\frac{1}{2b}e^{-\frac{|x-\mu|}{b}} f(xμ,b)=2b1ebxμ

其函数图如下:

由概率密度函数求分布的概率累积函数如下:

F ( x ∣ μ , b ) = { 1 2 e − μ − x b , x &lt; μ 1 − 1 2 e − x − μ b , x ≥ μ F(x|\mu,b)=\left \{ \begin{aligned} \frac{1}{2}e^{-\frac{\mu-x}{b}},x&lt;\mu \\ \\ 1-\frac{1}{2}e^{-\frac{x-\mu}{b}},x\geq\mu\\ \end{aligned} \right. F(xμ,b)=21ebμx,x<μ121ebxμ,xμ

推导过程

x &lt; μ x&lt;\mu x<μ 时, f ( x ∣ μ , b ) = 1 2 b e − μ − x b f(x|\mu,b)=\frac{1}{2b}e^{-\frac{\mu-x}{b}} f(xμ,b)=2b1ebμx

F ( x ∣ μ , b ) = 1 2 b ∫ − ∞ x e − μ − x b d x = 1 2 b ∫ − ∞ x e x − μ b d x F(x|\mu,b)=\frac{1}{2b}\int^x_{-\infty}e^{-\frac{\mu-x}{b}}dx=\frac{1}{2b}\int^x_{-\infty}e^{\frac{x-\mu}{b}}dx F(xμ,b)=2b1xebμxdx=2b1xebxμdx

t = x − μ b t=\frac{x-\mu}{b} t=bxμ,可求得:

F ( x ∣ μ , b ) = 1 2 b ∫ − ∞ x − μ b b e t d t = 1 2 ∫ − ∞ x − μ b e t d t = 1 2 [ e t ] − ∞ x − μ b = 1 2 e − μ − x b F(x|\mu,b)=\frac{1}{2b}\int^{\frac{x-\mu}{b}}_{-\infty}be^tdt=\frac{1}{2}\int^{\frac{x-\mu}{b}}_{-\infty}e^tdt=\frac{1}{2} \left [e^t \right]^{\frac{x-\mu}{b}}_{-\infty}=\frac{1}{2}e^{-\frac{\mu-x}{b}} F(xμ,b)=2b1bxμbetdt=21bxμetdt=21[et]bxμ=21ebμx

对于 x ≥ μ x \geq \mu xμ 的情况。由于Laplace噪声满足对称性,因此有以下等式成立:

F ( x ∣ μ , b ) = 1 2 b ∫ − ∞ x e − μ − x b d x = 1 − 1 2 b ∫ x + ∞ e − μ − x b d x = 1 − 1 2 b ∫ − ∞ x e − μ − x b d x = 1 − 1 2 e − μ − x b F(x|\mu,b)=\frac{1}{2b}\int^x_{-\infty}e^{-\frac{\mu-x}{b}}dx=1-\frac{1}{2b}\int^{+\infty}_xe^{-\frac{\mu-x}{b}}dx=1-\frac{1}{2b}\int^x_{-\infty}e^{-\frac{\mu-x}{b}}dx=1-\frac{1}{2}e^{-\frac{\mu-x}{b}} F(xμ,b)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值