1. 什么是数据脱敏
数据脱敏(Data Masking),又称数据漂白,数据去隐私化或数据变形.
百度百科对数据脱敏的定义为:指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护.在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号,手机号,卡号,客户号等个人信息都需要进行数据脱敏.
生活中不乏数据脱敏的例子,比如我们最常见的火车票,电商收货人地址都会对敏感信息做处理,甚至女同志较熟悉的美颜,有些视频中的马赛克都属于脱敏.
2. 为什么要进行数据脱敏
上面说到,在”涉及客户安全数据或者一些商业性敏感数据的情况下”对数据进行改造,说明我们要进行改造的数据是涉及到用户或者企业数据的安全,进行数据脱敏其实就是对这些数据进行加密,防止泄露.
对于脱敏的程度,一般来说只要处理到无法推断原有的信息,不会造成信息泄露即可,如果修改过多,容易导致丢失数据原有特性.因此,在实际操作中,需要根据实际场景来选择适当的脱敏规则.改姓名,身份证号,地址,手机号,电话号码等几个客户相关字段.
3. 如何实现数据脱敏
常见的处理方法如下几种有:
- 替换:如统一将女性用户名替换为F,这种方法更像”障眼法”,对内部人员可以完全保持信息完整性,但易破解.
- 重排:序号12345重排为54321,按照一定的顺序进行打乱,很像”替换”, 可以在需要时方便还原信息,但同样易破解.
- 加密:编号12345加密为23456,安全程度取决于采用哪种加密算法,一般根据实际情况而定.
- 截断:13811001111截断为138,舍弃必要信息来保证数据的模糊性,是比较常用的脱敏方法,但往往对生产不够友好.
- 掩码: 123456 -> 1xxxx6,保留了部分信息,并且保证了信息的长度不变性,对信息持有者更易辨别, 如火车票上得身份信息.
- 日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00,舍弃精度来保证原始数据的安全性,一般此种方法可以保护数据的时间分布密度.
但不管哪种手段都要基于不同的应用场景,遵循下面两个原则:
- remain meaningful for application logic(尽可能的为脱敏后的应用,保留脱敏前的有意义信息)
- sufficiently treated to avoid reverse engineer(最大程度上防止黑客进行破解)