揭秘美国人口普查局的重建攻击
每 10 年,美国人口普查局都会向全美每个家庭提一系列问题:你家住几口人?他们多大年纪?种族和民族是什么?彼此间是什么关系?
收集到的数据质量非常高,原因有二。首先,所有家庭都有法律义务如实作答。其次,人口普查局依法必须在每次调查后将数据保密 72 年。这两点对于说服每个人如实回答至关重要。当然,唤起人们的公民意识也功不可没!
那么这些数据拿来做什么?人口普查局将其汇总,发布有关美国人口的统计数据——大量统计数据:2010 年,他们发布了超过 1500 亿条统计信息。这些数据用途广泛:科学研究、为公共政策提供依据、划定选区等等。
保密性是人口普查局使命的核心。根据法律,他们必须确保没有人能利用这些数据推断出任何个人信息。泄露此类信息甚至会面临刑事处罚!由此催生了整个研究领域:统计披露控制。它的历史甚至比本博客中提到的最古老的隐私定义(k-匿名)还要久远。
统计披露控制在实践中是怎么运作的?1990 年之前,方法相当粗糙:直接删除那些包含少于五个个体或家庭的表格。1990 年到 2010 年间,人口普查局改用了一种更精密的技术——交换。交换分两步走:先在小地理区域中随机挑选最容易被重新识别的家庭,然后在生成统计数据之前,把这些家庭的记录与其他家庭互换。交换的具体细节是保密的,目的是让攻击者更难设计攻击方案。
如今,人口普查局正在转向一个更形式化的方案:2020 年人口普查发布的统计数据将采用差分隐私。如果你读过本博客之前的文章,这个选择可能不会让你意外。差分隐私(DP)正是为解决这个问题而设计的:发布统计数据,同时不泄露任何个人信息。但这个决定绝非显而易见!往统计数据里加噪声,对数据使用者来说相当可怕。对如此复杂的发布采用 DP,更是史无前例。
那么,是什么说服了人口普查局做出这个决定?他们的科学家对 2010 年的部分数据进行了攻击实验,以评估隐私风险。结果发现,攻击的成功程度远超预期——手段简单、成本低廉,而且效果令人不安。科学家们又测算了需要增加多少交换量才能让攻击失效……结果发现效用损失将是灾难性的。抑制之类的老办法同样无济于事。唯一能在降低风险的同时控制精度损失的方法,就是差分隐私。
当然,这个选择还有其他好处。差分隐私提供可量化的保证,组合性质良好,还能抵御非常强大的攻击者。它也有利于透明度:人口普查局将首次能够公开其流程细节。但这些理论优势并非决定性因素。选择 DP 归根结底是出于务实考量:它在不过多牺牲效用的前提下,最有效地防范现实攻击。
在这篇博文中,我们将深入剖析这次攻击的细节——它正是促成这一决定的核心。攻击分为两个阶段:重建和重新识别。
重建
攻击的第一步,是利用统计数据重建原始记录。统计数据长什么样呢?在每个地理区域(比如人口普查区块),我们可以得到这些问题的答案:那里有多少 47 岁的人?有多少 25 到 29 岁的人自认是白人?有多少家庭是 2 个大人带 2 个小孩?
我们怎么利用这些信息重建原始记录?来看一个简化版的例子。假设某个虚构的人口普查区块住着四个人:
| 年龄 | 种族 |
|---|---|
| 17 | 白人 |
| 17 | 亚裔 |
| 43 | 白人 |
| 47 | 亚裔 |
现在,假设我们有以下关于这个区块的统计数据:
- 总共有四个人。
- 其中两人年龄为 17 岁。
- 其中两人自认为白人。
- 其中两人自认为亚裔。
- 自认为白人的人平均年龄是 30 岁。
- 自认为亚裔的人平均年龄是 32 岁。
这些数据本质上是聚合的:每个数字都是对几个人(这里是两个)的汇总。但根据这些数字反推原始表格,并不困难。
还不明显?来看那两个 17 岁的人。根据第 1、3、4 点:
- 要么两人都自认为白人,
- 要么两人都自认为亚裔,
- 要么一人自认白人,另一人自认亚裔。
第一种情况不可能:如果两人都是白人,平均年龄应该是 17 岁,而不是 30 岁(第 5 点)。第二种情况也不可能,原因相同(第 6 点)。所以只有第三种情况成立。现在我们已经确定了前两条记录,再用各组的平均年龄就能推算出另外两人的年龄。就像一个有趣的谜题!
这就是重建攻击的核心思路:利用统计信息,通过简单推理逆向还原原始记录。当然,面对数十亿条统计数据时,我们不可能手工完成。相反,我们把数据转化为一个庞大的线性方程组。每条个人信息都是一个未知变量,数据给出了它们之间的约束关系。然后借助大型计算机求解这个方程组,得到的解就是重建后的记录。
人口普查局的团队正是这么做的——用 2010 年人口普查的统计数据,将其转化为大量方程,再用 Gurobi 求解来重建原始数据。重建结果与 46% 的原始记录完全吻合。这相当惊人!要知道,攻击中只用了全部统计数据的一小部分(1500 亿条中仅用了 62 亿条)。可见,交换远不足以阻止准确的重建。
乍一看,这个结果确实可怕。但先别急:这到底有多严重?46% 这个数字究竟说明了什么?
重建有多糟糕?
想象某个普查区块的人口特别同质:100 个居民中,95 个都自认为白人,年龄均匀分布在 20 到 39 岁之间。其余 5% 不属于这个群体,我们也没有任何关于他们的信息。
我们能以高准确率"重建"这个数据集吗?能,而且比想象中更容易:直接用多数群体的数据,忽略少数人口就行。实际操作时,对 20 到 39 岁之间的每个年龄,输出 5 条该年龄的记录,种族都设为白人。
给定这个区块的统计数据,这种简单猜测很可能非常接近真实情况。毕竟只有 5% 的人不属于多数群体,其余 95% 的分布我们一清二楚。回顾上一节的成功指标——真实数据与重建数据之间匹配记录的百分比——这种简单策略的表现会非常好!如果年龄分布足够均匀,准确率可达 95% 左右。
那这个过程有没有泄露敏感信息呢?嗯……并没有,对吧?所有重建的记录都和多数群体一模一样,似乎没有泄露什么特别敏感的信息……少数群体在攻击中也是安全的。
这些重建记录到底有多成问题,还说不准。我们得到的只是一份与统计数据兼容的记录列表,但我们怎么知道哪些是真的?又怎么利用它们获取关于某个人的新信息?
这些问题说明,人口普查局那个 46% 的数字本身并不能说明太多。但人口普查局没有止步于重建。攻击还有第二步——重新识别——这一步的结果才真正令人毛骨悚然。来看看它是怎么做到的。
重新识别
在人口普查局的攻击中,重建步骤输出具有五个特征的记录:普查区块、年龄、性别、种族和民族。重新识别的思路很简单:先购买攻击者可能获取到的那种商业数据,再把这些信息与重建记录关联。
所谓"商业数据",就是字面意思:由各种公司编制的个人信息,向任何付费者出售(或者被窃取)。这些"数据经纪人"公司在美国基本不受监管,隐私实践可想而知有多糟糕。在攻击实验中,人口普查局从五家不同公司获取了数据,目的是模拟攻击者在 2010 年可能获得的信息。
这些商业数据集通常包含姓名以及相关人口统计信息:住址、年龄(或出生日期)、性别。我们就用这三个特征来重新识别重建的记录。
具体做法很简单。逐条查看商业数据集中的记录,尝试将每条记录的特征与重建记录匹配。如果某条重建记录恰好有相同的位置、年龄和性别,就把两条记录关联起来。以下是这个过程的可视化(使用虚构数据)。蓝色是商业数据集,绿色是重建的普查记录。
这样关联两个数据集,可以实现两个目标:
- 确认重建记录对应的是某个具体的人。也就是说,我们能重新识别这条重建记录。这里,商业数据告诉我们这个人是 James Link。
- 获得关于这个人更多的信息——商业数据里没有的信息。这里,我们知道了 James Link 的种族和民族。
怎么量化这次攻击的效果?可以看两个数字。第一,有多少记录能通过这种方式在两个数据集之间建立关联?第二,在这些关联记录中,有多少是准确的?毕竟有些重新识别可能是错误的:两个数据集都可能不完整或不准确。正确答案的比例就是攻击的精确度:
那攻击效果如何?人口普查局科学家在两个数据集之间关联了 1.38 亿条记录,平均精确度为 38%。也就是说,攻击成功重新识别了 5200 万条记录。触目惊心!
有人可能会说,攻击者又不知道哪些记录被正确识别了,其中会有假阳性!38% 的把握并不高。但人口普查局科学家的分析没有就此止步。两个进一步的因素让攻击更加可怕:
- 对于小型普查区块中的人,重新识别精确度反而更高:在最小的普查区块(800 万人居住于此)上达到 72%。这合情合理:少数人身上的统计数据比大群体的聚合信息更具揭示性。这不意外,但仍是坏消息——少数群体面临更大的重新识别风险。而披露避免要保护的恰恰是这些人!
- 如果某人拥有更高质量的数据,精确度也会上升。人口普查局科学家用了一个巧妙的技巧来估算最坏情况:直接用原始普查数据来近似攻击者可能找到的最佳数据。结果表明,全局精确度升至 75%,在小型普查区块上甚至高达 97%。
这种高质量数据的假设不现实吗?不,原因有二:
- 攻击中使用的商业数据是 2010 年能获取到的——已经超过 10 年前了。到现在,数据经纪人手上有更好的数据待价而沽。
- 重新识别步骤只需要针对目标的高质量数据。即使我们只想重新识别一个人或少数几个人,攻击同样有效。有了关于他们的高质量信息,精确度就能飙升到这些最坏情况的数字。
没有什么能阻止企业对其员工或客户发起这种攻击。在这种场景下,获取高质量数据不是什么乐观假设——这是既定事实。
结论
这次攻击是个坏消息。
它无可争议地证明了两点。第一,任何人都能重建普查记录,而且大量重建记录是准确的,尤其在小型普查区块中。这不需要多大的算力:在普通笔记本电脑上几分钟内就能发起较小规模的攻击。第二,只要拥有某些人的高质量数据,就足以重新识别他们的普查记录。这种重新识别精确度很高,还能揭示事先不为人知的个人信息。
在这次攻击中,攻击者能获取种族和民族信息。数据经纪人可能想借此来充实自己的数据集。但风险还可能变得更加切实。别忘了:攻击只用了全部发布数据的一小部分,目标表格也只包含人口统计信息。如果有人转而攻击家庭表格呢?那可能暴露你同居生活的私密细节——你有同性伴侣吗?不同种族的孩子?任何掌握你基本信息的人——雇主、熟人、数据经纪人——都有可能发现。
其中一些信息极为敏感,靠数据经纪人 normally 是拿不到的。比如,重建同样适用于儿童数据,而儿童数据在美国是禁止出售的。有人可以将家庭重建与重新识别结合起来,在特定区域定位特定种族、性别和年龄段的儿童。不必细说这可能造成多大危害。
对个人的风险长远来看还可能转化为对数据质量的风险。假设普查数据不再被视为机密,这会怎样影响人们回答未来普查的意愿?少数群体本来就已经更容易对隐私产生担忧。如果人口普查局无法再保证数据机密性,情况只会更糟。
这就解释了人口普查局转向差分隐私的决定。我们描述的攻击只是一种可能,而且只用了发布数据的一小部分。人口普查还必须防范人们未来可能想到的所有其他攻击!这正是差分隐私所提供的:可证明的隐私保证,即使面对尚未被发明的攻击也不例外。

浙公网安备 33010602011771号