大名鼎鼎的差分隐私到底是什么(一)

150 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

背景陈述

随着互联网的蓬勃发展,各大应用厂商直接的用户信息互通也不再是一件特别新奇的事情,每每当我们在一些别的渠道刚刚浏览完某些商品,一打开购物软件便弹出相对应的商品推荐。我们在感慨软件智能化的同时,也不由的担心自己的隐私是否能够得到安全有效的保护,因而隐私如何得到很好的防护这一大问题也成为各位网上冲浪朋友关心的一大热题,因而差分隐私这一概念也随之提出并得到业界的高度认可。

整体介绍

[文章](Differentially private average consensus: Obstructions, trade-offs, and optimal algorithm design - ScienceDirect)

差分隐私的本质是为了防范数据库的攻击的一种手段,攻击者常常会利用信息差这一种方法来变相的获取用户的信息,其本质上是在数据库原有的数据基础之上,通过检测新添加用户的信息获得一个新的数据库整体再通过观察添加的信息反向推导出用户的信息。

那么在了解了攻击者的攻击手段之后我们就也想到,如果新添加的用户信息不会影响整体的数据库的信息呢,也就是说在添加的前后数据库所展示出来的数据总量是在一定的概率条件下的。

正式的解释:

  1. 差分隐私通常用于回答特定查询,实现查询的差异隐私最简单的方法就是在其答案中添加随机噪声

  2. 链接攻击:对于攻击的数据集和辅助的数据集进行表的链接,从而进行信息的匹配

所以差分隐私的实现主要还是针对于查询进行的,也就有了灵敏度这么一个概念。然后根据获得的灵敏度就可以应用拉普拉斯噪声机制来对数据进行加密从而保护数据

常见的查询方式有下列几种:

  1. 计数查询:灵敏度为1
  2. 求和查询:灵敏度取决于我们添加的行的内容 所以就会有:当被求和属性的值不存在下限和上限时, 求和查询具有无限的灵敏度。当存在下限和上限时
  3. 平均查询 :平均查询可以转化为求和查询和计数查询作差, 通过顺序组合来计算总的灵敏度

下面给出差分隐私的定义式子:

Pr[M(x)S]eϵPr[M(x)S]Pr[M(x)\in{S}]\leq{e^\epsilon}Pr[M(x')\in{S}]

M(x)=f(x)+rM(x)=f(x)+r表示的是查询结果,f(x)f(x)表示的是查询方式,x,xx,x'则表示的是两个汉明距离为1的数据集,SS则表示的是输出集合

拉普拉斯分布:

F(x)=f(x)+Lap(sϵ)F(x)=f(x)+Lap(\frac{s}{\epsilon})
loc, scale = 0., 1.
s = np.random.laplace(loc, scale, 1000)    # 拉普拉斯分布  : loc:位置   scale:规模