1 背景
2 法律法规约束
- 在欧洲,2016 年发布、2018 年开始强制执行的《通用数据保护条例》(General Data Protection Regulation, GDPR)涵盖范围广、保护要求严格,甫一推行就引发了科技公司的密切关注。
- 在美国,尽管联邦层面没有专门用于隐私保护的法律,但在2018 年,严格程度不逊于 GDPR 的《加州消费者隐私法案》 (California Consumer Privacy Act, CCPA)出台,尽管只是州法,但由于加州在科技领域的特殊地位,其影响范围同样是全球性的。
- 在我国,近年陆续颁布或修订的《民法典》《网络安全法》均为个人信息保护作了专门规定,《消费者权益保护法》《执业医师法》等部门法则从消费、医疗等具体维度反映了对个人信息的保护。 同时,尚处草案阶段的《个人信息保护法》也标志着我国对互联网时代个人信息保护的重视达到了一个新的高度。
- 经过三次审议,十三届全国人大常委会第三十次会议表决通过了《中华人民共和国个人信息保护法》,并与2021年11月1日起施行。确立个人信息保护原则、规范处理活动保障权益、禁止“大数据杀熟”规范自动化决策、严格保护敏感个人信息、赋予个人充分权利等。
《个人信息保护法》也对违法惩罚作出了规定,相较于之前的轻微处罚,在新规施行后,违法的主体将最高可处五千万以下或者上一年度营业额百分之五以下的罚款。以某个电商企业为例,其2019年的中国销售额为4557.12亿元,如果处以顶格的5%罚款,那么罚款总额将会达到227.856亿元。
因此,如何安全合规的使用个人数据这个难题就摆在了我们的面前,如果稍有不慎,就会造成巨大的经济损失,所以目前很多公司都在这方面进行重金投入,期望打造安全合规的使用方式。
3 数据合规使用
基于此,我们要想合规的使用数据,其实就是面临着两件事情,我们要做的就是这两件事情的平衡。
- 保护个人隐私,不泄露个体精确信息:隐私保护技术能提供何种强度的保护,能够抵御何种强度的攻击,包括从数据采集、存储、计算整个链路的数据保护机制。
- 保护个人隐私的同时,综合保留数据价值:在保护隐私的同时,最大限度地保留原数据中的有用信息,既能保护数据,又能最大限度的保留数据的价值,能够进行业务赋能。
我们所做的事情,就是在数据隐私与数据价值之间进行平衡,在保障隐私的同时,实现数据价值的体现。
4 技术方案
5 差分隐私:Differential Privacy
- 在2016年WWDC主题演讲中,苹果工程副总裁Craig Federighi宣布苹果使用本地化差分隐私技术来保护iOS/MacOS用户隐私。根据其官网披露的消息,苹果将该技术应用于Emoji、QuickType输入建议、查找提示等领域。
- Google利用本地化差分隐私保护技术从Chrome浏览器每天采集超过1400万用户行为统计数据。
5.1 差分攻击:Differential Attack
5.2 差分隐私的定义
假设有随机算法M,S为M所有可能输出结果构成的集合,Pr[ ]表示概率。对于任意两个相邻数据集
D
,
D
‘
D,D^`
D,D‘,两个数据集两个数据集的差别只有1条记录,如果两个相邻集合的概率分布满足如下约束条件:
P
r
[
M
(
D
)
∈
S
]
≤
e
ϵ
P
r
[
M
(
d
‘
)
∈
S
]
Pr[M(D) \in S] \leq e^{\epsilon}Pr[M(d^`)\in S]
Pr[M(D)∈S]≤eϵPr[M(d‘)∈S]
或者
P
r
[
M
(
D
)
∈
S
]
≤
e
ϵ
P
r
[
M
(
d
‘
)
∈
S
]
+
δ
Pr[M(D) \in S] \leq e^{\epsilon}Pr[M(d^`)\in S] + \delta
Pr[M(D)∈S]≤eϵPr[M(d‘)∈S]+δ
满足上述条件的情况下,则称算法M提供了
ϵ
−
\epsilon -
ϵ−差分隐私保护,其中
ϵ
\epsilon
ϵ为差分隐私预算,用来保证数据集中增加或者较少一条数据记录,随机算法M的输出结果不可区分性的概率。如下图所示:
差分隐私的关键四元组:
- 集合1:D
- 集合2: D ‘ D^` D‘
- 随机算法:M
- 约束因子: ϵ \epsilon ϵ
- 可选松弛变量项: δ \delta δ
5.3 差分隐私的实现
- 针对数值型的数据,采用Laplace或者高斯机制,对数据结果添加随机动态扰动噪声进行实现。
- 针对非数值型数据 ,采用指数机制进而引入一种打分机制,枚举计算各自离散分类的输出分数,并且经过归一化之后作为概率值进行表征。
接下来,就和大家具体介绍下差分隐私的实现机制,做到知其然而知其所以然,不过在这之前先介绍下敏感痘这个概念。
5.3.1 敏感度
定义:差分隐私中的敏感度的意义是,针对两个相邻数据集
D
,
D
‘
D,D^`
D,D‘,随机函数f()的最大变化范围,也就是说加入噪声后的震荡范围,记做
Δ
f
\Delta f
Δf,则敏感度计算的公式如下:
Δ
f
=
m
a
x
D
,
D
‘
∥
f
(
D
)
−
f
(
D
‘
)
∥
1
\Delta f = max_{D,D^`} \|f(D) - f(D^`)\|_1
Δf=maxD,D‘∥f(D)−f(D‘)∥1
5.3.2 数值型方案 - Laplace机制
- 首先,优先介绍Laplace分布,其属于连续分布,所以连续分布的概率密度符合,其中 μ \mu μ是位置参数, b b b是尺度参数,那么拉普拉斯分布的数学期望是 μ \mu μ,方差是 2 b 2 2b^2 2b2。
f ( x ∣ μ , b ) = 1 2 b e − ∣ x − μ ∣ b f(x|\mu,b) = \frac{1}{2b}e^{-\frac{|x-\mu|}{b}} f(x∣μ,b)=2b1e−b∣x−μ∣
-
其次,介绍基于Laplace的差分隐私机制。其中f(D)表示的是随机算法(比如查询),Y表示的是Laplace噪声,并且符合拉普拉斯分布,M(D)表示的是加了噪声之后的混淆的最后的展示结果,这个过程表达的是在随机算法的基础上添加服从Laplace的噪声。
M ( D ) = f ( D ) + Y M(D) = f(D) + Y M(D)=f(D)+Y -
再次,那么Laplace是如何应用差分隐私的呢,下面和大家娓娓道来,从上面的公式可以感知,Y是我们要处理的噪声,那么这个Y需要满足什么条件呢。
-
再次,我们来定义Y: Y ∼ L ( 0 , Δ f ϵ ) Y \sim L(0, \frac{\Delta f}{\epsilon}) Y∼L(0,ϵΔf)满足 ϵ − \epsilon - ϵ−差分隐私,其中 Δ f \Delta f Δf表示敏感度, ϵ \epsilon ϵ 表示隐私预算。可以看到,隐私预算越小,噪声越大,结果可用性越小,隐私保护越好。
-
最后,我们来证明下这个过程
按照上面的公式顺序推导即可,重点是推导过程中进行了二次缩放,第一次缩放用到了绝对值不等式进行缩放,第二个缩放用到了上面我们的定义,由此我们就可以证明拉普拉斯分布可以用来实现差分隐私。
代码如下,git地址:https://github.com/dubaokun/code/tree/master/privacy/differential-privacy/laplace
1 import numpy as np
2
3 # 计算基于拉普拉斯分布的噪声
4 def laplace_noisy(sensitivety,epsilon):
5 n_value = np.random.laplace(0, sensitivety/epsilon, 1)
6 return n_value
7
8 # 计算基于拉普拉斯加噪的混淆值
9 def laplace_mech(data, sensitivety, epsilon):
10 for i in range(len(data)):
11 data[i] += laplace_noisy(sensitivety,epsilon)
12 return data
13
14 # 基于拉普拉斯分布的特性,如果想要分布震荡较小,需要将隐私预算epsilon的值设置较大
15 if __name__ =='__main__':
16 data = [1.,2.,3.]
17 sensitivety = 1
18 epsilon = 10
19 data_noisy = laplace_mech(data, sensitivety, epsilon)
20 for j in data_noisy:
21 print("Final Resulet = %.16f" % j)
输出结果
(tensorflow) dubaokun@ZBMAC-C02D5257M ~ python laplace_apply.py
Final Resulet = 1.1131262345421142
Final Resulet = 1.9423797734301973
Final Resulet = 3.0605257391487291
坊间传闻,苹果公司的epsilon值比较大,嘿嘿。
6 参考资料
- The Algorithmic Foundations of Differential Privacy
7 番外篇
8 未完待续
后续会继续补充差分隐私相关内容,敬请期待。