8.2 去标识化与隐私风险:假名、匿名和差分隐私
删除姓名和邮箱只是移除直接标识符。时间、位置、职业、设备和行为组合仍可能唯一指向个人;外部数据集越丰富,重新识别越容易。
假名化保留了可关联性
person_id 42 → random pseudonym 7f8c...
mapping table 独立存储并严格授权假名化降低日常使用时直接识别风险,便于撤换标识和分离职责,但只要组织或其他方能借映射、稳定模式或辅助数据重新关联,它仍通常属于个人数据处理。
不要把不带秘密密钥的普通 hash 当作邮箱的匿名化手段:攻击者可以枚举常见或已知候选地址并比较摘要,公开 salt 也不会阻止逐条猜测。若需要稳定 token,可使用受控 keyed construction、用途域分离和可轮换映射服务;不同数据共享同一稳定 pseudonym 会扩大跨库关联。
匿名化是关于合理重识别风险的结论
匿名化不是某个函数名,而是结合数据、发布方式、攻击者能力和未来辅助信息评估后的风险结论。常见攻击:
- singling out:一条记录组合唯一;
- linkability:跨数据集关联同一个人;
- inference:从非敏感字段推断敏感属性;
- membership inference:判断某人是否在数据集中。
K-anonymity 要求按所选准标识符分组后,每组至少有 k 条记录;选错或漏掉准标识符会使这一结论失去意义。它也无法单独解决属性同质、背景知识和多次发布差分。每次发布分别“看起来匿名”,组合后仍可能泄露。
例如只发布某地区两个同龄人的记录,二人的诊断都为同一种疾病。按“地区、年龄”分组满足 k=2,但知道某人属于这一组,就能推断其诊断。人数够了,敏感属性却没有变得模糊。
降低风险的方法包括泛化、分桶、抑制稀有组合、采样、聚合和受控查询环境。数据效用与风险要用真实分析任务评估,不能以删除列数衡量。
差分隐私限制单个人的边际影响
直觉上,加入或移除一个人的记录,不应显著改变发布结果的概率分布。对任意相邻数据集 D、D' 和输出事件 S,(ε, δ)-差分隐私要求:
概率来自机制 M 的随机性。ε 限制两侧概率的乘法差异,δ 是允许的加法松弛;δ=0 时称纯差分隐私。这不是对任何现实损害给出统一概率上界。
差分隐私不是“随便加噪声”。实现需要:
- 定义相邻数据集和保护单位,是一行、一个用户还是一个家庭;
- 限制单个主体贡献次数和数值范围;
- 计算查询 sensitivity;
- 选择经过证明的机制;
- 跨查询组合并消耗 privacy budget;
- 保护预算 ledger、原始数据和查询接口。
看一个理想化计数:统计参加活动的人数,每人最多贡献 1,邻接关系定义为加入或移除一名参与者。查询敏感度 Δf=1,Laplace 机制使用尺度 b=Δf/ε;ε=0.5 时 b=2,约 95% 的噪声落在 ±5.99 人内。若每人能贡献 10 条且未去重,原来的敏感度就不成立。生产实现应采用审查过的隐私库,浮点采样等实现细节也可能破坏理想数学保证。
若对同一人群重新发布 10 次、每次使用 ε=0.5 的纯 DP 机制,基本顺序组合给出的总预算上界为 ε=5;反复展示同一个已发布结果则是后处理,不再增加预算。每天重新加独立噪声却不计算组合损失,攻击者可能通过平均降低噪声。ε 不是跨产品通用的“安全刻度”,要结合用途、群体风险、发布频率和可接受效用决策。
聚合数据也可能伤害群体
即使无法识别单个人,统计结果可能让某个小群体受到歧视、排斥或价格操纵。隐私风险评估应问:
哪些 data action 可能给个人或群体造成什么问题?
发生可能性与影响多大?
组织从处理获得什么价值?
能否改变用途、粒度、访问和保留降低风险?这与纯安全威胁模型不同:执行数据处理的组织可能完全获得授权,问题仍来自处理行为本身。
模型与分析环境需要独立审查
训练数据删除不一定自动从已训练模型中消失。模型可能记忆稀有样本,embedding 和 feature store 也可能泄露敏感关系。要记录 dataset lineage、训练目的、版本、访问、保留和重新训练/退役策略,并针对 membership inference、model inversion 与输出敏感信息测试。
受控研究环境可采用最小数据视图、禁止原始导出、查询审计和输出 disclosure review。把宣称匿名的数据一次性下载给所有分析者,会失去对后续复制、转交与跨数据集组合的可见性和控制。
风险评审证据
- 直接与准标识符有哪些,外部可获得哪些辅助数据?
- Pseudonym mapping 和 token key 是否独立保护、可轮换?
- 发布前是否测试唯一组合、稀有群体和多次发布组合?
- 差分隐私是否定义保护单位、贡献界限和预算 ledger?
- 数据、feature、模型和派生统计是否有 lineage?
- 访问方式能否从原始下载改为受控查询?
- 风险结论何时因新数据或新攻击能力重新评估?
下一章把这些设计约束放进交付流水线,让安全与隐私验证随变更重复执行。