文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)10-0134-03
隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)字信息呈現(xiàn)爆炸式增長,,網(wǎng)絡(luò)存儲(chǔ)技術(shù)得到了廣泛應(yīng)用,。網(wǎng)絡(luò)存儲(chǔ)支持網(wǎng)絡(luò)協(xié)議和存儲(chǔ)設(shè)備協(xié)議,采用面向網(wǎng)絡(luò)的存儲(chǔ)體系結(jié)構(gòu),,具有超大存儲(chǔ)容量,、大數(shù)據(jù)傳輸率和高可用性等優(yōu)勢(shì)。由于網(wǎng)絡(luò)存儲(chǔ)的數(shù)據(jù)是可以通過網(wǎng)絡(luò)訪問的,,在實(shí)現(xiàn)海量數(shù)據(jù)存取方便的同時(shí),,還需要確保數(shù)據(jù)的安全,因而對(duì)網(wǎng)絡(luò)存儲(chǔ)的安全提出了新的要求,。
1 網(wǎng)絡(luò)存儲(chǔ)與加密NAS
目前市場(chǎng)上主流的幾種網(wǎng)絡(luò)存儲(chǔ)模式有:直連式存儲(chǔ)DAS(Direct Attached Storage),、網(wǎng)絡(luò)附加存儲(chǔ)NAS(Network Attached Storage)、存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN(Storage Area Network)和IP 存儲(chǔ)[1],。在這幾種網(wǎng)絡(luò)存儲(chǔ)結(jié)構(gòu)中,,NAS具有高容量、高效能,、高可靠性能的特性,,是一種網(wǎng)絡(luò)直連存儲(chǔ)設(shè)備,通過網(wǎng)絡(luò)接口與網(wǎng)絡(luò)直接相連,,用戶通過網(wǎng)絡(luò)訪問存儲(chǔ)介質(zhì),,不需要服務(wù)器就能直接上網(wǎng),可以在網(wǎng)絡(luò)的任何位置建立存儲(chǔ),,經(jīng)濟(jì)地解決了存儲(chǔ)容量不足的問題,且設(shè)備易于安裝,、使用和管理。此外,,NAS還有獨(dú)立的操作平臺(tái),,各類文件可共享,具備交叉協(xié)議用戶安全性/許可性和瀏覽器界面的操作/管理,且服務(wù)器的增減不影響網(wǎng)絡(luò)正常工作等,。NAS 系統(tǒng)的關(guān)鍵是文件服務(wù)器,,它提供文件系統(tǒng)功能,支持多種TCP/IP網(wǎng)絡(luò)協(xié)議,,可以利用NFS,、CIFS等文件訪問,共享小文件級(jí)間的存儲(chǔ),。在NAS設(shè)備中裝備的文件服務(wù)器,,使用Web管理界面,完成系統(tǒng)資源配置,、用戶配置管理和用戶訪問登錄等,。NAS存儲(chǔ)技術(shù)優(yōu)化了系統(tǒng)的軟、硬件結(jié)構(gòu),,在存儲(chǔ)設(shè)備和網(wǎng)絡(luò)之間高效,、便捷地傳遞數(shù)據(jù)。它支持多線路,、多任務(wù)的操作系統(tǒng)內(nèi)核,,特別適合處理用戶通過網(wǎng)絡(luò)的I/O請(qǐng)求,響應(yīng)速度快,,傳輸速率高,。因此,NAS的應(yīng)用范圍非常廣,。
相對(duì)于傳統(tǒng)的存儲(chǔ)方式,,網(wǎng)絡(luò)附加存儲(chǔ)有更高的靈活性、可擴(kuò)展性和安全性,,但這并不意味著網(wǎng)絡(luò)附加存儲(chǔ)系統(tǒng)不需要考慮安全性的問題,。網(wǎng)絡(luò)存儲(chǔ)中的數(shù)據(jù)主要面臨的安全隱患有“Sniffer 攻擊”、訪問的合法性,、數(shù)據(jù)傳輸?shù)恼_性、完整性等,。因此,,對(duì)于網(wǎng)絡(luò)存儲(chǔ)產(chǎn)品也需要采取相應(yīng)的措施對(duì)數(shù)據(jù)進(jìn)行保護(hù),保護(hù)措施可分為3個(gè)層次:網(wǎng)絡(luò)防護(hù),,身份認(rèn)證和加密儲(chǔ)存,。加密儲(chǔ)存是對(duì)寫入儲(chǔ)存介質(zhì)的數(shù)據(jù)進(jìn)行加密編碼,就算數(shù)據(jù)遺失也無法被解讀出有意義的內(nèi)容,,也可以說是數(shù)據(jù)安全的最后一道關(guān)卡,。對(duì)于NAS系統(tǒng)來說,加密儲(chǔ)存也就是加密NAS。因?yàn)镹AS產(chǎn)品很多基于嵌入式系統(tǒng),,因此實(shí)現(xiàn)數(shù)據(jù)的加密存儲(chǔ)也相對(duì)容易一些,。
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存儲(chǔ)NAS系統(tǒng)代碼,,而4個(gè)SATA口連接外部硬盤作為NAS用戶資料的存儲(chǔ)空間。在人機(jī)界面方面,,系統(tǒng)使用一個(gè)128×64的點(diǎn)陣LCD顯示用戶狀態(tài),,并使用GPIO設(shè)計(jì)4個(gè)功能按鍵,。MPC8379E的USB口用來連接USB KEY,從而對(duì)NAS管理員進(jìn)行身份認(rèn),。只有使用正確的USB KEY登陸,,NAS系統(tǒng)才能正常啟動(dò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)存儲(chǔ),,對(duì)于使用嵌入式系統(tǒng)實(shí)現(xiàn)的NAS,,一般采用Linux作為操作系統(tǒng),這樣可以方便地進(jìn)行二次研發(fā),,加強(qiáng)NAS的存儲(chǔ)及管理功能,,并對(duì)外提供多種文件存儲(chǔ)及共享協(xié)議的支持。作為自主開發(fā)的NAS產(chǎn)品,要想使操作系統(tǒng)能夠運(yùn)行起來,,還需要進(jìn)行Linux的移植,并開發(fā)一些基于硬件的驅(qū)動(dòng),,如網(wǎng)絡(luò)訪問、LCD顯示等,?;谠O(shè)備驅(qū)動(dòng)模塊之上的則是基本網(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)跨平臺(tái)的資源共享,。NAS的數(shù)據(jù)訪問通常是在網(wǎng)絡(luò)上進(jìn)行的,,因此設(shè)備的管理與配置一般采用基于Web的管理方式來完成,即用戶在瀏覽器中對(duì)NAS設(shè)備進(jìn)行管理,。而AES算法及訪問控制的實(shí)現(xiàn)需要嵌入到Linux系統(tǒng)中,,整個(gè)NAS軟件結(jié)構(gòu)框圖如圖2所示,。
3.2 軟件安全模塊的實(shí)現(xiàn)
對(duì)數(shù)據(jù)的安全保護(hù)可以在網(wǎng)絡(luò)通道上使用IPSec等策略配置整個(gè)NAS系統(tǒng),,但是對(duì)于底層存儲(chǔ)介質(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]對(duì)文件的加密密鑰進(jìn)行訪問控制,,以達(dá)到控制用戶對(duì)文件讀寫的目的,。這需要對(duì)NAS中的文件結(jié)構(gòu)進(jìn)行改造,如圖3所示,,在每個(gè)目錄下都會(huì)生成一個(gè)訪問列表,,列表包括允許訪問該目錄的用戶標(biāo)識(shí)、使用用戶RSA公鑰加密的算法密鑰,,還有目錄所有者對(duì)列表的數(shù)據(jù)簽名,。NAS存儲(chǔ)空間的訪問管理詳細(xì)描述如下:
(1)用戶注冊(cè)。當(dāng)一個(gè)新用戶注冊(cè)時(shí),,需要?jiǎng)?chuàng)建一個(gè)唯一的用戶標(biāo)識(shí),,同時(shí)需要產(chǎn)生一對(duì)RSA密鑰,以作為登錄系統(tǒng)以及訪問相關(guān)數(shù)據(jù)使用,。用戶公鑰通過企業(yè)級(jí)CA發(fā)布,,方便系統(tǒng)使用。
(2)目錄的創(chuàng)建,。為了管理方便,,加密NAS每個(gè)目錄所使用的AES算法密鑰是不相同的。當(dāng)一個(gè)新的目錄建立時(shí),,會(huì)相應(yīng)地產(chǎn)生一組新的AES算法密鑰,。在使用AES進(jìn)行加密存儲(chǔ)后,為了滿足密鑰管理的需求,,在每個(gè)用戶目錄中增加一個(gè)用戶的訪問列表,。在訪問列表中,存儲(chǔ)可以訪問該目錄的用戶名和該目錄所使用的AES算法密鑰的加密值,。密鑰加密值是使用與用戶名對(duì)應(yīng)的用戶RSA公鑰加密的結(jié)果,,用戶訪問該存儲(chǔ)空間時(shí),需要使用自己的RSA私鑰來解密獲得AES算法密鑰,。最后,,目錄的所有者會(huì)使用其私鑰對(duì)訪問列表進(jìn)行數(shù)字簽名,以保證列表的正確性,。
(3)存儲(chǔ)空間的共享,。當(dāng)用戶A創(chuàng)建自己的存儲(chǔ)目錄時(shí),使用真隨機(jī)數(shù)產(chǎn)生一個(gè)AES算法密鑰,。此時(shí),,只有該目錄的所有者擁有該密鑰,。當(dāng)用戶A需要與用戶B共享目錄時(shí),使用用戶B的RSA公鑰加密AES算法密鑰,,與用戶B的標(biāo)識(shí)一起添加到用戶列表中,。用戶B通過自己的私鑰,就可以獲得共享空間的AES算法密鑰,,從而可以讀取到正確的數(shù)據(jù),。
(4)用戶對(duì)存儲(chǔ)空間的訪問過程。當(dāng)某個(gè)用戶訪問一個(gè)存儲(chǔ)目錄時(shí),,管理程序先查看用戶列表,,確定列表中是否存在該用戶名,以確定用戶是否享有訪問權(quán)限,。然后驗(yàn)證訪問列表的簽名是否有效,,在確定訪問列表正確后,找到相應(yīng)的用戶名,,用戶再使用RSA私鑰解密AES算法密鑰的加密值,,獲取數(shù)據(jù)加密密鑰,對(duì)存儲(chǔ)內(nèi)容進(jìn)行讀寫,。
用戶的RSA公鑰可以通過類似CA的方法進(jìn)行公布,,以方便系統(tǒng)使用。存儲(chǔ)空間的所有者通過RSA算法實(shí)現(xiàn)AES算法密鑰共享,,以達(dá)到存儲(chǔ)共享的目的,。
以上討論的方案使用MPC8379E構(gòu)建NAS的硬件系統(tǒng),然后在其Linux操作系統(tǒng)中實(shí)現(xiàn)AES算法,,對(duì)SATA硬盤中的數(shù)據(jù)進(jìn)行加密存儲(chǔ),,使用企業(yè)級(jí)CA對(duì)用戶進(jìn)行身份認(rèn)證以及算法密鑰的管理,使整個(gè)系統(tǒng)能夠很好地解決網(wǎng)絡(luò)存儲(chǔ)的安全問題,。
參考文獻(xiàn)
[1] 趙文輝.網(wǎng)絡(luò)存儲(chǔ)技術(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.