银行数据脱敏场景需求与解决思路
作者:安华金和 发布时间:2019-12-30

在银行生产数据库中,储存着大量的敏感信息,例如储户个人身份信息、手机号码、身份证、银行账户信息、资金信息等。这些数据在银行业很多工作场景中都会得到使用,例如业务分析、开发测试、审计监管,甚至是一些外包业务等方面,使用的都是真实的业务数据和信息。如果这些数据发生泄露、损坏,不仅会给银行带来经济上的损失,更重要的是会大大影响用户对于银行的信任度。

应用场景

在银行及金融机构等环境中,针对敏感信息及个人信息的安全保护,需要根据数据使用者的职能限制数据的使用权限,不过在内部全面执行这一政策并非易事。以某客户现场的两种脱敏需求为例:

1、客户现场需要将脱敏数据导出成.del文件放到一个ftp服务器上;且每天生成的文件都会以当天的日期作为目录的名字,数据脱敏系统每天会有个定时任务自动到ftp服务器上读取对应的日期;在目录中所有数据文件下载到数据库脱敏系统后开始脱敏,需要将这些.del文件脱敏后发送到ftp服务器上,然后客户方的开发人员会到这个ftp服务器上读取脱敏后的数据文件。

2、直接对DB2数据库进行脱敏,次要需求。

面临挑战

在大多数环境下,针对打包内部开发应用程序以及开发 DBA 工具中的敏感信息限制访问权限等的成本异常高昂,而且极为耗时。许多数据库访问监控(DAM)解决方案能够审核用户访问记录,并在发生数据泄露问题后帮助进行识别,但它们无法对敏感信息进行匿名化处理,以便防患于未然。其他技术则要求进行大规模的应用程序变更,导致不可接受的性能问题,且无法为所有需要保护的多种个人信息提供保护。

产品需要新增一个“从远程文件脱敏”的功能,需要考虑和注意的事项较多,主要面临的挑战及问题如下:

1、假设8点开始拉取数据,那么是否需要检查8点之后新下发的数据?

2、脱敏完成后,需要对数据完整性进行校验;

3、脱敏完成后,需要对已下载的脱敏文件进行清理等问题;

4、需针对“因每次tomcat重启之后会出现定时任务失效”的情况,进行修复。

部署实施

现场每天会生成3-4G的.del数据文件,需要在夜间设置定时任务将其从远程ftp服务器上读取到脱敏服务器上;完成脱敏后,将脱敏数据发送到目标ftp服务器上;同时,也需要脱敏部分数据库数据到开发测试库。

应用技术:主动到远程ftp服务器上读取数据文件,脱敏完成后再将脱敏完的数据文件发送到远程ftp服务器上;

实施过程:请代理商帮忙部署了DB2数据库,为客户在专门准备的环境上安装定制版数据库静态脱敏系统;为客户配置源ftp和目标ftp,设置数据文件脱敏任务并设置对应的定时任务。

核心功能

1、自动读取下发文件

根据下发数据的文件格式和下发周期,对文件定时进行读取。

2、创建文件源自动添加文件

创建默认文件源,并根据FTP文件列表自动添加要脱敏的数据文件。

1 副本.jpg

3、自动敏感数据发现任务

创建文件源的敏感数据发现任务,自动执行敏感数据发现任务,并进行敏感数据的自动梳理和确定。

4、自动创建文件脱敏任务

自动创建文件脱敏方案,根据文件源和敏感数据梳理结果进行脱敏方案的自动配置;自动创建文件脱敏任务,将脱敏方案关联到脱敏任务,并进行脱敏任务的自动执行。

5、敏感字段梳理的模板配置

基于静态初始化的数据,进行敏感数据梳理模版的手动配置和管理。

6、脱敏方案的模板配置

脱敏方案的手动配置和管理。

2 副本.jpg

7、敏感数据发现

按照用户指定或预定义的敏感数据特征,对数据进行自动识别,发现敏感数据。同时,DMS可发现数据间的主外键关系、数据间的依赖关系、同类数据间的联动关系,为数据子集管理等功能提供保障。

3 副本.jpg

8、敏感数据字典管理

以敏感数据为中心,对数据库字段进行分类管理;对同库多表、多库多表的同类敏感数据实施统一的脱敏算法和策略,保证同一组织内跨系统、跨库之间的脱敏一致性;并支持敏感数据字典导入、导出等功能。

4 副本.jpg

9、脱敏方案管理

针对每一个脱敏项目,在基础脱敏算法上,可配置专门的脱敏策略,或实现脱敏算法的扩展;DMS可实现脱敏策略的导入导出,以帮助脱敏策略的复用。

10、脱敏任务管理

可对任务进行停止、启动、重启、暂停、继续等操作;支持任务并发,且在脱敏过程中可跳过异常数据继续执行任务,还支持脱敏任务的中断续延。

业务流程

1、库到库业务流程说明

数据库到数据库的全量脱敏,由源数据库抽取数据并脱敏后输出到目标数据库中。

5 副本.jpg

2、文件到文件业务流程说明

· 数整平台定时下发数据文件到指定的文件服务器中;

· 脱敏系统到指定的文件服务器中读取数据文件,根据文件下发完成标记和表数据字典进行数据比对,如果下发的文件解压完成将继续进行敏感数据发现任务的执行,如果未下发或解压完成将重新读取下发文件;

· 自动创建敏感数据发现任务,并进行敏感数据的自动发现,执行发现任务后根据敏感数据梳理模板对敏感数据进行自动梳理,生成梳理后的敏感字段列表;

· 判断是否有敏感数据,如果没有将生成敏感数据发现任务执行报告,并显示执行结果和消息提示;如果存在敏感数据,将根据脱敏方案模板自动生成脱敏任务,并执行脱敏任务;

· 判断脱敏任务执行是否成功,如果出现异常将发送异常报告信息,并显示执行结果和消息提示;如果脱敏任务执行成功,发送目标文件信息和任务执行报告,并显示执行结果和消息提示;

· 用户可到目标文件服务器中查询脱敏数据。

6 副本.jpg

7 副本.jpg

价值效果

一、实现自动化脱敏

能够实现对用户定期产生的增量数据文件进行自动脱敏,只需要进行一次配置(文件源及相关模板的初始化配置)就可以完全自动执行脱敏任务;完成脱敏后的数据将发送至目标FTP服务器,用户直接获取即可使用;同时,突出了场景化、自动化、便捷简单等使用特点:

1、支持远程文件脱敏;

2、支持脱敏数据输出到远程FTP服务器;

3、支持文件自动化脱敏;

4、支持敏感字段模板管理;

5、支持脱敏方案模板管理;

6、支持定时任务管理。

二、敏感数据统一管理

1、敏感数据自动发现

DMS 系统内置了大量的敏感数据发现算法,能够通过对数据的采样分析,自动发现系统中的敏感数据,包括姓名、证件号、银行账户、金额、日期、住址、电话号码、 Email 地址、车牌号、车架号、企业名称、工商注册号、组织机构代码、纳税人识别号等; 同时提供了用户自定义敏感数据特征的扩充能力。通过敏感数据自动发现功能,不仅可以避免人工定义敏感数据带来的大量工作, 同时可确保不会遗漏隐私信息,更能够持续发现新的敏感数据字段。

2、敏感数据字典管理

以敏感数据为中心,进行分类管理数据库字段。例如:“身份证号”作为一类敏感数据,可在该分类里管理所有数据库中的身份证号数据字段,实施统一的脱敏算法,并支持敏感数据字典的导入、导出等管理功能。

三、保证业务可靠运行

1、智能化

随着企业数据的增长和数据内容的不断丰富, 敏感数据可能分散在成百上千张表和字段中, 元数据的管理工作将越发繁重;同时从业务系统抽取的敏感数据在格式和组织上存在很大随意性,因此脱敏产品应具备更好的识别敏感数据的能力,能够不依赖元数据中对表和字段的定义,而是根据数据特征自动识别敏感数据并进行有效脱敏。 例如身份证、地址、电话、邮件、银行卡号、车牌号、企业名称等。

可逆性, 随着数据分析的流行和普及,第三方分析机构和内部经分团队需要将在脱敏后数据基础上分析的结果还原为业务数据,以形成真实的分析结果。因此,需要提供对脱敏后数据的可逆还原能力。

2、可重复和不可重复性

数据脱敏需要提供能够重复脱敏相同数据的能力,在不同轮次的脱敏中,保证相同的隐私数据在脱敏后的数据也是相同的,从而保证数据在增量环境下能够被有效的关联。另一方面,有些时候出于安全考虑,需要提供不可重复的脱敏能力,保证相同的数据在不同轮次的脱敏中所产生的数据是不同的,从而防止逆向工程还原数据。

3、数据有效性

为了保证业务测试系统和分析系统的正常运行,需要保证脱敏后的数据必须能够准确反应原始数据的业务属性和数据分布特征;对于原始数据中的姓名、地址、病症、企业名称等信息,需要在脱敏后仍然具有可读性; 脱敏后的数据满足业务系统的数据规则,能够正确的通过业务系统的数据有效性验证,如身份证号、银行卡号的校验码,生日数据的区间,有效的发卡行信息,年龄与出生日期的匹配等。

4、数据完整性

脱敏后的数据需要保证是完整的,并且提供不改变原始数据尺寸、不包含无效信息的能力,防止敏感数据不符合目标数据的定义,造成无法顺利入库的情况。

5、数据关联性

脱敏后的数据应能满足业务系统的数据关系特征,严格保留原有的数据关系。例如:身份证号在多个表中出现,需要保证这些数据经过脱敏后也是一样的;此外,对于具有时间序列关系的数据,需要保证每个日期脱敏后仍然能够保持原有的时间序列。

通过对上述六个方面的支持,有效保障了脱敏后的数据可以满足原始数据相同的业务规则,是能够代表实际业务属性的虚构数据,能够使脱敏数据的使用者从体验上感觉数据是真实的,从而最终达到使用脱敏后的数据可以保证业务可靠运行的目的。