数据脱敏
-
数据脱敏(Data Masking),顾名思义,是屏蔽敏感数据,对某些敏感信息(比如,身份证号、手机号、卡号、客户姓名、客户地址、邮箱地址、薪资等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。业界常见的脱敏规则有,替换、重排、加密、截断、掩码,用户也可以根据期望的脱敏算法自定义脱敏规则。
-
良好的数据脱敏实施,需要遵循如下两个原则,
- 第一,尽可能地为脱敏后的应用,保留脱敏前的有意义信息;
- 第二,最大程度地防止黑客进行破解。
-
数据脱敏分为静态数据脱敏和动态数据脱敏。
- 静态数据脱敏,是数据的“搬移并仿真替换”,是将数据抽取进行脱敏处理后,下发给下游环节,随意取用和读写的,脱敏后数据与生产环境相隔离,满足业务需求的同时保障生产数据库的安全。
- 动态数据脱敏,在访问敏感数据的同时实时进行脱敏处理,可以为不同角色、不同权限、不同数据类型执行不同的脱敏方案,从而确保返回的数据可用而安全。
-
GaussDB (DWS)的数据脱敏功能,摒弃业务应用层脱敏依赖性高、代价大等痛点,将数据脱敏内化为数据库产品自身的安全能力,提供了一套完整、安全、灵活、透明、友好的数据脱敏解决方案,属于动态数据脱敏。用户识别敏感字段后,基于目标字段,绑定内置脱敏函数,即可创建脱敏策略。脱敏策略(Redaction Policy)与表对象是一一对应的。
-
一个脱敏策略包含表对象、生效条件、脱敏列-脱敏函数对三个关键要素,是该表对象上所有脱敏列的集合,不同字段可以根据数据特征采用不同的脱敏函数。当且仅当生效条件为真时,查询语句才会触发敏感数据的脱敏,而脱敏过程是内置在SQL引擎内部实现的,对生成环境用户是透明不可见的。
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ipOy4INq-1629714154429)(C:\Users\Sunlight-E3B\AppData\Roaming\Typora\typora-user-images\image-20210823175007931.png)]
数据脱敏实现背后的秘密
-
静态脱敏可将脱敏设备部署于生产环境与测试、开发、共享环境之间,通过脱敏服务器实现静态数据抽取、脱敏、装载。
-
动态脱敏采用代理部署方式:物理旁路,逻辑串联。应用或者运维人员对数据库的访问必须都经过动态脱敏设备才能根据系统的规则对数据访问结果进行脱敏。
-
GaussDB (DWS)数据脱敏功能,基于SQL引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。我们将脱敏策略(Redaction Policy)视为表对象上绑定的规则,在优化器查询重写阶段,遍历Query Tree中TargetList的每个TargetEntry,如若涉及基表的某个脱敏列,且当前脱敏规则生效(即满足脱敏策略的生效条件且enable开启状态),则断定此TargetEntry中涉及要脱敏的Var对象,此时,遍历脱敏列系统表pg_redaction_column,查找到对应脱敏列绑定的脱敏函数,将其替换成对应的FuncExpr即可。经过上述对Query Tree的重写处理,优化器会自动生成新的执行计划,执行器遵照新的计划执行,查询结果将对敏感数据做脱敏处理。
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DT2djp0P-1629714154430)(C:\Users\Sunlight-E3B\AppData\Roaming\Typora\typora-user-images\image-20210823182000537.png)]
-
GaussDB (DWS)产品数据脱敏功能,是数据库产品内化和夯实数据安全能力的重要技术突破,主要涵盖以下三个方面:
- 一套简单、易用的数据脱敏策略语法;
- 一系列可覆盖常见隐私数据脱敏效果的、灵活配置的内置脱敏函数;
- 一个完备、便捷的脱敏策略应用方案,使得原始语句在执行过程中可以实时、透明、高效地实现脱敏。
-
总而言之,此数据脱敏功能可以充分满足客户业务场景的数据脱敏诉求,支持常见隐私数据的脱敏效果,实现敏感数据的可靠保护。
作者:华为云开发者社区
链接:https://www.zhihu.com/question/372531840/answer/1840036336
来源:知乎
2531840/answer/1840036336
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。