跳到内容

8.2 去标识化与隐私风险:假名、匿名和差分隐私

删除姓名和邮箱只是移除直接标识符。时间、位置、职业、设备和行为组合仍可能唯一指向个人;外部数据集越丰富,重新识别越容易。

假名化保留了可关联性

text
person_id 42 → random pseudonym 7f8c...
mapping table 独立存储并严格授权

假名化降低日常使用时直接识别风险,便于撤换标识和分离职责,但只要组织或其他方能借映射、稳定模式或辅助数据重新关联,它仍通常属于个人数据处理。

不要用未加密 hash 处理邮箱等小空间标识:攻击者可以枚举常见输入。若需要稳定 token,可使用受控 keyed construction、用途域分离和可轮换映射服务;不同数据共享同一稳定 pseudonym 会扩大跨库关联。

匿名化是关于合理重识别风险的结论

匿名化不是某个函数名,而是结合数据、发布方式、攻击者能力和未来辅助信息评估后的风险结论。常见攻击:

  • singling out:一条记录组合唯一;
  • linkability:跨数据集关联同一个人;
  • inference:从非敏感字段推断敏感属性;
  • membership inference:判断某人是否在数据集中。

K-anonymity 等模型能帮助发现准标识符组合,但无法单独解决属性同质、背景知识和多次发布差分。每次发布分别“看起来匿名”,组合后仍可能泄露。

降低风险的方法包括泛化、分桶、抑制稀有组合、采样、聚合和受控查询环境。数据效用与风险要用真实分析任务评估,不能以删除列数衡量。

差分隐私限制单个人的边际影响

直觉上,加入或移除一个人的记录,不应显著改变发布结果的概率分布。机制使用隐私预算参数 ε(以及某些定义中的 δ)控制泄露上界。

差分隐私不是“随便加噪声”。实现需要:

  1. 定义相邻数据集和保护单位,是一行、一个用户还是一个家庭;
  2. 限制单个主体贡献次数和数值范围;
  3. 计算查询 sensitivity;
  4. 选择经过证明的机制;
  5. 跨查询组合并消耗 privacy budget;
  6. 保护预算 ledger、原始数据和查询接口。

若同一统计每天重复发布而不计算组合损失,攻击者可以平均噪声。ε 不是跨产品通用的“安全刻度”,要结合用途、群体风险、发布频率和可接受效用决策。

聚合数据也可能伤害群体

即使无法识别单个人,统计结果可能让某个小群体受到歧视、排斥或价格操纵。隐私风险评估应问:

text
哪些 data action 可能给个人或群体造成什么问题?
发生可能性与影响多大?
组织从处理获得什么价值?
能否改变用途、粒度、访问和保留降低风险?

这与纯安全威胁模型不同:执行数据处理的组织可能完全获得授权,问题仍来自处理行为本身。

模型与分析环境需要独立审查

训练数据删除不一定自动从已训练模型中消失。模型可能记忆稀有样本,embedding 和 feature store 也可能泄露敏感关系。要记录 dataset lineage、训练目的、版本、访问、保留和重新训练/退役策略,并针对 membership inference、model inversion 与输出敏感信息测试。

受控研究环境可采用最小数据视图、禁止原始导出、查询审计和输出 disclosure review。把匿名数据一次性下载给所有分析者,会失去后续控制和组合分析能力。

风险评审证据

  • 直接与准标识符有哪些,外部可获得哪些辅助数据?
  • Pseudonym mapping 和 token key 是否独立保护、可轮换?
  • 发布前是否测试唯一组合、稀有群体和多次发布组合?
  • 差分隐私是否定义保护单位、贡献界限和预算 ledger?
  • 数据、feature、模型和派生统计是否有 lineage?
  • 访问方式能否从原始下载改为受控查询?
  • 风险结论何时因新数据或新攻击能力重新评估?

下一章把这些设计约束放进交付流水线,让安全与隐私验证随每次变更重复执行。

参考资料

Built with VitePress | Software Systems Atlas