文獻標識碼: 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.