跳到内容

14.2 Pseudonymisation、匿名化与链接攻击:删除姓名远远不够

预言厅删除了姓名,把哨兵编号做 SHA-256 后把分析表发给外部研究者。对方掌握一份人员编号字典,很快算出相同 hash;即使没有字典,也能用精确驻地、班次和稀有事件锁定个人。

去掉直接标识符通常只是 pseudonymisation 或去标识化步骤,不自动产生匿名数据。是否可识别取决于数据、接收者、可用辅助信息和合理可行的攻击。

本课目标

  • 区分直接标识、间接标识、singling out、linkability 与 inference;
  • 理解 masking、tokenisation、加密、泛化和聚合的边界;
  • 评估散列、映射表和外部链接风险;
  • 为数据发布设计攻击测试和持续复审。

1. 识别不要求知道姓名

如果一条记录能稳定区分同一个人,或能影响一个具体的人,即使不知道真实姓名,也可能存在识别风险。

攻击目标包括:

  • singling out:从群体中隔离某个人的记录;
  • linkability:把同一人的多个记录/数据集连接;
  • inference:从已知信息推断敏感属性;
  • re-identification:把记录关联回现实身份。

精确时间、位置、年龄、罕见事件和轨迹组合常比单列更危险。

2. Pseudonymisation 与匿名化

Pseudonymisation 把直接身份与分析数据分开,额外信息可使其重新关联。例如随机 token 与独立保管的映射表。它能减少暴露和控制链接,却通常仍应按个人数据保护。

匿名化要求在具体发布环境下,人不再可合理识别。公开发布、受控研究室和组织内部使用面对的攻击者、辅助数据和控制不同,匿名判断也不同。

不要把“匿名”当一次性标签。新公开数据、计算能力、接收者变化和数据积累会改变识别风险,需要定期复审。

3. 技术分别解决什么

Masking

ali***@example.com 仍可能直接指向个人,适合界面最少展示,不是匿名化。

Tokenisation

用随机 token 替换标识,映射表分离、加密并严格授权。随机 token 不暴露原标识的数学关系,但映射表泄露会恢复身份。

Keyed pseudonym

需要确定性 join 时,可用受密钥保护的 MAC/HMAC 方案并隔离密钥。不要对小而可枚举的编号直接做无密钥 hash;攻击者能离线猜测。密钥轮换、作用域和跨数据集链接策略要设计。

Encryption

保护静态或传输数据,授权解密后仍是原始个人数据。确定性加密还会泄露相等模式。

Generalisation / suppression

把年龄改成区间、位置改成区域、删除稀有记录,降低细粒度链接,但会损失分析效用且不保证无法识别。

Aggregation

只发布群体统计可减少行级暴露;小单元、差分查询和多个交叉表仍可能泄露。

4. 为什么截断 SHA-256 不是 tokenisation

旧稿把 sha256(user_id)[:16] 称为“不可逆 token”。问题包括:

  • 用户 ID 域可能很小,可被穷举;
  • 相同输入跨表产生相同值,扩大链接;
  • 截断增加碰撞概率;
  • 没有密钥和隔离边界;
  • 原列删除不影响其他准标识符;
  • 无法按主体安全地轮换或撤销映射。

不可从摘要直接求原文,不等于攻击者不能猜中原文。方案必须从攻击模型和链接需求出发。

5. k-anonymity 等模型的边界

k-anonymity 试图让每种准标识符组合至少有 k 条记录。它可帮助发现唯一组合,但:

  • 同组敏感值相同会发生属性披露;
  • 攻击者的背景知识仍可缩小范围;
  • 高维数据会迫使大量泛化;
  • 它不管理多次发布和组合查询;
  • k 的选择没有脱离场景的万能值。

l-diversity、t-closeness 等扩展缓解部分问题,但仍依赖准标识符和攻击假设。需要针对具体接收者与发布方式评估。

6. 合成数据也可能记住个人

合成数据可减少直接复制,但生成模型可能记忆训练样本,稀有记录或条件查询仍可能泄露。验证:

  • 与训练记录的最近邻和重复;
  • membership/attribute inference 风险;
  • 稀有群体与极端值;
  • 下游效用和群体偏差;
  • 生成方法是否提供可证明隐私保证。

“synthetic”描述生成方式,不是隐私等级。

7. 发布环境决定控制强度

公开发布

无法控制接收者和未来链接,通常需要最强降低粒度、查询机制或形式化隐私保证。

受控共享

可结合合同、身份、隔离环境、输出检查、禁止链接、审计和销毁证明。组织控制降低风险,但不能替代技术最小化。

内部使用

内部人员、日志复制和权限扩散仍是威胁。pseudonym mapping 应由不同职责控制,分析环境默认不提供重识别路径。

8. 重识别风险评估

text
1. 明确发布数据、接收者和允许用途
2. 列出直接/间接标识与推断属性
3. 盘点合理可得辅助数据和攻击能力
4. 测试 singling out、linkability、inference
5. 应用变换与组织控制
6. 重新测量效用、群体影响和残余风险
7. 独立复核并记录发布决定
8. 监控环境变化、撤回与到期

受控重识别测试需要明确授权和安全环境;不要把真实数据交给无授权“红队”尝试。

常见误区

  • 删除姓名就是匿名:轨迹和准标识符仍可能识别。
  • hash 是不可逆的,所以安全:可枚举输入可被字典攻击。
  • 内部数据无需匿名风险评估:内部链接能力往往更强。
  • 合成数据天然不含个人信息:模型可能复制或泄露训练样本。

练习

  1. 对一份轨迹表列出 singling out、linkability 和 inference 攻击。
  2. 比较无密钥 hash、HMAC 和随机 token 的链接与密钥风险。
  3. 对 k-anonymous 表构造同质性攻击。
  4. 为公开发布和受控研究环境分别设计控制,并解释差异。

小结

去标识化是风险降低过程,不是删除几列后的永久标签。技术是否有效,要结合接收者、辅助信息、链接目的和持续变化的攻击环境判断。

下一课介绍一种不同的思路:差分隐私不试图隐藏每行外观,而是限制一个人的加入或离开对发布结果分布的影响。

Built with VitePress | Software Systems Atlas