張寶燕,郭 皓
(中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041)
隨著信息化建設(shè)的不斷發(fā)展,數(shù)據(jù)存儲(chǔ)業(yè)務(wù)呈現(xiàn)出爆炸性增長(zhǎng)趨勢(shì),推動(dòng)了存儲(chǔ)技術(shù)從傳統(tǒng)直接硬盤(pán)存儲(chǔ)演進(jìn)到網(wǎng)絡(luò)化存儲(chǔ),并獲得了廣泛應(yīng)用。基于光纖通道(Fiber Channel,F(xiàn)C)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)(Storage Area Network,SAN)是當(dāng)前主流的網(wǎng)絡(luò)存儲(chǔ)技術(shù)之一,因其具有性能高、傳輸可靠、管理集中、易于擴(kuò)展等技術(shù)優(yōu)勢(shì),在各個(gè)領(lǐng)域獲得了廣泛應(yīng)用。與此同時(shí),F(xiàn)C SAN網(wǎng)絡(luò)存儲(chǔ)數(shù)據(jù)被非法訪問(wèn)、非法竊取的風(fēng)險(xiǎn)也大大增加,嚴(yán)重影響數(shù)據(jù)安全。因此,針對(duì)FC SAN的安全性研究具有現(xiàn)實(shí)意義。
FC SAN采用光纖通道技術(shù),構(gòu)建獨(dú)立于計(jì)算機(jī)網(wǎng)絡(luò)的專用存儲(chǔ)網(wǎng)絡(luò),是一種針對(duì)大容量數(shù)據(jù)存儲(chǔ)的解決方案。FCSAN通過(guò)SAN互聯(lián)設(shè)備實(shí)現(xiàn)服務(wù)器與存儲(chǔ)設(shè)備的組網(wǎng)互聯(lián),為用戶提供高帶寬、高可靠的網(wǎng)絡(luò)存儲(chǔ)服務(wù)。其網(wǎng)絡(luò)連接如圖1所示。

圖1 存儲(chǔ)網(wǎng)絡(luò)FC SAN
FC SAN協(xié)議是由美國(guó)工業(yè)標(biāo)準(zhǔn)協(xié)會(huì)(American National Standard Institute,ANSI)提出的光纖通道標(biāo)準(zhǔn),定義了物理層的特征、傳輸協(xié)議和流量控制的一些方法以及與其他上層協(xié)議的映射接口。[1]
FCSAN是服務(wù)器后端的專用存儲(chǔ)網(wǎng)絡(luò),專門用于傳輸和處理服務(wù)器主機(jī)與存儲(chǔ)設(shè)備之間的存儲(chǔ)數(shù)據(jù),與業(yè)務(wù)網(wǎng)絡(luò)相互隔離,獨(dú)立組網(wǎng)。但是存儲(chǔ)區(qū)域網(wǎng)絡(luò)技術(shù),更多關(guān)注的是高性能、開(kāi)放性和可靠性,對(duì)安全性的關(guān)注不夠多。隨著FCSAN網(wǎng)絡(luò)日益普及,大量重要數(shù)據(jù)在存儲(chǔ)設(shè)備上集中透明存儲(chǔ),存在被非法用戶竊取的安全隱患。
FC SAN本身具有一些安全機(jī)制和策略,包括全球唯一標(biāo)識(shí)(World Wide Name,WWN)、分區(qū)Zoing和邏輯單元號(hào)(Logical Unit Number,LUN)屏蔽,但是這些機(jī)制和策略都存在一定的安全漏洞。
(1)全球唯一標(biāo)識(shí)WWN
在FC SAN中采用64位唯一注冊(cè)標(biāo)識(shí)WWN,用于標(biāo)識(shí)節(jié)點(diǎn)設(shè)備和物理端口,作用類似于介質(zhì)訪問(wèn)控制(Media Access Control,MAC)地址。FC SAN的尋址及認(rèn)證就是基于WWN。
FC協(xié)議在發(fā)起端和目標(biāo)端通過(guò)唯一的WWN號(hào)來(lái)相互識(shí)別,并建立連接關(guān)系;而黑客可以采用SPOOFING方式偽裝成合法的發(fā)起端,從而取得對(duì)未經(jīng)授權(quán)的目標(biāo)端存儲(chǔ)空間的訪問(wèn)。一旦連接存儲(chǔ)設(shè)備的服務(wù)器被攻破,F(xiàn)C SAN存儲(chǔ)設(shè)備自然就完全暴露在入侵者面前。
(2)分區(qū)Zoing
FC交換機(jī)具有分區(qū)的功能,可基于物理端口或基于 WWN,將接入設(shè)備在一個(gè)fabric里在邏輯上分為不同的組,確保服務(wù)器和交換機(jī)在組間進(jìn)行互相通信。在同一FC SAN網(wǎng)絡(luò)中,分區(qū)可以在邏輯上限制不同區(qū)域、不同級(jí)別設(shè)備的訪問(wèn)權(quán)限,在一定程度上增強(qiáng)存儲(chǔ)網(wǎng)絡(luò)的安全性。但是攻擊者可以通過(guò)獲取任意服務(wù)器的授權(quán),突破軟分區(qū)的限制,任意訪問(wèn)存儲(chǔ)設(shè)備。
(3)邏輯單元號(hào)LUN屏蔽
LUN屏蔽是一種比分區(qū)粒度更細(xì)的訪問(wèn)控制方法,它可以限制服務(wù)器對(duì)存儲(chǔ)設(shè)備一定范圍邏輯單元的訪問(wèn)。但是攻擊者可通過(guò)修改交換機(jī)的配置、竊取存儲(chǔ)設(shè)備等手段,突破LUN屏蔽的防線。[2]
歸納起來(lái),F(xiàn)C SAN安全性威脅主要有兩方面:
1)存儲(chǔ)數(shù)據(jù)被盜取;
2)非法用戶的非授權(quán)訪問(wèn)。
為了解決FC SAN的安全隱患,保護(hù)存儲(chǔ)網(wǎng)絡(luò)中的數(shù)據(jù)安全,設(shè)計(jì)了安全增強(qiáng)存儲(chǔ)系統(tǒng)。該系統(tǒng)主要由客戶端、服務(wù)器、安全加固交換機(jī)、安全存儲(chǔ)磁盤(pán)陣列和安全管理中心組成,集數(shù)據(jù)加密保護(hù)、身份認(rèn)證、存儲(chǔ)管理于一體,具有高性能、高安全等特點(diǎn),可為用戶數(shù)據(jù)的存儲(chǔ)提供安全保障。如圖2所示。

圖2 安全增強(qiáng)FC SAN網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)
其中,安全管理中心是全網(wǎng)的管理中心,采用帶外管理方式實(shí)現(xiàn)安全存儲(chǔ)陣列的密碼分發(fā)、設(shè)備監(jiān)控管理、運(yùn)行狀態(tài)采集等管理功能。
安全加固交換機(jī)采用改進(jìn)型安全增強(qiáng)DH挑戰(zhàn)握手認(rèn)證協(xié)議(Diffie-Hellman Challenge Handshake Handshake Authentication Protocol,DH-CHAP),實(shí)現(xiàn)對(duì)服務(wù)器和存儲(chǔ)設(shè)備的安全接入認(rèn)證。
安全存儲(chǔ)磁盤(pán)陣列直接替代普通存儲(chǔ)磁盤(pán)陣列;實(shí)現(xiàn)存儲(chǔ)業(yè)務(wù)數(shù)據(jù)加解密功能;并且可基于邏輯單元號(hào)等數(shù)據(jù)特征標(biāo)識(shí)進(jìn)行區(qū)分密鑰加密,具有分區(qū)數(shù)據(jù)加密保護(hù)能力;加解密過(guò)程對(duì)上層應(yīng)用訪問(wèn)透明。
針對(duì)明文存儲(chǔ)數(shù)據(jù)可能被非法竊取的安全威脅,設(shè)計(jì)安全存儲(chǔ)磁盤(pán)陣列,對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行加密保護(hù),實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)安全。
存儲(chǔ)陣列通常的協(xié)議處理流程如圖3(a)所示:ServiceSystem首先進(jìn)行網(wǎng)絡(luò)存儲(chǔ)協(xié)議處理,包括應(yīng)用層的網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)和通用因特網(wǎng)文件系統(tǒng)(Common Internet File System,CIFS)協(xié)議,存儲(chǔ)傳輸層的FC或因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(Internet Small Computer SystemInterface,iSCSI)等協(xié)議的解析;CopySystem進(jìn)行LUN拷貝、快照、鏡像、克隆、遠(yuǎn)程復(fù)制等增值特性處理,SpaceSystem再進(jìn)行文件系統(tǒng)、LUN等存儲(chǔ)對(duì)象管理,PoolSystem完成存儲(chǔ)池管理,包括重復(fù)數(shù)據(jù)刪除、數(shù)據(jù)壓縮、數(shù)據(jù)讀寫(xiě)、磁盤(pán)陣列(Redundant Arrays of Independent Drives,RAID)算法以及硬盤(pán)管理。[3]
通過(guò)存儲(chǔ)陣列里內(nèi)置加密卡,設(shè)計(jì)內(nèi)置調(diào)用式加密磁盤(pán)陣列,由存儲(chǔ)陣列的控制軟件調(diào)用加解密的方式,實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)的加解密功能。把加密功能調(diào)用放在存儲(chǔ)池PoolSystem之上,也就是在重刪、壓縮處理之后進(jìn)行調(diào)用,則加密自動(dòng)支持存儲(chǔ)的克隆、快照等增值特性,同時(shí)也能與各種應(yīng)用層和存儲(chǔ)傳輸層協(xié)議無(wú)縫對(duì)接。如圖3(b)所示。

圖3 RAID數(shù)據(jù)(加密)處理流程
磁盤(pán)陣列主要使用了分條(Striping)和交叉存取(Interleaving)技術(shù),即將數(shù)據(jù)分塊后分布在多個(gè)磁盤(pán)上,以并行的交叉存取提高速度。在RAID技術(shù)中,將數(shù)據(jù)塊按照Block(塊)、Strip(分條)、Stripe(條帶)和Extend(區(qū)間)的邏輯層次組織起來(lái)。其中Block是RAID中最小數(shù)據(jù)單元,是操作系統(tǒng)中分配磁盤(pán)容量的最小單位。不同的操作系統(tǒng)或存儲(chǔ)設(shè)備的塊大小有所不同,一般是512-4K字節(jié)大小(512整數(shù)倍)。[4]如圖4所示。
安全存儲(chǔ)磁盤(pán)陣列對(duì)Block數(shù)據(jù)進(jìn)行加解密。當(dāng)安全存儲(chǔ)陣列接收到存儲(chǔ)數(shù)據(jù)時(shí),中央處理器(Central Processing Unit,CPU)對(duì)數(shù)據(jù)進(jìn)行協(xié)議解析后,調(diào)用加密卡。加密卡解析數(shù)據(jù)頭部信息包含的邏輯單元號(hào)及邏輯塊地址等數(shù)據(jù)存儲(chǔ)特征標(biāo)識(shí),進(jìn)行密鑰散列,再利用散列出的密鑰對(duì)Block數(shù)據(jù)進(jìn)行加密,形成加密數(shù)據(jù)返回處理器;處理器再將密文數(shù)據(jù)下盤(pán)至存儲(chǔ)磁盤(pán)中。如圖5所示。讀數(shù)據(jù)則是解密過(guò)程,與加密過(guò)程類似。

圖4 磁盤(pán)陣列中的數(shù)據(jù)組織結(jié)構(gòu)

圖5 數(shù)據(jù)下盤(pán)-加密流程
針對(duì)非授權(quán)用戶非法訪問(wèn)磁盤(pán)陣列的安全威脅,設(shè)計(jì)改進(jìn)型安全增強(qiáng)接入認(rèn)證協(xié)議DHCHAP,實(shí)現(xiàn)FC SAN接入設(shè)備的可靠認(rèn)證,有效防止身份攻擊。
DH-CHAP協(xié)議是一種使用認(rèn)證者和對(duì)端共享的認(rèn)證密鑰,通過(guò)三次握手周期性的校驗(yàn)對(duì)端身份的認(rèn)證協(xié)議。FC SAN采用該協(xié)議實(shí)現(xiàn)交換機(jī)與服務(wù)器或磁盤(pán)陣列之間的身份認(rèn)證。如圖6所示。
從上述流程可以看出,認(rèn)證發(fā)起端M向認(rèn)證響應(yīng)端N發(fā)送WWNm、支持的哈希列表HashIDList等重要參數(shù);N選取隨機(jī)數(shù)x,產(chǎn)生挑戰(zhàn)值C1,向M發(fā)送挑戰(zhàn)報(bào)文;M選擇隨機(jī)數(shù)y,根據(jù)WWNn索引出的認(rèn)證密鑰,計(jì)算出響應(yīng)消息R1發(fā)送給N。N采用認(rèn)證密鑰Km計(jì)算消息響應(yīng)值R1’,與M發(fā)方過(guò)來(lái)的R1進(jìn)行比較,若相等,則通過(guò)認(rèn)證并發(fā)送認(rèn)證成功的回執(zhí);否則認(rèn)證失敗拒絕接入。[5]同理,還可進(jìn)行N至M的雙向認(rèn)證。

圖6 FC SAN的DH-CHAP協(xié)議
DH-CHAP協(xié)議采用認(rèn)證密碼、隨機(jī)數(shù)x/y從及Hash算法加強(qiáng)了認(rèn)證安全,但是其依賴WWN識(shí)別端口并查詢密碼的機(jī)制,攻擊者可以輕易實(shí)現(xiàn)修改WWN,并通過(guò)WWN偽裝發(fā)起認(rèn)證欺騙。
針對(duì)此安全威脅,設(shè)計(jì)改進(jìn)型安全增強(qiáng)DHCHAP認(rèn)證協(xié)議,實(shí)現(xiàn)對(duì)FC SAN存儲(chǔ)網(wǎng)絡(luò)設(shè)備的安全接入認(rèn)證。首先,改進(jìn)型認(rèn)證協(xié)議延遲了WWN發(fā)送的時(shí)機(jī)。DH-CHAP認(rèn)證協(xié)議在協(xié)議交換之初就開(kāi)始相互發(fā)送WWNm和WWNn,而改進(jìn)型認(rèn)證協(xié)議在第三步發(fā)送DH-CHAP挑戰(zhàn)響應(yīng)報(bào)文時(shí)才發(fā)送WWNm,第四步DH-CHAP認(rèn)證成功后發(fā)送WWNn,即在初步確認(rèn)對(duì)方身份后才發(fā)送WWN,有效降低了WWN被竊取的風(fēng)險(xiǎn)。此外,針對(duì)WWN明文傳送可能被竊取后用于偽裝身份的安全威脅,改進(jìn)型認(rèn)證協(xié)議使用對(duì)稱密碼算法對(duì)WWN進(jìn)行保護(hù),根據(jù)隨機(jī)數(shù)x和y在預(yù)置的密鑰池中選取保護(hù)密鑰,一次一密。如圖7所示。

圖7 改進(jìn)型DH-CHAP接入認(rèn)證協(xié)議
本文設(shè)計(jì)的基于FC SAN的安全增強(qiáng)存儲(chǔ)系統(tǒng),解決了數(shù)據(jù)安全存儲(chǔ)、安全接入認(rèn)證的安全問(wèn)題,實(shí)現(xiàn)了存儲(chǔ)系統(tǒng)的安全增強(qiáng)。所設(shè)計(jì)的安全存儲(chǔ)磁盤(pán)陣列,只在存儲(chǔ)層實(shí)現(xiàn)加解密,并不影響上層網(wǎng)絡(luò)存儲(chǔ)協(xié)議,因此具有通用性,可應(yīng)用于其他網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)例如iSCSI、網(wǎng)絡(luò)附屬存儲(chǔ)(NetworkAttachedStorage,NAS)等。設(shè)計(jì)的改進(jìn)型安全增強(qiáng)認(rèn)證協(xié)議,稍加改造也可應(yīng)用于其他網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)。因此,本系統(tǒng)可為其他網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的安全解決方案提供參考。
本文不涉及對(duì)客戶端的身份認(rèn)證、傳輸過(guò)程中數(shù)據(jù)安全的研究,這些內(nèi)容有待進(jìn)一步研究。