发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种SAN存储加密系统及方法,保护SAN存储网络与设备上的机密数据的安全。
为实现上述目的,本发明采用的技术方案如下:
一种SAN存储加密系统,当以ISCSI方式引擎时,包括以下装置:
I_T ISCSI命令解析器:解析SAN网络中接收到的I_T ISCSI PDU,将解析出的SCSI命令传送给I_T SCSI命令解析器,将I_T ISCSI PDU命令头传送给SAN存储加解密管理器,将I_T ISCSI PDU的数据部分传送给SAN存储加密装置;由I_T ISCSI PDU解析出的SCSI命令为写入卷命令,所述的I_TISCSI PDU的数据部分为写入卷数据;
I_T SCSI命令解析器:解析接收到的SCSI命令,并将解析出的SCSI命令中的写入卷命令或者读出卷命令传送给SAN存储加解密管理器;
SAN存储加解密管理器:根据SCSI命令中的写入卷命令和SAN存储加解密策略库中的策略信息生成对I_T ISCSI PDU数据的卷加密策略,根据SCSI命令中的读出卷命令和SAN存储加解密策略库中的策略信息生成对新的I_TISCSI PDU数据的卷解密策略,并将该卷加密策略或者卷解密策略传送给SAN存储加密装置或者SAN存储解密装置;
SAN存储加密装置:将I_T ISCSI PDU数据写入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送给I_T ISCSIPDU命令合成器;
I_T ISCSI PDU命令合成器:将加密后的I_T ISCSI PDU数据部分与PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上;
I_T ISCSI应答命令解析器:解析SAN网络中新的I_T ISCSI PDU,将由新的I_T ISCSI PDU解析出的SCSI命令传送给I_T SCSI命令解析器,将新的PDU命令头传送给SAN存储加解密管理器,将新的PDU的数据部分传送给SAN存储解密装置;由新的I_T ISCSI PDU解析出的SCSI命令为读出卷命令,所述的新的I_T ISCSI PDU的数据部分为读出卷数据;
SAN存储解密装置:将新的I_T ISCSI PDU数据写入数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据输出给I_TISCSI PDU应答命令合成器;
I_T ISCSI PDU应答命令合成器:将解密后的I_T ISCSI PDU数据与新的PDU命令头合成解密后的I_T ISCSI PDU传送到SAN网络上。
进一步,如上所述的SAN存储加密系统,所述的SAN存储加密装置包括以下部分:
卷加密管理器:根据卷加密策略配置加密密钥、密钥长度和加密算法,并根据卷加密定位器指定加密扇区;所述的加密扇区为数据缓冲区位置;
加密器:根据卷加密管理器配置的加密密钥、密钥长度、加密算法和指定的数据缓冲区位置加密数据缓冲区中的数据;
卷加密定位器:根据卷加密策略中扇区大小、加密扇区号定位在数据缓冲区中对应的数据;
数据缓冲区:存放由ISCSI或者SCSI解析出的卷写入数据或者卷读出数据。
进一步,如上所述的SAN存储加密系统,所述的SAN存储解密装置包括:
卷解密管理器:根据卷解密策略配置解密密钥、密钥长度和解密算法,并根据卷解密定位器指定解密扇区;所述的解密扇区为数据缓冲区位置;
解密器:根据卷解密管理器配置的解密密钥、密钥长度、解密算法和指定的数据缓冲区位置解密数据缓冲区中的数据;
卷解密定位器:根据卷解密策略中扇区大小、解密扇区号定位在数据缓冲区中对应的数据;
数据缓冲区:存放由ISCSI或者SCSI解析出的卷写入数据或者卷读出数据。
进一步,如上所述的SAN存储加密系统,所述SAN存储加解密策略库用于存储针对每个卷的加解密策略,该加解密策略信息包括目标器ID、卷ID、加解密算法、密钥、密钥长度、起始扇区号、扇区大小和卷的总扇区数;
所述卷加密策略包含加密卷号、起始扇区号、扇区大小、卷的总扇区数、加密密钥、密钥长度和加密算法;卷解密策略中指定的所有加密算法都包含在加密算法库中;
所述卷解密策略包含解密卷号、起始扇区号、扇区大小、卷的总扇区数、解密密钥、密钥长度和解密算法;卷解密策略中指定的所有解密算法都包含在解密算法库中。
一种SAN存储加密方法,当以ISCSI方式引擎时,包括以下步骤:
(1)I_T ISCSI命令解析器从SAN网络中接收到I_T ISCSI PDU,缓存并解析该I_T ISCSI PDU,将解析出的SCSI命令传送给I_T SCSI命令解析器,将I_T ISCSI PDU命令头传送给SAN存储加解密管理器,将I_T ISCSI PDU数据部分传送给SAN存储加密装置;由I_T ISCSI PDU解析出的SCSI命令为写入卷命令,所述的I_T ISCSI PDU的数据部分为写入卷数据;
(2)I_T SCSI命令解析器接收到SCSI命令并解析,将解析到的SCSI命令中的写入卷命令或者读出卷命令传送给SAN存储加解密管理器;
(3)SAN存储加解密管理器根据SCSI命令中的写入卷命令中的相关信息和SAN存储加解密策略库的策略信息生成对I_T ISCSI PDU数据加密的卷加密策略,并将该策略传送给SAN存储加密装置;
(4)SAN存储加密装置将I_T ISCSI PDU数据写入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送给I_TISCSI PDU命令合成器;
(5)I_T ISCSI PDU命令合成器将加密后的I_T ISCSI PDU数据部分与PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上;
(6)解析SAN网络中新的I_T ISCSI PDU,将由新的I_T ISCSI PDU解析出的SCSI命令传送给I_T SCSI命令解析器,将新的PDU命令头传送给SAN存储加解密管理器,将新的PDU的数据部分传送给SAN存储解密装置;由新的I_T ISCSI PDU解析出的SCSI命令为读出卷命令,所述的新的I_T ISCSIPDU的数据部分为读出卷数据;
(7)SAN存储加解密管理器根据SCSI命令中的读出卷命令中的相关信息和SAN存储加解密策略库的策略信息生成对新的I_T ISCSI PDU数据解密的卷解密策略,并将该策略传送给SAN存储解密装置;
(8)SAN存储解密装置将新的I_T ISCSI PDU数据写入数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据输出给I_T ISCSI PDU应答命令合成器;
(9)I_T ISCSI PDU应答命令合成器将解密后的I_T ISCSI PDU数据与新的PDU命令头合成解密后的I_T ISCSI PDU传送到SAN网络上。
进一步,如上所述的SAN存储加密方法,SAN存储加/解密装置根据卷加/解密策略对数据缓冲区中的数据进行加/解密的具体步骤为:
1)将I_T ISCSI PDU数据写入数据缓冲区,根据卷加/解密策略使用卷加/解密定位器对要加/解密扇区数据在数据缓冲区中定位;
2)卷加/解密管理器根据卷加密策略配置加/解密密钥、密钥长度和加/解密算法,根据卷加/解密定位器定位的位置使用加/解密器对数据缓冲区的数据进行加/解密。
本发明的效果在于:通过本发明所述的系统及方法,能够对SAN海量数据存储的加密,使用本发明可以选择性的对主机端启动器到存储设备卷上的数据加密,使其不受攻击,也可以只对存储设备或者SAN网络单独加密,为用户提供更多的选择。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的说明。
SAN是一个专有的、集中管理的信息基础结构,它支持服务器和存储之间任意的点到点的连接,SAN集中体现了功能分拆的思想,提高了系统的灵活性和数据的安全性。SAN以数据存储为中心,采用可伸缩的网络拓扑结构,通过具有较高传输速率的光通道连接方式,提供SAN内部任意节点之间的多路可选择的数据交换,并且将数据存储管理集中在相对独立的存储区域网内。在多种光通道传输协议逐渐走向标准化并且跨平台集群文件系统投入使用后,SAN最终将实现在多种操作系统下,最大限度的数据共享和数据优化管理,以及系统的无缝扩充。SAN的特点是将数据的存储移到了后端,采用了一个专门的系统来完成,并进行了RAID数据保护。
图1示出了SAN存储整体架构框图,主要包括了主机端、启动器(Initiator)、SAN网络、目标器(Target)和存储设备端。其中,启动器是一个客户端设备,用于将请求连接并启动到目标器提供的某个服务。本发明所述的SAN存储加密系统及方法在实现时,可以采用ISCSI方式引擎或者SCSI方式引擎。
iSCSI(Internet Small Computer System Interface,Internet小型计算机系统接口)是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能。SCSI结构基于客户/服务器模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI总线连接。iSCSI的主要功能是在TCP/IP网络上的主机系统(启动器initiator)和存储设备(目标器target)之间进行大量数据的封装和可靠传输过程。此外,iSCSI提供了在IP网络封装SCSI命令,且运行在TCP上。
下面以ISCSI方式引擎来说明以下SAN存储整体的基本工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在ISCSI initiator层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的ISCSI target层会解开ISCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧ISCSI target层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSI initiator层,ISCSI initiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。
图2示出了本发明一种SAN存储加密系统—ISCSI方式引擎的结构框图,包括以下装置:
I_T ISCSI命令解析器:解析SAN网络中接收到的I_T ISCSI PDU,将解析出的SCSI命令传送给I_T SCSI命令解析器,将I_T ISCSI PDU命令头传送给SAN存储加解密管理器,将I_T ISCSI PDU的数据部分传送给SAN存储加密装置;
I_T SCSI命令解析器:解析接收到的SCSI命令,并将解析出的SCSI命令中的写入卷命令或者读出卷命令传送给SAN存储加解密管理器;
SAN存储加解密管理器:根据SCSI命令中的写入卷命令或者读出卷命令和SAN存储加解密策略库中的策略信息生成对I_T ISCSI PDU数据的卷加密策略或者卷解密策略,并将该卷加密策略或者卷解密策略传送给SAN存储加密装置或者SAN存储解密装置;
SAN存储加密装置:将I_T ISCSI PDU数据写入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送给I_T ISCSIPDU命令合成器;
I_T ISCSI PDU命令合成器:将加密后的I_T ISCSI PDU与PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上;
I_T SCSI应答命令解析器:解析SAN网络中新的I_T ISCSI PDU,将新的PDU命令头数据传送给SAN存储加解密管理器,将新的PDU命令的数据部分传送给SAN存储解密装置;
SAN存储解密装置:将新的I_T ISCSI PDU数据写入数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据输出给I_TISCSI PDU应答命令合成器;
I_T ISCSI PDU应答命令合成器:将解密后的I_T ISCSI PDU数据与新的PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上。
图3示出了本发明一种SAN存储加密系统—SCSI方式引擎的结构框图,包括以下装置:
I_T SCSI命令解析器:监听SCSI总线上的SCSI命令,并将解析出的SCSI命令中的数据写入卷命令或者读出卷命令传送给SAN存储加解密管理器;
SAN存储加解密管理器:根据接收到的SCSI命令中的写入卷命令或者读出卷命令和SAN存储加解密策略库中的策略信息,生成对SCSI卷写入数据或者卷读出数据的卷加密策略或者卷解密策略,并将该卷加密策略或者卷解密策略传送给SAN存储加密装置或者SAN存储解密装置;SAN存储加解密策略库用于存储针对每个卷的加解密策略,该加解密策略包括密钥、密钥长度、起始扇区号和扇区大小。
SAN存储加密装置:将SCSI卷写入数据放入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送到SCSI总线;
SAN存储解密装置:将加密后的SCSI卷读出数据放入到数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据传送到SCSI总线。
其中,对于本发明上述的SAN存储加密系统(以SCSI方式引擎和ISCSI方式引擎)中,图4示出了所述SAN存储加密装置的结构框图,包括以下部分:
卷加密管理器:根据卷加密策略配置加密密钥、密钥长度和加密算法,并根据卷加密定位器指定加密扇区;
加密器:根据卷加密管理器指定的加密密钥、密钥长度、加密算法和数据缓冲区位置加密数据缓冲区中的数据;
卷加密定位器:根据卷加密策略中扇区大小、加密扇区号定位在数据缓冲区中对应的数据;
数据缓冲区:存放由ISCSI或者SCSI解析出的卷写入数据或者卷读出数据。
其中,卷加密策略包含了加密卷号、起始扇区号、扇区大小、卷的总扇区数、加密密钥、密钥长度和加密算法;卷解密策略中指定的所有加密算法都包含在加密算法库中。
图5示出了所述的SAN存储解密装置的结构框图,包括以下部分:
卷解密管理器:根据卷解密策略配置解密密钥、密钥长度和解密算法,并根据卷解密定位器指定解密扇区;
解密器:根据卷解密定位器指定的解密密钥、密钥长度、解密算法和数据缓冲区位置解密数据缓冲区中的数据;
卷解密定位器:根据卷解密策略中扇区大小、解密扇区号定位在数据缓冲区中对应的数据;
数据缓冲区:存放由ISCSI或者SCSI解析出的卷写入数据或者卷读出数据。
其中,卷解密策略包含了解密卷号、起始扇区号、扇区大小、卷的总扇区数、解密密钥、密钥长度和解密算法;卷解密策略中指定的所有解密算法都包含在解密算法库中。
图6示出了基于图2中SAN存储加密系统的SAN存储加密方法的流程图,包括以下步骤:
步骤S11:I_T ISCSI命令解析器解析接收到I_T ISCSI PDU;
I_T ISCSI命令解析器从SAN网络中接收到I_T ISCSI PDU,缓存并解析该I_T ISCSI PDU,将解析出的SCSI命令传送给I_T SCSI命令解析器,将I_T ISCSI PDU命令头传送给SAN存储加解密管理器,将I_T ISCSI PDU数据部分传送给SAN存储加密装置。
步骤S12:I_T SCSI命令解析器接收SCSI命令并解析;
I_T SCSI命令解析器接收到SCSI命令并解析,将解析到的SCSI命令中的写入卷命令或者读出卷命令传送给SAN存储加解密管理器。
步骤S13:SAN存储加解密管理器生成卷加密策略;
SAN存储加解密管理器根据SCSI命令中的写入卷命令中的相关信息和SAN存储加解密策略库的策略信息生成对I_T ISCSI PDU数据加密的卷加密策略,并将该策略传送给SAN存储加密装置。
步骤S14:SAN存储加密装置根据卷加密策略对数据进行加密;
SAN存储加密装置将I_T ISCSI PDU数据写入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送给I_T ISCSIPDU命令合成器。
步骤S15:合成新的I_T ISCSI PDU;
I_T ISCSI PDU命令合成器将加密后的I_T ISCSI PDU与PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上。
步骤S16:解析新的I_T ISCSI PDU;
解析SAN网络中新的I_T ISCSI PDU,将新的PDU命令头数据传送给SAN存储加解密管理器,将新的PDU命令的数据部分传送给SAN存储解密装置。
步骤S17:SAN存储加解密管理器生成卷解密策略;
SAN存储加解密管理器根据SCSI命令中的读出卷命令中的相关信息和SAN存储加解密策略库的策略信息生成对I_T ISCSI PDU数据加密的卷解密策略,并将该策略传送给SAN存储解密装置。
步骤S18:SAN存储解密装置根据卷解密策略对数据进行解密;
SAN存储解密装置将新的I_T ISCSI PDU数据写入数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据输出给I_TISCSI PDU应答命令合成器。
步骤S19:合成新的I_T ISCSI PDU。
I_T ISCSI PDU应答命令合成器将解密后的I_T ISCSI PDU数据与新的PDU命令头合成新的I_T ISCSI PDU传送到SAN网络上。
其中,SAN存储加/解密装置根据卷加密策略对数据缓冲区中的数据进行
加/解密的具体步骤为:
1)将I_T ISCSI PDU数据写入数据缓冲区,根据卷加/解密策略使用卷加/解密定位器对要加/解密扇区数据在数据缓冲区中定位;
2)卷加/解密管理器根据卷加密策略配置加/解密密钥、密钥长度和加密算法,根据卷加/解密定位器定位的位置使用加/解密器对数据缓冲区的数据进行加/解密。
图7中示出了基于图3中SAN存储加密系统的SAN存储加密方法的流程图,包括以下步骤:
步骤S21:监听SCSI总线上的SCSI命令并解析;
I_T SCSI命令解析器监听SCSI总线上的SCSI命令,并将解析出的SCSI命令中的写入卷命令或者读出卷命令传送给SAN存储加解密管理器。
步骤S22:SAN存储加解密管理器生成卷加密策略;
SAN存储加解密管理器根据接收到的SCSI命令中写入卷命令和SAN存储加解密策略库中的策略信息,生成对SCSI卷写入数据的卷加密策略,该卷加密策略传送给SAN存储加密装置。
步骤S23:SAN存储加密装置根据卷加密策略对数据进行加密;
SAN存储加密装置将SCSI卷写入数据放入数据缓冲区,根据卷加密策略对数据缓冲区中的数据进行加密,并将加密后的数据传送到SCSI总线。
步骤S24:SAN存储加解密管理器生成卷解密策略;
SAN存储加解密管理器根据接收到的SCSI命令中的读出卷命令中的相关信息和SAN存储加解密策略库,生成对SCSI卷读出数据的卷解密策略,该卷加密策略传送给SAN存储解密装置。
步骤S25:SAN存储解密装置根据卷解密策略对数据进行解密。
SAN存储解密装置将加密后的SCSI卷读出数据放入到数据缓冲区,根据卷解密策略对数据缓冲区中的数据进行解密,并将解密后的数据传送到SCSI总线。
其中,步骤S23中,SAN存储加密装置根据卷解密策略对数据缓冲区中的数据进行加密的具体步骤为:
1)将SCSI卷写入命令中的卷写入数据写入数据缓冲区,根据卷加密策略使用卷加密定位器对要加密扇区数据在数据缓冲区中定位;
2)卷加密管理器根据卷加密策略配置加密密钥、密钥长度和加密算法,根据卷加密定位器定位的位置使用加密器对数据缓冲区的数据进行加密。
步骤S25中,SAN存储解密装置根据卷解密策略对数据缓冲区中的数据进行加密的具体步骤为:
1)将SCSI卷读出命令中的卷读出数据写入数据缓冲区,根据卷解密策略使用卷解密定位器对要解密扇区数据在数据缓冲区中定位;
2)卷解密管理器根据卷解密策略配置解密密钥、密钥长度和解密算法,根据卷解密定位器定位的位置使用解密器对数据缓冲区的数据进行解密。
下面结合具体的实施例,对本发明做进一步的说明。
实施例1
图8示出了实施例1中SAN存储系统主机端加密-ISCSI方式的结构框图。SAN存储加密系统ISCSI方式引擎可以方便的部署到SAN网络中的主机端、SAN网络和存储设备端。
在利用本发明所述方法对主机端进行加密时,主机端的ISCSI起动器将封装好的I_T ISCSI PDU传送给SAN存储加密系统,I_T ISCSI PDU命令解析器接收该I_T ISCSI PDU,然后解析并利用SAN存储加密装置加密处理I_TISCSI PDU中的写入(卷)数据;并将加密处理完成的含加密写入(卷)的新的I_T ISCSI PDU传送到SAN网络上;然后再从SAN网络上接收到ISCSI目标器端传送来新的I_T ISCSI PDU即命令应答PDU,并解析出命令应答PDU中的读出(卷)数据,并将该数据利用SAN存储解密装置进行解密;最后将解密处理完成的含明文(读出)数据的I_T ISCSI命令应答PDU传送给启动器。
利用此方式可以保护从主机端启动器到存储设备卷上的数据不被攻击。
实施例2
图9示出了实施例2中SAN存储系统主机端加密-SCSI方式的结构框图。SAN存储加密系统SCSI方式引擎可以方便的部署到SAN网络中的,主机端,存储设备端。
在利用本发明所述方法对主机端进行加密时,主机端的SCSI总线将SCSI命令传送给SAN存储加密系统,解析出SCSI命令中的数据写入(卷)命令,并根据卷加密策略使用SAN存储加密装置加密其后的写入(卷)数据;然后将加密后的SCSI写入(卷)数据传送给SCSI启动器,解析出SCSI命令中的数据读出(卷)命令,并使用SAN存储解密装置解密其后的读出(卷)数据;最后将解密后的SCSI读出(卷)数据传送主机端总线。
此方式可以保护从主机端起动器到存储设备卷上的数据不被攻击;
实施例3
图10示出了本发明实施例3中SAN存储系统SAN网络加密-ISCSI方式的结构框图。
首先I_T ISCSI命令解析器接收到SAN网络上I_T ISCSI PDU,解析并加密处理I_T ISCSI PDU中的写入(卷)数据;然后将加密处理完成的含加密写入(卷)的I_T ISCSI PDU传送到SAN网络上;再从SAN网络上接收到ISCSI目标器端传送来的I_T ISCSI命令应答PDU,并解析出I_T ISCSI命令应答PDU中的读出(卷)数据并解密;最后将解密处理完成的含明文(读出)数据的I_T ISCSI命令应答PDU传送给SAN网络的另一端;
此方式保护SAN网络上的数据不被攻击;
实施例4
图11示出了本发明实施例4中SAN存储系统存储设备端加密-ISCSI方式的结构框图。
首先SAN存储加密系统中I_T ISCSI命令解析器接收到SAN网络上I_TISCSI PDU;解析并加密处理I_T ISCSI PDU中的写入(卷)数据;然后将加密处理完成的含加密写入(卷)的I_T ISCSI PDU传送到目标器上;接收ISCSI目标器端传送来的I_T ISCSI命令应答PDU后,解析出I_T ISCSI命令应答PDU中的读出(卷)数据并解密;最后将解密处理完成的含明文(读出)数据的I_T ISCSI命令应答PDU传送给SAN网络;
此方式仅保护存储设备上的数据不被攻击。
实施例5
图12为本发明实施例5中SAN存储系统存储设备端-SCSI方式加密的结构框图。
目标器将SCSI命令传送给SAN存储加密系统,首先解析出SCSI命令中的数据写入(卷)命令,并加密其后的写入(卷)数据;然后将加密后的SCSI写入(卷)数据传送给存储设备端SCSI总线;然后解析出SCSI命令中的数据读出(卷)命令,并解密其后的读出(卷)数据;最后将解密后的SCSI读出(卷)数据传送到目标器。
此方式仅保护存储设备上的数据不被攻击。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。