需求定义:
近期中国银监会出台了《商业银行信息科技风险管理指引》要求“商业银行在信息系统开发、测试和维护,以及服务外包过程中加强对客户信息的保护,防止敏感信息的泄漏。”为保护客户权益,满足商业银行风险监管和内控监管的要求,银行需要对开发环境和测试环境中的数据建立统一的管理规范,对于必须使用生产数据的系统开发、测试、维护项目,生产数据必须经过脱密,才能被加载到开发、测试或维护环境。此脱密过程称做“数据漂白”。
测试,开发,培训,外包,数据挖掘、研究等,在非生产环境中使用生产数据,减少数据使用的限制,就必须保证数据中涉及客户和生产的敏感信息不外泄。例如:客户姓名、电话、住址、身份证号码等个人敏感信息;还有员工类和企业类的敏感信息等。如果这些客户信息泄漏会对银行本身造城不可估量的损失,如果有人以此客户数据牟利,轻则会损失重要的客户资源,重则造成严重的社会问题。在加强金融行业监管的背景下,从萨班斯法案到《企业内部控制基本规范》都明确要求金融机构中规避信息风险,对客户等资产安全,敏感信息提供完善的保护。因此如何去除数据中的敏感信息,又不改变数据的完整性和一致性,是一个数据安全管理需要解决的问题。数据漂白就是通过数据变换的方法,去除数据中的敏感信息。不同于数据加密,数据漂白可以是不可逆的过程;
一个好的数据漂白过程必须要具备以下特点:
数据仿真度是指漂白过的数据看起来要像真实数据,并且具有真实数据的合法性。例如:姓名漂白过之后,看起来还应该是一个姓名;如果变成一串无意义的字符串,会让使用者很不习惯。
数据关联关系指的是数据库内的数据关联关系,这种关联关系通常是可见的,能够从数据库中找到。例如:主外键的关联关系。在漂白的时候,须保证数据关联的完整性、一致性。
业务规则关系是指数据在数据库之外的业务约束关系,即业务上对数据的约束关系,这种约束关系由业务系统的设计方提供,数据库中不会有所体现。例如:业务规则要求某个字段有一个检验字段,校验字段是通过一个算法计算出的值。此时如果漂白了这个字段,而没有考虑校验关系,就会导致漂白过的数据不可用。还有出生日期与身份证是否具有对应关系等等。
数据漂白面临的问题
目前金融企业一般数据量都比较大,对数据漂白方法也是一个挑战,一种漂白方法对小数据量没有问题,一旦上规模就会可能会出现问题。
例如:数据规模大就会涉及到数据分块,多任务拆分处理。在漂白算法设计上,要保证算法不具有任务间的关联性,才能够保证多个任务之间相互独立,易于调度和处理。
此外还会涉及到多平台、数据编码、中文字符处理等常见问题,都需要在工具上、方法上予以很好的解决。 在数据漂白策略上,需要在数据完整性与通用性之间达成一个平衡。过度追求完整性会产生很多数据约束,再加上规模庞大,使漂白问题复杂性提高;最好的方案是针对目标需求,采用不同的漂白方案,这样会使问题简单化,易于解决。
数据漂白方法介绍