文献标识码: A
文章编号: 0258-7998(2011)09-114-04
信息化建设的深入发展带动了企业重要信息资产数据的日益增长。为了保护与企业生存密切相关的数据信息的安全,互联网小型计算机系统接口iSCSI(Internet Small Computer System Interface)远程镜像技术[1-2]被用于数据容灾系统。随着iSCSI应用的快速发展,性能高、安全性强的IP存储正成为网络存储领域的研究热点。iSCSI使用标准的TCP/IP协议,将现有SCSI接口与以太网技术结合,在IP网络上传送SCSI数据和命令,因此普通IP网络上的攻击手段都适用于iSCSI环境,攻击者也可以通过远程容灾备份或数据镜像来窃取保存在存储设备中的数据,现有的iSCSI安全机制不能提供足够的安全保护。
目前保证iSCSI存储系统数据安全的方法主要有两种:加密通信线路上的数据;加密存储设备上的数据。安全性和性能通常是相互矛盾的,这两种方式都是基于应用主机进行加解密运算,导致客户端或服务器端CPU占用率过高,大大降低了系统性能。第一种情况如:IETF提出的IPSec方法[3]能够提供线上的加密保护却严重降低性能,为了提高系统性能,学者们对该方案进行了研究和改进,在一定程度上提高[4]和优化[5]了系统性能,但该情况并不能保证存储设备上的数据安全。相反,第二种情况:加密文件系统虽能保证存储设备的数据安全,但不能保证线上的数据安全,同样该情况对系统的性能影响也很大。基于同时保证线上和存储设备上的数据安全性考虑,逻辑盘卷管理LVM(Logical Volume Manager)加密卷[6-7]能同时满足数据传输和存储的安全性需要,但其加解密运算也是在客户端进行,系统的读写性能仍要受到影响。
本文提出了在iSCSI远程镜像路径上添加加密中间件,希望在安全和性能之间找到一个平衡点,在保证网络传输和存储数据安全性的同时把性能损失降低到可接受的范围。加密中间件内嵌加密机制,客户端和服务器端不进行加解密运算,只进行访问控制,由于数据加解密运算是CPU密集型运算,因此加密中间件分担了客户端和服务器端的CPU资源占用率,可以在一定程度上提高系统的读写性能。
镜像系统中添加加密中间件主要有以下优点:
(1)在iSCSI层进行加密操作,加解密效率高,密钥管理安全方便;(2)镜像数据以密文的形式传输和存储;(3)加密中间件独立于前端主机和后端存储,易于部署;(4)加密中间件负责加解密运算,减轻主机和服务器负担。
基于加密中间件的镜像方法不仅保证了网络数据传输和存储的安全性,而且在一定程度上提高了系统性能。
1 体系结构
基于加密中间件的iSCSI远程镜像系统结构设计如图1所示。iSCSI远程镜像系统包括本地网络、IP网络、远程网络三部分。本地网络与远程网络之间通过IP网络进行通信。本地系统与加密中间件位于本地网络,镜像系统位于远程网络。本地系统主要包括客户机与本地存储设备。镜像系统主要包括服务器和SCSI磁盘阵列。加密中间件内嵌加密机制,对数据进行加解密处理。客户端与服务器端只进行访问控制。镜像系统中存取数据的具体流程如图2所示。
图2中①~④示出了存数据的过程:客户端将关键应用数据先在本地存储设备中存储一份,同时复制一份经过加密中间件加密处理变为数据密文,密文经过IP网络发送给远程服务器,服务器将收到的数据密文存储于SCSI磁盘阵列中用于容灾备份;⑤~⑧所示(取数据过程):客户端先从本地存储设备读取数据使用,当地域性灾难发生,造成本地存储设备中数据丢失和破坏,导致本地系统中的存储数据失去使用价值。此时,客户端读取远程服务器磁盘阵列中备份的数据,数据密文流经加密中间件被解密为可用的数据明文,供客户端使用或用于恢复本地存储设备中的数据,从而保证工作的正常进行。
2 加密中间件的设计与实现
2.1加密中间件的功能模块
加密中间件加解密功能模块的添加主要是基于目标器框架tgt(Target Framework)[8]模块中数据流的读写走向实现。加解密功能模块的算法是通过封装OpenSSL[9]库中的AES算法实现。
加密中间件主要包括的功能模块如图3所示。
从功能模块图可以看出,加密中间件独立于前端主机和后端服务器,内有独立的目标器和启动器相连接,对整个系统是透明的。图中虚线左侧是目标器框架功能模块,表示加密中间件通过本地网络与客户端进行通信连接;虚线右侧是启动器模块与以太网适配器模块,表示加密中间件通过IP网络与远程服务器连接通信。
当客户端向远程服务器发送SCSI镜像数据和命令时,加密中间件内功能模块间的交互关系如下:首先客户端通过本地网络将数据信息送予加密中间件的tgt架构的目标驱动器(target drivers)模块,目标驱动器负责管理向启动器设备传送连接请求和指令,以及硬件与tgt内核(tgt core)之间或互联子系统与tgt内核之间的任务管理请求。数据信息继续上传到tgt 内核模块,tgt 内核是目标驱动器与用户空间守护进程(tgtd)之间一个简单的连接器,目标驱动器通过网络连接接口向用户空间守护进程传送SCSI命令向量和任务管理请求。最后数据信息和命令到达用户空间守护进程模块,该进程是用户空间的进程模块,它独立于传输协议和目标驱动器,是SCSI状态机,处理SCSI命令和任务管理请求,该模块调用加解密模块(Encrypt&decrypt)中的加密模块对SCSI命令和数据进行加密处理。加密后的数据密文被传送到启动器模块(iSCSI initiator),然后通过以太网适配器模块(NIC driver)将加密数据发送到远端镜像系统的存储设备进行数据备份。tgt架构中的tgt管理工具模块是一个简单的管理工具,用户空间守护进程模块启动后,主要负责存储设备上目标节点和逻辑单元的创建或删除,并显示与客户端的连接状态信息等。
客户端读取镜像系统数据功能模块之间的交互是上述过程的逆过程,主要区别是调用解密模块,对读取的数据密文解密处理得到数据明文供客户端使用。
2.2加密中间件的数据处理流程
加密中间件的主要作用是对网络数据流进行加解密处理。其数据处理流程如图4所示。
客户端启动器与远程服务器端目标器经过协商,交换登录协议数据单元,进行身份认证,协商并相互认证后,iSCSI镜像系统进入通信连接阶段。连接建立后,客户端向服务器端发送读写请求,加密中间件根据收到读写操作码来判断数据的加解密操作类型。当收到写操作码2a,加密中间件则对客户端传来的数据信息进行加密处理,并将加密后的密文信息送到远程服务器存储备份。如果收到读操作码28,加密中间件从远程服务器中读取备份数据,对其进行解密操作,解密后的数据明文供客户端用户使用。
2.3 密钥问题
虽然对称加密技术在加密强度和运算速度方面完全能胜任并保证重要数据信息在网络中传输,但它有一个致命的弱点,加解密用的是同一个密钥,通信双方的共享密钥在网络上如何安全传送仍是需要关注的问题。由于iSCSI远程镜像系统远端服务器主要存放数据密文用于数据容灾,因此密钥保存在本地网络,不需要在网络上传输加密密钥,避免了密钥在网络中传输的不安全性问题。密文与密钥的存储位置如图5所示。
其基本原理为:用户数据在通信之前, 发送方利用SHA1散列算法将用于产生密钥的口令字符串生成一个固定长度的加密密钥,用OpenSSL库中的AES算法对要传送的数据加密,密文通过以太网被传送到远端存储,加密密钥保存在本地,解密操作在客户端进行,解密数据信息供本地用户使用。
3 性能测试与分析
系统安全性提高的同时,必然会对系统性能产生一定的影响。系统吞吐率是衡量系统质量和性能的一个重要指标。本文通过Inter公司的IOmeter基准测试工具对无加密机制中间件、加密中间件、LVM加密卷三种情况的吞吐率进行了测试和对比。测试内容包括读取测试和写入测试。读取方式包括顺序读与随机读,写入方式包括顺序写和随机写,数据块大小为512 B~1 MB。
3.1测试环境
测试环境中加密中间件采用单个应用服务器,客户端、加密中间件和远程服务器的配置如表1所示。
3.2测试结果与性能分析
测试结果如图6所示。
添加的加密中间件系统CPU利用率(%),如表2所示。
从实验结果看,加密中间件与LVM卷加密文件系统对系统性能都有影响,其中随机读写对系统性能影响较小,顺序读写对系统性能影响较大。对图6测试结果中不同数据块大小的IO吞吐率取其平均值,计算可知添加加密中间件系统的顺序读性能比添加加密卷系统提高了17%左右,顺序写性能提高了45%左右,其顺序读写性能平均提高了31%左右;随机读性能提高了18%左右,随机写性能提高了9%左右,其随机读写性能平均提高了13%左右。但与无安全的系统相比,其顺序读的性能下降了32%左右,顺序写性能下降了43%左右,顺序读写性能平均下降了38%左右;随机读性能下降了11%左右,随机写性能下降了7%左右,其随机读写性能平均下降了9%左右。块大小也会影响性能,一般情况下,块大小增加,吞吐率也会增加。但在顺序读的测试结果中,当块大小为64 KB时出现了转折点,当块大小为128 KB时,吞吐率达到最大,1 MB时吞吐率开始下降。在顺序写的测试结果中,通过加密中间件CPU占用率测试发现,当块大小为1 MB时,CPU的利用率超过100%,CPU成为瓶颈,说明当数据块很大时,加解密开销对性能影响比较大。
为了在保证信息传输和存储安全性的同时提高系统性能,本文提出基于加密中间件的iSCSI远程镜像方法,解决了基于应用主机进行加密运算导致客户端和服务器端CPU资源占用率过高的问题,在保证信息传输和存储安全的同时,进一步提高了系统性能。从性能测试结果图可以看出,与LVM加密卷系统相比,加密中间件系统的读写性能均有一定程度的提高。由实验数据计算可知,其随机读写性能平均提高了13%,顺序读写性能平均提高了31%。
参考文献
[1] Zhang Ming, Liu Yinan, Yang Qing(Ken). Costeffective remote mirroring using the iSCSI protocol[C].Proceedings of the 21st IEEE Conference on Mass of Storage Conferences, 2004.
[2] PATTERSON R H. Snap Mirror: File-system-based asyn chronous mirroring for disaster recovery[C]. In First USENIX conference on File and Storage Technologies.2002.Monterey, CA, USA.
[3] Tang Shuangyi, Lu Yingping, DU H C. Performance study of software-based iSCSI security[C]. Proceedings of the First International IEEE Security in Storage Workshop,2002.
[4] CHAITANYA S, BUTLER K, SIVASUBRAMANIAM. Design,implementation and evaluation of security in iSCSI-based network storage systems[C].Second ACM International Workshop on Storage Security and Survivability,2006.
[5] KAMISAKA K,YAMAGUCHI S, OGUCHI M. Performance analysis of iSCSI middleware optimazed for encryption processing in a long-latency environment[C].Proceedings of the 20th International Conference on Advanced Information Networking and Applications(AINA′06),2006.
[6] dm-crypt: a device-mapper crypto target for Linux. Website. http://www. saout.de/misc/dm-crypt/.
[7] VELLAL S S.A device mapper based encryption layerfor trans crypt[C].Department of Computer Science & Engineering.Indian Institute of Technology Kanpur,2008.
[8] TOMONORI F, CHRISTIE M. tgt: framework for storage target drivers. 2006 Linux Symposium,2006.
[9] Welcome to the OpenSSL project[DB/OL]. http://www.openssl.org.