APP下载

存储系统细粒度加密安全设计

2012-08-07陈俊健

网络安全技术与应用 2012年8期
关键词:细粒度存储系统密钥

陈俊健

佛山科学技术学院电子与信息工程学院 广东 528000

0 引言

新兴的存储架构都采用了数据路径与控制路径分离的方式,用户获取元数据信息后直接访问设备的数据块,大大提高了存储效率。同时它针对传统的存储系统只能记录数据块在磁盘的位置信息等极其有限的元数据信息,增强扩展元数据的属性,可以方便的记录文件内数据块的敏感程度等安全信息。但目前存储系统的加密存储安全还建立在目录级和文件级基础之上,元数据信息也没有对文件内数据块的敏感程度进行记录,对同一文件只能进行整体全部有或无加密操作,并不能对文件的部分内容进行加密。这种统一粗粒度的加密方式会将同一文件中的敏感数据和非敏感数据全部加密,浪费了很多CPU宝贵的计算时间。如果一个文件的不同区域要求不同的强度的加密保护,现有的加密方案只能用不同的加密算法对此文件进行多次加密,从而生成多个文件,这不利于用户和程序设计者管理这些文件,同时也浪费了大量的存储空间。

本文引入了存储系统的细粒度加密安全的概念。由于存储系统的最小单位不再是文件而是大量细粒度的数据块,故我们可以将发掘这个优势,将加密的安全操作从文件级延伸至细粒度的数据块级,对具有某些特殊需要的大文件在安全上实现细粒度的加密存储。用户可以根据文件的特征指定只对文件中的部分敏感数据进行加密,根据敏感程度不同每个区域还可以指定一个加密算法。这些数据的加密信息存储在元数据服务器中被安全的保护,如果非法用户不能得到相关的加密信息,直接从存储设备中取得的数据将由于关键区域被加密而使整个文件无法使用。

当然如何使用户方便透明的使用细粒度加密存储方案也是必须要考虑的问题。我们给用户提供几种不同的加密模式,使用户可以根据实际存储的文件类型方便的选择不同的模式进行加密操作。此外通过在元数据中加入安全相关的信息属性,记录文件的不同敏感区域和相应的加密算法,就可以实现加密安全。实现了对文件访问的同时又不破坏单一文件的语义,应用程序可以使用原来的接口来访问存储系统,提高了系统的可移植性。

1 细粒度加密方案的设计

传统的文件系统如CFS及Cryptfs加密方案实现起来比较简单,但并没有将元数据与数据分离,存取大批量的数据时效率比较低下,同时用户还需要自己去管理密钥。当前有很多基于数据块的存储系统解决了效率的问题,也在磁盘加密安全上进行了研究,如SFS、SNAD、SiRiUS及PLUTUS等,以上这些系统的访问控制管理机制都追求整个系统高性能,但很少考虑安全的开销对系统整体的影响,不能同时满足安全和高效的需求。

HUSt是随着大容量存储系统的日益增多而提出的一种多层次、可扩展的存储模式,它取代传统的模式,采用的概念使基于固定数据块的SAN方案扩展为支持变长的数据块,并赋予存储以智能和主动服务的特性,已应用于档案及GIS存储等大型的存储系统中。同时HUSt系统上也实现了一种加密的文件系统保证安全。

以上这些方案都只讨论了文件级的加密方案,对日益增长的大量细粒度的数据块加密并不支持。也没有根据文件类型进行模式的分类和对细粒度的加密构想进行分析。

如图1所示,我们在HUSt加密文件系统的基础上设计了一种新的细粒度加密方案。当一个文件被用户指定对某个数据块进行加密后,这些文件通过两种层次的数据处理过程进行处理:第一层负责处理数据块的分拆,第二层负责数据块的加密。

图1 存储系统细粒度加密方案

在存储系统中文件数据块的大小是变长的,为了保证文件数据块尽可能的分布在多个设备中提高系统的存储效率,每个数据块的大小会有所控制,所有关于数据块的信息都存储在元数据服务器的数据库中。我们可以对元数据的信息进行适当的属性扩充来满足存储系统加密安全的要求,当用户读取元数据信息来获取文件的数据块信息的同时也会读取相关的加密安全信息属性。整个文件的元数据信息被分层的组织在一个树型的结构中,如图2所示。每个文件加密存储的时候会指向每一个元数据信息,每一个元数据信息指向此在文件中偏移地址等相关信息。特定类型的大文件加密之前用户都会指定一个模式和敏感数据块的偏移地址,与安全相关的内容如采用的加密算法无缝的添加到元数据服务器的数据库中。模式1和模式3中所有加密块均采取同一算法,故在数据块元数据信息中指定某一算法。模式2可以由每个用户指定相应的敏感区域,故还应该记录每个用户和使用的算法。模式4需指定敏感区域使用的算法,但不必将算法和某个用户对应起来。

图2 安全信息的数据结构

2 细粒度加密方案的实现

HUSt是我们遵循OSD-2标准开发的一种存储系统原型,在HUSt的存储安全上也遵循T10标准设计了一整套的解决方案,此方案还没有涉及到块级的加密存储。由于存储系统的元数据信息非常丰富,故我们将细粒度加密方案集成到HUSt存储安全体系中去,来满足大量的特定文件的块级加密存储。它的基本架构如图3所示,整个系统主要由三部分组成:

(1) 客户端(Client)。它将根据文件的类型来设定所需加密的模式和各敏感区域的位置并将此信息提供给MDS,同时根据MDS返回的密钥对数据块进行加解密操作。

(2) 元数据服务器(MetaData Server,MDS)。它将文件拆分成很多小的数据块并分配到不同的OSD设备中,同时还包含一个密钥管理模块用于生成对敏感区域加密的密钥,并将密钥存储在相关的元数据信息中。

(3) 存储设备(Storage Device,SD)。它主要是完成快速的存储用户提交的数据。客户端、元数据服务器和存储设备之间通过互联网络连接到一起,具有非常高的存储速度和良好的扩展性。

细粒度的加密方式会导致一个文件可能有多个密钥,这就会使整个系统处理的密钥比文件级加密多一个数量级,如何有效的对密钥进行管理是一个必需考虑的问题。本方案将可选的加密算法和此数据块的加密密钥组合成一个属性结构加密存储在可信的元数据服务器中。当用户需要密钥进行加解密操作时,首先向元数据服务的安全管理模块提出请求,经过安全认证后,元数据服务器通过一个加密通道将此结构传送给用户,用户得到密钥就调用相关的算法加解密文件数据。

3 结论

在存储系统HUSt实际的应用过程中我们发现存储的很多大文件有明显的特征,即可以对文件内的数据块进行分类来实现更细粒度的加密存储。同时可以利用存储系统丰富的元数据信息存储属性算法和用户信息来实现更精细的加密安全操作。

本文介绍了基于数据块细粒度加密的构想,在此基础上将之应用到的存储系统HUSt上。对一些存在典型的区域敏感特征的应用存储系统会充分的挖掘其文件的内部信息,实现了对细粒度的数据块进行加密的方案。该方案既提供了足够的安全性又解决了系统效率的问题。

[1] M. Blaze. A cryptographic file system for UNIX. In Proceedings of the 1st ACM Conference on Communications and Computing Security1993.

[2] C. P. Wright, M. C. Martino and E. Zadok. Ncryptfs: a secure and convenient cryptographic file system. In Proceedings of the USENIX Annual Technical Conference2003.

[3] E. Riedel, M. Kallahalla, and R. Swaminathan. A Framework for Evaluating Storage System Security. In Proceedings of the 1st Conference on File and Storage Technologies2002.

[4] L. F. Zeng, K.Zhou, and H. Jiang, HUSt: A Heterogeneous Unified Storage System for GIS Gid”,Finalist Award, HPC Storage Challenge, the 2006 International Conference for high Performance Computing, Networking, Storage and Analysis(SC’06).2006.

[5] SCSI Object Based Storage Device Commands2(OSD-2).http://www. t10. org.

[6] 肖达,舒继武,薛巍,刘志才,郑纬民.基于组密钥服务器的加密文件系统的设计和实现.计算机学报.2008.

猜你喜欢

细粒度存储系统密钥
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
分布式存储系统在企业档案管理中的应用
基于SVM多分类的超分辨图像细粒度分类方法
天河超算存储系统在美创佳绩
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
基于web粒度可配的编辑锁设计
支持细粒度权限控制且可搜索的PHR云服务系统