文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2011)10-0134-03
隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字信息呈現(xiàn)爆炸式增長,網(wǎng)絡(luò)存儲技術(shù)得到了廣泛應(yīng)用。網(wǎng)絡(luò)存儲支持網(wǎng)絡(luò)協(xié)議和存儲設(shè)備協(xié)議,采用面向網(wǎng)絡(luò)的存儲體系結(jié)構(gòu),具有超大存儲容量、大數(shù)據(jù)傳輸率和高可用性等優(yōu)勢。由于網(wǎng)絡(luò)存儲的數(shù)據(jù)是可以通過網(wǎng)絡(luò)訪問的,在實(shí)現(xiàn)海量數(shù)據(jù)存取方便的同時(shí),還需要確保數(shù)據(jù)的安全,因而對網(wǎng)絡(luò)存儲的安全提出了新的要求。
1 網(wǎng)絡(luò)存儲與加密NAS
目前市場上主流的幾種網(wǎng)絡(luò)存儲模式有:直連式存儲DAS(Direct Attached Storage)、網(wǎng)絡(luò)附加存儲NAS(Network Attached Storage)、存儲區(qū)域網(wǎng)絡(luò)SAN(Storage Area Network)和IP 存儲[1]。在這幾種網(wǎng)絡(luò)存儲結(jié)構(gòu)中,NAS具有高容量、高效能、高可靠性能的特性,是一種網(wǎng)絡(luò)直連存儲設(shè)備,通過網(wǎng)絡(luò)接口與網(wǎng)絡(luò)直接相連,用戶通過網(wǎng)絡(luò)訪問存儲介質(zhì),不需要服務(wù)器就能直接上網(wǎng),可以在網(wǎng)絡(luò)的任何位置建立存儲,經(jīng)濟(jì)地解決了存儲容量不足的問題,且設(shè)備易于安裝、使用和管理。此外,NAS還有獨(dú)立的操作平臺,各類文件可共享,具備交叉協(xié)議用戶安全性/許可性和瀏覽器界面的操作/管理,且服務(wù)器的增減不影響網(wǎng)絡(luò)正常工作等。NAS 系統(tǒng)的關(guān)鍵是文件服務(wù)器,它提供文件系統(tǒng)功能,支持多種TCP/IP網(wǎng)絡(luò)協(xié)議,可以利用NFS、CIFS等文件訪問,共享小文件級間的存儲。在NAS設(shè)備中裝備的文件服務(wù)器,使用Web管理界面,完成系統(tǒng)資源配置、用戶配置管理和用戶訪問登錄等。NAS存儲技術(shù)優(yōu)化了系統(tǒng)的軟、硬件結(jié)構(gòu),在存儲設(shè)備和網(wǎng)絡(luò)之間高效、便捷地傳遞數(shù)據(jù)。它支持多線路、多任務(wù)的操作系統(tǒng)內(nèi)核,特別適合處理用戶通過網(wǎng)絡(luò)的I/O請求,響應(yīng)速度快,傳輸速率高。因此,NAS的應(yīng)用范圍非常廣。
相對于傳統(tǒng)的存儲方式,網(wǎng)絡(luò)附加存儲有更高的靈活性、可擴(kuò)展性和安全性,但這并不意味著網(wǎng)絡(luò)附加存儲系統(tǒng)不需要考慮安全性的問題。網(wǎng)絡(luò)存儲中的數(shù)據(jù)主要面臨的安全隱患有“Sniffer 攻擊”、訪問的合法性、數(shù)據(jù)傳輸?shù)恼_性、完整性等。因此,對于網(wǎng)絡(luò)存儲產(chǎn)品也需要采取相應(yīng)的措施對數(shù)據(jù)進(jìn)行保護(hù),保護(hù)措施可分為3個(gè)層次:網(wǎng)絡(luò)防護(hù),身份認(rèn)證和加密儲存。加密儲存是對寫入儲存介質(zhì)的數(shù)據(jù)進(jìn)行加密編碼,就算數(shù)據(jù)遺失也無法被解讀出有意義的內(nèi)容,也可以說是數(shù)據(jù)安全的最后一道關(guān)卡。對于NAS系統(tǒng)來說,加密儲存也就是加密NAS。因?yàn)镹AS產(chǎn)品很多基于嵌入式系統(tǒng),因此實(shí)現(xiàn)數(shù)據(jù)的加密存儲也相對容易一些。
2 基于MPC8379E的NAS硬件實(shí)現(xiàn)
Freescale公司推出的MPC8379E芯片功能非常強(qiáng)大,集成了豐富的資源,其內(nèi)核是e300,主頻最高可以達(dá)到667 MHz,并帶有32 KB的指令緩沖與32 KB的數(shù)據(jù)緩沖,用于實(shí)現(xiàn)用戶指令結(jié)構(gòu)和軟硬件的調(diào)試。此外,MPC8379E擁有兩個(gè)支持100 M/1 000 M網(wǎng)絡(luò)控制器,一個(gè)DDR1/DDR2控制器,一個(gè)增強(qiáng)型局部總路線控制器,四個(gè)SATA控制器,一個(gè)32 bit的PCI接口,一個(gè)加密控制器,兩個(gè)I2C控制器,一個(gè)4通道的DMA控制器,一個(gè)通用I/O控制器,一個(gè)USB2.0主/從控制器。MPC8379E還擁有非常強(qiáng)大的安全算法模塊,可以實(shí)現(xiàn)RSA、ECC、AES、SHA等常用算法,并可以產(chǎn)生偽隨機(jī)數(shù)用于安全運(yùn)算。其高速的算法功能為通信安全提供了有力的幫助。MPC8379E這些豐富的芯片資源能夠很容易就滿足用戶的需求,其高集成、高性價(jià)比的特點(diǎn)非常適合用于NAS、網(wǎng)關(guān)、無線LAN、VPN路由器等產(chǎn)品開發(fā)[2]。使用MPC8379E作為核心控制器的NAS硬件系統(tǒng)原理框圖如圖1所示。
圖1所示的NAS系統(tǒng)使用MPC8379E作為CPU,內(nèi)存使用256 MB的DDR SDRAM,外接1 GB的NandFlash存儲NAS系統(tǒng)代碼,而4個(gè)SATA口連接外部硬盤作為NAS用戶資料的存儲空間。在人機(jī)界面方面,系統(tǒng)使用一個(gè)128×64的點(diǎn)陣LCD顯示用戶狀態(tài),并使用GPIO設(shè)計(jì)4個(gè)功能按鍵。MPC8379E的USB口用來連接USB KEY,從而對NAS管理員進(jìn)行身份認(rèn)。只有使用正確的USB KEY登陸,NAS系統(tǒng)才能正常啟動。
AES(Advanced Encryption Standard)算法是一種分組算法,它于2001年取代DES成為美國政府的新加密標(biāo)準(zhǔn),其明文和密文的長度都是128 bit,密鑰長度可以為128 bit、192 bit、256 bit,密鑰經(jīng)過擴(kuò)展后與數(shù)據(jù)進(jìn)行4層的轉(zhuǎn)換與混合[3]。因?yàn)镸PC8379E內(nèi)部的安全算法模塊能夠?qū)崿F(xiàn)AES算法,可以通過程序調(diào)用輕松實(shí)現(xiàn)數(shù)據(jù)的AES加密運(yùn)算。
3 加密NAS軟件系統(tǒng)的實(shí)現(xiàn)
3.1 NAS的軟件系統(tǒng)
NAS的主要功能是通過網(wǎng)絡(luò)實(shí)現(xiàn)存儲,對于使用嵌入式系統(tǒng)實(shí)現(xiàn)的NAS,一般采用Linux作為操作系統(tǒng),這樣可以方便地進(jìn)行二次研發(fā),加強(qiáng)NAS的存儲及管理功能,并對外提供多種文件存儲及共享協(xié)議的支持。作為自主開發(fā)的NAS產(chǎn)品,要想使操作系統(tǒng)能夠運(yùn)行起來,還需要進(jìn)行Linux的移植,并開發(fā)一些基于硬件的驅(qū)動,如網(wǎng)絡(luò)訪問、LCD顯示等?;谠O(shè)備驅(qū)動模塊之上的則是基本網(wǎng)絡(luò)協(xié)議(TCP/IP)和文件共享協(xié)議(如服務(wù)器消息塊(SMB)等)。應(yīng)用管理模塊是面向用戶部分應(yīng)用程序,包括遠(yuǎn)程管理、用戶驗(yàn)證在內(nèi)的諸多應(yīng)用服務(wù)。由于文件格式的不同,Linux系統(tǒng)通常借助Samba工具來實(shí)現(xiàn)與Windows的資源共享。Samba的工作原理是讓SMB和NetBIOS兩個(gè)協(xié)議運(yùn)行于TCP/IP通信協(xié)議之上,進(jìn)而實(shí)現(xiàn)跨平臺的資源共享。NAS的數(shù)據(jù)訪問通常是在網(wǎng)絡(luò)上進(jìn)行的,因此設(shè)備的管理與配置一般采用基于Web的管理方式來完成,即用戶在瀏覽器中對NAS設(shè)備進(jìn)行管理。而AES算法及訪問控制的實(shí)現(xiàn)需要嵌入到Linux系統(tǒng)中,整個(gè)NAS軟件結(jié)構(gòu)框圖如圖2所示。
3.2 軟件安全模塊的實(shí)現(xiàn)
對數(shù)據(jù)的安全保護(hù)可以在網(wǎng)絡(luò)通道上使用IPSec等策略配置整個(gè)NAS系統(tǒng),但是對于底層存儲介質(zhì)中數(shù)據(jù)的加密,還是需要在NAS的Linux軟件系統(tǒng)中完成。但是,如何管理數(shù)據(jù)的加密密鑰是加密NAS系統(tǒng)中非常重要的一部分。采用在實(shí)現(xiàn)文件數(shù)據(jù)訪問操作之前增加一個(gè)軟件安全模塊的方法來解決這個(gè)問題。這個(gè)安全模塊主要實(shí)現(xiàn)數(shù)據(jù)的AES算法以及用戶及密鑰管理功能。
在NAS系統(tǒng)的安全模塊中,需要借助PKI技術(shù)的加密與簽名功能[4]對文件的加密密鑰進(jìn)行訪問控制,以達(dá)到控制用戶對文件讀寫的目的。這需要對NAS中的文件結(jié)構(gòu)進(jìn)行改造,如圖3所示,在每個(gè)目錄下都會生成一個(gè)訪問列表,列表包括允許訪問該目錄的用戶標(biāo)識、使用用戶RSA公鑰加密的算法密鑰,還有目錄所有者對列表的數(shù)據(jù)簽名。NAS存儲空間的訪問管理詳細(xì)描述如下:
(1)用戶注冊。當(dāng)一個(gè)新用戶注冊時(shí),需要創(chuàng)建一個(gè)唯一的用戶標(biāo)識,同時(shí)需要產(chǎn)生一對RSA密鑰,以作為登錄系統(tǒng)以及訪問相關(guān)數(shù)據(jù)使用。用戶公鑰通過企業(yè)級CA發(fā)布,方便系統(tǒng)使用。
(2)目錄的創(chuàng)建。為了管理方便,加密NAS每個(gè)目錄所使用的AES算法密鑰是不相同的。當(dāng)一個(gè)新的目錄建立時(shí),會相應(yīng)地產(chǎn)生一組新的AES算法密鑰。在使用AES進(jìn)行加密存儲后,為了滿足密鑰管理的需求,在每個(gè)用戶目錄中增加一個(gè)用戶的訪問列表。在訪問列表中,存儲可以訪問該目錄的用戶名和該目錄所使用的AES算法密鑰的加密值。密鑰加密值是使用與用戶名對應(yīng)的用戶RSA公鑰加密的結(jié)果,用戶訪問該存儲空間時(shí),需要使用自己的RSA私鑰來解密獲得AES算法密鑰。最后,目錄的所有者會使用其私鑰對訪問列表進(jìn)行數(shù)字簽名,以保證列表的正確性。
(3)存儲空間的共享。當(dāng)用戶A創(chuàng)建自己的存儲目錄時(shí),使用真隨機(jī)數(shù)產(chǎn)生一個(gè)AES算法密鑰。此時(shí),只有該目錄的所有者擁有該密鑰。當(dāng)用戶A需要與用戶B共享目錄時(shí),使用用戶B的RSA公鑰加密AES算法密鑰,與用戶B的標(biāo)識一起添加到用戶列表中。用戶B通過自己的私鑰,就可以獲得共享空間的AES算法密鑰,從而可以讀取到正確的數(shù)據(jù)。
(4)用戶對存儲空間的訪問過程。當(dāng)某個(gè)用戶訪問一個(gè)存儲目錄時(shí),管理程序先查看用戶列表,確定列表中是否存在該用戶名,以確定用戶是否享有訪問權(quán)限。然后驗(yàn)證訪問列表的簽名是否有效,在確定訪問列表正確后,找到相應(yīng)的用戶名,用戶再使用RSA私鑰解密AES算法密鑰的加密值,獲取數(shù)據(jù)加密密鑰,對存儲內(nèi)容進(jìn)行讀寫。
用戶的RSA公鑰可以通過類似CA的方法進(jìn)行公布,以方便系統(tǒng)使用。存儲空間的所有者通過RSA算法實(shí)現(xiàn)AES算法密鑰共享,以達(dá)到存儲共享的目的。
以上討論的方案使用MPC8379E構(gòu)建NAS的硬件系統(tǒng),然后在其Linux操作系統(tǒng)中實(shí)現(xiàn)AES算法,對SATA硬盤中的數(shù)據(jù)進(jìn)行加密存儲,使用企業(yè)級CA對用戶進(jìn)行身份認(rèn)證以及算法密鑰的管理,使整個(gè)系統(tǒng)能夠很好地解決網(wǎng)絡(luò)存儲的安全問題。
參考文獻(xiàn)
[1] 趙文輝.網(wǎng)絡(luò)存儲技術(shù)[M].北京:清華大學(xué)出版社,2005.
[2] Freescale Semiconductor Literature Distribution Center.MPC8379E PowerQUICCTM II Pro Integrated Host Processor Family Reference Manual[EB/OL]. http://cache.freescale.com/files/32bit/doc/data_sheet/MPC8379EEC.pdf. 2009.
[3] 孫淑玲. 應(yīng)用密碼學(xué)[M]. 北京:清華大學(xué)出版社,2004.
[4] NASH A, DUANE W, JOSEPH C,et al. 公鑰基礎(chǔ)設(shè)施實(shí)現(xiàn)和管理電子安全[M]. 北京:清華大學(xué)出版社,2002.