陳俊健
佛山科學(xué)技術(shù)學(xué)院電子與信息工程學(xué)院 廣東 528000
新興的存儲架構(gòu)都采用了數(shù)據(jù)路徑與控制路徑分離的方式,用戶獲取元數(shù)據(jù)信息后直接訪問設(shè)備的數(shù)據(jù)塊,大大提高了存儲效率。同時它針對傳統(tǒng)的存儲系統(tǒng)只能記錄數(shù)據(jù)塊在磁盤的位置信息等極其有限的元數(shù)據(jù)信息,增強(qiáng)擴(kuò)展元數(shù)據(jù)的屬性,可以方便的記錄文件內(nèi)數(shù)據(jù)塊的敏感程度等安全信息。但目前存儲系統(tǒng)的加密存儲安全還建立在目錄級和文件級基礎(chǔ)之上,元數(shù)據(jù)信息也沒有對文件內(nèi)數(shù)據(jù)塊的敏感程度進(jìn)行記錄,對同一文件只能進(jìn)行整體全部有或無加密操作,并不能對文件的部分內(nèi)容進(jìn)行加密。這種統(tǒng)一粗粒度的加密方式會將同一文件中的敏感數(shù)據(jù)和非敏感數(shù)據(jù)全部加密,浪費了很多CPU寶貴的計算時間。如果一個文件的不同區(qū)域要求不同的強(qiáng)度的加密保護(hù),現(xiàn)有的加密方案只能用不同的加密算法對此文件進(jìn)行多次加密,從而生成多個文件,這不利于用戶和程序設(shè)計者管理這些文件,同時也浪費了大量的存儲空間。
本文引入了存儲系統(tǒng)的細(xì)粒度加密安全的概念。由于存儲系統(tǒng)的最小單位不再是文件而是大量細(xì)粒度的數(shù)據(jù)塊,故我們可以將發(fā)掘這個優(yōu)勢,將加密的安全操作從文件級延伸至細(xì)粒度的數(shù)據(jù)塊級,對具有某些特殊需要的大文件在安全上實現(xiàn)細(xì)粒度的加密存儲。用戶可以根據(jù)文件的特征指定只對文件中的部分敏感數(shù)據(jù)進(jìn)行加密,根據(jù)敏感程度不同每個區(qū)域還可以指定一個加密算法。這些數(shù)據(jù)的加密信息存儲在元數(shù)據(jù)服務(wù)器中被安全的保護(hù),如果非法用戶不能得到相關(guān)的加密信息,直接從存儲設(shè)備中取得的數(shù)據(jù)將由于關(guān)鍵區(qū)域被加密而使整個文件無法使用。
當(dāng)然如何使用戶方便透明的使用細(xì)粒度加密存儲方案也是必須要考慮的問題。我們給用戶提供幾種不同的加密模式,使用戶可以根據(jù)實際存儲的文件類型方便的選擇不同的模式進(jìn)行加密操作。此外通過在元數(shù)據(jù)中加入安全相關(guān)的信息屬性,記錄文件的不同敏感區(qū)域和相應(yīng)的加密算法,就可以實現(xiàn)加密安全。實現(xiàn)了對文件訪問的同時又不破壞單一文件的語義,應(yīng)用程序可以使用原來的接口來訪問存儲系統(tǒng),提高了系統(tǒng)的可移植性。
傳統(tǒng)的文件系統(tǒng)如CFS及Cryptfs加密方案實現(xiàn)起來比較簡單,但并沒有將元數(shù)據(jù)與數(shù)據(jù)分離,存取大批量的數(shù)據(jù)時效率比較低下,同時用戶還需要自己去管理密鑰。當(dāng)前有很多基于數(shù)據(jù)塊的存儲系統(tǒng)解決了效率的問題,也在磁盤加密安全上進(jìn)行了研究,如SFS、SNAD、SiRiUS及PLUTUS等,以上這些系統(tǒng)的訪問控制管理機(jī)制都追求整個系統(tǒng)高性能,但很少考慮安全的開銷對系統(tǒng)整體的影響,不能同時滿足安全和高效的需求。
HUSt是隨著大容量存儲系統(tǒng)的日益增多而提出的一種多層次、可擴(kuò)展的存儲模式,它取代傳統(tǒng)的模式,采用的概念使基于固定數(shù)據(jù)塊的SAN方案擴(kuò)展為支持變長的數(shù)據(jù)塊,并賦予存儲以智能和主動服務(wù)的特性,已應(yīng)用于檔案及GIS存儲等大型的存儲系統(tǒng)中。同時HUSt系統(tǒng)上也實現(xiàn)了一種加密的文件系統(tǒng)保證安全。
以上這些方案都只討論了文件級的加密方案,對日益增長的大量細(xì)粒度的數(shù)據(jù)塊加密并不支持。也沒有根據(jù)文件類型進(jìn)行模式的分類和對細(xì)粒度的加密構(gòu)想進(jìn)行分析。
如圖1所示,我們在HUSt加密文件系統(tǒng)的基礎(chǔ)上設(shè)計了一種新的細(xì)粒度加密方案。當(dāng)一個文件被用戶指定對某個數(shù)據(jù)塊進(jìn)行加密后,這些文件通過兩種層次的數(shù)據(jù)處理過程進(jìn)行處理:第一層負(fù)責(zé)處理數(shù)據(jù)塊的分拆,第二層負(fù)責(zé)數(shù)據(jù)塊的加密。
圖1 存儲系統(tǒng)細(xì)粒度加密方案
在存儲系統(tǒng)中文件數(shù)據(jù)塊的大小是變長的,為了保證文件數(shù)據(jù)塊盡可能的分布在多個設(shè)備中提高系統(tǒng)的存儲效率,每個數(shù)據(jù)塊的大小會有所控制,所有關(guān)于數(shù)據(jù)塊的信息都存儲在元數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中。我們可以對元數(shù)據(jù)的信息進(jìn)行適當(dāng)?shù)膶傩詳U(kuò)充來滿足存儲系統(tǒng)加密安全的要求,當(dāng)用戶讀取元數(shù)據(jù)信息來獲取文件的數(shù)據(jù)塊信息的同時也會讀取相關(guān)的加密安全信息屬性。整個文件的元數(shù)據(jù)信息被分層的組織在一個樹型的結(jié)構(gòu)中,如圖2所示。每個文件加密存儲的時候會指向每一個元數(shù)據(jù)信息,每一個元數(shù)據(jù)信息指向此在文件中偏移地址等相關(guān)信息。特定類型的大文件加密之前用戶都會指定一個模式和敏感數(shù)據(jù)塊的偏移地址,與安全相關(guān)的內(nèi)容如采用的加密算法無縫的添加到元數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中。模式1和模式3中所有加密塊均采取同一算法,故在數(shù)據(jù)塊元數(shù)據(jù)信息中指定某一算法。模式2可以由每個用戶指定相應(yīng)的敏感區(qū)域,故還應(yīng)該記錄每個用戶和使用的算法。模式4需指定敏感區(qū)域使用的算法,但不必將算法和某個用戶對應(yīng)起來。
圖2 安全信息的數(shù)據(jù)結(jié)構(gòu)
HUSt是我們遵循OSD-2標(biāo)準(zhǔn)開發(fā)的一種存儲系統(tǒng)原型,在HUSt的存儲安全上也遵循T10標(biāo)準(zhǔn)設(shè)計了一整套的解決方案,此方案還沒有涉及到塊級的加密存儲。由于存儲系統(tǒng)的元數(shù)據(jù)信息非常豐富,故我們將細(xì)粒度加密方案集成到HUSt存儲安全體系中去,來滿足大量的特定文件的塊級加密存儲。它的基本架構(gòu)如圖3所示,整個系統(tǒng)主要由三部分組成:
(1) 客戶端(Client)。它將根據(jù)文件的類型來設(shè)定所需加密的模式和各敏感區(qū)域的位置并將此信息提供給MDS,同時根據(jù)MDS返回的密鑰對數(shù)據(jù)塊進(jìn)行加解密操作。
(2) 元數(shù)據(jù)服務(wù)器(MetaData Server,MDS)。它將文件拆分成很多小的數(shù)據(jù)塊并分配到不同的OSD設(shè)備中,同時還包含一個密鑰管理模塊用于生成對敏感區(qū)域加密的密鑰,并將密鑰存儲在相關(guān)的元數(shù)據(jù)信息中。
(3) 存儲設(shè)備(Storage Device,SD)。它主要是完成快速的存儲用戶提交的數(shù)據(jù)。客戶端、元數(shù)據(jù)服務(wù)器和存儲設(shè)備之間通過互聯(lián)網(wǎng)絡(luò)連接到一起,具有非常高的存儲速度和良好的擴(kuò)展性。
細(xì)粒度的加密方式會導(dǎo)致一個文件可能有多個密鑰,這就會使整個系統(tǒng)處理的密鑰比文件級加密多一個數(shù)量級,如何有效的對密鑰進(jìn)行管理是一個必需考慮的問題。本方案將可選的加密算法和此數(shù)據(jù)塊的加密密鑰組合成一個屬性結(jié)構(gòu)加密存儲在可信的元數(shù)據(jù)服務(wù)器中。當(dāng)用戶需要密鑰進(jìn)行加解密操作時,首先向元數(shù)據(jù)服務(wù)的安全管理模塊提出請求,經(jīng)過安全認(rèn)證后,元數(shù)據(jù)服務(wù)器通過一個加密通道將此結(jié)構(gòu)傳送給用戶,用戶得到密鑰就調(diào)用相關(guān)的算法加解密文件數(shù)據(jù)。
在存儲系統(tǒng)HUSt實際的應(yīng)用過程中我們發(fā)現(xiàn)存儲的很多大文件有明顯的特征,即可以對文件內(nèi)的數(shù)據(jù)塊進(jìn)行分類來實現(xiàn)更細(xì)粒度的加密存儲。同時可以利用存儲系統(tǒng)豐富的元數(shù)據(jù)信息存儲屬性算法和用戶信息來實現(xiàn)更精細(xì)的加密安全操作。
本文介紹了基于數(shù)據(jù)塊細(xì)粒度加密的構(gòu)想,在此基礎(chǔ)上將之應(yīng)用到的存儲系統(tǒng)HUSt上。對一些存在典型的區(qū)域敏感特征的應(yīng)用存儲系統(tǒng)會充分的挖掘其文件的內(nèi)部信息,實現(xiàn)了對細(xì)粒度的數(shù)據(jù)塊進(jìn)行加密的方案。該方案既提供了足夠的安全性又解決了系統(tǒng)效率的問題。
[1] M. Blaze. A cryptographic file system for UNIX. In Proceedings of the 1st ACM Conference on Communications and Computing Security1993.
[2] C. P. Wright, M. C. Martino and E. Zadok. Ncryptfs: a secure and convenient cryptographic file system. In Proceedings of the USENIX Annual Technical Conference2003.
[3] E. Riedel, M. Kallahalla, and R. Swaminathan. A Framework for Evaluating Storage System Security. In Proceedings of the 1st Conference on File and Storage Technologies2002.
[4] L. F. Zeng, K.Zhou, and H. Jiang, HUSt: A Heterogeneous Unified Storage System for GIS Gid”,Finalist Award, HPC Storage Challenge, the 2006 International Conference for high Performance Computing, Networking, Storage and Analysis(SC’06).2006.
[5] SCSI Object Based Storage Device Commands2(OSD-2).http://www. t10. org.
[6] 肖達(dá),舒繼武,薛巍,劉志才,鄭緯民.基于組密鑰服務(wù)器的加密文件系統(tǒng)的設(shè)計和實現(xiàn).計算機(jī)學(xué)報.2008.