差分隐私简介
差分隐私是属于密码学的远亲,并没有使用传统意义上的加密解密,它是通过一种扰动的方法,但是它们作用都是一样的,都是对隐私数据进行保护,所以更多的来说差分隐私应该属于隐私保护的范畴。在详细的介绍差分隐私之前,要给大家简单的介绍下隐私保护的概念。
隐私保护主要由两个部分组成,一个是语法隐私,一个是语义隐私。
语法隐私:要求发布的数据集中每条记录都无法被攻击者从其他的一定数量的相似的记录中区分开来,从而对攻击者的攻击造成干扰。具体的代表由K-匿名以及K-匿名的衍生,比如在K-匿名基础上提出l-diversity,t-closeness等等;
语义隐私:数据集中的单一记录的增加或者删除对于攻击者来说都是不敏感的,是无法察觉的。比如本文要介绍的差分隐私以及差分隐私的衍生。而以K-匿名为代表的语法隐私和以差分隐私为代表的语义隐私的差别在于,语法隐私不能抵御背景知识攻击,语义隐私则可以。这是因为差分隐私的是建立在默认攻击者拥有最大的背景知识攻击的情况下,并有严格的数学理论依据。
差分隐私的基本定义:对于一个随机算法M,Pm为算法M可以输出的所有值的集合。如果对于任意得一对相邻数据集X和X’,PM的任意子集S,算法M满足
则称算法M满足ε-差分隐私,其中参数ε为隐私保护预算。
这个定义是说有两个数据集,一个是数据集X在随机算法M的扰动下输出的结果是属于S集合的概率,小于等于e的ε次方然后乘以数据集X’在随机算法A的扰动下输出的结果是属于S集合的概率。这个结果因为变化太小导致了改变之前的数据集和改变之后的数据集对攻击者来说是无法察觉的,则说明满足差分隐私。
而且随着参数ε的减少,数据的隐私保护就越强,但是于此同时它的效用就越低。就像这个图从左往右看,参数的值是逐渐变小的,数据的隐私保护就越强,但是导致的结果就是数据的效用性变差。
由于参数ε不能人为的控制,于是就有了(ε,δ)差分隐私(宽松的差分隐私)。
(ε,δ)差分隐私的定义和ε-差分隐私的定义差不多就是多了一个参数δ。(ε,δ)差分隐私的数学公式如下:这个参数δ也是一个隐私预算,是一个可以人为控制的参数。引入参数δ(一般取值为大于0 的数,并且是一个比较小的数)可以使得在保持不等式左边的概率不变的情况下,参数ε变小。这样就可以使数据效用性不变的情况下,参数ε变小,从而导致隐私保护性变强。
差分隐私的两种机制在介绍两种机制之前先了解下敏感度这个概念。(说明:本文的D和X都是表示数据集的意思)
举个例子,在数据库查询中:
SELECT COUNT()
FROM D
WHERE Type = “心脏病”
当我们修改D中任意一个病患的数据,上述查询结果最多会改变1。
如果我们能用机制生成的噪声来“掩盖”这种不大于1的改变,就能满足差分隐私。那么这种不大于1的改变称为敏感度。再举个例子,数据库查询:
SELECT 3COUNT()
FROM D
WHERE Type = “心脏病”
当我们修改D中任意一个病患的数据,上述查询结果最多会改变3.
如果我们能用这种机制生成的噪声来“掩盖”这种不大于3的改变,就能满足差分隐私。
像这种不大于3的改变称为最大敏感度。这是敏感度的公式
拉普拉斯机制是对数值型数据添加噪声的一种机制。其中λ是等于敏感度/ε,则称满足ε-差分隐私。
指数机制是对非数值型数据添加噪声的一种机制。如果随机算法A以正比于e的ε乘以打分函数再除以2倍的敏感度的概率从输出域中选择一个输出,则算法A利用了指数机制实现了差分隐私。具体公式如下图
打分函数q(D,Ri)是对每一种可能的输出都得到一个分数,归一化之后作为查询返回的概率值。
参考文献
https://baike.baidu.com
https://zhuanlan.zhihu.com/p/139114240
https://zhuanlan.zhihu.com/p/144318152