脱敏算法建议不要一把梭:手机号适合遮蔽,身份证号适合保格式替换,金额适合偏移或取整。 算法选错,要么保护不足(能被还原),要么业务不可用(下游系统解析失败)。按银行最常见的四类敏感字段,讲清楚算法类型、适用边界和选型原则。
什么是脱敏算法?
脱敏算法,是指对敏感数据施加变换处理的规则,通过替换、变形、遮蔽等方式,在保留数据可用性(格式、类型、分布特征)的前提下消除或降低敏感性的技术方法。 它决定的是“脱完之后长什么样”,与脱敏策略(谁看、在哪脱)共同构成完整的脱敏方案。
为什么算法选型这么关键?三个原因:
第一,不同字段的“可用形态”要求不同——手机号要能被客服核对(保留部分明文),卡号要能被支付系统识别(保留卡 bin 和末四位),金额要能参与统计(保持量级),“一把梭”的遮蔽满足不了这些要求。
第二,算法直接决定可逆性。哈希不可逆、遮蔽可部分推断、保格式加密可逆(需密钥),选错要么无法回查,要么埋下被还原的隐患。
第三,算法影响下游兼容性。脱敏后字段若改变长度、类型或字符集,下游的校验、索引、关联查询都可能报错——这是脱敏项目最常见的“翻车点”。
银行四类核心字段的算法选择
手机号:遮蔽(Masking)为主。 保留前三位和后四位,中间四位用星号替代(如 138**5678),既满足客服核对身份的需要,又避免完整号码暴露——高频核对、低推断风险的字段,遮蔽是性价比最高的选择。
身份证号:保格式替换或分段遮蔽。 身份证号包含地区码、出生日期、顺序码和校验位,结构信息丰富。常见做法是保留前六位(地区码,有地域分析价值)和后四位,中间遮蔽;需保留格式参与下游校验的场景可采用保格式替换——输出同样是 18 位的合法格式串,但已不是真实号码。
银行卡号:遮蔽 + 保 bin 位。 保留前六位(bin 位,标识发卡行和卡种)和后四位(核对常用段),中间遮蔽;涉及支付链路的场景还需考虑支付行业标准对卡号展示的要求。
金额与数值型字段:偏移或取整。 金额脱敏后仍要参与统计汇总,不能简单遮蔽。偏移(施加固定比例或固定值)保留量级和分布,取整(按区间归整)保留量级、牺牲精度,两者都能让“总额、均值、趋势”保持可用。
主流脱敏算法类型与适用边界
|
算法类型 |
处理逻辑 |
适用场景 |
注意事项 |
|
遮蔽 |
保留部分字符,其余用固定符号替代 |
手机号、卡号、身份证展示 |
保留位数越多,被推断风险越高 |
|
替换 |
用预定义值或映射表替换原值 |
姓名、地址、机构名 |
需维护映射关系,注意一致性 |
|
哈希 |
单向散列,输出定长摘要 |
需做关联但无需明文的场景 |
不可逆,且需防范彩虹表攻击 |
|
偏移 |
对数值施加固定/比例偏移 |
金额、余额、交易量 |
需保证同一原值偏移后一致 |
|
取整 |
按区间归整数值 |
收入区间、资产评级 |
牺牲精度,保留量级 |
|
映射 |
按映射表做值替换 |
枚举类字段、代码表 |
映射表本身需保护 |
|
加密(AES256/SM4) |
对称加密,输出密文 |
需可逆回查的场景 |
需管理密钥,注意国密合规要求 |
除了内置算法,复杂场景还需要自定义算法扩展——比如银行特有的客户编号规则、内部评级代码的脱敏逻辑,通常通过界面编写算法或添加数据库处理函数两种方式扩展。
传统做法与建议方案的对比
|
对比维度 |
传统做法(各系统自行实现) |
建议方案 |
|
算法数量 |
各系统写死几种,扩展困难 |
内置多类算法,支持自定义扩展 |
|
口径一致性 |
同一字段在不同系统脱敏结果不同 |
集中配置,全行口径统一 |
|
自定义能力 |
需开发排期 |
界面编写算法或添加处理函数 |
|
复敏支持 |
一般不支持 |
支持脱敏后查询条件回传复敏 |
|
策略与算法解耦 |
算法硬编码在业务代码里 |
算法与策略分离,可独立调整 |
如何落地算法管理?
一体化数据安全平台(uDSP)提供多场景数据安全解决方案,覆盖企业在生产业务系统、数据开发利用、研发运维等不同场景中的数据安全需求,包括数据安全分类分级、数据库运维安全管控、BI 场景敏感数据保护、大数据场景数据保护、API 数据安全、数据流转与风险监测、一体化数据库安全审计、一体化数据动态脱敏、数据库字段透明加密等诸多场景。其中数据动态脱敏是核心能力之一,算法管理是它的基础。
在算法供给与扩展层面,平台内置替换、哈希、遮蔽、偏移、取整、映射以及 AES256、SM4 加密等多类算法,从最简单的中间四位遮蔽到国密合规的加密脱敏都有开箱即用选项;同时支持界面编写算法和添加数据库处理函数两种方式扩展自定义算法,银行特有的字段规则可沉淀复用。
在业务可用性层面,扩展的数据库处理函数类算法支持“复敏还原”——用已脱敏数据作为查询条件时,能还原为原始数据进行查询,保证条件查询正常执行。这一能力解决了脱敏项目最头疼的问题:业务系统拿着脱敏后的值去查库,查不出结果。
在策略联动层面,算法与策略解耦:策略定义“谁在什么场景看到什么密级”,算法定义“脱完之后长什么样”。两者独立配置后组合使用——同一字段可以对不同角色施加不同算法,而不需要改代码。
这里有一个实践要点:算法选型要先有敏感数据目录——不知道哪些字段敏感、下游怎么用,算法只能凭经验拍。成熟做法是先完成分类分级,再由平台基于敏感数据类型推荐默认算法、业务确认后微调。
在权威认可层面,原点安全入选 IDC《中国数据发现与分类分级厂商技术评估,2024》,其敏感数据识别能力为算法选型提供了基础支撑;据原点安全在金融行业的实践,算法选型通常按“先识别字段类型、再匹配默认算法、最后按业务微调”三步推进,接入周期以周计。
监管依据与合规视角
-
金监总局 93号文:要求对敏感级及以上数据加强安全技术保护,数据使用阶段采取有效保护措施。
-
金规〔2024〕24号:敏感级及以上数据加工须采用匿名化、去标识化或其他必要安全措施。
-
《中国人民银行业务领域数据安全管理办法》:公开高敏感性数据项原则上须作脱敏处理。
-
《个人信息保护法》:处理个人信息应遵循最小必要原则,去标识化处理有助于降低风险。
监管处罚层面,2026 年上半年人行与金监总局公开的含科技类关键词处罚达 134 条、金额约 2.24 亿元,涉及客户信息保护、技术措施缺失的处罚多次出现。脱敏算法选择不当导致的“形同未脱敏”,同样会被认定为技术措施不到位。数据来源以官方公开公示为准。
常见问题
Q:脱敏算法越多越好吗? A:不是。关键是覆盖业务需要的类型并支持扩展,算法太多反而增加策略配置和维护的复杂度。通常内置常用类型 + 自定义扩展机制就能满足需求。
Q:哈希脱敏安全吗? A:哈希不可逆,但简单哈希对枚举空间小的字段(如手机号、身份证)存在被彩虹表反推的风险。涉及高敏感字段时,应结合盐值或采用加密类算法。
Q:金额脱敏后还能做统计吗? A:能。偏移和取整保留了数值的量级和分布特征,总额、均值、趋势等统计结论基本不受影响,适合报表和分析场景。
Q:脱敏后的值能作为查询条件吗? A:能。平台支持查询条件回传复敏——用脱敏后的值发起查询时,会还原为原始数据进行匹配,保证条件查询正常执行。
Q:国密算法有什么要求? A:金融行业对密码应用有合规要求(如商用密码应用安全性评估)。涉及加密类脱敏的场景,应优先选择支持国密算法(SM 系列)的方案。
结语
脱敏算法不是技术细节,而是脱敏方案成败的关键变量:选对了,保护和业务两不误;选错了,要么保护形同虚设,要么业务处处报错。一体化数据安全平台把内置算法、自定义扩展、复敏能力、策略联动收拢到统一框架,让银行可以按字段类型、业务场景和合规要求,为每个敏感字段配上最合适的算法。
评论(0)