摘要
数据脱敏是数据安全领域落地场景较为成熟的技术手段,在数据深层次、大范围的共享开放的今天,数据脱敏在不影响数据使用的前提下,保护敏感隐私数据,已成为数据安全建设重要内容。本文通过对数据脱敏技术及应用场景等进行梳理,为各行业用户更好的实施数据脱敏技术提供指南,主要内容包括以下四个方面:
数据脱敏法规政策合规依据
数据脱敏技术定义及实施过程解析
数据脱敏典型应用场景
数据脱敏管理体系的建立
数据脱敏法规政策合规依据
《网络安全法》第四十二条:网络运营者不得泄露、篡改、毁损其收集的个人信息;未经被收集者同意,不得向他人提供个人信息。但是,经过处理无法识别特定个人且不能复原的除外。
《数据安全法》第二十七条:开展数据处理活动应当依照法律、法规的规定,建立健全全流程数据安全管理制度,采取相应的技术措施和其他必要措施,保障数据安全。
《个人信息保护法》第五十一条:个人信息处理者应当根据个人信息的处理目的、处理方式、个人信息的种类以及对个人权益的影响、可能存在的安全风险等,采取相应的加密、去标识化等安全技术措施。
《信息安全技术网络安全等级保护基本要求》明确规定,二级以上保护则需要对敏感数据进行脱敏处理。其中H.4.3安全计算环境要求“大数据平台应提供静态脱敏和去标识化的工具或服务组件技术。”H.4.5安全运维管理“应在数据分类分级的基础上,划分重要数字资产范围,明确重要数据进行自动脱敏或去标识使用场景和业务处理流程。”
《网络数据安全管理条例(征求意见稿)》第十二条:数据处理者向第三方提供个人信息,或者共享、交易、委托处理重要数据的,应当向个人告知提供个人信息的目的、类型、方式、范围、存储期限、存储地点,并取得个人单独同意,符合法律、行政法规规定的不需要取得个人同意的情形或者经过匿名化处理的除外。
典型行业:金融行业合规要求《中国银行业“十二五”信息科技发展规则监管指导意见》:加强数据、文档的安全管理,逐步建立信息资产分类分级保护机制。完善敏感信息存储和传输等高风险环节的控制措施,对数据、文档的访问应建立严格的审批机制。对用于测试的生产数据要进行脱敏处理,严格防止敏感数据泄露。《金融行业网络安全等级保护实施指引》:应将开发环境、测试环境、实际运行环境相互分离,敏感数据经过脱敏后才可在开发或测试中使用。《金融数据安全数据生命周期安全规范》:开发测试等过程的数据,应事先进行脱敏处理,防止数据处理过程中的数据泄露,国家及行业主管部门另有规定的除外。《商业银行信息科技风险现场检查指南》:开发过程中是否使用了生产数据,使用的生产数据是否得到高级管理层的批准并经过脱敏或相关限制。”“测试用例是否有生产数据,当使用生产数据测试时是否得到高级管理层的审批并采取相关限制及进行脱敏处理。
典型行业:电信和互联网行业合规要求《电信和互联网行业数据安全标准体系建设指南》:数据处理数据处理标准用于规范敏感数据、个人信息的保护机制及相关技术要求,明确敏感数据保护的场景、规则、技术方法,主要包括匿名化/去标识化、数据脱敏、异常行为识别等标准。《电信和互联网行业提升网络数据安全保护能力专项行动方案》:指导电信和重点互联网企业加强内部网络数据安全组织保障,推动设立或明确网络数据安全管理责任部门和专职人员,负责承担企业内部网络数据安全管理工作,督促协调企业内部各相关主体和环节严格落实操作权限管理、日志记录和安全审计、数据加密、数据脱敏、访问控制、数据容灾备份等数据安全保护措施,组织开展数据安全岗位人员法律法规、知识技能等培训。《电信网和互联网数据脱敏技术要求与测试方法》:提出了数据脱敏技术应用架构,并且总结了在实际应用数据脱敏技术过程中,主要涉及的三个要素:脱敏算法、脱敏规则、脱敏策略。此外标准还提出了数据脱敏后的效果评估策略。
《电信网和互联网数据安全评估规范》:查验企业数据脱敏处理管理规范和制度文件,是否明确数据脱敏处理使用应用场景,明确数据脱敏规则、脱敏方法、数据脱敏处理流程、涉及部门及人员的职责分工等。查验企业数据脱敏处理管理规范和制度,企业业务和业务支撑系统在数据权限和资源的申请阶段,是否由该数据的数据安全管理负责人员评估使用真实数据的必要性,以及确定该场景下适用的数据脱敏规则及方法。查验数据脱敏处理管理规范和制度,是否建立数据脱敏处理技术应用安全评估机制,对脱敏后的数据可恢复性进行安全评估,是否对于可恢复形成原始数据的脱敏方法(含算法)进行安全加强。演示企业业务测试系统数据库,企业是否使用未脱敏的数据用于业务系统的开发测试。查验演示企业数据脱敏工具,是否能对数据脱敏处理过程相应的操作进行记录,提供数据脱敏处理安全审计能力。
数据脱敏技术定义及实施过程解析
数据脱敏的定义
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。
数据脱敏发展历程
人工脱敏阶段:多为SQL脚本方式,在ETL处理过程中进行脱敏,该方式工作量大、数据处理效率低,同时存在数据质量差、无法保证数据结构的完整性、数据间的关联性。平台脱敏阶段:融合了敏感数据自动发现、系统流程化脱敏、支持丰富数据源、脱敏算法库充足、敏感类型丰富等功能,从而减轻人工成本的同时提升效率,保证数据脱敏的基本诉求。自动脱敏阶段:通过应用机器学习等技术,结合各类数据分类分级规则及已实际使用的数据脱敏策略及规则,实现自动化实时敏感数据发现、自动化脱敏规则匹配等智能化数据脱敏的结果。同时,具备分布式等多种部署支持,智能性能分析,自动化调优等能力。
数据脱敏关键技术能力
高仿真能力:
保持数据原始业务特征
保持数据之间的关联性
保持数据之间逻辑一致性
业务依赖数据对象同步
丰富数据源支持:
关系型数据库支持
大数据平台支持
特殊文件类型支持
消息列队支持
内置丰富脱敏规则:
支持多种数据脱敏算法
支持组合脱敏、自定义分组规则
具备细粒度数据处理能力
高处理效率:
单台设备性能最大化
具备增量脱敏能力
支持分布式部署
数据脱敏分类
如上图所示:动态脱敏会对数据进行多次脱敏,更多应用于直接连接生产数据的场景,在用户访问生产环境敏感数据时,通过匹配用户IP或MAC地址等脱敏条件,根据用户权限采用改写查询SQL语句等方式返回脱敏后的数据。例如运维人员在运维工作中直连生产数据库,业务人员需要通过生产环境查询客户信息等
脱敏算法推荐形态
数据脱敏的常用算法与实例
其它脱敏算法:
数据脱敏策略
在设定具体场景下数据脱敏策略时应充分考虑数据脱敏后数据自身可用性及数据保密性寻求两者间的平衡。数据脱敏策略的选择如下显示。数据脱敏的目标包括:
避免攻击者识别出原始个人信息主体;
控制重标识的风险,确保重标识风险不会增加;
在控制重标识风险的前提下,确保脱敏后的数据集尽量满足其预期目的;
选择合适的数据处理方式保证信息攻击成本不足以支撑攻击动机。
数据脱敏实施流程
敏感数据识别:即对生产系统中敏感数据的识别,主要包括:
存储位置:明确敏感数据所在的数据库、表、字段(列);
数据分类、分级:明确敏感数据所属类别及敏感级别。
策略选择、算法配置,包括数据脱敏后保持原始特征的分析、数据脱敏算法的选择和数据脱敏算法参数配置:
保持原始数据的格式、类型;
保持原有数据之间的依存关系;
保持引用完整性、统计特性、频率分布、唯一性、稳定性。配置需要脱敏的目标(数据库名/表名/字段名)以及适当的脱敏算法参数,根据业务需求完成其他算法的参数配置。
数据脱敏任务执行阶段,按不同需求选择,分为动态脱敏处理步骤和静态脱敏处理步骤:
1.动态脱敏处理步骤:
协议解析:解析用户、应用访问大数据组件网络流量;
语法解析:对访问大数据组件的语句进行语法分析;
脱敏规则匹配:根据用户身份信息及要访问的数据;
下发脱敏任务:由脱敏引擎调度脱敏任务;
脱敏结果输出:将脱敏后的数据输出,保证原始数据的不可见。
2.静态脱敏处理步骤:
数据选择/策略配置:选择待脱敏的数据库及表,配置脱敏策略及脱敏算法,生成脱敏任务;
执行脱敏处理:对不同类型数据进行处理,将数据中的敏感信息进行删除或隐藏;
数据导出:将脱敏后的数据按用户需求,装载至不同环境中,包括文件至文件,文件至数据库,数据库至数据库,数据库至文件等多种装载方式。
数据脱敏典型应用场景
开发测试场景
开发测试场景中,如银行、证券等金融行业业务系统中含有姓名、身份、账号等敏感信息,开发测试需要使用仿真的数据,因此需要通过脱敏手段保证敏感数据不被泄露。
场景特点:
数据库类型多,系统体系架构复杂,跨系统、跨平台测试数据难以获取。
开发测试场景需高度模拟生产环境,对脱敏后数据与业务的一致性有严格要求。
生产环境与开发测试环境互相隔离,彼此无法互相访问。
部分行业如银行金融机构日新增数据量较大,无法定期对全量数据进行脱敏,要求数据脱敏系统具备增量脱敏能力。
要求具备多种脱敏算法。如在金融机构脱敏场景中,需保持脱敏后不同字段之间的数据计算关系,如“2+3=5”脱敏后需要保持等号左边的数值等于右边。
关键能力:
支持主流关系型数据库、大数据平台、格式化文本文件、Oracledump文件
支持通过ftp文件服务器的连接,对隔离的开发测试环境进行中转导入
支持对于Oracledmp文件进行直接解析,并进行脱敏处理。
数据脱敏根据实际业务需求提供脱敏数据,可通过数据子集、黑名单、白名单等方式控制数据脱敏范围。
支持对生产数据全量和增量的方式脱敏,可设置脱敏的作业的调度周期,并对作业过程进行监控,支持脱敏前后的数据在线比对功能。
提供多种数据脱敏算法。
教学培训场景
教学培训场景即对数据进行统计分析,以用于科学研究,该场景下需要保证数据特征,脱敏后保证科学研究所必须的内容。
场景特点:
为保证获取的数据可以满足科学研究,保留数据的真实有效性。
脱敏后的数据需要有教学培训的价值,数据的业务特征不能丧失。
脱敏后的数据需要保持其完整性,保证其长度不变、数据内涵的不丢失。
关键能力:
内置丰富的数据脱敏算法及数据分段脱敏的能力,可适配不同的数据分析场景,从而在保证数据脱敏或降敏的前提下,安全地进行各种数据分析。
保证主外键一致、业务关联一致、有依赖字段的敏感信息脱敏一致、多次脱敏结果保持一致等,整体保证脱敏前后一致性,保持数据间的逻辑关系。
保持数据字段、数据对象从源到目标的完整迁移
分析挖掘场景
数据分析的有效性往往依赖于基础数据的质量,基础数据的可用性直接影响分析结果和企业决策。在涉及到大数据分析应用的领域,企业需要在保证数据安全及合规的前提下,依旧能够保有数据的可用性及可挖掘分析的价值。
场景特点:
数据脱敏时应保持与原数据高仿真,不破坏数据间的关联关系,确保数据分析结果仍然具有指导性。
大数据分析平台中包括海量的用户隐私和敏感数据,针对大数据环境进行数据脱敏,数据结构复杂,包括结构化、非结构化数据等,脱敏操作复杂。
特定场景下需对脱敏数据进行复敏,例如银行通过对脱敏后的转账记录、贷款记录、还款记录等进行分析,评估出个性信用等级,最后将结果回溯到真实银行客户。
关键能力:
保证主外键一致、业务关联一致、有依赖字段的敏感信息脱敏一致、多次脱敏结果保持一致等,整体保证脱敏前后一致性,保持数据间的逻辑关系。
支持HDFS、Hive、Impala、ODPS、Teradata、Greenplum、MongoDB、FusionInsight等大数据敏感源。
支持数据脱敏复敏,具备复敏权限的用户才能进行此操作,充分保证安全性。
数据上报场景
数据上报场景很可能涉及隐私敏感数据信息,在上报过程中需对敏感隐私数据进行匿名化处理。
场景特点:
数据脱敏能够有效防止敏感数据泄漏,但是像医疗、金融、政府等具有强监管机构的行业,需要进行数据上报的数据流动场景。
数据上报过程中的脱敏数据要保持与原数据高仿真,不破坏数据间的关联关系,确保数据上报的内容仍然具有其业务特征。
部分行业的数据上报需对脱敏数据进行复敏,例如政务行业、金融行业有强监管的需求。
关键能力:
保证主外键一致、业务关联一致、有依赖字段的敏感信息脱敏一致、多次脱敏结果保持一致等,整体保证脱敏前后一致性,保持数据间的逻辑关系。
内置数据水印及溯源功能,用户可自定义水印内容,同时通过算法保证水印内容的抗破坏性,从而保证在数据被分享给第三方后,可通过系统进行溯源及追责。
支持数据脱敏复敏,具备复敏权限的用户才能进行此操作,充分保证安全性。
共享交换场景
现代企业对外合作日益增多,数据交换愈发频繁,需要合理管控数据外发,当敏感数据外发至低安全区域时,通过对数据进行脱敏变形,避免隐私数据泄露。
场景特点:
数据共享场景中,特定需求下需保留部分敏感数据字段,但对其他隐私数据可以进行遮蔽、仿真等操作。
作为数据提供方,需提供溯源机制,当发生数据泄露的时候,可以确定数据泄露方,便于溯源追责。
关键能力:
预设丰富的敏感对象,包括个人隐私、金融财务、商业机密、医疗数据、相关证件等,在进行数据脱敏时,将会对设定的敏感对象按照规则进行脱敏,且可根据实际需求自定义敏感对象,完善敏感对象库。
对于脱敏源中存在的脏数据(不符合敏感对象业务特征的数据),系统同样会对这部分数据进行变形处理,以避免隐形敏感数据泄露。
内置数据水印及溯源功能,用户可自定义水印内容,同时通过算法保证水印内容的抗破坏性,从而保证在数据被分享给第三方后,可通过系统进行溯源及追责。
业务查询场景
在业务系统对外提供服务时,通常面临客户群体通过账号即可访问真实数据的情况,一旦账户被仿冒登陆,显示真实信息、未对关键信息进行脱敏,会加大数据泄露的现象。
场景特点:
业务访问隐私化处理,在医疗、金融的典型行业中,业务系统的访问常常需要直接去隐私化展示信息。
防止批量脱库数据泄露,黑客会通过访问前端应用程序过程中植入漏洞窃取数据,因此在访问过程中需做到敏感数据及时脱敏,减少批量数据泄露问题。
关键能力:
无需对应用系统改造、无需修改数据库及存储数据,即可实现数据动态脱敏。
精确识别业务系统三层的用户身份,针对不同的身份采用不同的动态脱敏策略,对不同权限的用户可分别返回真实数据、部分遮盖、全部遮盖等脱敏结果。
支持的灵活脱敏策略配置。
运维管理场景
运维管理场景下需要对运维人员的操作及管理进行全面审计及访问控制,从而达到数据在维护时的安全呈现。
场景特点:
运维人员具备高权限账户,若未加管控,意味着可以任意访问数据,成为批量数据泄露的主要来源之一
从职责分离的原则上,实现既允许运维人员访问业务生产数据库又不能让他们看到核心敏感数据,对于隐私保护同时还需要有预防性(事前)的技术能力
关键能力:
准入控制:支持多维身份管理;支持对运维工具或客户端应用程序进行签名登陆验证,防止恶意和仿冒工具/程序登陆数据库;支持安全管理员、系统管理员、安全审计员三权分立。
访问控制:支持禁止DBA、SYSDBA、SchemaUser、Any等特权用户访问和操作敏感数据集合。支持查询结果返回行数控制,避免数据大量泄漏;支持访问频次控制,避免一定时间内的高频次访问,避免数据流失;支持敏感SQL管理。
全面运维审计,记录包括用户名、IP地址、MAC地址、客户端程序名、执行语句的时间、执行的SQL语句、操作的对象等,对其行为进行全程细粒度的审计分析。
数据脱敏管理体系的建立
建立组织架构,对参与人员职责划分;
脱敏操作员:负责数据脱敏工作的具体执行,并向安全管理员和脱敏审计员定期汇报工作情况。
安全管理员:负责制定脱敏系统的安全策略,数据脱敏工作的范围和日程,并进行日常安全检查、权限管理和日常操作培训。
审计管理员:负责对脱敏操作员、安全管理员的操作行为进行审计、跟踪、分析、和监督检查,及时发现违规行为和异常行为,进行数据库日志、脱敏系统日志、安全事件的分析和取证。
建立符合业务需求的数据脱敏技术流程:
确定需求:根据业务需求,确定数据脱敏的方式,以及数据的用户管理策略。
确定脱敏对象:确定哪些是需要脱敏的敏感数据,以及脱敏数据的来源等。
配置脱敏规则:根据不同的应用场景,不同的数据,采用适当的脱敏算法进行规制的配置。
脱敏执行、数据验证:执行脱敏,之后通过工具和业务系统进行数据验证。
制定行之有效的数据脱敏评价办法:
组建评价团队,定期开展脱敏过程评价工作。
明确评价范围,全面涵盖脱敏场景、脱敏技术、脱敏工具、执行人员等。
制定评价指标,围绕敏感数据识别、脱敏权限分配、脱敏策略配置及执行、脱敏效果评估、脱敏数据标识、数据脱敏审计等过程的技术和安全要求,结合实际制定评价指标。
选定评价方式,采用多种方式组合开展评价工作,包括资料查阅、人员访谈、功能演示、技术检测等。
判定评价结果,收集并整理相关证明材料,组织召开相关会议确认评价结果,输出评价报告。