《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于加密中間件的iSCSI遠(yuǎn)程鏡像方法的研究與實(shí)現(xiàn)
基于加密中間件的iSCSI遠(yuǎn)程鏡像方法的研究與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2011年第9期
李珊珊1,2, 陳 運(yùn)1, 姚文斌2, 肖 達(dá)2, 楊義先2
1. 成都信息工程學(xué)院,四川 成都610225; 2. 北京郵電大學(xué) 災(zāi)備技術(shù)國家工程實(shí)驗(yàn)室,北京100876
摘要: 現(xiàn)有的iSCSI安全機(jī)制對(duì)于基于IP網(wǎng)絡(luò)的遠(yuǎn)程鏡像不能提供足夠的安全保護(hù),為此提出了基于加密中間件的iSCSI遠(yuǎn)程鏡像方法。通過加密中間件內(nèi)嵌的加密機(jī)制,解決了現(xiàn)有算法基于應(yīng)用主機(jī)進(jìn)行加密運(yùn)算導(dǎo)致的客戶端和服務(wù)器端CPU資源占用率過高的問題。該方法能夠在保證數(shù)據(jù)傳輸和存儲(chǔ)安全性的同時(shí),提高了系統(tǒng)的性能。實(shí)驗(yàn)表明,采用基于加密中間件的iSCSI遠(yuǎn)程鏡像方法能夠使得系統(tǒng)的順序讀寫吞吐率比添加加密卷的系統(tǒng)提高31%。
中圖分類號(hào): TN918.9
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)09-114-04
Research and implementation of iSCSI remote mirroring methods based on encryption middleware
Li Shanshan1,2, Chen Yun1, Yao Wenbin2, Xiao Da2, Yang Yixian2
1. Chengdu University of Information Technology , Chendu 610225, China; 2. National Engineering Laboratory for Disaster Backup and Recovery, Beijing University of Posts and Telecommunications, Beijing 100876, China
Abstract: The existing iSCSI security mechanisms can not provide adequate security protection for remote mirroring based on IP networks. This paper presents an iSCSI remote mirroring method based on encryption middleware. By the embedded encryption mechanism in encryption middleware, we solve the problem of high client and server CPU resource utilization caused by encryption computation on the application host with existing methods. The method can guarantee the security of data transmission and storage, while improving system performance. Experimental results show that the iSCSI remote mirroring methods based on encryption middleware can increase the sequential read and write throughput of the system by 31% compared to that of the system with encryption volume.
Key words : information security; remote mirroring; encryption middleware;transport security; storage security


    信息化建設(shè)的深入發(fā)展帶動(dòng)了企業(yè)重要信息資產(chǎn)數(shù)據(jù)的日益增長。為了保護(hù)與企業(yè)生存密切相關(guān)的數(shù)據(jù)信息的安全,互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口iSCSI(Internet Small Computer System Interface)遠(yuǎn)程鏡像技術(shù)[1-2]被用于數(shù)據(jù)容災(zāi)系統(tǒng)。隨著iSCSI應(yīng)用的快速發(fā)展,性能高、安全性強(qiáng)的IP存儲(chǔ)正成為網(wǎng)絡(luò)存儲(chǔ)領(lǐng)域的研究熱點(diǎn)。iSCSI使用標(biāo)準(zhǔn)的TCP/IP協(xié)議,將現(xiàn)有SCSI接口與以太網(wǎng)技術(shù)結(jié)合,在IP網(wǎng)絡(luò)上傳送SCSI數(shù)據(jù)和命令,因此普通IP網(wǎng)絡(luò)上的攻擊手段都適用于iSCSI環(huán)境,攻擊者也可以通過遠(yuǎn)程容災(zāi)備份或數(shù)據(jù)鏡像來竊取保存在存儲(chǔ)設(shè)備中的數(shù)據(jù),現(xiàn)有的iSCSI安全機(jī)制不能提供足夠的安全保護(hù)。
 目前保證iSCSI存儲(chǔ)系統(tǒng)數(shù)據(jù)安全的方法主要有兩種:加密通信線路上的數(shù)據(jù);加密存儲(chǔ)設(shè)備上的數(shù)據(jù)。安全性和性能通常是相互矛盾的,這兩種方式都是基于應(yīng)用主機(jī)進(jìn)行加解密運(yùn)算,導(dǎo)致客戶端或服務(wù)器端CPU占用率過高,大大降低了系統(tǒng)性能。第一種情況如:IETF提出的IPSec方法[3]能夠提供線上的加密保護(hù)卻嚴(yán)重降低性能,為了提高系統(tǒng)性能,學(xué)者們對(duì)該方案進(jìn)行了研究和改進(jìn),在一定程度上提高[4]和優(yōu)化[5]了系統(tǒng)性能,但該情況并不能保證存儲(chǔ)設(shè)備上的數(shù)據(jù)安全。相反,第二種情況:加密文件系統(tǒng)雖能保證存儲(chǔ)設(shè)備的數(shù)據(jù)安全,但不能保證線上的數(shù)據(jù)安全,同樣該情況對(duì)系統(tǒng)的性能影響也很大?;谕瑫r(shí)保證線上和存儲(chǔ)設(shè)備上的數(shù)據(jù)安全性考慮,邏輯盤卷管理LVM(Logical Volume Manager)加密卷[6-7]能同時(shí)滿足數(shù)據(jù)傳輸和存儲(chǔ)的安全性需要,但其加解密運(yùn)算也是在客戶端進(jìn)行,系統(tǒng)的讀寫性能仍要受到影響。
 本文提出了在iSCSI遠(yuǎn)程鏡像路徑上添加加密中間件,希望在安全和性能之間找到一個(gè)平衡點(diǎn),在保證網(wǎng)絡(luò)傳輸和存儲(chǔ)數(shù)據(jù)安全性的同時(shí)把性能損失降低到可接受的范圍。加密中間件內(nèi)嵌加密機(jī)制,客戶端和服務(wù)器端不進(jìn)行加解密運(yùn)算,只進(jìn)行訪問控制,由于數(shù)據(jù)加解密運(yùn)算是CPU密集型運(yùn)算,因此加密中間件分擔(dān)了客戶端和服務(wù)器端的CPU資源占用率,可以在一定程度上提高系統(tǒng)的讀寫性能。
 鏡像系統(tǒng)中添加加密中間件主要有以下優(yōu)點(diǎn):
 (1)在iSCSI層進(jìn)行加密操作,加解密效率高,密鑰管理安全方便;(2)鏡像數(shù)據(jù)以密文的形式傳輸和存儲(chǔ);(3)加密中間件獨(dú)立于前端主機(jī)和后端存儲(chǔ),易于部署;(4)加密中間件負(fù)責(zé)加解密運(yùn)算,減輕主機(jī)和服務(wù)器負(fù)擔(dān)。
    基于加密中間件的鏡像方法不僅保證了網(wǎng)絡(luò)數(shù)據(jù)傳輸和存儲(chǔ)的安全性,而且在一定程度上提高了系統(tǒng)性能。
1 體系結(jié)構(gòu)
 基于加密中間件的iSCSI遠(yuǎn)程鏡像系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖1所示。iSCSI遠(yuǎn)程鏡像系統(tǒng)包括本地網(wǎng)絡(luò)、IP網(wǎng)絡(luò)、遠(yuǎn)程網(wǎng)絡(luò)三部分。本地網(wǎng)絡(luò)與遠(yuǎn)程網(wǎng)絡(luò)之間通過IP網(wǎng)絡(luò)進(jìn)行通信。本地系統(tǒng)與加密中間件位于本地網(wǎng)絡(luò),鏡像系統(tǒng)位于遠(yuǎn)程網(wǎng)絡(luò)。本地系統(tǒng)主要包括客戶機(jī)與本地存儲(chǔ)設(shè)備。鏡像系統(tǒng)主要包括服務(wù)器和SCSI磁盤陣列。加密中間件內(nèi)嵌加密機(jī)制,對(duì)數(shù)據(jù)進(jìn)行加解密處理??蛻舳伺c服務(wù)器端只進(jìn)行訪問控制。鏡像系統(tǒng)中存取數(shù)據(jù)的具體流程如圖2所示。

    圖2中①~④示出了存數(shù)據(jù)的過程:客戶端將關(guān)鍵應(yīng)用數(shù)據(jù)先在本地存儲(chǔ)設(shè)備中存儲(chǔ)一份,同時(shí)復(fù)制一份經(jīng)過加密中間件加密處理變?yōu)閿?shù)據(jù)密文,密文經(jīng)過IP網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程服務(wù)器,服務(wù)器將收到的數(shù)據(jù)密文存儲(chǔ)于SCSI磁盤陣列中用于容災(zāi)備份;⑤~⑧所示(取數(shù)據(jù)過程):客戶端先從本地存儲(chǔ)設(shè)備讀取數(shù)據(jù)使用,當(dāng)?shù)赜蛐詾?zāi)難發(fā)生,造成本地存儲(chǔ)設(shè)備中數(shù)據(jù)丟失和破壞,導(dǎo)致本地系統(tǒng)中的存儲(chǔ)數(shù)據(jù)失去使用價(jià)值。此時(shí),客戶端讀取遠(yuǎn)程服務(wù)器磁盤陣列中備份的數(shù)據(jù),數(shù)據(jù)密文流經(jīng)加密中間件被解密為可用的數(shù)據(jù)明文,供客戶端使用或用于恢復(fù)本地存儲(chǔ)設(shè)備中的數(shù)據(jù),從而保證工作的正常進(jìn)行。
2 加密中間件的設(shè)計(jì)與實(shí)現(xiàn)
2.1加密中間件的功能模塊

 加密中間件加解密功能模塊的添加主要是基于目標(biāo)器框架tgt(Target Framework)[8]模塊中數(shù)據(jù)流的讀寫走向?qū)崿F(xiàn)。加解密功能模塊的算法是通過封裝OpenSSL[9]庫中的AES算法實(shí)現(xiàn)。
 加密中間件主要包括的功能模塊如圖3所示。

   從功能模塊圖可以看出,加密中間件獨(dú)立于前端主機(jī)和后端服務(wù)器,內(nèi)有獨(dú)立的目標(biāo)器和啟動(dòng)器相連接,對(duì)整個(gè)系統(tǒng)是透明的。圖中虛線左側(cè)是目標(biāo)器框架功能模塊,表示加密中間件通過本地網(wǎng)絡(luò)與客戶端進(jìn)行通信連接;虛線右側(cè)是啟動(dòng)器模塊與以太網(wǎng)適配器模塊,表示加密中間件通過IP網(wǎng)絡(luò)與遠(yuǎn)程服務(wù)器連接通信。
 當(dāng)客戶端向遠(yuǎn)程服務(wù)器發(fā)送SCSI鏡像數(shù)據(jù)和命令時(shí),加密中間件內(nèi)功能模塊間的交互關(guān)系如下:首先客戶端通過本地網(wǎng)絡(luò)將數(shù)據(jù)信息送予加密中間件的tgt架構(gòu)的目標(biāo)驅(qū)動(dòng)器(target drivers)模塊,目標(biāo)驅(qū)動(dòng)器負(fù)責(zé)管理向啟動(dòng)器設(shè)備傳送連接請(qǐng)求和指令,以及硬件與tgt內(nèi)核(tgt core)之間或互聯(lián)子系統(tǒng)與tgt內(nèi)核之間的任務(wù)管理請(qǐng)求。數(shù)據(jù)信息繼續(xù)上傳到tgt 內(nèi)核模塊,tgt 內(nèi)核是目標(biāo)驅(qū)動(dòng)器與用戶空間守護(hù)進(jìn)程(tgtd)之間一個(gè)簡單的連接器,目標(biāo)驅(qū)動(dòng)器通過網(wǎng)絡(luò)連接接口向用戶空間守護(hù)進(jìn)程傳送SCSI命令向量和任務(wù)管理請(qǐng)求。最后數(shù)據(jù)信息和命令到達(dá)用戶空間守護(hù)進(jìn)程模塊,該進(jìn)程是用戶空間的進(jìn)程模塊,它獨(dú)立于傳輸協(xié)議和目標(biāo)驅(qū)動(dòng)器,是SCSI狀態(tài)機(jī),處理SCSI命令和任務(wù)管理請(qǐng)求,該模塊調(diào)用加解密模塊(Encrypt&decrypt)中的加密模塊對(duì)SCSI命令和數(shù)據(jù)進(jìn)行加密處理。加密后的數(shù)據(jù)密文被傳送到啟動(dòng)器模塊(iSCSI initiator),然后通過以太網(wǎng)適配器模塊(NIC driver)將加密數(shù)據(jù)發(fā)送到遠(yuǎn)端鏡像系統(tǒng)的存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)備份。tgt架構(gòu)中的tgt管理工具模塊是一個(gè)簡單的管理工具,用戶空間守護(hù)進(jìn)程模塊啟動(dòng)后,主要負(fù)責(zé)存儲(chǔ)設(shè)備上目標(biāo)節(jié)點(diǎn)和邏輯單元的創(chuàng)建或刪除,并顯示與客戶端的連接狀態(tài)信息等。
 客戶端讀取鏡像系統(tǒng)數(shù)據(jù)功能模塊之間的交互是上述過程的逆過程,主要區(qū)別是調(diào)用解密模塊,對(duì)讀取的數(shù)據(jù)密文解密處理得到數(shù)據(jù)明文供客戶端使用。
2.2加密中間件的數(shù)據(jù)處理流程
 加密中間件的主要作用是對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行加解密處理。其數(shù)據(jù)處理流程如圖4所示。

 客戶端啟動(dòng)器與遠(yuǎn)程服務(wù)器端目標(biāo)器經(jīng)過協(xié)商,交換登錄協(xié)議數(shù)據(jù)單元,進(jìn)行身份認(rèn)證,協(xié)商并相互認(rèn)證后,iSCSI鏡像系統(tǒng)進(jìn)入通信連接階段。連接建立后,客戶端向服務(wù)器端發(fā)送讀寫請(qǐng)求,加密中間件根據(jù)收到讀寫操作碼來判斷數(shù)據(jù)的加解密操作類型。當(dāng)收到寫操作碼2a,加密中間件則對(duì)客戶端傳來的數(shù)據(jù)信息進(jìn)行加密處理,并將加密后的密文信息送到遠(yuǎn)程服務(wù)器存儲(chǔ)備份。如果收到讀操作碼28,加密中間件從遠(yuǎn)程服務(wù)器中讀取備份數(shù)據(jù),對(duì)其進(jìn)行解密操作,解密后的數(shù)據(jù)明文供客戶端用戶使用。
2.3 密鑰問題
 雖然對(duì)稱加密技術(shù)在加密強(qiáng)度和運(yùn)算速度方面完全能勝任并保證重要數(shù)據(jù)信息在網(wǎng)絡(luò)中傳輸,但它有一個(gè)致命的弱點(diǎn),加解密用的是同一個(gè)密鑰,通信雙方的共享密鑰在網(wǎng)絡(luò)上如何安全傳送仍是需要關(guān)注的問題。由于iSCSI遠(yuǎn)程鏡像系統(tǒng)遠(yuǎn)端服務(wù)器主要存放數(shù)據(jù)密文用于數(shù)據(jù)容災(zāi),因此密鑰保存在本地網(wǎng)絡(luò),不需要在網(wǎng)絡(luò)上傳輸加密密鑰,避免了密鑰在網(wǎng)絡(luò)中傳輸?shù)牟话踩詥栴}。密文與密鑰的存儲(chǔ)位置如圖5所示。

 其基本原理為:用戶數(shù)據(jù)在通信之前, 發(fā)送方利用SHA1散列算法將用于產(chǎn)生密鑰的口令字符串生成一個(gè)固定長度的加密密鑰,用OpenSSL庫中的AES算法對(duì)要傳送的數(shù)據(jù)加密,密文通過以太網(wǎng)被傳送到遠(yuǎn)端存儲(chǔ),加密密鑰保存在本地,解密操作在客戶端進(jìn)行,解密數(shù)據(jù)信息供本地用戶使用。
3 性能測試與分析
 系統(tǒng)安全性提高的同時(shí),必然會(huì)對(duì)系統(tǒng)性能產(chǎn)生一定的影響。系統(tǒng)吞吐率是衡量系統(tǒng)質(zhì)量和性能的一個(gè)重要指標(biāo)。本文通過Inter公司的IOmeter基準(zhǔn)測試工具對(duì)無加密機(jī)制中間件、加密中間件、LVM加密卷三種情況的吞吐率進(jìn)行了測試和對(duì)比。測試內(nèi)容包括讀取測試和寫入測試。讀取方式包括順序讀與隨機(jī)讀,寫入方式包括順序?qū)懞碗S機(jī)寫,數(shù)據(jù)塊大小為512 B~1 MB。
3.1測試環(huán)境
 測試環(huán)境中加密中間件采用單個(gè)應(yīng)用服務(wù)器,客戶端、加密中間件和遠(yuǎn)程服務(wù)器的配置如表1所示。
 

3.2測試結(jié)果與性能分析
 測試結(jié)果如圖6所示。

 添加的加密中間件系統(tǒng)CPU利用率(%),如表2所示。

 從實(shí)驗(yàn)結(jié)果看,加密中間件與LVM卷加密文件系統(tǒng)對(duì)系統(tǒng)性能都有影響,其中隨機(jī)讀寫對(duì)系統(tǒng)性能影響較小,順序讀寫對(duì)系統(tǒng)性能影響較大。對(duì)圖6測試結(jié)果中不同數(shù)據(jù)塊大小的IO吞吐率取其平均值,計(jì)算可知添加加密中間件系統(tǒng)的順序讀性能比添加加密卷系統(tǒng)提高了17%左右,順序?qū)懶阅芴岣吡?5%左右,其順序讀寫性能平均提高了31%左右;隨機(jī)讀性能提高了18%左右,隨機(jī)寫性能提高了9%左右,其隨機(jī)讀寫性能平均提高了13%左右。但與無安全的系統(tǒng)相比,其順序讀的性能下降了32%左右,順序?qū)懶阅芟陆盗?3%左右,順序讀寫性能平均下降了38%左右;隨機(jī)讀性能下降了11%左右,隨機(jī)寫性能下降了7%左右,其隨機(jī)讀寫性能平均下降了9%左右。塊大小也會(huì)影響性能,一般情況下,塊大小增加,吞吐率也會(huì)增加。但在順序讀的測試結(jié)果中,當(dāng)塊大小為64 KB時(shí)出現(xiàn)了轉(zhuǎn)折點(diǎn),當(dāng)塊大小為128 KB時(shí),吞吐率達(dá)到最大,1 MB時(shí)吞吐率開始下降。在順序?qū)懙臏y試結(jié)果中,通過加密中間件CPU占用率測試發(fā)現(xiàn),當(dāng)塊大小為1 MB時(shí),CPU的利用率超過100%,CPU成為瓶頸,說明當(dāng)數(shù)據(jù)塊很大時(shí),加解密開銷對(duì)性能影響比較大。 
 為了在保證信息傳輸和存儲(chǔ)安全性的同時(shí)提高系統(tǒng)性能,本文提出基于加密中間件的iSCSI遠(yuǎn)程鏡像方法,解決了基于應(yīng)用主機(jī)進(jìn)行加密運(yùn)算導(dǎo)致客戶端和服務(wù)器端CPU資源占用率過高的問題,在保證信息傳輸和存儲(chǔ)安全的同時(shí),進(jìn)一步提高了系統(tǒng)性能。從性能測試結(jié)果圖可以看出,與LVM加密卷系統(tǒng)相比,加密中間件系統(tǒng)的讀寫性能均有一定程度的提高。由實(shí)驗(yàn)數(shù)據(jù)計(jì)算可知,其隨機(jī)讀寫性能平均提高了13%,順序讀寫性能平均提高了31%。
參考文獻(xiàn)
[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。