论文摘要
在存储系统中数据的安全问题也越来越受到关注的今天,存储加密已成为当前信息技术领域中一个热门的研究方向。对数据进行加密存储是保护数据安全的最后一道关卡。作为构建大型存储系统关键设备的RAID(磁盘阵列)存储系统,实现加密存储具有十分重要的意义。现阶段RAID系统的存储加密主要采用的是硬件加密方式,速度快但成本较高,因此在现有系统的嵌入式RAID控制器软件的基础上,开发具有加密功能软件模块,是比较好的加密方案。软件实现加密模块的核心问题是选择合适的加密层次和高效安全的加密算法。现有的存储系统的软件加密方式主要有文件加密、文件系统级加密、虚拟磁盘加密和全磁盘加密。在存储栈的角度上分析了上述方式的优缺点,并结合现有RAID系统的特点,选择在文件系统驱动程序层和底层硬盘驱动程序层之间实现加密模块。加密算法的选取上,选取性能高效的适合存储加密和软件实现的伪随机函数族SEAL算法作为加密算法。详细研究了SEAL算法的加密流程、性能表现以及安全性,并在此基础上设计RAID系统的密钥体系以弥补SEAL算法在安全性方面的不足。研究分析了RAID控制器软件运行流程,基于安全和性能方面的考虑,选择在SCSI目标器模块与Cache管理模块之间实现加密功能模块。在分析了加密系统的读写流程的基础上,设计了加密模块内部的软件框架,并对内部框架的各个构成部分进行了详细的功能描述。用专业测试工具IOMETER对加密磁盘阵列的进行了性能测试,测试结果表明加密磁盘阵列在性能上和没有加密模块的磁盘阵列有一定差距,尤其在顺序读和顺序写的情况下。