什么是数据脱敏?
数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。 指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。
生活中不乏数据脱敏的例子,比如我们最常见的火车票、电商收货人地址都会对敏感信息做处理,甚至女同志较熟悉的美颜、有些视频中的马赛克都属于脱敏。
为什么要进行数据脱敏?
上面说到,在“涉及客户安全数据或者一些商业性敏感数据的情况下”对数据进行改造,说明我们要进行改造的数据是涉及到用户或者企业数据的安全,进行数据脱敏其实就是对这些数据进行加密,防止泄露。
对于脱敏的程度,一般来说只要处理到无法推断原有的信息,不会造成信息泄露即可,如果修改过多,容易导致丢失数据原有特性。因此,在实际操作中,需要根据实际场景来选择适当的脱敏规则。改姓名,身份证号,地址,手机号,电话号码等几个客户相关字段。
如何实现数据脱敏
按照脱敏规则,可以分为可恢复性脱敏和不可恢复性脱敏。可恢复性脱敏就是数据经过脱敏规则的转化后,还再次可以经过某些处理还原出原来的数据,相反,数据经过不可恢复性脱敏之后,将无法还原到原来的样子,可以把二者分别看做可逆加密和不可逆加密。
隐私数据脱敏技术
通常在大数据平台中,数据以结构化的格式存储,每个表有诸多行组成,每行数据有诸多列组成。根据列的数据属性,数据列通常可以分为以下几种类型:
- 可确切定位某个人的列,称为可识别列,如身份证号,地址以及姓名等。
- 单列并不能定位个人,但是多列信息可用来潜在的识别某个人,这些列被称为半识别列,如邮编号,生日及性别等。美国的一份研究论文称,仅使用邮编号,生日和性别信息即可识别87%的美国人。
- 包含用户敏感信息的列,如交易数额,疾病以及收入等。
- 其他不包含用户敏感信息的列。
所谓避免隐私数据泄露,是指避免使用数据的人员(数据分析师,BI工程师等)将某行数据识别为某个人的信息。
数据脱敏技术通过对数据进行脱敏,如移除识别列,转换半识别列等方式,使得数据使用人员在保证可对#2(转换后)半识别列,#3敏感信息列以及#4其他列进行数据分析的基础上,在一定程度上保证其无法根据数据反识别用户,达到保证数据安全与最大化挖掘数据价值的平衡。
隐私数据泄露类型
隐私数据泄露可以分为多种类型,根据不同的类型,通常可以采用不同的隐私数据泄露风险模型来衡量防止隐私数据泄露的风险,以及对应不同的数据脱敏算法对数据进行脱敏。一般来说,隐私数据泄露类型包括:
个人标识泄露:
当数据使用人员通过任何方式确认数据表中某条数据属于某个人时,称为个人标识泄露。个人标识泄露最为严重,因为一旦发生个人标识泄露,数据使用人员就可以得到具体个人的敏感信息。
属性泄露:
当数据使用人员根据其访问的数据表了解到某个人新的属性信息时,称为属性泄露。个人标识泄露肯定会导致属性泄露,但属性泄露也有可能单独发生。
成员关系泄露:
当数据使用人员可以确认某个人的数据存在于数据表中时,称为成员关系泄露。成员关系泄露相对风险较小,个人标识泄露与属性泄露肯定意味着成员关系泄露,但成员关系泄露也有可能单独发生。
数据脱敏常见方法
常见方法:
1、替换:如统一将女性用户名替换为F,这种方法更像“障眼法”,对内部人员可以完全保持信息完整性,但易破解。
2、重排:序号12345 重排为 54321,按照一定的顺序进行打乱,很像“替换”, 可以在需要时方便还原信息,但同样易破解。
3、加密:编号 12345 加密为 23456,安全程度取决于采用哪种加密算法,一般根据实际情况而定。
4、截断:13811001111 截断为 138,舍弃必要信息来保证数据的模糊性,是比较常用的脱敏方法,但往往对生产不够友好。(丢失字段的长度)
5、掩码: 123456 -> 1xxxx6,保留了部分信息,并且保证了信息的长度不变性,对信息持有者更易辨别, 如火车票上得身份信息。(常用方法)
6、日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00,舍弃精度来保证原始数据的安全性,一般此种方法可以保护数据的时间分布密度。
脱敏规则想法是:
1、【中文姓名】只显示第一个汉字,其他隐藏为2个星号,比如:李**
2、【身份证号】显示最后四位,其他隐藏。共计18位或者15位,比如:*************1234
3、【固定电话】 显示后四位,其他隐藏,比如:*******3241
4、【手机号码】前三位,后四位,其他隐藏,比如:135****6810
5、【地址】只显示到地区,不显示详细地址,比如:上海徐汇区漕河泾开发区***
6、【电子邮箱】 邮箱前缀仅显示第一个字母,前缀其他隐藏,用星号代替,@及后面的地址显示,比如:d**@126.com
7、【银行卡号】前六位,后四位,其他用星号隐藏每位1个星号,比如:6222600**********1234
8、【密码】密码的全部字符都用代替,比如:***