上一篇介绍了数据脱敏的三种基本方法,这里介绍另一种方法——差分隐私。差分隐私的优点在于其不需要特殊的攻击假设,不关心攻击者拥有的背景知识,量化分析隐私泄露风险。
核心研究问题:在满足差分隐私的前提下提高发布统计数据的可用性及算法的效率。
ε-差分隐私保护
对数据集D的各种映射函数被定义为查询(Query),用 F = { f 1 , f 2 , ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ } F=\{f1, f2, ······\} F={f1,f2,⋅⋅⋅⋅⋅⋅} 来表示一组查询,算法M对查询F的结果进行处理,使之满足隐私保护的条件,此过程称为隐私保护机制。
设数据集D与D’,具有相同的属性结构,两者的对称差记作DΔD’,|DΔD’|表示DΔD’中记录的数量。若|DΔD’|=1,则称D和D’为邻近数据集(又称兄弟数据集 ) 。
设有随机算法M,PM为M所有可能的输出构成的集合。对于任意两个邻近数据集D和D’以及PM的任何子集SM,若算法M满足: P r [ M ( D ) ∈ S M ] < = e x p ( ε ) ∗ P r [ M ( D ’ ) ∈ S M ] Pr[M(D)∈SM]<=exp(ε)*Pr[M(D’)∈SM] Pr[M(D)∈SM]<=exp(ε)∗Pr[M(D’)∈SM],则称算法M提供ε-差分隐私保护。
其中参数ε称为隐私保护预算(可以看做是能够接受的隐私泄露量),一般是一个公开的实数,通常取0.01、0.1、1。ε用于控制算法M在邻近数据集上获得相同输出的概率比值,反映了算法M所的隐私保护水平,ε越小,隐私保护水平越高。在极端情况下,当ε取值为0时,即表示算法M针对D与D’的输出的概率分布完全相同,由于D与D’为邻近数据集,根据数学归纳法可以很显然地得出结论(显然在哪???),即当ε=0时,算法M的输出结果不能反映任何关于数据集的有用的信息。因此,从另一方面,ε的取值同时也反映了数据的可用性。
如图1所示,算法M通过对输出结果的随机化来提供隐私保护,同时通过参数ε来保证在数据集中删除任一记录时,算法输出统一结果的概率不发生显著变化。
差分隐私模型中,攻击者的计算能力及其所获取的辅助信息不会影响隐私保护程度。随机算法M不依赖特定的数据表,输出被随机噪声扰乱,每一条记录均得到了完全相同程度的保护。攻击者即使知道了除某条记录r外的所有记录,也无法判断r是否在数据表中。
差分隐私的实现机制
Laplace机制
Dwork等人提出的Laplace机制是最早提出的差分隐私方法,也是目前应用最广的机制。拉普拉斯机制用于数值型结果的保护,通过向确切的查询结果中加入服从拉普拉斯分布的随机噪声来实现ε-差分隐私保护。
1. Laplace分布
期望为0,方差为
2
b
2
2b^2
2b2 的Laplace分布,其概率密度函数为:
p
(
x
)
=
e
x
p
(
−
∣
x
∣
/
b
)
2
b
p(x)=\frac{exp(-|x|/b)}{2b}
p(x)=2bexp(−∣x∣/b)
2. Laplace机制敏感度
给定一个函数集
F
F
F, 其敏感度定义如下:
S
(
F
)
=
max
T
1
,
T
2
(
∑
f
∈
F
∣
f
(
T
1
)
−
f
(
T
2
)
∣
)
S(F) = \max_{T_1,T_2}\left(\sum_{f\in F}|f(T_1)-f(T_2)|\right)
S(F)=T1,T2max⎝⎛f∈F∑∣f(T1)−f(T2)∣⎠⎞
3. 满足ε-差分隐私保护的Laplace噪声
定理:设有函数集 F F F,其敏感度为 S ( F ) S(F) S(F), M M M 为向 F F F 中每个函数的输出添加噪声的随机算法。若添加的噪声为尺度参数(即b)取 S ( F ) / ϵ S(F)/\epsilon S(F)/ϵ 的Laplace分布,则算法M满足ε-差分隐私。
4. 非交互式查询
若每次查询后添加噪声,则各次查询结果将不同。Dwork等人提出将Laplace机制用于非交互式查询。即通过预先添加噪声获得加噪数据,对于用户查询直接返回加噪结果。这样对于同一个查询,差分隐私算法各次的输出必定相同。
指数机制
1. 可用性函数
设查询函数的输出域为Range,域中的每个值r∈Range为一实体对象。在指数机制下,函数 q ( D , r ) → R q(D,r)\rightarrow R q(D,r)→R 称为输出值r的可用性函数,用来评估输出值r的优劣程度
2. 指数机制敏感度
给定可用性函数
q
q
q ,其敏感度定义为:
S
(
q
)
=
max
T
1
,
T
2
,
r
∣
∣
q
(
T
1
,
r
)
−
q
(
T
2
,
r
)
∣
∣
S(q)=\max_{T_1,T_2,r} ||q(T_1,r)-q(T_2,r) ||
S(q)=T1,T2,rmax∣∣q(T1,r)−q(T2,r)∣∣
其中,
T
1
,
T
2
T_1,T_2
T1,T2 为任意一对临近数据集,r 表示任意合法的输出
3. 指数机制ε-差分隐私
**定理:**设随机算法 M M M 输入为数据集 D D D,输出为一实体对象 r ∈ R a n g e r\in Range r∈Range, q ( D , r ) → R q(D,r)\rightarrow R q(D,r)→R 为可用性函数, S ( q ) S(q) S(q) 为可用性函数的敏感度。若算法M以正比于 e x p ( ϵ q ( D , r ) 2 S ( q ) ) exp\left(\frac{\epsilon q(D,r)}{2S(q)}\right) exp(2S(q)ϵq(D,r))的概率从 R a n g e Range Range 中选择并输出 r r r,那么算法 M M M 提供ε-差分隐私保护。
差分隐私的组合特性
**定理:**假设有 n n n 个随机算法,其中 K i K_i Ki 满足 ε i ε_i εi-差分隐私,则 { K i } ( 1 ≤ i ≤ n ) \{K_i\}(1\leq i\leq n) {Ki}(1≤i≤n)组合后的算法满足 ∑ ε i \sum ε_i ∑εi-差分隐私。
**定理:**假设有 n n n 个随机算法,其中 K i K_i Ki 满足 ε i ε_i εi-差分隐私,且任意两个算法的操作数没有交集,则 { K i } ( 1 ≤ i ≤ n ) \{K_i\}(1\leq i\leq n) {Ki}(1≤i≤n)组合后的算法满足 max { ε i } \max \{ε_i\} max{εi}-差分隐私。
tip:由于组合定理,随着查询次数的增加,隐私泄露的风险上升
参考资料
差分隐私保护:从入门到脱坑 https://www.freebuf.com/articles/database/182906.html