转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/81032427
本文出自【我是干勾鱼的博客】

1 数据脱敏的定义

常用的安全防护技术包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。这其中,数据脱敏是数据安全防护的重要技术手段,在现代社会的信息安全防控体系中扮演着重要的角色。

具体来说,数据脱敏是指:

对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。

贵州省推出的地方标准政府数据数据脱敏工作指南,也就是DB 52/T 1126—2016也曾对数据脱敏进行了定义:

从原始环境向目标环境进行敏感数据交换的过程中,通过一定方法消除原始环境数据中的敏感信 息,并保留目标环境业务所需的数据特征或内容的数据处理过程。

简单来讲,可以理解为某些敏感数据不想直白的完全展示出来,而进行部分处理再进行展示的过程。数据脱敏技术作为安全防护技术手段之一,在信息技术的安全生产、使用中都起着重要的作用。

2 数据脱敏的原则

2.1 技术原则

在技术层面上,数据脱敏须遵循包括有效性,真实性,高效性,稳定性,可配置性等五个原则,如下图所示:

具体内容如下:

  • 有效性:有效的移除敏感信息。

  • 真实性:为保证脱敏后数据的正常使用,应尽可能真实的保留脱敏后数据的有意义信息,以保证对业务特征的支持。

  • 高效性:在保证安全的前提下,尽可能减少脱敏代价。

  • 稳定性:在输入条件一致的前提下,对相同的脱敏数据,经过多次脱敏仍然获得相同的稳定结果。

  • 可配置性:可以配置处理结果和处理字段,以根据应用场景获得相应的脱敏结果。

2.2 管理原则

在管理层面上,数据脱敏须遵循包括敏感信息识别,安全可控,安全审计,代码安全等四个原则,如下图所示:

具体内容如下:

  • 敏感信息识别:应根据数据的信息分类,明确敏感信息的范畴;对于有些信息,本身不直接是敏感信息,但与其它信息结合后会被推断出敏感信息,这样的信息也应被纳入数据脱敏的范畴。

  • 安全可控:对于脱敏后仍保留了部分信息特征而存在泄露风险的信息,要采用合适的安全管理手段防止数据泄露。

  • 安全审计:在数据脱敏环节中应加入安全审计机制,用于数据追踪和问题溯源。

  • 代码安全:对执行数据脱敏的程序应做好代码审查,以及上线时的安全扫描,保证数据脱敏过程的安全可靠。

3 保存方式

信息领域的业务是不断变化的,信息的保存方式也随之改变。数据脱敏过程中,数据信息的保存方式与具体的业务场景有关,要视具体的业务需求而定。

3.1保留明文+密文

数据既可以展示密文,也可以展示明文;底层数据库既保留明文,也保留密文。

这种方式相对灵活,脱敏操作可以从保存的脱敏数据中直接取出,也可以根据脱敏策略对明文数据加密后再显示。

3.2 只保留密文

数据展示密文,底层数据库只保留密文。

某些有审计要求的环境是不允许保留明文数据的,这种情况下数据信息只保留脱密后的密文信息。而数据分析、查询等与明文数据相关的操作,要根据密文信息与加密逻辑统一处理。

3.3 只保留明文

数据层展示密文;底层数据库只保留明文。这种方式密文数据实时处理,没有持久化。

数据信息也可以只在展示的时候以密文的形式展示,而数据存储以明文的形式保存。这种情况下,数据分析、查询等日常的业务操作较为简单,但每次数据展示要根据脱密逻辑进行实时数据脱密,比较消耗系统资源。

4 处理对象

对数据源的支持。最好能支持多种异构类型的数据源,或者区分形态进行支持。

4.1 关系型数据库

针对关系型数据库的数据脱密,如MySQL、Oracle、PostgreSQL、SQLServer等。

4.2 非关系型数据库(大数据)

针对非关系型数据库如大数据生态系统的数据脱密,如Hive、Hbase等。

5 脱敏逻辑

脱敏逻辑是数据脱敏功能的核心,具体的脱敏逻辑要根据数据特点并结合具体的业务场景进行设计和分析。常用的有以下几种形式。

5.1 数据替换

将原有数据信息进行数值替换,例如将身份证号码全部替换成简单的无差别号码,如图:

5.2 无效化

例如讲过地址信息部分或全部隐藏使其无效,如图:

5.3 随机化

例如将个人姓名采用其它随机文字替换,如图:

5.4 数据偏移与数据取整

数据偏移与数据取整主要用在时间数据的脱密处理上,将原时间信息通过偏移的手段得到取整的数据,原有数据如图:

处理后的数据:

5.5 掩码屏蔽

例如,对身份证号的信息遮掩掉其中的一部分数据,原有数据如图:

处理后的数据如图:

6 方案类型

6.1 新上线业务

新上线业务在数据脱敏上的处理相对简单。由于从业务之初就会为数据脱敏环节做准备,新业务在设计阶段即开始考虑数据脱敏的处理过程。值得注意的是,从无到有的信息脱敏过程,既要满足数据脱敏的技术原则,又要满足数据脱敏的管理原则。

6.2 已上线业务

已有业务实施数据脱敏要考虑的事情比较多,需要根据业务场景具体问题具体分析。

6.2.1 停工法

某些情况下,生产环境的系统已经非常成熟,数据脱敏的逻辑也很明确,而且生产环节并不紧迫。这种情况下,可以考虑先将数据脱敏的设计工作做完善,然后将生产环境短暂停止,将数据脱敏模块加入后,再将生产环节重新启动。停工法的思路同新上线业务是类似的。

6.2.2 复制法

大多数生产环境都比较紧迫,因为加入数据脱敏而停工的成本消耗代价太大了,或者无法实现。这种情况下,一种比较稳妥的解决方案是:

准备一个与生产环境一样的预发布环境,或者称为预发环境,

使用迁移洗数工具将生产环境原有存量明文数据进行脱密处理后,保存到预发环境中;而生产环境的新增数据则可以使用例如MySQL的主从复制功能,并结合业务方自己开发的清洗工具进行数据脱敏后,保存到预发环境的数据库中。

通过这种方式同时保存了两套处于实时同步中的运行环境:生产环境保存的是明文数据,以明文数据进行查询修改;预发环境保存的则是脱敏数据,以脱敏数据进行查询修改。两套环境同步运行一段时间稳定后,就可以在合适的时候将新增的生产流量数据切换到预发环境中,形成数据依赖的无缝迁移。

7 参考

Apache ShardingSphere

Apache ShardingSphere数据脱敏全解决方案详解

数据脱敏的处理方法及查询

数据脱敏小探——数据脱敏技术概述相关推荐

  1. 大数据、云计算、物联网相关技术概述——《大数据技术原理与应用》课程学习总结

    在学习大数.云计算以及物联网相关概念之前,先了解一下大数据的背景吧 1.1 大数据时代 1.1.1 第三次信息化浪潮 三次信息化浪潮: 信息化浪潮 发生时间 标志 解决问题 代表企业 第一次信息化浪潮 ...

  2. 微信公众平台数据和小程序数据联通

    微信公众平台数据和微信小程序由于Openid不一样,所以造成微信内网站界面和小程序数据无法直接联通,我这里提出两个解决方案. 方案一: 如果是一起上线的系统可以一起上线.那么我们可以自定义一个,小程序 ...

  3. 如何清除微信小程序服务器数据,微信小程序数据如何清空?

    数据处理类小程序 /*我的*/ #include #include #include #include #include int cs; //定义全局变量cs class student { priv ...

  4. 微信小程序数据渲染和数据请求

    微信开放文档 数据渲染 概念:微信小程序和Vue实现理念是一致的,是基于数据驱动完成页面数据的自动化渲染.微信小程序中数据和Vue一样是响应式,即数据的更改会驱动页面进行数据的刷新. 具体操作 首先找 ...

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

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

  6. 报表类大数据数据存储方案和财务数据脱敏

    工作需求: 存储: mysql 数据量: 每月100w~500w 现状: 当前存储没有问题,单月查询在总表2000w之内,索引优化好,能支撑现有业务 需求:业务比较稳定后业务方有跨月查询的需求,折中估 ...

  7. 大数据技术概述与入门

    一.大数据概述 大数据概念最初来自于2009年的<自然>杂志, Ginsberg采用大数据搜索引擎查询数据并对流行性流感活动进行检测,之后在2011年2月<科学>杂志通过社会调 ...

  8. 即兴小探华为开源行业领先大数据虚拟化引擎openLooKeng

    文章目录 概述 定义 背景 特点 架构 关键技术 应用场景 安装 单台部署 集群部署 命令行接口 连接器 MySQL连接器 ClickHouse连接器 概述 定义 openLooKeng 官网地址 h ...

  9. 大数据云计算技术概述_云计算–概述,类型,优势和未来范围

    大数据云计算技术概述 Cloud Computing is a type of online on-demand service that includes resources like comput ...

最新文章

  1. Crystal Reports图表(上)
  2. Office 2010默认输入法设置方法
  3. 【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)
  4. Iterator 和 ListIterator 有什么区别?
  5. 网络编程BIO,NIO一
  6. 涨知识!提单及运输业务中常用的一些代码、术语及意义!
  7. ps怎么一下选中多个图层_PS图层基本操作,零基础小白必学
  8. Python入门4_之字典的使用
  9. python操作redis中的list
  10. hdu 3308 线段树
  11. 名副其实!华为天才少年身份曝光!
  12. 重复的事情让机器来做,简化的思想
  13. python身份证照片识别信息
  14. topjui.core.js
  15. 在 NXP iMX8 上进行 4K 视频播放测试
  16. 读书笔记——WebKit技术内幕 WebKit架构和模块
  17. HKEY_CLASSES_ROOT/Applications
  18. Unity3D游戏开发之在uGUI中使用不规则精灵制作按钮
  19. 【时序逻辑电路(sequential logic circuit)】
  20. 【转载】MISRA C-2012规则中文版

热门文章

  1. layui设置textarea高度
  2. 表格(table)属性cellspacing、cellpadding
  3. 港口数字化转型不能盲目跟风
  4. python-opencv文件夹中所有视频按顺序截图片并按顺序命名
  5. 图片裁剪_如何裁剪某张图片的某一部分
  6. Go语言 基础语法学习 (未完待更......
  7. 什么样的人才是幸福的?
  8. windows 常用快捷键(常用)
  9. 用html和css构建简单的静态网页
  10. 野田圣子、希尔顿、松下幸之助,都喝过马桶水吗? .