你可以把“差分隐私”理解成一种很克制的数据分析规则。它不是说“谁都别看数据”,也不是说“把名字删了就完事”,而是说:分析结果应该主要反映“整体规律”,而不是暴露“某个人在不在里面、某个人贡献了什么”。所以它关心的核心不是“保密到绝对没人知道任何事”,而是“你的加入或退出,不能让结果发生太明显的变化”。

常见的错觉

第一章接着做了一件事:它挨个拆穿一些“看起来能保护隐私,其实不太行”的直觉办法。

第一个被拆的是“匿名化”。

很多人会想,数据里把姓名、身份证、手机号删掉,不就安全了吗?但这章说得很明确:数据只要足够丰富,哪怕没有名字,也常常能重新对上人。 因为有些属性组合本身就像指纹,比如邮编、生日、性别,或者看过哪几部电影、什么时间看的,这些拼起来就可能唯一定位某个人。这样就会发生 linkage attack,也就是“链接攻击”:把一份看似匿名的数据,和另一份公开数据拼起来,重新识别出人。书里举了马萨诸塞州医疗记录和 Netflix 观影数据的例子。

这里你可以把匿名化想成“把照片上的名字涂黑”,但差分隐私更像“即使你把很多照片库拼起来,也很难判断某张照片里到底有没有我”。它们思路完全不同。前者是在藏身份标签,后者是在控制信息增量。

第二个被拆的是“只允许查大样本,不让查个人”。

直觉上好像很合理:不准问“张三有没有病”,只准问“有多少人有这个病”。但书里指出,这也不安全,因为可以做 differencing attack,也就是“差分攻击”。

比如先问:“数据库里有多少人有某病?”

再问:“数据库里除了张三以外,有多少人有某病?”

两个答案一减,张三有没有病就出来了。

所以问题不在于“单个查询看起来是不是面向群体”,而在于多次查询合起来,会不会把个人信息消出来。这正是后面“composition/隐私预算”特别重要的根子。

第三个被拆的是“查询审计”。

也就是搞一个管理员,盯着用户提问历史,一旦发现你后面这个问题和前面的问题一结合可能泄漏隐私,就拒绝回答。听起来像很聪明的防火墙,但书里说有两个大问题。

一个是:拒绝回答本身也可能泄密。 你一拒绝,别人反而知道“这里面有猫腻”。

另一个是:想自动判断‘这组查询会不会泄密’在计算上可能非常难,甚至不一定有通用算法可做。

第四个被拆的是“只发汇总统计就安全”。

这也是很常见的误区。大家觉得发布均值、频率、计数,已经很抽象了,没啥风险。但书里强调:统计摘要并不天然安全。 如果回答得太多、太准,攻击者可能反推出数据库中几乎所有人的敏感比特。这就是后面会讲到的 reconstruction attack 的直觉来源。

这一章有一句非常有名的话,算是全书的底层警告:

如果对太多问题给出过于准确的答案,隐私最终会被彻底摧毁。