敏感数据到底长什么样?先把类型分清楚
做敏感数据识别,第一件事是什么?
说白了,你得先知道你找的是什么。
别笑。我见过不少团队,上来就调模型、跑特征、堆算力,结果连要识别的数据范围都没划清楚。最后模型是跑起来了,但该漏的漏,该误报的误报,白忙一场。
嗯,所以这一章我们先把地基打牢。搞清楚常见的敏感数据类型,以及它们背后的分类标准。
三大主流敏感数据类型
做企业级项目,你大概率会遇到这三类:PII、PHI 和 金融数据。它们各有各的“脾气”。
核心总结:PII 管身份,PHI 管健康,金融数据管钱。三者有时重叠,但在合规要求上差异很大。
1. 个人可识别信息(PII)
PII 是最常见、也是最杂的一类。凡是能直接或间接识别出某个自然人的信息,都算。
直接标识符:姓名、身份证号、手机号、邮箱、护照号、生物特征(指纹、人脸)。
准标识符:性别、出生日期、邮编、职位。单个看没啥问题,但组合起来就可能“人肉”出具体是谁。
我的一点经验:做 PII 识别时,别只看字段名。“user_name”、“name”、“fullName” 都算,但“nickName”就不一定。建议建一个 PII 字段别名库,交给规则引擎做第一轮粗筛。
2. 受保护的健康信息(PHI)
在医疗场景里,PHI 是红线。美国 HIPAA 法案定义了 18 类标识符,包括病历号、健康保险 ID、医疗影像、基因数据等。
我曾在一次项目中遇到过,客户把“出院小结”里的主诊断描述当作文本喂给 NLP 模型,结果里面夹着医生手写的患者身份证号。模型虽然没报错,但敏感数据就这么裸奔出去了。
我曾经踩过的坑:PHI 数据经常藏在非结构化文本里,比如医生笔记、检查报告中的“自由文本”字段。正则表达式很难全覆盖,建议先用规则召回,再用 NER 模型做精细识别。
3. 金融数据
这类数据最“值钱”,也最容易被盯上。银行卡号、信用卡 CVV、交易记录、账户余额、保单信息,都属于金融敏感数据。
不同国家有不同要求:PCI DSS 对卡号存储有严格加密规定;国内的等保 2.0 也对金融数据字段做了分级。
量化对比:
| 维度 | PII | PHI | 金融数据 |
|---|---|---|---|
| 典型字段 | 姓名、身份证、手机号 | 病历、诊断、基因 | 银行卡号、交易记录 |
| 关键法规 | GDPR/个人信息保护法 | HIPAA | PCI DSS / 等保 2.0 |
| 处置难度 | 中(字段较规整) | 高(文本非结构化) | 中高(数字序列需校验) |
| 泄露后果 | 身份盗用、隐私侵权 | 医疗歧视、隐私暴露 | 直接盗刷、资金损失 |
行业分类标准与分级体系
光知道类型还不够。你还需要一套“标尺”,来确定数据的敏感等级。级别不同,脱敏策略和访问权限也不同。
我个人习惯把分类标准分成三层来看:
- 国际通用标准:GDPR(欧盟)、HIPAA(美国)、PCI DSS(支付卡行业)
- 国家标准:中国的《个人信息保护法》、《数据安全法》、《等保 2.0》
- 行业内部标准:很多大厂会自建分级,比如阿里云的数据分级模型、腾讯的安全数据分类清单
为什么需要自己建分级?
你想想看,同样是手机号,销售线索里的和支付验证里的,敏感程度能一样吗?前者可能只是联系方式,后者直接跟资金挂钩。所以分级必须结合业务场景。
一个常用的分级模型(4 级制):
- L1 - 公开:公司官网信息、公开报告
- L2 - 内部:内部通讯录、组织架构
- L3 - 敏感:员工身份证号、薪资、客户联系方式
- L4 - 高度敏感:银行卡密码、健康记录、生物特征
建议把 L3 和 L4 作为机器学习模型的重点识别目标。
数据分类的常见误区和避坑
做数据分类最容易犯的两个错误:
- 过度依赖正则:正则表达式对格式规范的数据(如身份证、银行卡)很有效,但对自由文本中的变体(如“身份证号:110101XXXX”中的掩码写法)就抓瞎了。
- 忽略上下文:一个字段是否敏感,有时候取决于它在哪儿。比如“10086”在短信里是客服号,在余额表里就是金额。
我曾经翻车的例子:在一个金融项目中,我把“交易金额”字段直接标记为 L4 敏感。结果模型把“0.01”元的小额测试转账也报了告警。后来增加了阈值规则——只有金额超过 10000 元或连续大额时才触发。分类模型也要配合业务规则才能好用。
本章知识体系总览
我把这一章的核心逻辑画了张图,方便你一眼看明白各类敏感数据的关系和分级流程。
这张图帮你理清了敏感数据识别的“两步走”:先分类,再分级。分类靠数据类型和字段特征,分级靠业务上下文和合规要求。两者结合,才能给机器学习模型提供准确的标注目标。