一、对于隐私的理解
在不同的考量下,隐私的定义也不一样。
百度百科给出的定义:隐私就是一种与公共利益、群体利益无关,当事人不愿意他人知道或他人不便于知道的信息。
目前普遍比较接受的定义是:“单个用户的某一些属性”可以被看做是隐私。注意该说法所强调的是“单个用户”,也就是说,如果是一群用户的某一些属性,那么可以不看做隐私。
比如,医院发布调查报告说,抽烟的人会有更高几率得肺癌,这个不泄露任何隐私。但是如果医生说,张三因为抽烟,所以有x%的概率得肺癌,这就是个人隐私的泄露。
如果我们拥有一个数据库,那么对精确的个体信息的查询与检索都会泄露隐私,因此对于个人数据的加密是最基本的保护隐私策略。然而,就算我们对个人数据进行了加密,对一群用户的某些属性的查询,以及对查询结果进行加工与建模,也就是“数据分析”,往往也会泄露个人隐私。
那通过分析数据怎么获取个人隐私呢?
比如要查询一个大型医疗数据库,如果我们知道A的信息在数据库中,就可以利用一种叫差分攻击的方法得到个体的信息。可以查询有多少人患糖尿病,假如有100个人,然后条件查询,有多少不叫A的人患糖尿病,假如有99个人,这样经过差分,就得到了A患糖尿病。
差分隐私就是针对差分攻击的隐私保护框架。
二、对于差分隐私的理解
差分隐私想做的事情就是即使攻击者知道发布的100个人的信息,以及A之外另外99个人的信息,也没有办法对比这两个信息之后获取A的信息。
那如何做到这一点呢?
差分隐私就是要用一种方法让攻击者查询100个信息和查询99个信息得到的结果是一致的,这样攻击者就无法找出A的信息。
那如何做到让查询结果一致呢?
就是在查询结果里加入随机性/噪声。让查询者无法根据返回的带噪声的结果推断出原始数据。