科普|静态脱敏与动态脱敏的区别
作者:安华金和 发布时间:2019-11-21

一、概述

数据脱敏的需求正在迅速上升,政府和企业的CIO们知道:数据只有在使用和流动中才会产生价值。为了满足企业对数据更多样的使用需求,更多核心敏感数据需要脱离原本的生产和存储环境,抽取使用至测试环境,被应用用户检索访问,被分析部门调取挖掘等等。数据脱敏工具的出现正是为了满足数据的安全使用。

数据脱敏的基本效果是通过脱敏算法将敏感数据进行遮蔽、变形,将敏感级别降低后对外发放,或供访问使用。基本原理大家都明白,但对于不同的使用场景,需要使用不同的脱敏技术实现,相应的部署和实现原理也不相同,由此产生了“静态脱敏”和“动态脱敏”两类脱敏工具,两者应对不同需求和场景,不可相互替代。本文将从适用场景、技术手段、部署方式三个方面阐述静态脱敏和动态脱敏的区别,希望能够对于广大用户对于静态脱敏和动态脱敏产品的了解有所帮助。

二、两者的使用场景和用途

静态脱敏适用于将数据抽取出生产环境脱敏后分发至测试、开发、培训、数据分析等场景。

静态脱敏是将数据抽取进行脱敏处理后,下发至测试库。开发、测试、培训、分析人员可以随意取用测试数据,并进行读写操作,脱敏后的数据与生产环境隔离,满足业务需要的同时保障生产数据库的安全,静态脱敏可以概括为数据的“搬移并仿真替换”。

动态脱敏适用于不脱离生产环境,对敏感数据的查询和调用结果进行实时脱敏。

动态脱敏能够对生产库返回的数据进行实时脱敏处理,确保返回数据可用而安全。例如应用需要呈现部分数据,但是又不希望应用账号可以看到全部数据;运维人员需要维护表结构,进行系统调优,但是不希望运维人员可以检索或导出真实数据,动态脱敏可以概括为“边脱敏,边使用”。

三、静态脱敏与动态脱敏的技术路线

静态脱敏直接通过屏蔽、变形、替换、随机、格式保留加密(FPE)和强加密算法(如AES)等多种脱敏算法,针对不同数据类型进行数据掩码扰乱,并可将脱敏后的数据按用户需求,装载至不同环境中。静态脱敏可提供文件至文件,文件至数据库,数据库至数据库,数据库至文件等不同装载方式。导出的数据是以脱敏后的形式存储于外部存贮介质中,实际上已经改变了存储的数据内容。

动态脱敏通过准确的解析SQL语句匹配脱敏条件,例如:访问IP、MAC、数据库用户、客户端工具、操作系统用户、主机名、时间、影响行数等,在匹配成功后改写查询SQL或者拦截防护返回脱敏后的数据到应用端,从而实现敏感数据的脱敏。实际上存储于生产库的数据未发生任何变化。

四、静态脱敏与动态脱敏的部署方式

静态脱敏可将脱敏设备部署于生产环境与测试、开发、共享环境之间,通过脱敏服务器实现静态数据抽取、脱敏、装载。在安全要求较高的场景下,可以在业务部门数据出口及测试部门数据入口分别部署脱敏服务器,通过offline的加密文件传输方式,将生产环境数据静态脱敏至非生产环境。

1.png

静态脱敏部署图

动态脱敏采用代理部署方式:物理旁路,逻辑串联。应用或者运维人员对数据库的访问必须都经过动态脱敏设备才能根据系统的规则对数据访问结果进行脱敏。

2.jpg

动态脱敏部署图

无论动态脱敏还是静态脱敏技术,在保障敏感数据的安全使用目标下,显得尤为重要,也是安华金和提出的数据安全治理技术框架中重要的一环。静态脱敏技术目前相对成熟,而动态脱敏对业务实时性的要求极高,脱敏处理对性能要求必须控制到最低,并且能够提供大规模、高并发访问下的脱敏工作,这成为目前动态脱敏工具的主要技术攻坚点。

目前,安华金和静态脱敏动态脱敏产品已经成功应用于金融、社保、政府、运营商等部门和企业的系统中,其中动态脱敏产品对用户业务的性能损耗已经控制到可接受范围,基本实现访问无感。

后续我们还将继续分享脱敏工具在真实案例中的解决方案、使用效果及价值体现,敬请期待~