有时,由于某种原因我们无法加密数据。例如,老数据库不支持加密,或者加密会增加过高的计算成本,又或者第三方系统管理协议中的服务等级约定不允许加密。你该怎么办?
我们还有其它选择。这些选择甚至可以用更低的成本和更低的复杂程度提供同样的安全性。
1、数据删除:也许数据删除听起来有点不对头。有些公司喜欢收集大量数据,并保留他们所收集的每一个字节的数据。其中许多属于敏感数据。真正的问题是,如果敏感数据对企业并非至关重要,为什么还要保留这些会给环境带来风险的敏感数据呢?如果没有强制性的业务需求,而且移除数据也不会造成应用程序的不稳定,不妨考虑删除数据。此方法廉价、快捷且会降低风险,还可以增加磁盘空间,使查询更快,当然也不会有人能够窥探你的数据。
2、标记化(令牌化):应对数据漫延的另一种方法是标记化。标记化就是用一种没有什么价值的标记(令牌)来替换敏感数据。这正如在游戏厅中,玩家用现金换取可以提供特定用途的代币一样。这种代币可以像货币一样使用,但并非真正的货币。在IT系统中,令牌只不过是一种随机的数字。创建令牌是为了匹配原始数字的格式和数据类型。不过,令牌与加密不同,它绝不可能逆向恢复得到原始值。
最常见的例子是,为了遵循PCI DSS(付款卡行业数据安全标准)而用令牌来替换信用卡号。令牌有16个数字,一般都保留原始信用卡号的后四位数字。至于信用卡,你仍可能偶尔参考一下其原始值,例如在付款或解决争议时。所以你可以保留原始信用卡号,但不是放在企业IT基础架构的许多数据库中,而是存储到一个安全得到高度保障的独立令牌库中。由于你不再需要加密和密钥管理来保障数据内容的安全,所以管理和合规问题就相对简单了。
3、数据屏蔽:雇员们常常会将数据置于风险的境地。一般情况下,其目的并非恶意,只不过是为了找到一个完成工作的更简单方法。比如,在测试数据库时,将真实的客户和交易数据从一个安全的生产数据库存取出来,再放在一个不安全的测试系统中。这种对客户和交易数据的使用并不少见,它成为数据屏蔽市场存在的一个主要原因。
屏蔽数据就是通过转换,隐藏原始的敏感信息,在数据库中保留其总值。数据屏蔽是既可以保障数据安全又可以保持可用性的几中技术之一。而实用性正是我们存储数据的原因。能够产生高质量的副本对于数据分析很重要。例如,屏蔽可以用从电话簿中随机选择的数字来替换真实的客户姓名。这种技术是为了确保屏蔽能够保留特定的信息。例如,我们希望隐藏病人的出生日期,但同时我们又希望报告这些病人的平均年龄。在这种情况下,我们创建随机日期,但这些随机值仅限于一个具体的日期范围。
有许多屏蔽数据的方法,如挪移、替换、编写、取平均数、模糊,等等。每一种方法都适用于特定的数据类型和用户目标。第三方的商业平台也可用于屏蔽数据,并可提供多种屏蔽和数据管理功能,还可以提供高质量的代理服务器,可以确保质量评价和测试人员不太可能窃取生产性数据库的副本。
4、动态屏蔽:动态屏蔽是数据屏蔽的一个变种,但有一个重要的区别:动态屏蔽不是用一个屏蔽副本来替换存储在数据库中的数据,它在响应用户查询时,对数据进行动态屏蔽。
例如,一个用户要查找其同事的工资信息。根据用户的授权设置,你可以给他真实的数据,或者你可以给他一个看似原始值的虚假副本。
屏蔽可以通过三种方法进行:视图、查询重写、结果屏蔽。视图是关系型数据库的一种可以产生临时表的特性。基于视图的屏蔽是一个拥有与真实数据有相同结构的临时表,但它包含的是屏蔽数据。没有足够许可的用户在查看真实数据时,会被重新定向到视图,而其查询的运行并无不同,但它会向用户提供一个屏蔽副本。所谓查询重写,是指对用户的查询进行动态重写,根据用户的凭证,忽视数据的敏感行和列。所谓结果屏蔽,是指在将查询结果返回给用户之前,从查询结果中取出敏感数据。此时,系统常用“x”替换所有的字符,用以显示已经移除了所有的敏感数据。一般来说,查询重写和结果屏蔽这两种方法由位于用户和数据库之间的代理网关服务提供。
企业可以根据自身的合规要求,以及安全性及性能要求、IT资源等,选择适合需要的包括加密在内的保障数据安全的策略和方法。