静态脱敏在集群部署架构模式下的应用探索
作者:安华金和 发布时间:2019-03-11

随着企业各项业务的快速发展,以及IT系统应用的越来越普遍,企业内部的业务生产系统产生并积累了大量的敏感信息和数据,如卡号、客户姓名、身份证号、交易记录等。

在日常业务管理、信息系统运行过程中有大量的场景需要使用到这些数据,如业务部门经营分析使用、配合监管部门完成现场与非现场检查、测试数据的生成和使用等。根据国家监管政策及银监会等监管部门针对数据安全管理的要求和指引,各单位制定并发布了数据脱敏相关管理办法,但在具体落实时在技术防范措施方面还有所欠缺。

企业中主要采用从各生产系统手工抽取敏感数据,临时编写数据处理脚本进行简单的字符替换,以遮盖数据中的敏感内容。此方法存在很大的风险:

一方面,简单替换部分敏感字段无法满足数据关联性和唯一性等业务要求,导致脱敏后的数据无法在测试系统中关联使用;

另一方面,数据脱敏手工完成,工作效率较低;

此外,有些脱敏规则是可逆的,而敏感信息的可逆将导致敏感数据的泄露。

因此,亟需通过有效技术手段来进行数据脱敏,降低敏感数据泄密风险,保障数据安全。所以,从符合监考要求和实际应用角度需要有相应的技术方案满足实际需要。

目前,国际及国内市场上的脱敏系统产品主要面向政府、机关及企业客户,提供对生产环境中数据库数据的脱敏处理,保护数据在研发、测试及数据分析过程的隐私数据保护。通过部署数据脱敏系统,对脱离生产环境的敏感数据进行变形或屏蔽等不同的脱敏操作,并使脱敏后的数据信息保留其原始数据格式和数据属性的关联性,以确保业务数据在数据分析、开发和测试过程中正常的运行,同时提高测试类、分析类数据使用的安全性。

静态脱敏的应用场景及特点

生产环境中的业务数据到开发测试环境中的数据脱敏处理。脱敏处理方式主要包括:数据库到数据库、数据库到文件、文件到文件、文件到数据库。

图片1.png
图示:静态脱敏方式

根据脱敏系统的实际应用情况,存在两种普遍的应用模式:工具化应用场景和平台化应用场景。
工具化场景特点:提供对数据的脱敏处理,来源于ETL工具的处理思路,在实际应用中作为工具使用。基本处理方式是操作人员选择生产库数据进行脱敏,脱敏后输出数据到目标库中,一个任务执行完成后系统就处于等待状态,待下一个任务创建和运行。

图片2.png
图示:工具化应用场景

平台化场景特点:将脱敏系统作为数据安全处理的一个关键环节,将企业内的多个系统进行对接,形成企业内部业务流程驱动的数据处理(数据梳理、数据脱敏)平台,解决数据处理过程中的数据安全问题。平台化应用场景中,往往会有系统的流程对接,操作人员通过客户的IT运维管理系统进行脱敏任务工单的发起,然后经过相关的数据管理部门、安全部门的审批并分配数据访问权限,将脱敏任务相关的信息推送到脱敏服务器中执行,包括敏感数据的发现、梳理、脱敏、数据输出、消息推送、输出报告等。同时,会将脱敏过程的执行状态信息、异常信息、脱敏结果信息等通过系统消息或者邮件方式通知到相关人员,便于相关人员及时掌握脱敏处理的运行状态。

图片3.png

图示:平台化应用场景

静态脱敏的部署模式

脱敏系统部署模式:单机部署模式、集群部署模式。

图片4.png

图示:单机部署模式(含单服务器和成对服务器)

单机部署模式:主要包括单服务器和成对服务器两种部署模式。

单服务器部署模式,将连接业务部门的生产数据库,对生产数据进行抽取和数据脱敏,脱敏后的数据输出到测试部门的测试数据库中,供测试部门使用数据。单服务器部署模式用于客户生产环境网络和测试环境网络允许通过设备进行连接的使用场景。

成对服务器部署模式,在业务部门数据出口及测试部门数据入口分别部署脱敏服务器,可将业务部门的数据进行有效隔离,通过offline的方式,满足测试部门使用业务部门脱敏后数据的需求。多服务器模式用于客户生产环境网络和测试环境网络需要隔离的使用场景。 

平台化应用场景下对脱敏系统的综合处理能力提出了更高的要求,主要体现在:脱敏性能及吞吐量、数据发现的准确性、脱敏数据质量、脱敏系统的使用便捷性等方面。其中,尤其以脱敏性能及吞吐量作为核心评价指标。

目前的应用场景中,客户的数据量越来越大。单次脱敏任务所涉及到的数据量动辄达到数TB的量级,导致脱敏周期非常久,影响了日常开发、测试工作的开展。
集群部署模式:

架构模式设计思路:

图片5.png

                                                              图示:集群部署结构图

集群部署架构脱敏,需要一个分布式执行任务的能力。在任意一台脱敏设备中执行脱敏任务,该任务会运行在压力最小的机器中(以任务及表为基础),从而达到可以同时并行运行多任务的能力。
主要构成说明:调度节点、脱敏节点(1个以上)、策略中心数据库有同步机制;调度节点负责整体的任务调度及脱敏任务监控,脱敏节点负责执行脱敏任务,脱敏节点对用户是透明的。整个集群部署结构中必须有调度节点和至少一个脱敏节点,且在调度节点中进行脱敏节点的设置。调度节点可以通过A/B设备实现调度节点的高可用。

案例:

某商业银行总行数据量在20T左右,单表数据可达5亿行以上,由于涉及到压力测试需要导出全量数据进行脱敏,要求脱敏时间周期在72小时内完成,否则将影响测试部门的数据使用。

按单表脱敏处理,要满足这样的要求需要保证脱敏的处理(含数据抽取、脱敏和输出)平均速度在81M/S以上才能满足需要。同时,需要支持40个以上业务系统的并发处理。以工控机4核CPU,32G内存的配置计算,单台脱敏设备显然无法满足客户的高并发大数据量的脱敏需求。

图片7.jpg

                                                                  表格:脱敏处理性能参数

单台设备(环境参数为4核CPU、32G内存)的脱敏性能测试情况,根据以往的测试结果可以看出,单表822G数据量脱敏用时16小时,单位时间的处理能力在14.6M/S。按此配置,增加线程对多表进行同时处理,多表3.2T的数据量理论上处理能力可达43.8M/S。对于81M/S的处理性能,单台设备远远不能达到要求。

通过增加单台脱敏设备的硬件配置,如采购更高配置的服务器来提高脱敏的处理性能的方式可以解决这一难题,但实际应用中往往因为客户数据库及网络环境的限制,即便是增加脱敏服务器的配置,同样很难满足需求。所以,希望有可能通过集群部署模式解决此问题。

图片9.jpg

                                                                   表格:脱敏处理能力估算


在集群部署模式下,通过扩展脱敏节点数量可提高脱敏处理的并发能力。在数据总量20T的环境中,集群部署2个并发脱敏节点并行,单位时间的数据处理性能评估可达87.6M/S(此值为评估的理论数据,在实际测试环境中会有一定的偏差),20T的数据需要处理大约67小时左右,基本上能够满足72小时内完成20T数据脱敏的需求场景。但考虑实际的数据库环境及网络环境差异,会提出3个节点并发脱敏节点并行的方案,单位时间的数据处理性能评估可达131.4M/S(此值为评估的理论数据,在实际测试环境中会有一定的偏差),20T的数据需要处理大约44小时左右,完全能够满足72小时内完成20T数据脱敏的需求场景。
集群部署模式的价值体现:
第一,性能大幅度提升。通过集群部署,增加了脱敏处理的吞吐量,满足了客户在有限时间周期内大数据量脱敏处理的应用场景。

第二,系统高可用。弥补了单一脱敏设备在数据处理过程中遇到网络环境异常、设备异常等突发事件带来的任务中断无法正常执行的不足,保证系统的高可用性。

第三,适用场景扩大。用户在各种复杂的应用环境中,涉及与脱敏系统的应用对接满足流程化脱敏,脱敏后的数据发送及数据校验等各种场景,通过集群部署,在调度节点的配置管理中可充分考虑脱敏节点对不同的处理场景的处理机制。
静态脱敏市场未来展望
随着政府部门、企事业单位的数据量不断增长,静态脱敏系统面临着大数据量的脱敏及高吞吐量的性能要求,未来安华将不断推出优化解决方案满足市场的多样化应用场景需求。