摘 要:iSCSI虽然提供了会话建立阶段的认证功能,但却没有提供对包的安全保护的身份验证方法,因此iSCSI需要使用现有的安全机制。文章中提出了将SSL安全机制引入到iSCSI协议这一想法。
关键词:iSCSI; 安全; SSL
iSCSI是IETF于2003年制订的一项标准,用于将SCSI数据块映射成以太网数据包。SCSI是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,iSCSI利用以太网协议传送SCSI命令、响应和数据。iSCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,iSCSI克服了直接连接存储的局限性,使我们可以共享其他服务器的存储资源,并可以在不停机的状态下扩充存储容量。
目前国内外对iSCSI的研究主要集中在其实现、错误恢复机制、缓存技术和安全性的研究上。在安全性方面,因为iSCSI要用来在网络中传输数据,所以iSCSI协议规范考虑到了许多安全性方法,例如,在iSCSI登录阶段必须进行握手协议,并且提供终端设备之间都支持的文本域,如果握手成功,iSCSI设备之间的PDU交换将按照相应的安全要求规范实现。
由于iSCSI协议采用TCP/IP网络技术作为底层传输技术在IP网络上传输SCSI命令和数据,在现有的通信网络中,无论是传输过程还是传输的数据包本身都容易遭到外界恶意的攻击。在普通IP网络环境中对数据信息的攻击同样可以应用于iSCSI环境中。攻击者可能通过窥探数据包来获取机密数据信息,修改数据包的数据和控制信息之后再将数据包注入到iSCSI存储设备中。攻击者也可以通过发起拒绝服务的信息来攻击的iSCSI存储设备,例如,通过发送一个TCP重置信号来破坏安全的通讯过程,以便削弱对身份的认证或获得用户的密码。这包括应用层认证协商的中断,例如iSCSI登录。攻击者甚至会冒充合法iSCSI存储设备。这使得iSCSI面临TCP/IP网络常见的安全性问题。即它容易遭受恶意的攻击,可能受到完整性和机密性的威胁。
为了解决上述威胁,iSCSI的安全协议必须支持保密性、数据来源的验证、数据的完整性和基于数据包的回放保护。数据保密是至关重要的,因为iSCSI的数据可能会在不安全的公共网络中传输。iSCSI虽然提供了会话建立阶段的认证功能,但却没有提供对包的安全保护的身份验证方法。因此iSCSI需要使用现有的安全机制。现如今在iSCSI的RFC中,IETF建议可以采用IPSec来提高iSCSI的安全性。即将IPSec安全机制引入iSCSI,使得iSCSI可使用由IPSec协议提供的包的数据保密性、完整性和认证服务。
但是由于不同协议的数据帧大小是不同的,最常见的以太网帧的大小是1.5 KB。而存储应用程序发送的数据包一般在4 KB~64 KB 之间,因此,数据包必须分解为更小的帧,才能在网络上传输。而由于IPSec位于IP层,因此如果使用IPSec来实现加密和认证等安全机制,意味着要对每一个分解后的IP 包,即“帧”进行加密处理,由此产生的系统开销相当巨大,必定会降低iSCSI的性能。也就是说,存储数据在TCP/IP协议栈中的拆包重组等操作已经带来了很大的系统开销,制约了iSCSI性能的提高,如果再使用IPSec在IP层来实现加密和认证等安全机制,意味着要对每一个传输的IP包进行额外的加密处理,由此产生的系统开销会非常的巨大,会进一步降低iSCSI性能。因此,采用IPSec在提高iSCSI的安全性的同时,会大幅度的增加系统的CUP占用率,并且iSCSI的吞吐量也将明显下降。另外,IPsec在移动设备上的表现却不那么尽如人意,尤其是在现如今较为普遍的IP地址经常变换的环境中,其性能表现就更加的差强人意了。这种限制极有可能成为移动设备便携性的一大障碍。也就是说,IPSec在提高系统安全性能的同时,会降低系统的吞吐率、增加系统的CPU利用率,将许多额外的开销带到了iSCSI协议中,并成为整体性能表现的瓶颈。
鉴于上述IPsec表现出的各种局限性,找到一个系统开销小且可以提高系统的性能的切实可行的解决方案就显得格外重要了,因此,可将SSL安全机制引入到iSCSI协议中。
SSL是由Netscape设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全套接层协议机制。它为TCP/IP连接提供数据加密、服务器认证、消息完整性,以及可选的客户机认证。SSL是在Internet基础上提供的一种保证私密性的安全协议,它能使客户机/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议要求建立在可靠的传输层协议(如TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(如HTTP,FTP,TELNET……)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商,以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
SSL的设计目标是在TCP基础上提供一种可靠的端到端安全服务,其服务对象一般是Web应用。在SSL的体系结构中包含两个协议子层,其中底层是SSL记录协议层,高层是SSL握手协议层。
SSL可以为基于TCP的网络应用提供身份验证、数据完整性和数据机密性等安全服务。它由两部分组成:SSL握手协议和SSL记录协议。SSL握手协议用于数据交换前的双方身份验证以及密码算法和密钥的协商,它独立于应用层协议。SSL记录协议用于数据交换过程中的数据加密和数据认证,它建立在可靠的传输协议TCP之上。因此,SSL是一个嵌入在TCP和应用层协议之间的安全协议。引入SSL后的iSCSI协议栈如图1所示。
图1
由于可将SSL看作位于应用层和TCP层之间的一个层次,则可以在TCP 层之上对数据包进行加密处理。在发送端,SSL接收数据、加密数据并把加密的数据导向一个TCP 套接字;在接收端,SSL从TCP 套接字读取数据、对数据解密并将数据导向应用程序;以此完成一次会话。这样,对数据包进行加密处理的次数要远远小于在IP 层对IP 包进行加密处理的次数,则可以保证在同样安全性能的情况下,减小因为安全机制而产生的系统开销。
参考文献:
Hashem Mohammed Alaidaros, Mohd Fadlee A Rasid,Mohamed Othman, Raja Syamsul Azmir Raja Abdullah. Enhancing Security Performance with Parallel Crypto Operations in SSL Bulk Data Transfer Phase. 2007 IEEE
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。