安全脱敏
简答: 安全脱敏不是盖一个黑框,而是删除文字和隐藏文字层、覆盖图片里的像素,再把整个文件重写,清掉元数据、附件、脚本和历史版本,最后重新打开输出文件逐项检查有没有残留。
能找到什么
默认勾选:中国大陆身份证号、台湾身份证号、香港身份证号、泰国身份证号、新加坡 NRIC/FIN、银行卡号、中国和泰国手机号、国际电话号码、邮箱。
可选:韩国居民登录号、日本 My Number、印度 Aadhaar、美国 SSN、英国 NI 号码、马来西亚身份证、IBAN 银行账号。
能校验的都按校验位或日期校验,例如身份证号按 GB 11643 校验码、银行卡号按 Luhn 算法、IBAN 按 mod 97,以减少把普通数字串误认成证件号。可以在证件号格式测试里试一试规则。
另外可以添加自定义关键词,例如姓名。
执行时做了什么
- 删除文字:删除文字层中的字符,以及该区域下扫描件常带的隐藏 OCR 文字。
- 覆盖像素:扫描图像中对应区域的像素被覆盖,完全被覆盖的矢量图形被移除。
- 加标记:每处画一个黑框,或带「已脱敏」标签的框。
- 整体重写:把文件从头重写,不保留旧的增量版本,清除文档信息和 XMP 元数据、附件、JavaScript、表单、注释、书签、结构化标签文字、缩略图,以及 JPEG 图片里的 EXIF、XMP 和注释。
保存后检查残留
保存后自动重新打开输出文件,逐项检查:
| 检查项 | 说明 |
|---|---|
| 页面文字与隐藏文字层 | 原文不应能被提取或搜索到 |
| 扫描图像像素 | 对处理过的区域重新识别,不应读出原文 |
| 文件对象中的字符串与数据流 | 原文不应以任何编码出现在文件里 |
| 文档信息与 XMP 元数据 | 应为空 |
| 注释、表单、附件、脚本、书签 | 应不存在 |
| 图片内嵌 EXIF / XMP / 注释 | 应已清除 |
| JBIG2 共享符号字典 | 出现时只提醒,不算失败 |
| 历史版本 | 文件只能有一个版本 |
结果显示在保存横幅里,并写入操作记录。检查原理见如何验证脱敏是否干净。
风险等级不影响脱敏
脱敏只删除信息,不改写内容,所以任何风险等级的文件都可以脱敏。
常见问题
和「替换为空」有什么区别?
替换为空只删掉看得见的文字。安全脱敏还会删除隐藏文字层、覆盖扫描图像的像素,并整体重写文件,清除元数据、附件、脚本、注释、书签和历史版本。
扫描件里的身份证号也能找到吗?
能。文字层和扫描图片都会查,扫描页按标准识别模型全文识别后再按规则查找。
结果列表会显示被删除的内容吗?
结果列表里的内容一律部分遮掩显示。操作记录只写类别和位置,不写被删除的文字。
能加自定义关键词吗?
能。例如姓名、项目代号,可以手动输入,也可以从表格的第一列导入。