曾经,数据中心被当作是数据的安全港湾,因此一些用户认为安全与存储“井水不犯河水”。而过去几年多次数据磁带丢失事件引发大家对安全的广泛关注。随着厂商对存储安全的不断投入,如今多领域、多层次的存储安全解决方案已经越发成熟。

过去几年,曾有多篇关于大型公司丢失记载数百万人私密信息磁带的报道,引发公众对于这些信息可能被暴露及滥用的担忧。而经历这些事件的公司不得不面对为减轻对客户和雇员的潜在危害所造成的经济损失。同时还可能承担法律责任以及严重的声誉损害之风险。

在回顾这些存储安全事件时,安全专家们都会得出这样的结论:尽管这些事件造成了巨大的问题,但总体而言,仍然是一件好事情。这些侵害事件及其在公共关系方面产生的不良后果迫使企业和政府正视并努力解决敏感数据的安全加密问题。数据保护现在已经成为一个C级问题(CEO和CIO关注的问题)。几乎每一位首席信息官都会受到来自首席执行官/企业老板的压力,要求他们解释企业如何保护敏感数据。

保护数据的最佳方法是对其进行加密。因此,企业目前面临的真正问题不是“我们是否应当对自己的数据进行加密”,而是“对哪些数据进行加密。”

方案篇

加密成为系统工程

对企业而言,好消息是加密技术正变得越来越简便。在过去,加密通常会意味着严重的性能延迟和高昂的管理及实施成本。然而在今天,各类存储加密技术已变得更容易部署,价格低廉,而且对网络造成的消极影响也变得更小。

这意味着,企业现在已经完全可以在过去无法下手的地方对数据进行全面的加密。正如我们在前面所提到过的,由于一些企业曾经出现过存储磁带丢失的事件,因此这些企业都急不可耐地实施了针对特定问题的解决方案。问题在于,这些解决方案只能应付备份存储中的特定物理威胁。如果有黑客闯入包含客户主信息的服务器,或者有人丢失了一台笔记本电脑,而其中存有员工社会保险编号的数据库列表,那么结果会如何?这些都是真实存在的数据侵害事件,并对数以百万计的敏感数据记录造成的威胁。

以下是目前市面上比较流行的几种存储加密方法:

1、文件级加密
文件级加密可以在主机上实现,也可以在网络附加存储(NAS)这一层以嵌入式实现。对于某些应用来讲,这种加密方法也会引起性能问题;在执行数据备份操作时,会带来某些局限性,对数据库进行备份时更是如此。特别是,文件级加密会导致密钥管理相当困难,从而添加了另外一层管理:需要根据文件级目录位置来识别相关密钥,并进行关联。

在文件层进行加密也有其不足的一面,因为企业所加密的数据仍然比企业可能需要使用的数据要多得多。如果企业关心的是无结构数据,如法律文档、工程文档、报告文件或其他不属于组织严密的应用数据库中的文件,那么文件层加密是一种理想的方法。如果数据在文件层被加密,当其写回存储介质时,写入的数据都是经过加密的。任何获得存储介质访问权的人都不可能找到有用的信息。对这些数据进行解密的唯一方法就是使用文件层的加密/解密机制。

2、数据库级加密
当数据存储在数据库里面时,数据库级加密就能实现对数据字段进行加密。这种部署机制又叫列级加密,因为它是在数据库表中的列这一级来进行加密的。对于敏感数据全部放在数据库中一列或者可能两列的公司而言,数据库级加密比较经济。不过,因为加密和解密一般由软件而不是硬件来执行,所以这个过程会导致整个系统的性能出现让人无法承受的下降。

由于数据库中数据的结构和组织都非常明确,因此对特定数据条目进行控制也就更加容易。用户可以对一个具体的列进行加密,如国家识别符列或工资列,而且每个列都会有自己的密钥。根据数据库用户的不同,企业可以有效地控制其密钥,因而能够控制谁有权对该数据条目进行解密。通过这种方式,企业只需要对关键数据进行加密即可。

这种加密方法所面临的挑战是,用户希望加密的许多数据条目在应用查询中可能也具备同样的值。因此系统设计师应当确保加密数据不参加查询,防止加密对数据库的性能造成负面影响。例如,如果账户编号已经加密,而用户希望查找一系列的编号,那么应用就必须读取整个表,解密并对其中的值进行对比。如果不使用数据库索引,这种原本只需要三秒钟就可执行完毕的任务可能会变成一个三小时的漫长查询。但这种方法也有积极的方面,数据库厂商已经在其新版产品中加入了一些服务,能够帮助企业解决这一问题。

3、介质级加密
介质级加密是一种新出现的方法,它涉及对存储设备(包括硬盘和磁带)上的静态数据进行加密。虽然介质级加密为用户和应用提供了很高的透明度,但提供的保护作用非常有限:数据在传输过程中没有经过加密。只有到达了存储设备,数据才进行加密,所以介质级加密只能防范有人窃取物理存储介质。另外,要是在异构环境使用这项技术,可能需要使用多个密钥管理应用软件,这就增加了密钥管理过程的复杂性,从而加大了数据恢复面临的风险。

4、嵌入式加密设备
嵌入式加密设备放在存储区域网(SAN)中,介于存储设备和请求加密数据的服务器之间。这种专用设备可以对通过上述这些设备、一路传送到存储设备的数据进行加密,可以保护静态数据,然后对返回到应用的数据进行解密。

嵌入式加密设备很容易安装成点对点解决方案,但扩展起来难度大,或者成本高。如果部署在端口数量多的企业环境,或者多个站点需要加以保护,就会出现问题。这种情况下,跨分布式存储环境安装成批硬件设备所需的成本会高得惊人。此外,每个设备必须单独或者分成小批进行配置及管理,这给管理添加了沉重负担。

5、应用加密
最后一种方法可能也是最安全的方法。将加密技术集成在商业应用中是加密级别的最高境界,也是最接近“端对端”加密解决方案的方法。在这一层,企业能够明确地知道谁是用户,以及这些用户的典型访问范围。企业可以将密钥的访问控制与应用本身紧密地集成在一起。这样就可以确保只有特定的用户能够通过特定的应用访问数据,从而获得关键数据的访问权。任何试图在该点下游访问数据的人都无法达到自己的目的。

在这一层,集成加密技术确实有助于避免数据库层的性能受到影响,因为用户可以改变查询的类型。然而,虽然这种方法是最安全的,但许多数据条目需要通过被多种不同的应用访问,企业对这种应用,甚至不同用户群的变化要进行及时的管理。事实上,如果企业使用厂商提供的打包应用,它们很可能根本无法实施这一层的解决方案,因为企业不可能获得这些应用的源代码。

小知识之列级加密概念:

列级加密(column level encryption)意味着对于一个给定列中的所有值都使用相同的密码进行加密。这种类型的加密可以在视图中使用,也可以在使用了一个公共密码的情况下使用。当对一个或多个表中所有的行使用相同的密钥时,ENCRYPTION PASSWORD 专用寄存器将十分有用。