張寶燕,郭 皓
(中國電子科技集團公司第三十研究所,四川 成都 610041)
隨著信息化建設(shè)的不斷發(fā)展,數(shù)據(jù)存儲業(yè)務(wù)呈現(xiàn)出爆炸性增長趨勢,推動了存儲技術(shù)從傳統(tǒng)直接硬盤存儲演進到網(wǎng)絡(luò)化存儲,并獲得了廣泛應(yīng)用?;诠饫w通道(Fiber Channel,F(xiàn)C)的存儲區(qū)域網(wǎng)絡(luò)(Storage Area Network,SAN)是當(dāng)前主流的網(wǎng)絡(luò)存儲技術(shù)之一,因其具有性能高、傳輸可靠、管理集中、易于擴展等技術(shù)優(yōu)勢,在各個領(lǐng)域獲得了廣泛應(yīng)用。與此同時,F(xiàn)C SAN網(wǎng)絡(luò)存儲數(shù)據(jù)被非法訪問、非法竊取的風(fēng)險也大大增加,嚴(yán)重影響數(shù)據(jù)安全。因此,針對FC SAN的安全性研究具有現(xiàn)實意義。
FC SAN采用光纖通道技術(shù),構(gòu)建獨立于計算機網(wǎng)絡(luò)的專用存儲網(wǎng)絡(luò),是一種針對大容量數(shù)據(jù)存儲的解決方案。FCSAN通過SAN互聯(lián)設(shè)備實現(xiàn)服務(wù)器與存儲設(shè)備的組網(wǎng)互聯(lián),為用戶提供高帶寬、高可靠的網(wǎng)絡(luò)存儲服務(wù)。其網(wǎng)絡(luò)連接如圖1所示。
圖1 存儲網(wǎng)絡(luò)FC SAN
FC SAN協(xié)議是由美國工業(yè)標(biāo)準(zhǔn)協(xié)會(American National Standard Institute,ANSI)提出的光纖通道標(biāo)準(zhǔn),定義了物理層的特征、傳輸協(xié)議和流量控制的一些方法以及與其他上層協(xié)議的映射接口。[1]
FCSAN是服務(wù)器后端的專用存儲網(wǎng)絡(luò),專門用于傳輸和處理服務(wù)器主機與存儲設(shè)備之間的存儲數(shù)據(jù),與業(yè)務(wù)網(wǎng)絡(luò)相互隔離,獨立組網(wǎng)。但是存儲區(qū)域網(wǎng)絡(luò)技術(shù),更多關(guān)注的是高性能、開放性和可靠性,對安全性的關(guān)注不夠多。隨著FCSAN網(wǎng)絡(luò)日益普及,大量重要數(shù)據(jù)在存儲設(shè)備上集中透明存儲,存在被非法用戶竊取的安全隱患。
FC SAN本身具有一些安全機制和策略,包括全球唯一標(biāo)識(World Wide Name,WWN)、分區(qū)Zoing和邏輯單元號(Logical Unit Number,LUN)屏蔽,但是這些機制和策略都存在一定的安全漏洞。
(1)全球唯一標(biāo)識WWN
在FC SAN中采用64位唯一注冊標(biāo)識WWN,用于標(biāo)識節(jié)點設(shè)備和物理端口,作用類似于介質(zhì)訪問控制(Media Access Control,MAC)地址。FC SAN的尋址及認(rèn)證就是基于WWN。
FC協(xié)議在發(fā)起端和目標(biāo)端通過唯一的WWN號來相互識別,并建立連接關(guān)系;而黑客可以采用SPOOFING方式偽裝成合法的發(fā)起端,從而取得對未經(jīng)授權(quán)的目標(biāo)端存儲空間的訪問。一旦連接存儲設(shè)備的服務(wù)器被攻破,F(xiàn)C SAN存儲設(shè)備自然就完全暴露在入侵者面前。
(2)分區(qū)Zoing
FC交換機具有分區(qū)的功能,可基于物理端口或基于 WWN,將接入設(shè)備在一個fabric里在邏輯上分為不同的組,確保服務(wù)器和交換機在組間進行互相通信。在同一FC SAN網(wǎng)絡(luò)中,分區(qū)可以在邏輯上限制不同區(qū)域、不同級別設(shè)備的訪問權(quán)限,在一定程度上增強存儲網(wǎng)絡(luò)的安全性。但是攻擊者可以通過獲取任意服務(wù)器的授權(quán),突破軟分區(qū)的限制,任意訪問存儲設(shè)備。
(3)邏輯單元號LUN屏蔽
LUN屏蔽是一種比分區(qū)粒度更細的訪問控制方法,它可以限制服務(wù)器對存儲設(shè)備一定范圍邏輯單元的訪問。但是攻擊者可通過修改交換機的配置、竊取存儲設(shè)備等手段,突破LUN屏蔽的防線。[2]
歸納起來,F(xiàn)C SAN安全性威脅主要有兩方面:
1)存儲數(shù)據(jù)被盜??;
2)非法用戶的非授權(quán)訪問。
為了解決FC SAN的安全隱患,保護存儲網(wǎng)絡(luò)中的數(shù)據(jù)安全,設(shè)計了安全增強存儲系統(tǒng)。該系統(tǒng)主要由客戶端、服務(wù)器、安全加固交換機、安全存儲磁盤陣列和安全管理中心組成,集數(shù)據(jù)加密保護、身份認(rèn)證、存儲管理于一體,具有高性能、高安全等特點,可為用戶數(shù)據(jù)的存儲提供安全保障。如圖2所示。
圖2 安全增強FC SAN網(wǎng)絡(luò)存儲系統(tǒng)
其中,安全管理中心是全網(wǎng)的管理中心,采用帶外管理方式實現(xiàn)安全存儲陣列的密碼分發(fā)、設(shè)備監(jiān)控管理、運行狀態(tài)采集等管理功能。
安全加固交換機采用改進型安全增強DH挑戰(zhàn)握手認(rèn)證協(xié)議(Diffie-Hellman Challenge Handshake Handshake Authentication Protocol,DH-CHAP),實現(xiàn)對服務(wù)器和存儲設(shè)備的安全接入認(rèn)證。
安全存儲磁盤陣列直接替代普通存儲磁盤陣列;實現(xiàn)存儲業(yè)務(wù)數(shù)據(jù)加解密功能;并且可基于邏輯單元號等數(shù)據(jù)特征標(biāo)識進行區(qū)分密鑰加密,具有分區(qū)數(shù)據(jù)加密保護能力;加解密過程對上層應(yīng)用訪問透明。
針對明文存儲數(shù)據(jù)可能被非法竊取的安全威脅,設(shè)計安全存儲磁盤陣列,對存儲數(shù)據(jù)進行加密保護,實現(xiàn)數(shù)據(jù)存儲安全。
存儲陣列通常的協(xié)議處理流程如圖3(a)所示:ServiceSystem首先進行網(wǎng)絡(luò)存儲協(xié)議處理,包括應(yīng)用層的網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)和通用因特網(wǎng)文件系統(tǒng)(Common Internet File System,CIFS)協(xié)議,存儲傳輸層的FC或因特網(wǎng)小型計算機系統(tǒng)接口(Internet Small Computer SystemInterface,iSCSI)等協(xié)議的解析;CopySystem進行LUN拷貝、快照、鏡像、克隆、遠程復(fù)制等增值特性處理,SpaceSystem再進行文件系統(tǒng)、LUN等存儲對象管理,PoolSystem完成存儲池管理,包括重復(fù)數(shù)據(jù)刪除、數(shù)據(jù)壓縮、數(shù)據(jù)讀寫、磁盤陣列(Redundant Arrays of Independent Drives,RAID)算法以及硬盤管理。[3]
通過存儲陣列里內(nèi)置加密卡,設(shè)計內(nèi)置調(diào)用式加密磁盤陣列,由存儲陣列的控制軟件調(diào)用加解密的方式,實現(xiàn)存儲數(shù)據(jù)的加解密功能。把加密功能調(diào)用放在存儲池PoolSystem之上,也就是在重刪、壓縮處理之后進行調(diào)用,則加密自動支持存儲的克隆、快照等增值特性,同時也能與各種應(yīng)用層和存儲傳輸層協(xié)議無縫對接。如圖3(b)所示。
圖3 RAID數(shù)據(jù)(加密)處理流程
磁盤陣列主要使用了分條(Striping)和交叉存取(Interleaving)技術(shù),即將數(shù)據(jù)分塊后分布在多個磁盤上,以并行的交叉存取提高速度。在RAID技術(shù)中,將數(shù)據(jù)塊按照Block(塊)、Strip(分條)、Stripe(條帶)和Extend(區(qū)間)的邏輯層次組織起來。其中Block是RAID中最小數(shù)據(jù)單元,是操作系統(tǒng)中分配磁盤容量的最小單位。不同的操作系統(tǒng)或存儲設(shè)備的塊大小有所不同,一般是512-4K字節(jié)大?。?12整數(shù)倍)。[4]如圖4所示。
安全存儲磁盤陣列對Block數(shù)據(jù)進行加解密。當(dāng)安全存儲陣列接收到存儲數(shù)據(jù)時,中央處理器(Central Processing Unit,CPU)對數(shù)據(jù)進行協(xié)議解析后,調(diào)用加密卡。加密卡解析數(shù)據(jù)頭部信息包含的邏輯單元號及邏輯塊地址等數(shù)據(jù)存儲特征標(biāo)識,進行密鑰散列,再利用散列出的密鑰對Block數(shù)據(jù)進行加密,形成加密數(shù)據(jù)返回處理器;處理器再將密文數(shù)據(jù)下盤至存儲磁盤中。如圖5所示。讀數(shù)據(jù)則是解密過程,與加密過程類似。
圖4 磁盤陣列中的數(shù)據(jù)組織結(jié)構(gòu)
圖5 數(shù)據(jù)下盤-加密流程
針對非授權(quán)用戶非法訪問磁盤陣列的安全威脅,設(shè)計改進型安全增強接入認(rèn)證協(xié)議DHCHAP,實現(xiàn)FC SAN接入設(shè)備的可靠認(rèn)證,有效防止身份攻擊。
DH-CHAP協(xié)議是一種使用認(rèn)證者和對端共享的認(rèn)證密鑰,通過三次握手周期性的校驗對端身份的認(rèn)證協(xié)議。FC SAN采用該協(xié)議實現(xiàn)交換機與服務(wù)器或磁盤陣列之間的身份認(rèn)證。如圖6所示。
從上述流程可以看出,認(rèn)證發(fā)起端M向認(rèn)證響應(yīng)端N發(fā)送WWNm、支持的哈希列表HashIDList等重要參數(shù);N選取隨機數(shù)x,產(chǎn)生挑戰(zhàn)值C1,向M發(fā)送挑戰(zhàn)報文;M選擇隨機數(shù)y,根據(jù)WWNn索引出的認(rèn)證密鑰,計算出響應(yīng)消息R1發(fā)送給N。N采用認(rèn)證密鑰Km計算消息響應(yīng)值R1’,與M發(fā)方過來的R1進行比較,若相等,則通過認(rèn)證并發(fā)送認(rèn)證成功的回執(zhí);否則認(rèn)證失敗拒絕接入。[5]同理,還可進行N至M的雙向認(rèn)證。
圖6 FC SAN的DH-CHAP協(xié)議
DH-CHAP協(xié)議采用認(rèn)證密碼、隨機數(shù)x/y從及Hash算法加強了認(rèn)證安全,但是其依賴WWN識別端口并查詢密碼的機制,攻擊者可以輕易實現(xiàn)修改WWN,并通過WWN偽裝發(fā)起認(rèn)證欺騙。
針對此安全威脅,設(shè)計改進型安全增強DHCHAP認(rèn)證協(xié)議,實現(xiàn)對FC SAN存儲網(wǎng)絡(luò)設(shè)備的安全接入認(rèn)證。首先,改進型認(rèn)證協(xié)議延遲了WWN發(fā)送的時機。DH-CHAP認(rèn)證協(xié)議在協(xié)議交換之初就開始相互發(fā)送WWNm和WWNn,而改進型認(rèn)證協(xié)議在第三步發(fā)送DH-CHAP挑戰(zhàn)響應(yīng)報文時才發(fā)送WWNm,第四步DH-CHAP認(rèn)證成功后發(fā)送WWNn,即在初步確認(rèn)對方身份后才發(fā)送WWN,有效降低了WWN被竊取的風(fēng)險。此外,針對WWN明文傳送可能被竊取后用于偽裝身份的安全威脅,改進型認(rèn)證協(xié)議使用對稱密碼算法對WWN進行保護,根據(jù)隨機數(shù)x和y在預(yù)置的密鑰池中選取保護密鑰,一次一密。如圖7所示。
圖7 改進型DH-CHAP接入認(rèn)證協(xié)議
本文設(shè)計的基于FC SAN的安全增強存儲系統(tǒng),解決了數(shù)據(jù)安全存儲、安全接入認(rèn)證的安全問題,實現(xiàn)了存儲系統(tǒng)的安全增強。所設(shè)計的安全存儲磁盤陣列,只在存儲層實現(xiàn)加解密,并不影響上層網(wǎng)絡(luò)存儲協(xié)議,因此具有通用性,可應(yīng)用于其他網(wǎng)絡(luò)存儲系統(tǒng)例如iSCSI、網(wǎng)絡(luò)附屬存儲(NetworkAttachedStorage,NAS)等。設(shè)計的改進型安全增強認(rèn)證協(xié)議,稍加改造也可應(yīng)用于其他網(wǎng)絡(luò)存儲系統(tǒng)。因此,本系統(tǒng)可為其他網(wǎng)絡(luò)存儲系統(tǒng)的安全解決方案提供參考。
本文不涉及對客戶端的身份認(rèn)證、傳輸過程中數(shù)據(jù)安全的研究,這些內(nèi)容有待進一步研究。