第4章:敏感属性分类——显式标识符、准标识符、敏感属性及其角色
做隐私保护,第一步就是要搞清楚手里到底有哪些数据、它们分别是什么属性。
很多人一上来就写过滤规则,结果没过几天就被业务方追着问:「为什么用户姓名被封了?」「为什么订单金额还能查?」——说白了,就是没把属性的角色分清楚。
我个人习惯,先给数据贴标签,再动规则。今天就聊聊这三个核心分类。
4.1 三大属性分类
我们通常把属性分成三类。这张表能帮你快速区分:
| 分类 | 定义 | 典型例子 | 脱敏策略 |
|---|---|---|---|
| 显式标识符 | 能唯一指向某个个体的信息 | 身份证号、手机号、姓名、邮箱 | 必须加密或直接移除 |
| 准标识符 | 单独看不唯一,组合后可定位个体 | 出生日期、性别、邮编、民族 | 泛化或抑制处理 |
| 敏感属性 | 涉及个人隐私的核心字段 | 疾病史、收入、性取向、信仰 | l-多样性约束的重点保护对象 |
关键概念:显式标识符 + 准标识符的组合,构成「链接攻击」的基础。而敏感属性,才是我们做 l-多样性动态过滤时真正要保护的「靶子」。
4.2 显式标识符:最显眼的靶子
这类属性最好理解。你看一眼就知道「哦,这是能直接找到人的」。
- 识别规则:是否能独立指向一个自然人。
- 处理原则:在脱敏前,必须做不可逆处理。
- 避坑点:有些字段叫法很迷惑,比如「用户编号」「工号」,在公司内部确实是唯 一的,但在外部视角可能不算显式标识符。我建议,凡是你拿来能找到具体某个人的,先按显式标识符处理。
实战经验:我记得有一次对接外部数据平台,对方说只传「匿名ID」。结果发现他们所谓的匿名ID就是MD5加密的手机号。嗯,这其实还是显式标识符,因为攻击者可以对手机号空间做彩虹表攻击。
4.3 准标识符:隐形的拼图
这玩意儿最坑人。单个拿出来,啥也不是。但几个拼在一起,杀伤力比显式标识符还大。
为什么会这样?你看一个例子:
- 出生日期:1950-03-15 —— 很多人都有这天出生的。
- 性别:男 —— 一半人口都符合。
- 邮编:100101 —— 覆盖好几千人。
但是!把这三个合起来,这个组合很可能就指向唯一一个人了。这就是准标识符的威力。
| 维度 | 显式标识符 | 准标识符 |
|---|---|---|
| 唯一性 | 高 | 组合后才高 |
| 识别难度 | 低 | 中等(需要组合) |
| 脱敏难度 | 低(直接删/加密) | 高(需要泛化/扰动) |
| 常见误区 | 忽略别名 | 低估组合风险 |
曾经掉过的坑:我之前做过一个医疗数据集脱敏项目。团队把姓名、身份证号都清掉了,觉得安全了。结果发现「就诊日期+科室+年龄+性别」这个准标识符组合,能确定出超过 80% 的患者身份。从那以后,我要求每个项目必须把准标识符组合的识别度查一遍。
4.4 敏感属性:我们要守护的核心
你想想看,做 l-多样性,本质就是为了保护敏感属性不被逆向推断出具体用户。
- 定义:用户不愿意被公开的私密信息。
- 常见类型:医疗诊断、收入区间、信用评级、政治观点、宗教信仰、性取向。
- 在 l-多样性中的角色:它是「最后一道防线」的守卫对象。规则中要求每个等价类内,敏感属性至少有 l 种不同的值。
比如说,一个等价类里 10 个人,如果 9 个人都得了同一种罕见病,那这个等价类的 l-多样性就是 1,fail。如果一个等价类里 5 个人有 5 种不同的病,那 l-多样性就是 5,pass。
4.5 三者之间的相互影响 & 一张图讲明白
这三个属性不是孤岛。它们的关系可以这样理解:
- 显式标识符是「门牌号」,直接告诉你住在哪。
- 准标识符是「拼图的碎片」,几片拼起来也能找到你。
- 敏感属性是「房间里的秘密」,是最不想让人知道的。
攻击者的手法,通常是利用显式标识符或准标识符来「链接」到你身上,然后偷看你的敏感属性。
4.6 实战中如何做分类
我建议按以下流程来:
- 先拉字段清单:把表里的所有列列出来。
- 标显式标识符:直接标记,准备加密或摘除。
- 识别准标识符:哪些字段在外部也能查到?比如性别、年龄、地域。
- 标记敏感属性:业务中最需要注意的隐私字段。
- 确认组合风险:把准标识符两两组合测试,看能锁定多少比例的用户。
# 分类示例:用户表 schema
字段列表:
- user_id → 显式标识符(立即加密)
- name → 显式标识符(脱敏或删除)
- birth_date → 准标识符(需泛化到年份)
- gender → 准标识符
- city → 准标识符
- diagnosis_code → 敏感属性(l-多样性重点保护)
- annual_income → 敏感属性(l-多样性重点保护)
一句话总结:显式标识符直接指向人,准标识符间接指向人,敏感属性是我们真正要保护的秘密。弄清楚这三者的角色,你才能写好 l-多样性的动态过滤规则。