zoukankan      html  css  js  c++  java
  • 数据脱敏和数据加密的区别

    参考文章:https://blog.csdn.net/kkx1988/article/details/80050355

    数据脱敏和数据加密是两种截然不同的技术,适用于不同目的。

    脱敏技术主要是为了兼顾数据安全与数据使用,采用的是专业的数据脱敏算法;而加密则是通过对数据进行编码来保护数据,检索原始值的唯一方法是使用解密密钥解码数据。

    脱敏数据仍然便于使用,但加密数据不是。

    加密的主要优点在于它的可逆性,但是解密密钥存储位置、如何存储以及确定谁具有访问权限等工作都会给整个安全工作增加额外的成本、故障点,加剧复杂性。

    数据加密

    敏感数据的实际值被转换为“垃圾”值,除非通过解密还原出原始值,否则人类无法理解这些值。

    数据脱敏

    在一个不可逆转的过程中,敏感数据的真实值被转换成虚构的、但看起来逼真的值,原始值被永久改变且无法恢复。

    上面两个简图能够帮助我们清晰地了解加密和脱敏的概念区别,当然实际技术还要复杂得多。比如脱敏根据不同的数据类型可能会应用不同的脱敏规则。

    综上,我们总结一下数据加密相较于脱敏的不足之处:

    1. 数据加密不能完全从技术上保证数据的安全。严格来说,任何有权访问用户数据的人员,如ETL工程师或是数据分析人员等,均有可能导致数据泄漏(数据脱敏能够更好地保证数据隐私性)。

    2. 没有访问用户数据权限的人员,也可能存在对该数据进行分析挖掘的需求,数据的访问约束大大限制了充分挖掘数据价值的范围(数据脱敏能保证数据的可用性)。

    3. 解密密钥存储位置、如何存储以及确定谁具有访问权限等工作都会给整个安全项目增加额外的成本、故障点,扩大复杂度。

     

    数据脱敏和数据加密在数据层面的不同表现:

    脱敏:在此只是对数据如姓名,身份证号码等进行简单粗暴的脱敏,即改变数据
    加密:此处将对于两种加密算法进行讲述。
    例DES、MD5加密函数。例如:
    DES加密: update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5&124*!de');
    DES解密:select decrypt_des(s.staffpwd, 'test#5&124*!de') from tb_salarysign_staff s
    MD5加密: update tb_salarysign_staff s set s.staffpwd = md5(s.staffpwd);


    查看解密后的字段状态,判断字段是否已被加密、脱敏
    select unpassword(nik, 'key:78891234') from ods.O_GENERA_I;
    317103******0002-----解密后的脱敏状态
    select unpassword(nama, 'key:78891234') from ods.O_GENERA_I;
    MEYA NIGSSIH-------解密后的未脱敏状态

     

    生活不止眼前的苟且,还有诗与远方的田野! 我会定期更新我的微博,来一起自学python! --------如有问题欢迎指正~------------
  • 相关阅读:
    Sublime Text3 支持Less
    Typescript + React-Router + Webpack 实现按需打包/加载
    从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
    JavaScript中的一些小细节
    微信小程序(safair浏览器)flex布局中的坑
    使用YQL解决让前端爬取网页并解析
    react diff算法剖析总结
    微信小程序IOS系统中,倒计时(setInterval函数)失效的问题
    微信小程序中未解决的坑
    利用nodejs监控文件变化并使用sftp上传到服务器
  • 原文地址:https://www.cnblogs.com/huangchenggener/p/11038781.html
Copyright © 2011-2022 走看看