数据脱敏方案V11.docx
- 文档编号:12164713
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:21
- 大小:1.54MB
数据脱敏方案V11.docx
《数据脱敏方案V11.docx》由会员分享,可在线阅读,更多相关《数据脱敏方案V11.docx(21页珍藏版)》请在冰豆网上搜索。
数据脱敏方案V11
数据脱敏方案V1.1(总20页)
大数据脱敏方案
2017-1-15
更改履历
版本号
修改编号
更改时间
更改的
图表和章节号
更改简要描述
更改人
批准人
1.概述
1.1.编写目的
本文档描述了数据脱敏的研究成果和方法论。
旨在为具有数据脱敏需求的开发人员和项目提供参考和借鉴。
1.2.数据脱敏的定义
敏感数据一般指不当使用或XX被人接触或修改会不利于国家利益或不利于个人依法享有的个人隐私权的所有信息。
工业和信息化部编制的《信息安全技术公共及商用服务信息系统个人信息保护指南》明确要求,处理个人信息应当具有特定、明确和合理的目的,应当在个人信息主体知情的情况下获得个人信息主体的同意,应当在达成个人信息使用目的之后删除个人信息。
这项标准最显着的特点是将个人信息分为个人一般信息和个人敏感信息,并提出了默许同意和明示同意的概念。
对于个人一般信息的处理可以建立在默许同意的基础上,只要个人信息主体没有明确表示反对,便可收集和利用。
但对于个人敏感信息,则需要建立在明示同意的基础上,在收集和利用之前,必须首先获得个人信息主体明确的授权。
这项标准还正式提出了处理个人信息时应当遵循的八项基本原则,即目的明确、最少够用、公开告知、个人同意、质量保证、安全保障、诚信履行和责任明确,划分了收集、加工、转移、删除四个环节,并针对每一个环节提出了落实八项基本原则的具体要求。
数据脱敏(DataMasking),又称数据漂白、数据去隐私化或数据变形。
XX百科对数据脱敏的定义为:
指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
这样,就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。
敏感数据,又称隐私数据,常见的敏感数据有:
姓名、身份证号码、地址、电话号码、银行账号、邮箱地址、所属城市、邮编、密码类(如账户查询密码、取款密码、登录密码等)、组织机构名称、营业执照号码、银行帐号、交易日期、交易金额等。
随着大数据时代的到来,大数据商业价值的挖掘,用户的精准定位,大数据中蕴藏的巨大商业价值被逐步挖掘出来,但是同时也带来了巨大的挑战–个人隐私信息的保护。
个人信息与个人行为(比如位置信息、消费行为、网络访问行为)等,这些都是人的隐私,也是我们所关注的一类敏感信息,在大数据价值挖掘的基础上如何保护人的隐私信息,也将是数据脱敏必须解决的难题。
1.3.数据脱敏需求
随着国家电网数据应用的不断深入,有许多应用需要和外部系统对接,数据需要对外提供服务才能体现出它的价值,大数据时代是数据融合的时代,如何在数据融合的过程中,保证数据在开发、测试、生产、应用等各个环节的安全,成为信息安全部门的重要任务。
国家电网数据脱敏需求包括:
通过数据抽取、数据漂白、数据混淆等处理过程,用来满足测试、开发、培训、数据共享和数据融合场景下的敏感数据保护需求,并使得数据处理过程满足国家电网的敏感数据防护的政策规定。
具体脱敏需求包括:
防止生产库中的敏感数据泄漏
通过对生产库中的身份、地址、用户卡号、手机号等敏感信息进行混淆、打乱后再提供给第三方使用,防止生产库中的敏感数据泄漏。
保证测试、开发、应用阶段的数据关联性
通过脱敏策略和算法,保证脱敏数据有效性(保持原有数据类型和业务格式不变)、完整性(保证长度不变、数据含义不丢失)、关系性(保持表间、表内数据关联关系)。
以提升测试、开发、应用环节的数据真实性和可用性。
保证数据维护和数据共享的安全
对数据库访问者的用户名、IP、工具类型、时间等进行监控,控制数据访问结果的差异化,数据结果可以划分为真实数据、掩码数据、数据阻断、行限定数据等,通过访问者的不同访问策略,满足细粒度的数据访问需求。
例如DBA可维护但无法查看敏感数据、业务系统可以访问真实数据、分析系统可以访问脱敏后的数据。
保证隐私数据管理的政策合规性
数据的脱敏和数据处理必须在国家电网的相关政策规定允许的情况下进行,脱敏规则符合国家电网的数据管理要求。
2.脱敏方案
2.1.脱敏流程
数据脱敏的流程一般分为:
敏感数据发现、敏感数据梳理、脱敏方案制定、脱敏任务执行四大步骤,结合数据脱敏算法、数据脱敏规则以及脱敏的环境来达到最佳的数据脱敏效果。
2.1.1.敏感数据发现
敏感数据的发现分为人工发现和自动发现两种。
对于国家电网相对固定的业务数据,可以采用人工甄别,明确指定那些列、那些库的数据是需要脱敏,这些数据一般数据结构和数据长度不会有变化,大部分为数值型和固定长度的字符。
比如:
单位代码、户号、户名、用电地址等标识列,针对这些数据可以通过人工指定脱敏规则和不同的数据访问策略,保证敏感信息不被泄漏。
自动识别根据人工指定或预定义的敏感数据特征,借助敏感数据信息库和分词系统,自动识别数据库中包含的敏感信息,相对于人工识别可以减少工作量和防止遗漏。
一般采用自动发现为主,结合人工发现和审核,来完成敏感数据的发现和定义,最终形成完善的敏感数据字典。
2.1.2.敏感数据梳理
在敏感数据发现的基础上,完成敏感数据列、敏感数据关系的调整,以保证数据的关联关系。
通过屏蔽、变形、替换、随机、格式保留加密、强加密等数据脱敏算法,针对不同的数据类型进行数据掩码扰乱。
2.1.3.脱敏方案制定
对于不同的数据脱敏需求,在基础脱敏算法的基础上,可配置专门的脱敏策略。
脱敏方案的制定主要依靠脱敏策略和脱敏算法的复用来实现,通过配置和扩展脱密算法以制定最优方案。
2.1.4.脱敏任务执行
脱敏任务的停止、启动、暂停等操作,支持任务并行处理,支持脱敏任务的中断续延等。
2.2.脱敏算法
2.2.1.脱敏算法特征
通常根据不同数据特征选择不同的脱敏算法,对常见数据如姓名、证件号、银行账户、金额、日期、住址、电话号码、Email地址、车牌号、车架号、企业名称、工商注册号、组织机构代码、纳税人识别号等敏感数据进行脱敏,脱敏算法通常包括屏蔽、变形、替换、随机、格式保留加密(FPE)和强加密算法(如AES)。
脱敏算法具有如下特性:
同义替换
使用相同含义的数据替换原有的敏感数据,如姓名脱敏后仍然为有意义的姓名,住址脱敏后仍然为住址。
部分数据遮蔽
将原数据中部分或全部内容,用“*”或“#”等字符进行替换,遮盖部分或全部原文。
混合屏蔽
将相关的列作为一个组进行屏蔽,以保证这些相关列中被屏蔽的数据保持同样的关系,例如,城市、省、邮编在屏蔽后保持一致。
确定性屏蔽
确保在运行屏蔽后生成可重复的屏蔽值。
可确保特定的值(如,客户号、身份证号码、银行卡号)在所有数据库中屏蔽为同一个值。
可逆脱敏
确保脱敏后的数据可还原,便于将第三方分析机构和内部分析团队基于脱敏后数据上的分析的结果还原为业务数据。
2.2.2.K-Anonymity(K-匿名)
算法描述:
要求对于任意一行记录,其所属的相等集内记录数量不小于k,即至少有k-1条记录半标识列属性值与该条记录相同。
理论上来说,对于K-Anonymity数据集,对于任意记录,攻击者只有1/k的概率将该记录与具体用户关联。
算法步骤:
先移除标识列
泛化半标识列
算法优缺点:
优点:
可以用于保护个人标识泄漏的风险。
缺点:
容易受到链接式攻击,无法保护属性泄露的风险。
对于K-Anonymity的数据集,攻击者可能通过同质属性攻击与背景知识攻击两种方式攻击用户的属性信息。
对移除标识列的数据根据半标识列进行分组,每组最少有k条记录,每组中至少有k-1条记录的半标识列的值与该记录相同。
2.2.3.L-Diversity
算法描述:
如果对于任意相等集内所有记录对应的敏感数据的集合,包含L个“合适”值,则称该相等集是满足L-Deversity。
如果数据集中所有相等集都满足L-Deversity,则称该数据集满足L-Deversity。
相对于K-Anonymity标准,符合L-Deversity标准的数据集显着降低了属性数据泄漏的风险。
对于满足L-Derversity的数据集,理论上,攻击者最多只有1/L的概率能够属性泄露攻击,将特定用户与其敏感信息关联起来。
通过插入干扰数据构造符合L-Diversity的数据集。
在K-Anonymity的基础上,每个数据集中,其敏感信息列有L个不同的值,攻击者只有1/L的几率获得正确的敏感信息。
2.2.4.T-Closeness
算法描述:
L-Diversity是通过约束P的diversity属性,尽量减少B0和B2之间的信息量差距,差距越小,说明隐私信息泄漏越少。
T-Closeness约束则期望减少B1和B2之间的信息量差距,减少攻击者从敏感数据的全局分布信息和相等集分布信息之间得到更多的个人隐私信息。
如果一个相等类的敏感数据的分布与敏感数据的全局分布之间的距离小于T,则称该相等类满足T-Closeness约束。
如果数据集中的所有相等类都满足T-Closeness,则称该数据集满足T-Closeness.
T-Closeness约束限定了半标识列属性与敏感信息的全局分布之间的联系,减弱了半标识列属性与特定敏感信息的联系,减少攻击者通过敏感信息的分布信息进行属性泄露攻击的可能性。
不过同时也肯定导致了一定程度的信息丢失,所以管理者通过T值的大小平衡数据可用性与用户隐私保护。
2.2.5.算法用例
原始数据
我们以用采用户数据为例:
ORG_NO(单位代码)
CONS_NO(户号)
CONS_NAME(户名)
ELEC_ADDR(用电地址)
ELEC_TYPE_CODE(用电类型)
LINE_ID
TRADE_CODE
VOLT_CODE
CONTRACT_CAP
110
44
浙江长兴县供电公司
浙江省湖州市长兴县泗安镇塔上行政村张家湾自然村
402
4710
AC00101
315
110
06
浙江奇碟汽车零部件有限公司
浙江省湖州市长兴县泗安镇五里渡行政村五里渡新村自然村
100
3720
AC00101
1880
110
77
华能长兴光伏发电有限责任公司
浙江省湖州市长兴县泗安镇三里亭行政村亭子头自然村杰夫厂区
100
1710
AC00102
1240
110
31
长兴县泗安镇钱庄村村民委员会
浙江省湖州市长兴县泗安镇钱庄行政村刘小湾自然村
100
1540
AC00101
80
110
31
长兴县泗安镇钱庄村村民委员会
浙江省湖州市长兴县泗安镇钱庄行政村刘小湾自然村
403
2540
AC00102
80
110
55
浙江物产汽车安全科技有限公司
浙江省湖州市长兴县泗安镇赵村村行政村赵村庙自然村
100
1610
AC00102
630
110
68
华能长兴光伏发电有限责任公司
浙江省湖州市长兴县泗安镇三里亭村行政村亭子头自然村
402
4410
AC00101
2500
110
35
长兴泗安严义明蔬菜种植园
浙江省湖州市长兴县泗安镇塔上村行政村塔上大湾自然村
403
2500
AC00101
80
110
44
浙江长兴县供电公司
浙江省湖州市长兴县泗安镇塔上行政村张家湾自然村
402
4710
AC00101
315
K-Anonymity(k=2)
ORG_NO
CONS_NO
ELEC_ADDR
ELEC_TYPE_CODE
LINE_ID
TRADE_CODE
VOLT_CODE
CONTRACT_CAP
110
35201*
浙江省湖州市长兴县泗安镇
402
>4000
AC00101
315
110
35201*
浙江省湖州市长兴县泗安镇
402
>4000
AC00101
2500
110
35200*
浙江省湖州市长兴县泗安镇
100
>3000
AC00101
1880
110
35200*
浙江省湖州市长兴县泗安镇
100
>3000
AC00101
80
110
35200*
浙江省湖州市长兴县泗安镇
403
>2000
AC00102
80
110
35200*
浙江省湖州市长兴县泗安镇
403
>2000
AC00102
80
110
35201*
浙江省湖州市长兴县泗安镇
100
>1000
AC00102
1240
110
35201*
浙江省湖州市长兴县泗安镇
100
>1000
AC00102
630
L-Diversity(L=2)
ORG_NO
CONS_NO
ELEC_ADDR
ELEC_TYPE_CODE
LINE_ID
TRADE_CODE
VOLT_CODE
CONTRACT_CAP
110
35201*
浙江省湖州市长兴县泗安镇
402
>4000
AC00101
315
110
35201*
浙江省湖州市长兴县泗安镇
402
>4000
AC00101
2500
110
35200*
浙江省湖州市长兴县泗安镇
100
>3000
AC00101
1880
110
35200*
浙江省湖州市长兴县泗安镇
100
>3000
AC00101
80
110
35200*
浙江省湖州市长兴县泗安镇
403
>2000
AC00102
80
110
35200*
浙江省湖州市长兴县泗安镇
403
>2000
AC00102
80
110
35200*
浙江省湖州市长兴县泗安镇
403
>2000
AC00102
120
110
35201*
浙江省湖州市长兴县泗安镇
100
>1000
AC00102
1240
2.3.脱敏规则
脱敏规则,一般的脱敏规则分类为可恢复与不可恢复两类。
可恢复类,指脱敏后的数据可以通过一定的方式,可以恢复成原来的敏感数据,此类脱敏规则主要指各类加解密算法规则。
不可恢复类,指脱敏后的数据被脱敏的部分使用任何方式都不能恢复出。
一般可分为替换算法和生成算法两大类。
替换算法即将需要脱敏的部分使用定义好的字符或字符串替换,生成类算法则更复杂一些,要求脱敏后的数据符合逻辑规则,即是“看起来很真实的假数据”。
常用的脱敏规则主要有:
编号
名称
描述
示例
1
Hiding(隐匿)
将数据替换成一个常量,常用作不需要该敏感字段时
500->0
630->0
2
Hashing(hash映射)
将数据映射为一个hash值(不一定是一一映射),常用作将不定长数据应设成定长的hash值
Jim,Green->3
Tom,Cluz->4
3
Permutation(唯一值映射)
将数据映射为唯一值,允许根据映射值找回原始值,支持正确的聚合或连接操作
Smith->Clemetz
Jones->Spefde
4
Shift(偏移)
将数量值增加一个固定的偏移量,隐藏数值部分特征
253->1253
254->1254
5
Enumeration(排序映射)
将数据映射为新值,同时保持数据顺序
500->25000
400->20000
6
Truncation(截断)
将数据尾部阶段,只保留前半部分
02>021
0>010
7
Prefix-preserving(局部混淆)
保持IP前n位不变,混淆其余部分
->
->
8
Mask(掩码)
数据长度不变,但只保留部分数据信息
2345323->234—23
->145—34
9
Floor(偏移取整)
数据或是日期取整
28->20
12:
30:
45->12:
00:
00
2.4.脱敏环境
数据脱敏的环境一般按照生产环境和非生产环境(开发、测试、外包、数据分析等)进行划分,根据数据脱敏产品应用场景的将数据脱敏划分为静态数据脱敏(staticdatamasking)和动态数据脱敏(dynamicdatamasking),静态数据脱敏(SDM)与动态数据脱敏(DDM)主要的区别是:
是否在使用敏感数据当时进行脱敏。
静态数据脱敏(SDM)一般用在非生产环境,在敏感数据从生产环境脱敏完毕之后再在非生产环境使用,一般用于解决测试、开发库需要生产库的数据量与数据间的关联,以排查问题或进行数据分析等,但又不能将敏感数据存储于非生产环境的问题。
动态数据脱敏(DDM)一般用在生产环境,在访问敏感数据当时进行脱敏,一般用来解决在生产环境需要根据不同情况对同一敏感数据读取时需要进行不同级别脱敏的问题。
3.数据脱敏方式
按照数据处理方式的不同,可以将数据脱敏分为静态数据脱敏和动态数据脱敏两大类。
3.1.静态数据脱敏
静态数据脱敏指将数据文件进行去敏感、去隐私化的处理同时保证数据之间的关联关系。
外发给第三方公司进行开发测试或是数据分析。
得到的分析结果后能够将分析出的数据进行回溯。
该脱敏方式适用于项目开发单位需要获取完整的数据才能保证数据分析工作的顺利完成,对于数据提供方,又不希望敏感数据泄漏出去,在这种情况下,就需要对数据进行可回溯的脱敏方式,保证发送出去的数据不包含敏感信息,当项目开发单位开发完成后,将分析系统或结果数据回溯成真实的结果数据。
这样既保证了开发过程中的数据共享和结果一致性,又保证了真实数据不会在开发过程中泄漏。
静态数据的脱敏非常适合数据拥有者在和多个外部开发团队的数据融合和数据共享中使用,保证开发、测试环节不会泄漏数据。
3.2.动态数据脱敏
动态数据脱敏指用户在前端应用处调取后台数据库中敏感数据时,进行数据脱敏,再反馈至前台呈现。
可在通讯层面上,通过代理部署方式,对业务系统数据库中敏感数据进行透明的、实时的脱敏。
通常依据用户的角色、职责和其他IT定义身份特征,动态的对生产数据库返回的数据进行专门的屏蔽、加密、隐藏和审计,可确保不同级别的用户按照其身份特征恰如其分的访问敏感数据,并且不需要对生产数据库中的数据进行任何改变。
动态数据脱敏同样支持同义替换、部分遮蔽、混合脱敏、确定性脱敏及可逆脱敏,通常可根据不同用户身份特征,指定对应的数据脱敏算法。
通过动态脱敏功能,能够帮助国家电网公司快速、低风险、平稳的提供生产数据库的实时隐私保护。
典型的应用场景体现在:
1:
保护生产环境
对于国家电网大型复杂系统环境下,为了给客户提供高水平的服务,有时意味着开发人员、数据库管理员、设计人员、专业顾问和其他系统需要不受限制的访问生产数据,以便迅速解决重大问题和快速响应。
由此造成了对客户信息、电话、地址等隐私信息的违规访问途径。
动态数据脱敏可以有效解决这一风险,并且不会丧失快速响应的能力。
2:
降低外包风险
对于大型复杂系统,往往依赖大量的外包IT人员和开发单位来开展和维护业务,这些外包人员能够通过应用程序,报表和开发、运维工具访问生产数据,这意味着隐私数据完全暴露在不可控的环境中;动态数据脱敏可以对不同用户和应用的访问进行实时的隐私数据屏蔽,帮助国家电网有效保护重要数据资产的访问。
3:
保护通用帐户风险
数据库维护人员常常会使用强度很弱的通用密码,便于开发人员和DBA访问和监控生产数据库,便利的同时也为获取关键隐私数据开了方便之门。
通过提供过敏后的数据掩码,一方面可以防止来自非生产环境的登录,并且可以根据规则向不同的登录用户和系统提供经过脱敏的数据。
4.大数据的数据脱敏技术
大数据平台通过将所有数据整合起来,充分分析与挖掘数据的内在价值,为业务部门提供数据平台,数据产品与数据服务。
大数据平台接入的数据中可能包括很多用户的隐私和敏感信息,如用电记录、用电用户支付信息、国家机密信息等,这些数据存在可能泄漏的风险。
大数据平台一般通过用户认证,权限管理以及数据加密等技术保证数据的安全,但是这并不能完全从技术上保证数据的安全。
严格的来说,任何有权限访问用户数据的人员,如ETL工程师或是数据分析人员等,均有可能导致数据泄漏的风险。
另一方面,没有访问用户数据权限的人员,也可能有对该数据进行分析挖掘的需求,数据的访问约束大大限制的充分挖掘数据价值的范围。
数据脱敏通过对数据进行脱敏,在保证数据可用性的同时,也在一定范围内保证恶意攻击者无法将数据与具体用户关联到一起,从而保证用户数据的隐私性。
数据脱敏方案作为大数据平台整体数据安全解决方案的重要组成部分,是构建安全可靠的大数据平台必不可少的功能特性。
用户隐私数据保护与挖掘用户数据价值是两个互相冲突的矛盾体,彻底的数据脱敏,需要抹去全部的用户标识信息,使得数据潜在的分析价值大大降低。
另一方面,完全保留用户隐私数据信息,可最大化数据的分析价值,同时导致用户隐私泄露的风险无法控制。
因此大数据脱敏平台的设计目标并不是实现工具算法用来完全抹去全部的用户标识信息,而是包括如下几个目标:
数据泄露风险可控。
首先,实现基于大数据平台的脱敏算法库,可并行,高效的按照脱敏规则对隐私数据进行脱敏。
其次,基于数据脱敏的理论基础,建立用户隐私数据泄露风险的衡量模型,可定性定量的准确衡量数据可能发生泄露的风险。
可管理。
结合大数据平台的用户认证体系,权限管理体系,以及隐私数据不同保护级别的权限管理体系,实现对隐私数据基于审批的数据访问机制。
结合公司制度,规范,法务等管理,实现在尽可能保护用户隐私数据,减少数据泄露风险的前提下,最大化保留数据分析挖掘的价值。
可审计。
对数据的访问要保证可回溯,可审计,当发生数据泄露时,要保证能够通过审计日志找到对应的泄露人员。
大数据平台的数据来源比较广泛,根据现在流行的数据采集技术,可以分为流式数据和批量数据两种。
4.1.流式数据脱密
流式数据是指不断产生、实时计算、动态增加且要求及时响应的数据,它具有海量和实时性等特点,一般将实时或准实时的数据处理技术归为流式数据处理技术。
包括:
ApacheStorm、SparkStreaming等。
1.基于Storm的流式数据脱敏
Storm是一个分布式的,可靠的,容错的数据流处理系统。
Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt,?
bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。
一个Storm集群就是在一连串的bolt之间转换spout传过来的数据。
对于一个允许增量计算的高速事件处理系统,Storm会是最佳选择。
它可以应对你在客户端等待结果的同时,进一步进行分布式计算的需求,可以使用开箱即用的分布式RPC。
同时Storm使用ApacheThrift,你可以用任何编程语言来编写拓扑结构。
由于storm的数据处理方式是增量的实时处理,我们的数据脱
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 方案 V11
![提示](https://static.bdocx.com/images/bang_tan.gif)