阿里张弛:企业数据安全中的数据脱敏

阿里张弛:企业数据安全中的数据脱敏


分享嘉宾:张驰 阿里巴巴本地生活

编辑整理:罗擘 香港中文大学

出品平台:DataFunTalk


导读:随着各国数据安全保护法的颁布,数据安全已经成为大数据应用行业的关键课题。如何在不影响数据使用的前提下,保护用户数据隐私,进行大数据分析和挖掘是相关从业者的一大难题,而“数据脱敏”正在成为解决这一行业性难题的关键技术。今天和大家分享企业数据安全中的数据脱敏技术及其应用,主要包括以下几方面内容

  • 数据脱敏相关概念

  • 数据脱敏常见技术方法

  • 企业内部常见数据脱敏场景

  • 数据脱敏延伸思考

01
数据脱敏相关概念

首先和大家分享下数据脱敏的相关概念。

阿里张弛:企业数据安全中的数据脱敏

广义上,数据脱敏是指不影响数据使用准确性的前提下,对原始数据中的敏感字段进行处理,从而降低数据敏感度和减少个人隐私风险的技术措施。数据脱敏方法主要是屏蔽敏感数据,例如身份证号、手机号、卡号、姓名、邮箱地址等,进行数据变形,比如打星号、字段截断等等。

数据脱敏的效果有两种,一种是去标识化,是指第三方在不借助额外信息的情况下,无法识别个人主体信息。第二种更严格的数据脱敏效果是匿名化,即使第三方借助外力,也无法识别个人主体的敏感信息。

02
数据脱敏常见技术方法

下图是国家的一个相关标准——信息安全技术个人信息去标识化指南,对脱敏技术进行了全面的介绍。

阿里张弛:企业数据安全中的数据脱敏

1. 统计技术

统计技术在数据脱敏应用中分为数据抽样和数据聚合两种方案。

  • 数据抽样是通过选取数据集中有代表性的子集来对原始数据集进行分析和评估。这种方式可以避免使用全量数据进行分析。

  • 数据聚合,经常用于统计结果中,例如最大值、平均数、环比增长、同比增长等,使用统计值来反应原始数据集中的记录属性。

2. 密码技术

密码技术在数据脱敏方案中分为确定性加密,不可逆加密和同态加密三种方案。

  • 确定性加密是一种非随机对称加密,可以使用密钥对属性进行加解密来进行数据脱敏和还原,常见于对id类数据进行处理。需要对密钥进行妥善保护。

  • 不可逆加密,一般是使用散列(hash)函数,对数据进行处理,不可直接解密,需保存映射关系。常见于对id类数据进行处理。由于hash函数的特性,会存在数据碰撞的问题。这种方式用法简单,无需担心密钥保护。

  • 同态加密,是目前比较热门的方式。这种加密方式对于密文计算的结果,解密之后和明文计算的结果是相同的,所以一般可以直接对密文进行运算。常见于对数值类字段进行处理。但由于性能原因,目前企业还没有大规模使用。

3. 抑制技术

抑制技术在数据脱敏中的应用是指对不满足隐私保护的数据项进行删除或屏蔽。主要包括屏蔽、局部抑制和记录抑制三种。

  • 屏蔽,是指对属性值进行屏蔽,例如对手机号码中间的四位数字打星号屏蔽,对地址信息只保留到省市,隐藏后面的街道门牌号等具体敏感信息。

  • 局部抑制,是指删除特定的属性值(列)的处理方式,删除非必要的数据字段。

  • 记录抑制,对某条敏感记录进行抑制,也就是删除特定记录(行),删除非必要的数据记录。和前面的数据抽样类似,通过抽取一定行数的数据,达到脱敏的效果。

4. 假名化技术

假名化技术在数据脱敏中的应用是指使用假名替换直接标识(或其它敏感标识符)。例如在开放平台,对于不同的开发者或应用,我们的平台会给用户生成不同的ID,比如为一个应用给一个openid1,再为另一个应用给一个openid2,这时可能会用加密或散列函数,或做随机的映射保留映射关系,这样可以保证即使同一个用户对不同应用的ID也是不一样的。

阿里张弛:企业数据安全中的数据脱敏

5. 泛化技术和随机化技术

阿里张弛:企业数据安全中的数据脱敏

泛化技术,是指降低数据集中所选属性的粒度,对数据进行更概括、抽象的描述。例如取整,或者使用高于多少和低于多少表达,不是使用一个具体的值而是使用一个范围来表示。泛化技术实现简单,能保护记录数据的真实性,常见于数据产品或数据报告中。

随机化技术,是指通过随机化修改属性的值,使用随机化处理后的值区别于原来的真实值。该过程降低了攻击者从同一数据记录中根据其它属性值推导出某一属性值的能力。随机化技术一般在测试场景中使用,使用随机化技术批量生成测试数据。

03
企业内部常见数据脱敏场景

在前面部分我们看到了,数据脱敏技术有非常多种。那么在企业内部我们该选择哪些技术呢?接下来我们就一起来看一些典型的场景:静态脱敏,数据库脱敏和应用系统脱敏。

1. 静态脱敏

阿里张弛:企业数据安全中的数据脱敏

静态脱敏主要是对数据进行批量脱敏,包括测试数据和数据导出用于离线分析等场景。例如我们拿一些正式环境中的数据,到测试环境中去测试,但测试环境的安全保护相对较弱,通常不建议直接用真实数据,那么就需要用静态脱敏的方式去生成测试数据。或者是有一些模型要训练,为了保证训练的有效性,我们需要保证真实数据中的属性的值,但对ID等一些信息进行脱敏处理,如假名化或者不可逆加密。

对于不同的用途,我们可以选择不同的脱敏技术或组合。比如对取测试数据,可能用到随机化、数据遮蔽等。对取模型训练数据,可能用到假名化、保序加密和数据抽样。对于数据导出,又可能用到数据屏蔽、局部抑制等等。

在静态脱敏中要注意哪些问题呢?首先如果这个脱敏是低频的,那可以用脚本,但如果是常态化的,就需要对ETL工具或数据同步工具进行改造。第二就是在脱敏过程中要对字段数据类型进行准确识别,以选取对应的脱敏方式。第三是要通过网络ACL、数据库权限等方式,对数据导出进行收敛。否则,大家还是可以通过数据库管理工具或者应用系统直接地查询和导出,只要是通过未覆盖脱敏工具的场景,就依然有明文的数据流出来。

2. 数据库动态脱敏

阿里张弛:企业数据安全中的数据脱敏

动态脱敏是指技术人员直接对数据库操作,用于对数据直接进行管理,一般是对于研发、运维、DBA等人员,在日常的开发和数据管理等场景。

最常见的脱敏方式就是采取屏蔽技术,如对敏感字段打星号。

动态脱敏通常有两种方案:

  • 第一种方案是数据库防火墙,有两种方式,一是基于数据库协议,对sql语句进行改造,增加脱敏udf,经过改造过后的SQL语句在数据库执行后返回的结果就已经是脱敏的了,还有一种方式是对返回结果进行转化,对原始sql执行结果中的敏感字段进行识别和处理,同样也可以达到动态脱敏的效果;

  • 第二种方案是web console,通过应用来访问数据库,在应用上通过抑制技术前端展示脱敏、限制查询条数等。

无论以上哪种方案,都必须限制原生db console的使用,否则会造成脱敏环节被绕过的情况,通常会配合数据库防火墙的接入点选择,或是数据库端口的网络ACL来共同完成。

3. 应用系统动态脱敏

阿里张弛:企业数据安全中的数据脱敏

应用系统动态脱敏主要是对前端页面或数据库接口数据脱敏。例如用户的手机号或身份证号,需要在页面上展示,或者是为合作方提供一个API接口,这个时候我们需要在应用系统中做一些脱敏处理。

对于属性类的敏感信息,比如身份证、手机号,可以采用打星号的屏蔽技术。对于ID类的信息,可用假名化处理。

在对应用系统脱敏过程中,要注意脱敏的字段和规则要提前定义。一般较少用数据库防火墙,会影响应用中基于真实数据的业务逻辑,或影响性能。脱敏一定要在服务端进行。

4. 大数据平台综合场景

阿里张弛:企业数据安全中的数据脱敏

这是一个大数据平台各个环节综合的应用,包括ETL过程中的数据抽取和加工,面向分析人员(类似于数据库动态脱敏),结果数据导出(类似于静态脱敏)等场景。这部分相当于是对前面三种场景的结合,在此就不详细展开讲了。

5. 数据产品&数据报告脱敏

阿里张弛:企业数据安全中的数据脱敏

数据类应用或编写数据报告时也会需要脱敏。比如内部数据监控类产品,对外服务的数据类产品,基于数据分析的报告等等。

这种场景常用到数据聚合的方式,比如统计分析、图表等。对于数值类会采用泛化或截断。通过数据抽样技术选取特定范围的数据。

这种场景中要避免出现绝对数值,或通过占比反推大盘数据等情况。

04
数据脱敏延伸思考

阿里张弛:企业数据安全中的数据脱敏

阿里张弛:企业数据安全中的数据脱敏

在企业保证数据安全,制定脱敏方案时,不要拿着锤子找钉子,而是要根据钉子去找锤子,即根据问题去找解决方案。在数据脱敏任务中,需要根据具体业务场景,并结合实际需求去制定数据脱敏方案。

业务需要数据,但数据安全又需要确保最小化给予数据,如何确保业务和安全不会互相制约,要在业务需求和数据安全中寻求一个第三解决方案,既不影响业务的正常运转,又保障个人数据安全。

今天的分享就到这里,谢谢大家。


在文末分享、点赞、在看,给个3连击呗~


分享嘉宾:

阿里张弛:企业数据安全中的数据脱敏

0 0 投票数
文章评分

本文转载自张弛 DataFunSummit,原文链接:https://mp.weixin.qq.com/s/0BIdGIZWxbW__YoaATaRcQ。

(0)
上一篇 2022-12-09 15:25
下一篇 2022-12-13 10:04

相关推荐

订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x