存储安全已经成为IT经理们每天晚上都会想起的一个很大的问题,他们总是在担心他们的数据是否安全,是否会落到那些企图盗取信用卡、社会保障号码、银行账户、企业机密甚至是名人护照的坏人手中。
最完美的世界是,信息从创建到被销毁的过程中都是被加密的,而且大家还希望能够锁定数据,这样每个档案就可以只被那些授权的用户查看。这是很好的,如果所有的系统都支持这种机制就更好了,这样就不会再有人像你看到的间谍电影那样欺骗你,当然,如果没有真正下些功夫的话,这一切都是不会实现的。
但是,随着数据破坏事件增长的速度像数据量自身一样越来越快,应该是时候来探讨一些较大的挑战了,比如支持整体数据安全的话题。当然,研究和采用一个端到端的解决方案与此是两个不同的东西,但如果我们了解了问题的难度和复杂性,那么至少我们也算是有了一个良好的开始。
密钥管理
密钥管理始终是安全清单上位列最前的挑战,原因很简单:你真的很难对包括文件、存储网络、磁盘驱动器、磁带以及其他所有设备都实施一种统一而安全的密钥管理。密钥管理的要求因为不同的行业和不同政府的规定而不同。即使是不同的企业机构甚至是企业机构内部的不同安全部门对安全性的等级要求都是不一样的,而且需要的安全策略类型也不尽相同。
有些企业机构可能需要一个模式,其法定的人都必须能够改变密钥(你最好不要出现法定人在同一地点同一时间进行修改的情况,否则你的控制权可能会丢失。)还有在其他地方,一些企业机构可能需要一个人或多个人拥有相同数据安全密钥控制权限,当然,让一个人控制显然不是个好主意。
你同时也要解决安全性等级的问题,现在你有针对磁带和磁盘驱动器的不同的需要管理的架构,更不要提其他的数据路径了。现在有许多组织机构都在致力于密钥管理的实施和统一。IEEE协会就是其中之一,在去年的IEEE Mass Storage Conference大会上,他们组织了一场关于密钥管理的峰会。在未来的岁月里,密钥管理将会困扰我们很长一段时间。
性能问题
能和密钥管理相提并论的另一大加密挑战来自于性能,当然,加密的成本取决于你是用什么样的方法在什么数据上加密,比如说,使用LTO-4加密硬件或者希捷Cheetah驱动器的数据加密功能是不需要任何成本的,原因非常简单:这些设备都采用了基于硬件的加密技术,可以在硬件上运行快速的加密。
有一些设备,则是在存储网络中进行加密的,这些设备可能会是全速运转的设备,这对于磁带可能却不是件好事。如果你在压缩之前加密,那么你的压缩率就会降低,因此你需要做得是先压缩然后再加密。问题因此出现,在线设备虽然能够对磁带驱动器进行完全的压缩或是加密,但是随着磁带速度的越来越快,这通常很难做到以合理的成本完成这一切工作。
那么现在服务器端的情况如何呢?我发现,很多HSM应用能够在读取或者向磁带写入数据的时候进行校验和。我还发现,当启动校验和的时候,磁带性能就会大幅下滑。
我们都知道,计算和校验的复杂性远远低于加密算法的复杂性,加密算法属于非常计算密集型的运算,而一般的通用CPU不可能是做这种类型算法的最好的选择。这些类型的算法最适宜于在向ASIC或者更快的FPGAs这样专门的硬件上运行。CPU速度越来越快,但是内存带宽的增长速度并没有与CPU性能增长保持一致,将数据移入或者移出内存来在系统I/O处理密集的中加密或者解密数据,这可能无法卯足加密需求以确保设备满足I/O需求。
标准
虽然可能会有一个专门的制定关于密钥管理标准的组织,但其组成问题还远远没有得到解决,更谈不上解决密钥管理标准的问题了。因为这无法解决针对整个数据路径的安全性和密钥管理需求。
由于加密框架以必须能够确定加密文件系统为最低起点(我发现一些集团机构打算在内存中加密数据,然后在处理之前解密数据),所以一个加密的架构应该能够针对文件系统内的每一份文件,并且支持不同级别的加密功能,同时还要能够确保可以追踪到来源,且在整个生命周期中维护这个来源。
除了这种维护措施之外,还要解决长期拥有的问题。例如,如果一份文件是被一位用户加密,但是需要被另外一位用户使用,那么其他用户是如何获得认证的?如果原始用户并不是在理想状态下创建的文件将会发生什么?文件如何被解密然后送交另一位用户?谁担负这个责任?需要怎样的安全机制来确保文件所有权被迁移、而负责迁移的人不会获得文件访问权?在加密环境下,你拥有根密码并不意味着你能够看到所有数据。
这只是文件系统可能会发生的一些问题。我相信你肯定会设想一个由存储网络、存储控制器和存储设备构成的完全安全的环境。管理架构是一个难题。
所有人团结起来
加密是一个很难缠的问题,主要是因为性能问题和管理的复杂性。如果想要有效并且具有可管理性的加密,需要解决的问题就不仅仅是密钥管理的问题,尽管这可能是其中最重要的一步。还需要从用户一直到设备的标准架构。不同的标准组织应该联合起来,也就是说,像The OpenGroup (POSIX)、IETF、ANSI T10、T11和T13这些组织都应该致力于SAN设备的相关标准,如果FCoE是未来的存储发展趋势,我们甚至还要对FCoE也加以考虑。
加密今天唯一解决的一个问题是:磁带的加密,这样我们就可以将™邮寄运输,而不用想磁盘驱动器一样担心数据的加密。对磁盘驱动器进行加密,这样如果卸载磁盘驱动器就不能对其进行读取。这些解决方案解决了现实环境中诸多问题,但是不能解决类似TJX系统被侵入这样的问题,其因此损失了数百万美元。。
我认为,在开始实施端对端加密之前,我们必须解决两个短期内的主要问题。首先,我们需要找出如何不利用CPU在主机加密的方法,因为虽然现有的CPU技术仍然为物理应用提高了足够的计算能力,但是无法以线速率进行加密和解密。
其次,我们需要端对端标准解决数据路径和数据迁移环境中的加密和密钥管理问题。也就是说,必须利用像NFS、ftp、插槽和其他一些迁移方法。这对标准组织和必须执行这些标准的厂商来说都是一个重要要求。
我想,我们现在离数据安全的世界还差得远,是的,一些厂商有特定于某些供应商的解决方案,但是我们永远需要有一个在标准框架内的东西,我们将不得不让每个人都朝着同一个方向前进。