数据脱敏
本文约需 2 分钟阅读
数据脱敏是指对生产环境的敏感数据进行加工,使其能够在非生产环境 (开发、测试、分析) 中安全使用的技术。将信用卡号「 4111-2222-3333-4444 」替换为「 XXXX-XXXX-XXXX-4444 」就是典型处理方式,它在保持数据格式和统计特性的同时,使个人无法被识别。截至 2025 年,随着 GDPR 和修订后的个人信息保护法日趋严格,在开发与测试环境中引入数据脱敏已成为事实上的必备要求。
现场使用案例
“在将生产数据库的副本部署到预发布环境时,我们会对客户的姓名、地址、电话号码全部进行脱敏处理。上个月的审计中发现了一个遗漏脱敏的字段,因此我们强化了参照完整性检查脚本。”
与令牌化的区别
数据脱敏与令牌化容易被混淆,但二者有本质区别。由于数据脱敏对原始数据进行不可逆变换,因此无法从脱敏后的数据还原出原始值。而令牌化保留了令牌与原始数据的对应表 (令牌库),因此具有权限的人可以还原出原始值。无需还原的数据脱敏适合开发与测试环境,而像支付处理那样事后仍需原始数据的场景则适合令牌化。数据保护入门书 (Amazon)可以系统地学习这方面知识。
主要的脱敏手法
实务中使用的手法大致有 4 种。置换 (Substitution) 是用并不存在的值进行替换的方法,例如将姓名转换为随机的名字。混洗 (Shuffling) 在同一字段内交换数值,在保持统计分布的同时切断与个人的关联。置空 (Nulling) 是将值替换为 NULL 或固定值的最简单方法,但作为测试数据的可用性会降低。格式保留加密 (FPE) 生成与原始数据格式相同的密文,将对既有系统的影响降到最低。与加密结合,可以实现多层防护。
实务中的应用要点
随着GDPR和个人信息保护法的施行,将生产数据原封不动地复制到开发环境的做法会带来法律风险。引入脱敏时,维持参照完整性至关重要。如果对客户表的 ID 进行了脱敏,就必须用同样的规则转换订单表的外键,否则测试将无法进行。请用强随机密码保护脱敏工具的管理控制台,以防止脱敏规则被非法篡改。数据安全相关书籍 (Amazon)也很有参考价值。
这篇文章对您有帮助吗?