数据漂白介绍

需求定义:

       近期中国银监会出台了《商业银行信息科技风险管理指引》要求“商业银行在信息系统开发、测试和维护,以及服务外包过程中加强对客户信息的保护,防止敏感信息的泄漏。”为保护客户权益,满足商业银行风险监管和内控监管的要求,银行需要对开发环境和测试环境中的数据建立统一的管理规范,对于必须使用生产数据的系统开发、测试、维护项目,生产数据必须经过脱密,才能被加载到开发、测试或维护环境。此脱密过程称做“数据漂白”。

       测试,开发,培训,外包,数据挖掘、研究等,在非生产环境中使用生产数据,减少数据使用的限制,就必须保证数据中涉及客户和生产的敏感信息不外泄。例如:客户姓名、电话、住址、身份证号码等个人敏感信息;还有员工类和企业类的敏感信息等。如果这些客户信息泄漏会对银行本身造城不可估量的损失,如果有人以此客户数据牟利,轻则会损失重要的客户资源,重则造成严重的社会问题。在加强金融行业监管的背景下,从萨班斯法案到《企业内部控制基本规范》都明确要求金融机构中规避信息风险,对客户等资产安全,敏感信息提供完善的保护。因此如何去除数据中的敏感信息,又不改变数据的完整性和一致性,是一个数据安全管理需要解决的问题。数据漂白就是通过数据变换的方法,去除数据中的敏感信息。不同于数据加密,数据漂白可以是不可逆的过程;

一个好的数据漂白过程必须要具备以下特点:

  1. 数据仿真度 
  2. 数据关联关系
  3. 业务规则关系  
  4. 可定制

数据仿真度是指漂白过的数据看起来要像真实数据,并且具有真实数据的合法性。例如:姓名漂白过之后,看起来还应该是一个姓名;如果变成一串无意义的字符串,会让使用者很不习惯。

数据关联关系指的是数据库内的数据关联关系,这种关联关系通常是可见的,能够从数据库中找到。例如:主外键的关联关系。在漂白的时候,须保证数据关联的完整性、一致性。

业务规则关系是指数据在数据库之外的业务约束关系,即业务上对数据的约束关系,这种约束关系由业务系统的设计方提供,数据库中不会有所体现。例如:业务规则要求某个字段有一个检验字段,校验字段是通过一个算法计算出的值。此时如果漂白了这个字段,而没有考虑校验关系,就会导致漂白过的数据不可用。还有出生日期与身份证是否具有对应关系等等。  

 

数据漂白面临的问题

    目前金融企业一般数据量都比较大,对数据漂白方法也是一个挑战,一种漂白方法对小数据量没有问题,一旦上规模就会可能会出现问题。

例如:数据规模大就会涉及到数据分块,多任务拆分处理。在漂白算法设计上,要保证算法不具有任务间的关联性,才能够保证多个任务之间相互独立,易于调度和处理。

此外还会涉及到多平台、数据编码、中文字符处理等常见问题,都需要在工具上、方法上予以很好的解决。 在数据漂白策略上,需要在数据完整性与通用性之间达成一个平衡。过度追求完整性会产生很多数据约束,再加上规模庞大,使漂白问题复杂性提高;最好的方案是针对目标需求,采用不同的漂白方案,这样会使问题简单化,易于解决。

数据漂白方法介绍

  • 置换类算法,针对某些集合数据,通过置换的方法对数据进行漂白。生成类的方法,对email地址、电话号码等内容的漂白,可以通过算法随机生成相应的字段值,以达到漂白的目的
  • 随机类方法,针对数字的部分,用随机数代替原有数字。
  • 日期类方法,针对日期的变化,如果年龄等。
  • 组合类方法,对身份证号可以通过对各个部分分别漂白,再合成为一个新的身份证号的。还需要考虑的是,如果身份证号本身又是一个用于链接的键,就必须保证键值的完整性。

你可能感兴趣的:(算法,金融,数据挖掘,软件测试,项目管理)