数据脱敏

数据脱敏(Data Masking)是一种信息安全技术,旨在保护敏感信息和隐私数据,防止未经授权的访问或泄露。它通过对原始数据进行有策略的修改或替换,创建一个看上去与原数据相似但不含真正敏感细节的数据副本,以供非生产环境如开发、测试、分析或培训等用途中安全使用。

数据脱敏的目的:

  1. 保护隐私:确保个人信息如身份证号、电话号码、银行账号等不被非法获取和利用。
  2. 合规要求:满足行业规范和法律法规对数据保护的要求,如GDPR(欧盟通用数据保护条例)等。
  3. 安全测试:在不影响真实数据安全的前提下,为软件测试、系统调试提供接近真实的测试数据。
  4. 降低风险:即便数据被非法访问,由于已脱敏,实际敏感信息不会泄露,降低了数据泄露的风险。

静态数据脱敏与动态数据脱敏:

  • 静态数据脱敏:在数据被提取并复制到非生产环境之前一次性完成脱敏处理。适用于数据外发场景,如提供给第三方或用于测试数据库。
  • 动态数据脱敏:在数据查询过程中实时进行,当用户访问敏感数据时,系统自动对其进行脱敏处理。适用于直接连接生产数据库的场景,确保即使查看数据的行为也不会暴露敏感信息。

数据脱敏的实现流程

1.确定受限制用户角色。敏感数据的可见范围,即是针对不同用户预设的。系统管理员,具有最高权限,任何时刻对任何表的任何字段都可见。

2.识别和梳理具体业务场景中需要脱敏展示的字段

3.通常采取动态数据脱敏方案进行脱敏处理,在查询语句执行过程中,根据生效条件(通常针对当前用户角色的判断)是否满足,实现实时的脱敏处理。确定脱敏列需要绑定的脱敏函数,完成对脱敏数据的存储和获取工作。

脱敏的具体实现方案

通常利用脱敏函数实现脱敏有以下几种方案实现

下图是原始数据

不可逆脱敏

无效化方案在处理待脱敏的数据时,通过对字段数据值进行 截断加密隐藏 等方式让敏感数据脱敏,使其不再具有利用价值。一般采用特殊字符(*等)代替真值,这种隐藏敏感数据的方法简单,但缺点是用户无法得知原数据的格式,如果想要获取完整信息,要让用户授权查询。

截断方式

隐藏方式

数据替换方式

数据替换与前边的无效化方式比较相似,不同的是这里不以特殊字符进行遮挡,而是用一个设定的虚拟值替换真值。比如说我们将手机号统一设置成 “13800000000”。

可逆脱敏

对称加密是一种特殊的可逆脱敏方法,通过加密密钥和算法对敏感数据进行加密,密文格式与原始数据在逻辑规则上一致,通过密钥解密可以恢复原始数据,要注意的就是密钥的安全性。

建议代码脱敏实现方案

  1. 后端尽量避免返回敏感信息给前端

  2. 采⽤可逆的脱敏方法进行脱敏处理,目的是前后端可以解密使用的脱敏数据(否则采取简单的屏蔽删除方式进行脱敏,当需要数据交互时则无法实现)

  3. 数据脱敏和数据加密虽然是不同的技术,但在实际应用中,往往会结合使用,以增强对数据的保护。比如,在存储个人隐私数据时,可以先对敏感数据进行脱敏处理,然后再对整个数据进行加密。这样一来,即保护了个人隐私,又保证了数据的安全性。

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐