目录 |
数据脱敏又称数据去隐私化或数据变形,是在给定的规则、策略下对敏感数据进行变换、修改的技术机制,能够在很大程度上解决敏感数据在非可信环境中使用的问题。根据数据保护规范和脱敏策略.对业务数据中的敏感信息实施自动变形.实现对敏感信息的隐藏。[1]
数据脱敏在保留数据原始特征的条件下,按需进行敏感信息内容的变换。只有授权的管理员或用户,在必须知晓的情况下,才可通过特定应用程序与工具访问数据的真实值,从而降低这些重要数据在共享和移动时的风险。数据脱敏在不降低安全性的前提下,使原有数据的使用范围和共享对象得以拓展,因而是大数据环境下最有效的敏感数据保护方法。
任何涉及敏感信息的行业都对数据脱敏有着天然的需求。其中,金融、政府和医疗行业首当其冲。相关单位在应用开发、测试、培训等活动中普遍使用真实数据,导致数据在暴露期间面临严重泄露风险。在数据脱敏的帮助下,企业能够按照数据使用目标,通过定义精确、灵活的脱敏策略,按照用户的权限等级,针对不同类别的数据以不同方式脱敏,实现跨工具、应用程序和环境的迅速、一致性的访问限制。
数据脱敏通常遵循的几条原则包括:
(1)数据脱敏算法通常应当是不可逆的,必须防止使用非敏感数据推断、重建敏感原始数据。但在一些特定场合,也存在可恢复式数据脱敏需求。
(2)脱敏后的数据应具有原数据的大部分特征,因为它们仍将用于开发或测试场合。带有数值分布范围、具有指定格式(如信用卡号前四位指代银行名称)的数据,在脱敏后应与原始信息相似;姓名和地址等字段应符合基本的语言认知,而不是无意义的字符串。在要求较高的情形下,还要求具有与原始数据一致的频率分布、字段唯一性等。
(3)数据的引用完整性应予保留,如果被脱敏的字段是数据表主键,那么相关的引用记录必须同步更改。
(4)对所有可能生成敏感数据的非敏感字段同样进行脱敏处理。例如,在学生成绩单中为隐藏姓名与成绩的对应关系,将“姓名”作为敏感字段进行变换。但是,如果能够凭借某“籍贯”的唯一性推导出“姓名”,则需要将“籍贯”一并变换。
(5)脱敏过程应是自动化、可重复的。因为数据处于不停的变化中,期望对所需数据进行一劳永逸式的脱敏并不现实。生产环境中数据的生成速度极快,脱敏过程必须能够在规则的引导下自动化进行,才能达到可用性要求;另一种意义上的可重复性,是指脱敏结果的稳定性。在某些场景下,对同一字段脱敏的每轮计算结果都相同或者都不同,以满足数据使用方可测性、模型正确性、安全性等指标的要求。
几种常见的脱敏方法包括:
替换:以虚构的数据代替真值。例如,建立一个较大的虚拟值数据表,对每一真实值记录产生随机种子,对原始数据内容进行哈希映射替换。这种方法得到的数据与真实数据非常相似。无效化:以NULL 或***** 代替真值或真值的一部分,如遮盖信用卡号的后12 位。
置乱:对敏感数据列的值进行重新随机分布,混淆原有值和其他字段的联系。这种方法不影响原有数据的统计特性,如最大/ 最小/ 方差等均与原数据无异。
均值化:针对数值型数据,首先计算它们的均值,然后使脱敏后的值在均值附近随机分布,从而保持数据的总和不变。通常用于产品成本表、工资表等场合。
反推断:查找可能由某些字段推断出另一敏感字段的映射,并对这些字段进行脱敏,如从出生日期可推断出身份证号、性别、地区的场景。
偏移:通过随机移位改变数字数据。
FPE:Format Preserving Encryption, 即格式维持的加密是一种特殊的可逆脱敏方法。通过加密密钥和算法对原始数据进行加密,密文格式与原始数据在逻辑规则上一致,如都为日期、卡号、结构化值等。通过解密密钥可以恢复原始数据。
基于其他参考信息进行屏蔽:根据预定义规则仅改变部分回应内容(例如,屏蔽VIP 客户姓名,但显示其他客户等)。
限制返回行数:仅提供响应数据的子集,防止用户访问到全部符合要求的数据。