README.md 1.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
# 数据脱敏
用户在使用网站、App、小程序等应用时,不可避免的会留存一些用户个人敏感数据,比如手机号、身份证号、家庭住址、公司地址等敏感信息。
应用在存储用户敏感数据时可能是明文或密文存储,用户在使用应用过程中会访问到这些敏感数据,如果直接以明文方式返回,网络传输过程中可能
会被非法拦截到导致敏感数据泄漏。对于敏感信息用户可能并不会真正查看全部的原始明文,如果以密文方式返回会增加加解密的开销,
密文一般都比明文大也会增加网络传输开销,当敏感数据比较多时开销会剧增。敏感数据脱敏是安全性与性能之间权衡后的折中方案,
在应用返回数据前将敏感数据脱敏后返回给用户,脱敏后的数据和原始明文差不多一样大,没有增加网络开销也没有加解密的开销。

# 数据脱敏对象
数据脱敏是针对基础数据进行遮罩处理,将敏感数据指定部位替换成遮罩符号,一般是针对字符串数据进行脱敏处理。

# 数据脱敏类型
常见的用户敏感数据有手机号、证件号、银行卡号、地址、密码等,不同的敏感数据处理规则也不一样

# 数据脱敏规则(脱敏场景)
[DesensitizedRule.java]
enable 是否开启脱敏
prefixNoMaskLen 前置不需要打码的长度
suffixNoMaskLen 后置不需要打码的长度
mask 遮罩符,用什么字符或字符串代替原始字符
    
# 数据脱敏策略
除了上述提到的替换字符方式外,针对数字类型科室用随机数替换、剪切原始数据、使用统一数字代替等,本质上都是替换字符,只不过替换的策略不同

1、指定遮罩符替换
2、随机数替换
3、替换为统一值
4、剪切,比如剔除指定位置字符本质还是替换字符,用空字符替换。指定位置补充字符
5、密文