郭建軍
(海軍計算技術研究所 北京 100841)
基于iSCSI的網絡存儲加密系統設計*
郭建軍
(海軍計算技術研究所 北京 100841)
設計了網絡存儲加密系統和存儲加密設備,進行了存儲加密可靠性設計,給出了分層密碼運算引擎模型,可以根據需求進行配置滿足可靠性及運算性能需求。
網絡存儲;存儲加密;iSCSI
Class NumberTP393.04
存儲區域網絡(Storage Area Network,SAN)[1]是網絡存儲領域的主流體系結構之一。存儲區域網絡系統中傳輸塊數據,根據不同的底層傳輸協議可以將其細分為FC SAN(Fibre Channel SAN)[2]和IP SAN(Internet Protocol SAN)[3],它們分別滿足不同的應用系統需求。
由于各個FC廠商各自按其私有方式進行標準實現,導致不同的交換機、不同的主機卡以及FC磁盤陣列不易連接,造成了FC的兼容性和管理性差,導致系統運行維護成本高昂。因此,FC SAN由于其擴展成本過高,大大限制了平臺整合的支持能力。同時,FC SAN由于鋪設光纖的成本過高,一般不適用于跨廣域網的遠程服務和備份。IP SAN是利用IP網絡傳輸塊數據的一種技術,它的成本相對較低,能夠實現存儲網絡與IP網絡的融合統一,因此獲得越來越廣泛的應用。典型的IP SAN網絡由以太網交換機、應用服務器和存儲磁盤陣列等組成,其典型部署應用如圖1所示。

圖1 IP SAN網絡存儲系統典型部署
隨著大數據技術發展,SAN將成為大數據應用背景下一種重要的存儲系統架構,而大數據安全和隱私越來越成為人們關注的焦點[4],SAN中存儲的大量數據的安全性必須加以保證。一般用戶訪問SAN中的數據都經過了身份認證[5],有些還進行了傳輸加密,保證了數據在傳輸線路中的安全。但SAN本地存儲的數據若為明文,一旦被泄露將給用戶帶來極大損失[6]。尤其是在將來數據中心建設、云計算服務過程中,用戶租用SAN存儲空間存儲數據,必須保證用戶數據的全程安全,因此,必須考慮SAN中數據的存儲加密問題,保證數據在傳輸、存儲各個環節的安全保密[7]。
2.1 系統架構設計
圖2給出了部署了存儲加密設備的典型SAN存儲加密系統架構設計。該架構中,網絡存儲加密設備部署在磁盤陣列的前端,以門衛式的方式保護磁盤陣列中的數據。應用服務器訪問磁盤陣列前首先要通過網絡存儲加密設備的身份認證,身份認證既支持基于主機IP地址匹配的簡單認證模式,也支持基于UKey數字證書的嚴格認證模式。通過身份認證后,網絡存儲加密設備對于符合安全策略的數據自動執行加解密處理,確保磁盤陣列中只存在密文,整個過程對應用服務器的業務系統完全透明,它們可以不受影響地訪問磁盤陣列中的數據。

圖2 SAN存儲加密系統典型部署
2.2 信息流程設計
網絡存儲加密設備部署在應用服務器和存儲設備之間,當數據信息進入存儲設備時進行加密操作,當輸出信息時進行解密操作。圖3給出了用戶終端通過應用服務器經由網絡存儲密碼設備讀/寫數據的基本流程。

圖3 應用服務器讀/寫數據過程
網絡存儲加密設備的加解密信息處理流程如下:
1)數據寫入流程
用戶終端向應用服務器發起數據寫入服務請求。應用服務器對服務請求進行響應,確定需要進行數據寫入操作。應用服務器將SCSI命令、狀態或數據封裝為iSCSI報文。iSCSI報文通過TCP/IP網絡發向網絡存儲設備。網絡存儲加密設備部署在網絡存儲設備的前端。當報文經過網絡存儲加密設備時,網絡存儲加密設備對數據凈荷進行加密后存儲在網絡存儲設備上。圖4給出了數據寫入過程中iSCSI報文的操作過程。

圖4 數據輸入時iSCSI報文的操作過程
2)數據讀取流程
與數據寫入流程類似,當存儲設備收到應用服務器發起的數據讀取請求時,存儲設備將SCSI數據打包成iSCSI報文,并封裝為IP包,發送給網絡存儲加密設備。網絡存儲加密設備識別出為數據輸出操作,對數據凈荷進行解密,發送給應用服務器。圖5給出了數據輸出過程中iSCSI報文的操作過程。

圖5 數據輸出時iSCSI報文的操作過程
由數據寫入和數據讀取的流程可以看出,網絡存儲加密設備的加解密過程不同于傳統的IPsec加密[8]過程。IPsec加密主要是針對網絡層分組的加密保護,以保障數據傳輸的端到端安全性和機密性,在部署上通常成對出現。而網絡存儲加密設備僅對iSCSI數據凈荷進行加密,并僅限于SCSI輸入和輸出兩種類型的iSCSI協議數據單元,并且加解密過程可位于同一個加密設備上。上述措施可以保證存儲設備上的數據全為密文數據,而且在網絡存儲加密設備與存儲設備之間傳輸的都為密文數據,從而保障存儲數據的機密性。
3.1 硬件設計
存儲加密設備由多個密碼計算引擎構成,如圖6所示,多個密碼計算引擎構成密碼計算引擎陣列,可以并行提供多路密碼運算,提高密碼運算性能,保證用戶數據加解密的實時性。驅動程序中記錄各個密碼計算引擎的忙閑狀態,上層應用可以通過主動判斷密碼計算引擎忙閑狀態后調用空閑密碼計算引擎進行密碼運算,也可以由驅動程序根據忙閑狀態記錄將上層應用的調用調度到空閑密碼計算引擎,并告知上層應用到指定區域取得返回數據。

圖6 密碼計算引擎陣列示意圖
單密碼計算引擎硬件組成原理框圖如圖7所示。各主要模塊功能如下:1)接口單元主要完成接口接入、協議解析、數據提取、協議封裝等功能;對外按照以太網接口或FC光纖通道接口標準,實現與外部接口;對內通過內部標準傳輸總線與數據加解密單元連接,通過內部標準管控總線與管控單元連接并接受其管控。2)加解密單元主要完成業務數據的加解密功能;對內通過內部標準傳輸總線與接口單元連接,通過內部標準管控總線與管控單元連接并接受其管控。3)管控單元主要完成對接口單元和加解密單元的配置管理;對外提供獨立的管理接口,對與內接口單元和加解密單元連接。該單元還完成設備自檢、故障告警及指示等功能。

圖7 單密碼計算引擎硬件設計框圖
3.2 軟件設計

圖8 網絡存儲加密設備軟件功能模塊組成框圖
密碼計算引擎基于嵌入式操作系統進行設計,基本的軟件功能模塊組成如圖8所示。其中,應用層各模塊主要功能如下:通信管理模塊完成本地及網絡管理數據通信處理;配置管理模塊完成對配置管理幀的解析和處理;存儲管理模塊完成加密設備系統參數的保存與恢復;日志管理模塊完成配置操作及重要業務處理的審計。
3.3 存儲加密可靠性設計
相比傳輸加密,存儲加密對于加密計算的可靠性要求更高,否則加密出錯后存儲的數據可能無法正確解密恢復,會給用戶造成極大的損失。因此,必須保障存儲加密運算的可靠性。
本文存儲加密設備采用如圖9所示的分層結構設計。其中,協議代理層:主要進行外部接口iSCSI協議解析和處理;可靠性處理層:根據配置的可靠性調度策略選擇結果比對的數量,例如進行雙引擎比對的檢錯機制、3選2或5選3的檢錯糾錯機制等,保證高可靠性;負載均衡調度層:將計算任務分配到具體計算引擎,充分利用多計算引擎優勢實現計算任務級并行來提高性能;計算引擎層:通過高速I/O接口,接收控制和數據后,按要求進行加解密運算后返回結果,為滿足高速密碼處理要求,需要采用多密碼運算引擎并行工作、單引擎內部支持多通道并行處理、單通道內部支持多數據并行處理等多粒度的并行處理模式來提高密碼處理性能。

圖9 存儲加密設備層次式設計結構
該模型的可靠性處理層根據配置選擇可靠性調度策略,根據需要選擇結果比對的數量,例如進行雙引擎比對的檢錯機制、3選2或5選3的檢錯糾錯機制等,保證高可靠性。在總計算能力一定的情況下,基于表決策略的可靠性和計算性能的關系分析如下:假設密碼計算引擎陣列一共由m個計算引擎構成,每個可靠性表決組由其中n個計算引擎構成,當表決器正常時,正常的單元數不小于r(1≤r≤n)系統就不會故障,這樣的系統構成了r/n表決系統,其可靠性數學模型[9]如下式:

其中:Rs(t)表示系統可靠度,R(t)表示系統組成單元的可靠性。
當各單元的可靠度是時間的函數,且壽命服從故障率為λ的指數分布時,r/n系統的可靠度為

系統中采用多數表決策略來保證存儲加密可靠性,即當n為奇數(令其為2k+1)時,當系統中正常單元數不小于k+1時系統才正常,此時,系統的可靠度為

通過計算給出圖10所示的密碼計算引擎陣列的可靠性與計算效能關系圖,從中可以看出,在總密碼計算引擎數量m一定的情況下,可靠性的提高是以采用更多計算引擎進行計算比對來保證可靠性從而降低整體計算能力為代價的。因此,在實際系統設計中,可以根據具體可靠性指標來進行計算選取合適的表決策略,從而既滿足系統存儲加密可靠性要求,又能夠充分發揮密碼計算引擎陣列的計算效能。

圖10 基于表決策略的存儲加密可靠性與密碼計算引擎陣列計算效能關系圖
為了適配不同的應用場景下不同的應用需求,可采用不同的可靠性策略,在性能要求高的情況下,盡可能選擇每組較少數量的計算引擎協同計算來保證可靠性,對外提供較高的計算性能,而在可靠性要求高的情況下,則以犧牲總體計算性能為代價,盡可能選擇每組較多數量的計算引擎協同計算來保證可靠性。
在容錯設計方面,采用主備存儲設備線路熱備[10]技術,通過兩臺網絡存儲加密設備互為備份的方式,來保證當其中某一臺網絡存儲加密設備出現故障的時候,另一個網絡存儲加密設備能夠將其數據加解密操作全部接管過來,從而確保存儲區域網絡在緊急時刻的通信連貫性。圖11給出了主備存儲設備線路熱備部署示意圖。

圖11 主備存儲設備線路熱備部署示意圖
除了設備部署上的容錯,在軟件設計上,還可以借鑒軟件可靠性工程中N版本編程[11]模式,采用多種版本軟件對數據進行加密操作,然后比對結果,結果相同則輸出數據,否則就丟棄。該方法能夠進一步保障數據加密操作的正確性,但是需要在設計上增加多個加解密模塊運算并進行比對的過程,會增加系統設計的復雜性以及運算的開銷,需要根據具體性能要求進行可配置設計。
由于IP SAN的廣闊應用前景,為保證SAN中存儲數據的安全,本文研究了SAN存儲加密體系架構,設計了存儲加密設備,能夠較好地滿足基于iSCSI的SAN存儲加密應用需求。同時,研究提出了靈活可配置的存儲加密策略,可適配具有不同加密性能或可靠性需求的應用場景。
[1]敖青云.存儲技術原理分析[M].北京:電子工業出版社,2011.
[2]童薇.高效光纖存儲通道技術研究[D].武漢:華中科技大學博士學位論文,2011.
[3]鄭煒.基于IP-SAN的海量存儲技術的研究與實現[D].西安:西北工業大學博士學位論文,2007.
[4]CCF大數據專家委員會.2014年大數據發展趨勢預測[J].中國計算機學會通訊,2014,10(1):32-36.
[5]江國慶.基于iSCSI網絡存儲系統安全性研究與實現[D].合肥:合肥工業大學碩士學位論文,2006.
[6]任星.基于iSCSI協議的IPSAN安全機制研究與實現[D].鄭州:解放軍信息工程大學碩士學位論文,2008.
[7]付園園.SAN存儲網絡安全解決方案研究[D].西安:西安電子科技大學碩士學位論文,2010.
[8]黃智,龔向陽,闕喜戎,等.IPsec協議的研究和分析[J].計算機工程與應用,2002,11:161-162.
[9]曾升奎,等.系統可靠性設計分析教程[M].北京:北京航空航天大學出版社,2001.
[10]黃開明,應迪.雙線路熱備的數據傳輸系統[J].信息安全與技術,2011,6:87-89.
[11]韓煒,臧紅偉.N版本編程技術的軟件可靠性分析[J].微電子學與計算機,2003,5:62-63.
Design of EncryptingSystem for iSCSI-based Network Storage
GUO Jianjun
(Navy Institute of Computing Technology,Beijing 100841)
The network storage encrypting system and equipment are designed.The reliability method of storage encrypting is designed.The model of hierarchical cipher processing engine is given which can be configured according to application requirements to meet the reliability or the performance requirement.
network storage,storage encrypting,iSCSI
TP393.04DOI:10.3969/j.issn.1672-9730.2015.11.028
2015年5月7日,
2015年6月23日
郭建軍,男,工程師,研究方向:信息安全,嵌入式系統。