数据库脱敏作用
通过数据脱敏产品,可以有效防止企业内部对隐私数据的滥用,防止隐私数据在未经脱敏的情况下从企业流出。满足企业既要保护隐私数据,同时又保持监管合规,满足企业合规性。DMS提供了丰富的内置脱敏算法和灵活的、流程化的策略和方案管理能力,支持对多种数据源进行脱敏处理,帮助企业在不改变业务流程的前提下快速部署实施,有效的降低脱敏的复杂度和风险,控制脱敏成本。
数据库脱敏技术
通常在大数据平台中,数据以结构化的格式存储,每个表有诸多行组成,每行数据有诸多列组成。根据列的数据属性,数据列通常可以分为以下几种类型:可确切定位某个人的列,称为可识别列,如身份号,地址以及姓名等。单列并不能定位个人,但是多列信息可用来潜在的识别某个人,这些列被称为半识别列,如邮编号,生日及性别等。美国的一份研究称,仅使用邮编号,生日和性别信息即可识别87%的美国人。包含用户敏感信息的列,如交易数额,疾病以及收入等。其他不包含用户敏感信息的列。
数据库脱敏泄露风险模型
是对所有可标识列进行移除或是脱敏,使得攻击者无法直接标识用户。但是攻击者还是有可能通过多个半标识列的属性值识别个人。攻击者可能通过社工(知道某个人的姓名,邮编,生日,性别等)或是其他包含个人信息的以开放数据库获得特定个人的半标识列属性值,并与大数据平台数据进行匹配,从而得到特定个人的敏感信息。如果攻击者知道某用户的邮编和年龄,就可以得到该用户的疾病敏感信息。为了避免这种情况的发生,通常需要对半标识列进行脱敏处理,如数据泛化等。数据泛化是将半标识列的数据替换为语义--致但更通用的数据,已上述数据为例,对邮编和年龄泛化后的数据。
数据库脱敏实现背后的秘密
数据脱敏功能,基于SQL引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。关于其内部实现,如上图所示。我们将脱敏策略(Redaction Policy)视为表对象上绑定的规则,在优化器查询重写阶段,遍历Query Tree中TargetList的每个TargetEntry,如若涉及基表的某个脱敏列,且当前脱敏规则生效(即满足脱敏策略的生效条件且enable开启状态),则断定此TargetEntry中涉及要脱敏的Var对象,此时,遍历脱敏列系统表pg_redaction_column,查找到对应脱敏列绑定的脱敏函数,将其替换成对应的FuncExpr即可。
经过上述对Query Tree的重写处理,优化器会自动生成新的执行计划,执行器遵照新的计划执行,查询结果将对敏感数据做脱敏处理。带有数据脱敏的语句执行,相较于原始语句,增加了数据脱敏的逻辑处理,势必会给查询带来额外的开销。这部分开销,主要受表的数据规模、查询目标列涉及的脱敏列数、脱敏列采用的脱敏函数三方面因素影响。
版权所有©2024 天助网