数据库脱敏介绍
数据脱敏(Data Masking),又称数据漂白、数据去隐私化或数据变形。百度百科对数据脱敏的定义为:指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样,就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。
随着大数据时代的到来,大数据商业价值的挖掘,用户的定位大数据中蕴藏的巨大商业价值被逐步挖掘出来,但是同时也带来了巨大的挑战-个人隐私信息的保护。个人信息与个人行为(比如位置信息、消费行为、网络访问行为)等,这些都是人的隐私,也是我们所关注的一类敏感信息,在大数据价值挖掘的基础上如何保护人的隐私信息,也将是数据脱敏必须解决的难题。
数据库脱敏原则
通常,良好的数据脱敏实施,需要遵循如下两个原则,一,尽可能地为脱敏后的应用,保留脱敏前的有意义信息;二,较大程度地防止人为进行。
数据脱敏分为静态数据脱敏和动态数据脱敏。静态数据脱敏,是数据的“搬移并替换”,是将数据抽取进行脱敏处理后,下发给下游环节,随意取用和读写的,脱敏后数据与生产环境相隔离,满足业务需求的同时保障生产数据库的安全。动态数据脱敏,在访问敏感数据的同时实时进行脱敏处理,可以为不同角色、不同权限、不同数据类型执行不同的脱敏方案,从而确保返回的数据可用而安全。
数据库脱敏实现背后的秘密
数据脱敏功能,基于SQL引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。关于其内部实现,如上图所示。我们将脱敏策略(Redaction Policy)视为表对象上绑定的规则,在优化器查询重写阶段,遍历Query Tree中TargetList的每个TargetEntry,如若涉及基表的某个脱敏列,且当前脱敏规则生效(即满足脱敏策略的生效条件且enable开启状态),则断定此TargetEntry中涉及要脱敏的Var对象,此时,遍历脱敏列系统表pg_redaction_column,查找到对应脱敏列绑定的脱敏函数,将其替换成对应的FuncExpr即可。
经过上述对Query Tree的重写处理,优化器会自动生成新的执行计划,执行器遵照新的计划执行,查询结果将对敏感数据做脱敏处理。带有数据脱敏的语句执行,相较于原始语句,增加了数据脱敏的逻辑处理,势必会给查询带来额外的开销。这部分开销,主要受表的数据规模、查询目标列涉及的脱敏列数、脱敏列采用的脱敏函数三方面因素影响。
数据脱敏的实现方式有哪些?
1、 使用脚本进行脱敏
事实上,很多用户在信息化发展的早期,就已经意识到了数据外发带来的敏感数据泄露的风险,那时候用户往往通过手动方式直接写一些代码或者脚本来实现数据的脱敏变形,比如:简单的将敏感人的姓名、身份号等信息替换为另一个人的,或者将一段地址随机变为另一个地址。
2、使用的数据脱敏产品进行脱敏
近年来,随着各行业信息化管理制度的逐步完善、数据使用场景愈加复杂、脱敏后数据度要求逐渐提升,为保证脱敏果准确而,化的数据脱敏产品逐渐成为了用户的普遍选择。相比传统的手工脱敏方法,的脱敏产品除了保证脱敏效果可达,更重要的价值点在于提高脱敏效率,在不给用户带来过多额外工作量的同时,较大程度节省用户操作时间。
版权所有©2024 天助网