CS--differential privacy 差分隐私

differential privacy 差分隐私

  一种数据库隐私保护技术。
  从隐私保护的角度来说,隐私的主体是单个用户,只有牵涉到某个特定用户的才叫隐私泄露,发布群体用户的信息(一般叫聚集信息)不算泄露隐私。
  那么我们是不是可以任意发布聚集信息呢?倒是未必。我们设想这样一种情况:医院发布了一系列信息,说我们医院这个月有100个病人,其中有10个感染HIV。假如攻击者知道另外99个人是否有HIV的信息,那么他只需要把他知道的99个人的信息和医院发布的信息比对,就可以知道第100个人是否感染HIV。这种对隐私的攻击行为就是差分攻击。
  差分隐私于是定义:如果你能找出一种方法让攻击者用某种方式查询100个信息和查询那99个信息得到的结果是一致的,那攻击者就没办法找出那第100个人的信息了。但这个“一致” 怎么做到呢?那就加入随机性吧。如果查询100个记录和查询99个记录,输出同样值的概率是一样的,攻击者就无法进行差分攻击。这里我们就得到了差分隐私的核心思想:对于差别只有一条记录的两个数据集,查询它们获得相同值的概率非常非常的接近。

如何做到差分隐私

  其实就是在查询结果里加入随机性。任何一种方法,只要用在数据集上能满足差分隐私的核心思想,那这个方法就是满足差分隐私的。所以最常用的方法是在结果上加满足某种分布的噪音,使查询结果随机化。

  目前常用的有两种方法:
  1)一个是Laplace机制,在查询结果里加入Laplace分布的噪音,适用于数值型输出。例如:zhihu里有多少人是985大学毕业的? 假如结果是2000人,那么每一次查询得到的结果都会稍稍有些区别,比如有很高的概率输出2001,也有较高概率输出2010, 较低概率输出1990,等等。

  2)另外一个是指数机制,在查询结果里用指数分布来调整概率,适用于非数值型输出。例如:中国top 3大学是哪一所。很高概率输出 浙江大学,较高概率输出上海交大,较低概率输出武汉大学,很低概率输出蓝翔技校,等等。

原则和实例

  差分机密性是将随机性引入数据的过程。
  一个社会学简单的例子,根据以下流程要求被提问者回答“你拥有属性A?”的问题,对方的回复流程是:
  1. 扔一枚硬币。
  2. 如果正面朝上,然后诚实回答。
  3. 如果反面朝上,然后再扔硬币,如果正面回答“是”,如果反面回答“否”。
  保密性来源于个人答复的可纠正性。但总的来说,这些有很多答案的数据是非常重要的,因为没有属性A的人给予四分之一的肯定答案,实际拥有属性A的人给出四分之三的肯定答案。如果p是A的真实比例,那么我们期望得到(1/4)(1-p)+(3/4)p =(1/4)+ p / 2的肯定答案。因此可以估计p。

猜你喜欢

转载自blog.csdn.net/wydbyxr/article/details/84530249