点击上方蓝色“方志朋”,选择“设为星标”

回复“666”获取独家整理的学习资料!

最近连着几天晚上在家总是接到一些奇奇怪怪的电话,“哥,你是 xxx 吧,我们这里是 xxx 高端男士私人会所...”,握草,我先是一愣,然后狠狠的骂了回去。一脸傲娇的转过头,面带微笑稍显谄媚:老婆你听我说,我真的啥也没干,你要相信我!

啪~

搞事情啊

过后揉揉脸细想想,肯定是哪个不道德的网站,又把我的个人信息给卖了,现在的人上网都处于一个裸奔的状态,个人信息已不再属于个人,时下这种事好像也见怪不怪了,不过,出现这种事大多是有内鬼

停止交易,有内鬼

而作为开发者的我们,能做的就是尽量避免经我们手的用户数据泄露,那今天就来讲讲互联网中内部防止隐私数据泄露的手段-数据脱敏

什么是数据脱敏

先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如 手机号银行卡号 等信息,进行转换或者修改的一种技术手段,防止敏感数据直接在不可靠的环境下使用。

像政府、医疗行业、金融机构、移动运营商是比较早开始应用数据脱敏的,因为他们所掌握的都是用户最核心的私密数据,如果泄露后果是不可估量的。

数据脱敏的应用在生活中是比较常见的,比如我们在淘宝买东西订单详情中,商家账户信息会被用 * 遮挡,保障了商户隐私不泄露,这就是一种数据脱敏方式。

淘宝详情

数据脱敏又分为静态数据脱敏(SDM)和 动态数据脱敏(DDM):

静态数据脱敏

静态数据脱敏(SDM):适用于将数据抽取出生产环境脱敏后分发至测试、开发、培训、数据分析等场景。

有时我们可能需要将生产环境的数据  copy 到测试、开发库中,以此来排查问题或进行数据分析,但出于安全考虑又不能将敏感数据存储于非生产环境,此时就要把敏感数据从生产环境脱敏完毕之后再在非生产环境使用。

这样脱敏后的数据与生产环境隔离,满足业务需要的同时又保障了生产数据的安全。

数据脱敏过程

如上图所示,将用户的真实 姓名手机号身份证银行卡号 通过 替换无效化乱序对称加密 等方案进行脱敏改造。

动态数据脱敏

动态数据脱敏(DDM):一般用在生产环境,访问敏感数据时实时进行脱敏,因为有时在不同情况下对于同一敏感数据的读取,需要做不同级别的脱敏处理,例如:不同角色、不同权限所执行的脱敏方案会不同。

注意:在抹去数据中的敏感内容同时,也需要保持原有的数据特征、业务规则和数据关联性,保证我们在开发、测试以及数据分析类业务不会受到脱敏的影响,使脱敏前后的数据一致性和有效性。总之一句话:你爱怎么脱就怎么脱,别影响我使用就行

数据脱敏方案

数据脱敏系统可以按照不同业务场景自行定义和编写脱敏规则,可以针对库表的某个敏感字段,进行数据的不落地脱敏。

脱敏系统

数据脱敏的方式有很多种,接下来以下图数据为准一个一个的演示每种方案。

原始数据

1、无效化

无效化方案在处理待脱敏的数据时,通过对字段数据值进行 截断加密隐藏 等方式让敏感数据脱敏,使其不再具有利用价值。一般采用特殊字符(*等)代替真值,这种隐藏敏感数据的方法简单,但缺点是用户无法得知原数据的格式,如果想要获取完整信息,要让用户授权查询。

截断方式

比如我们将身份证号用 * 替换真实数字就变成了 "220724 ****** 3523",非常简单。

隐藏方式

2、随机值

随机值替换,字母变为随机字母,数字变为随机数字,文字随机替换文字的方式来改变敏感数据,这种方案的优点在于可以在一定程度上保留原有数据的格式,往往这种方法用户不易察觉的。

我们看到 nameidnumber 字段进行了随机化脱敏,而名字姓、氏随机化稍有特殊,需要有对应姓氏字典数据支持。

随机值

3、数据替换

数据替换与前边的无效化方式比较相似,不同的是这里不以特殊字符进行遮挡,而是用一个设定的虚拟值替换真值。比如说我们将手机号统一设置成 “13651300000”。

数据替换

4、对称加密

对称加密是一种特殊的可逆脱敏方法,通过加密密钥和算法对敏感数据进行加密,密文格式与原始数据在逻辑规则上一致,通过密钥解密可以恢复原始数据,要注意的就是密钥的安全性。

对称加密

5、平均值

平均值方案经常用在统计场景,针对数值型数据,我们先计算它们的均值,然后使脱敏后的值在均值附近随机分布,从而保持数据的总和不变。

原始数据

对价格字段 price 做平均值处理后,字段总金额不变,但脱敏后的字段值都在均值 60 附近。

平均值

6、偏移和取整

这种方式通过随机移位改变数字数据,偏移取整在保持了数据的安全性的同时保证了范围的大致真实性,比之前几种方案更接近真实数据,在大数据分析场景中意义比较大。

比如下边的日期字段create_time2020-12-08 15:12:25 变为 2018-01-02 15:00:00

取整

数据脱敏规则在实际应用中往往都是多种方案配合使用,以此来达到更高的安全级别。

总结

无论是静态脱敏还是动态脱敏,其最终都是为了防止组织内部对隐私数据的滥用,防止隐私数据在未经脱敏的情况下从组织流出。所以作为一个程序员不泄露数据是最起码的操守。

热门内容:
  • Redis 分布式锁使用不当,酿成一个重大事故,超卖了100瓶飞天茅台!!!

  • 服务被干爆了!竟然是日志的锅!!

  • 扔掉okhttp、httpClient,来试试这款轻量级HTTP客户端神器?

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡

大厂也在用的 6种 数据脱敏方案,别做泄密内鬼相关推荐

  1. 大厂也在用的6种数据脱敏方案,醍醐灌顶!

    前言 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目. 经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑.痛苦自不必说,知道被录取的那一刻,一整年的阴霾 ...

  2. 数据治理:1.数据脱敏—6种数据脱敏方案

    引用:程序员内点事 互联网中内部防止隐私数据泄露的手段-数据脱敏 什么是数据脱敏 先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如 手机号.银行卡号 ...

  3. 【数据治理】数据安全-数据脱敏方案

    背景 隐私保护,保障合法权益,2021年9月1日起施行的数据安全法: 防止数据滥用 在数据仓库建设过程中,数据安全扮演着重要角色,因为隐私或敏感数据的泄露,会对数据主体(客户,员工和公司)的财产.名誉 ...

  4. 3种常见的数据脱敏方案

    往期热门文章:1.BigDecimal使用不当,造成P0事故! 2.改造BeanUtils,优雅实现List数据拷贝 3.SpringBoot 启动时自动执行代码的几种方式,还有谁不会?? 4.让人上 ...

  5. 【SpringBoot】几种常见的数据脱敏方案

    需求场景: 对于某些接口返回的信息,涉及到敏感数据的必须进行脱敏操作 如: 用户的手机号不能直接显示,需要脱敏. 方案一.SQL 数据脱敏实现 -- CONCAT().LEFT()和RIGHT()字符 ...

  6. iOS中几种数据持久化方案总结

    概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...

  7. iOS中几种数据持久化方案-转自简书

    文/helloDolin(简书作者) 原文链接:http://www.jianshu.com/p/934a14e6de49 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者&quo ...

  8. SQL Server下7种“数据分页”方案,全网最全,快收藏

    数据分页往往有三种常用方案. 第一种,把数据库中存放的相关数据,全部读入PHP/Java/C#代码/内存,再由代码对其进行分页操作(速度慢,简易性高). 第二种,直接在数据库中对相关数据进行分页操作, ...

  9. Springboot 配置文件、隐私数据脱敏的最佳实践(原理+源码)

    这几天公司在排查内部数据账号泄漏,原因是发现某些实习生小可爱居然连带着账号.密码将源码私传到GitHub上,导致核心数据外漏,孩子还是没挨过社会毒打,这种事的后果可大可小. 说起这个我是比较有感触的, ...

最新文章

  1. 理解三次握手和四次挥手
  2. 预告:DIY大宝剑,大宝剑一号 ——DLGG的炽炎长剑
  3. Reducing the Dimensionality of Data with Neural Networks:神经网络用于降维
  4. python自动备份数据库_Python Mysql自动备份脚本
  5. 为什么hbase里没有表会显示表已经存在_0712-6.2.0-HBase快照异常
  6. opencms内容管理入门指南pdf_企业微信管理员训练营回顾(三) | 企业微信高效协作入门指南...
  7. 2-7 微信摇一摇_实现分析
  8. 【Oracle】用户管理
  9. XCode中的Debug View Hierarchy功能
  10. QT学习五之界面切换
  11. 中文核心期刊目录(2014 年版)北大核心目录(第七版)新鲜出炉
  12. R语言决策树实战教程
  13. ckplayer默认html,ckplayer.html
  14. PYTHON开发对接短信语音验证码接口
  15. XSS第一节,XSS档案
  16. 和ChatGPT聊了聊BDOS Online,结果……
  17. linux常用命令整理-02-服务器-系统-内存-磁盘-优化
  18. android多线程处理的方法以及应用场景
  19. 计算机操作系统-概述
  20. lib lib32 lib64等lib文件夹的说明

热门文章

  1. 预测----三个原则
  2. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
  3. python RSA 加密与签名
  4. Oracle11.2新特性之listagg函数 (行列转换)
  5. sendmail configuration on HP-UX
  6. 【蓝桥杯】【入门题】【算法提高VIP】1480:模拟计算器
  7. 技术图文:进一步完善自动化交易系统 - 04
  8. 算法基础知识科普:8大搜索算法之二叉搜索树(上)
  9. 【HDU】1284 钱币兑换问题 (想一想)
  10. 【ACM】连续出现的字符