文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)10-0134-03
隨著計(jì)算機(jī)技術(shù)的發(fā)展,,數(shù)字信息呈現(xiàn)爆炸式增長(zhǎng),,網(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ù)是可以通過(guò)網(wǎng)絡(luò)訪問(wèn)的,,在實(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è)備,,通過(guò)網(wǎng)絡(luò)接口與網(wǎng)絡(luò)直接相連,,用戶(hù)通過(guò)網(wǎng)絡(luò)訪問(wèn)存儲(chǔ)介質(zhì),不需要服務(wù)器就能直接上網(wǎng),,可以在網(wǎng)絡(luò)的任何位置建立存儲(chǔ),經(jīng)濟(jì)地解決了存儲(chǔ)容量不足的問(wèn)題,且設(shè)備易于安裝,、使用和管理,。此外,NAS還有獨(dú)立的操作平臺(tái),,各類(lèi)文件可共享,,具備交叉協(xié)議用戶(hù)安全性/許可性和瀏覽器界面的操作/管理,,且服務(wù)器的增減不影響網(wǎng)絡(luò)正常工作等。NAS 系統(tǒng)的關(guān)鍵是文件服務(wù)器,,它提供文件系統(tǒng)功能,,支持多種TCP/IP網(wǎng)絡(luò)協(xié)議,可以利用NFS,、CIFS等文件訪問(wèn),,共享小文件級(jí)間的存儲(chǔ)。在NAS設(shè)備中裝備的文件服務(wù)器,,使用Web管理界面,,完成系統(tǒng)資源配置、用戶(hù)配置管理和用戶(hù)訪問(wèn)登錄等,。NAS存儲(chǔ)技術(shù)優(yōu)化了系統(tǒng)的軟,、硬件結(jié)構(gòu),在存儲(chǔ)設(shè)備和網(wǎng)絡(luò)之間高效,、便捷地傳遞數(shù)據(jù),。它支持多線路、多任務(wù)的操作系統(tǒng)內(nèi)核,,特別適合處理用戶(hù)通過(guò)網(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èn)題,。網(wǎng)絡(luò)存儲(chǔ)中的數(shù)據(jù)主要面臨的安全隱患有“Sniffer 攻擊”,、訪問(wèn)的合法性、數(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ì)寫(xiě)入儲(chǔ)存介質(zhì)的數(shù)據(jù)進(jìn)行加密編碼,,就算數(shù)據(jù)遺失也無(wú)法被解讀出有意義的內(nèi)容,,也可以說(shuō)是數(shù)據(jù)安全的最后一道關(guān)卡。對(duì)于NAS系統(tǒng)來(lái)說(shuō),,加密儲(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)用戶(hù)指令結(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這些豐富的芯片資源能夠很容易就滿(mǎn)足用戶(hù)的需求,其高集成,、高性?xún)r(jià)比的特點(diǎn)非常適合用于NAS,、網(wǎng)關(guān)、無(wú)線LAN,、VPN路由器等產(chǎn)品開(kāi)發(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口連接外部硬盤(pán)作為NAS用戶(hù)資料的存儲(chǔ)空間,。在人機(jī)界面方面,,系統(tǒng)使用一個(gè)128×64的點(diǎn)陣LCD顯示用戶(hù)狀態(tài),并使用GPIO設(shè)計(jì)4個(gè)功能按鍵,。MPC8379E的USB口用來(lái)連接USB KEY,,從而對(duì)NAS管理員進(jìn)行身份認(rèn)。只有使用正確的USB KEY登陸,,NAS系統(tǒng)才能正常啟動(dòng),。
AES(Advanced Encryption Standard)算法是一種分組算法,它于2001年取代DES成為美國(guó)政府的新加密標(biāo)準(zhǔn),,其明文和密文的長(zhǎng)度都是128 bit,,密鑰長(zhǎng)度可以為128 bit、192 bit,、256 bit,,密鑰經(jīng)過(guò)擴(kuò)展后與數(shù)據(jù)進(jìn)行4層的轉(zhuǎn)換與混合[3]。因?yàn)镸PC8379E內(nèi)部的安全算法模塊能夠?qū)崿F(xiàn)AES算法,,可以通過(guò)程序調(diào)用輕松實(shí)現(xiàn)數(shù)據(jù)的AES加密運(yùn)算,。
3 加密NAS軟件系統(tǒng)的實(shí)現(xiàn)
3.1 NAS的軟件系統(tǒng)
NAS的主要功能是通過(guò)網(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é)議的支持,。作為自主開(kāi)發(fā)的NAS產(chǎn)品,要想使操作系統(tǒng)能夠運(yùn)行起來(lái),還需要進(jìn)行Linux的移植,并開(kāi)發(fā)一些基于硬件的驅(qū)動(dòng),,如網(wǎng)絡(luò)訪問(wèn),、LCD顯示等?;谠O(shè)備驅(qū)動(dòng)模塊之上的則是基本網(wǎng)絡(luò)協(xié)議(TCP/IP)和文件共享協(xié)議(如服務(wù)器消息塊(SMB)等),。應(yīng)用管理模塊是面向用戶(hù)部分應(yīng)用程序,包括遠(yuǎn)程管理,、用戶(hù)驗(yàn)證在內(nèi)的諸多應(yīng)用服務(wù),。由于文件格式的不同,Linux系統(tǒng)通常借助Samba工具來(lái)實(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èn)通常是在網(wǎng)絡(luò)上進(jìn)行的,,因此設(shè)備的管理與配置一般采用基于Web的管理方式來(lái)完成,,即用戶(hù)在瀏覽器中對(duì)NAS設(shè)備進(jìn)行管理。而AES算法及訪問(wèn)控制的實(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ù)訪問(wèn)操作之前增加一個(gè)軟件安全模塊的方法來(lái)解決這個(gè)問(wèn)題,。這個(gè)安全模塊主要實(shí)現(xiàn)數(shù)據(jù)的AES算法以及用戶(hù)及密鑰管理功能。
在NAS系統(tǒng)的安全模塊中,,需要借助PKI技術(shù)的加密與簽名功能[4]對(duì)文件的加密密鑰進(jìn)行訪問(wèn)控制,,以達(dá)到控制用戶(hù)對(duì)文件讀寫(xiě)的目的。這需要對(duì)NAS中的文件結(jié)構(gòu)進(jìn)行改造,,如圖3所示,,在每個(gè)目錄下都會(huì)生成一個(gè)訪問(wèn)列表,列表包括允許訪問(wèn)該目錄的用戶(hù)標(biāo)識(shí),、使用用戶(hù)RSA公鑰加密的算法密鑰,,還有目錄所有者對(duì)列表的數(shù)據(jù)簽名。NAS存儲(chǔ)空間的訪問(wèn)管理詳細(xì)描述如下:
(1)用戶(hù)注冊(cè),。當(dāng)一個(gè)新用戶(hù)注冊(cè)時(shí),,需要?jiǎng)?chuàng)建一個(gè)唯一的用戶(hù)標(biāo)識(shí),同時(shí)需要產(chǎn)生一對(duì)RSA密鑰,,以作為登錄系統(tǒng)以及訪問(wèn)相關(guān)數(shù)據(jù)使用,。用戶(hù)公鑰通過(guò)企業(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ǔ)后,,為了滿(mǎn)足密鑰管理的需求,,在每個(gè)用戶(hù)目錄中增加一個(gè)用戶(hù)的訪問(wèn)列表。在訪問(wèn)列表中,,存儲(chǔ)可以訪問(wèn)該目錄的用戶(hù)名和該目錄所使用的AES算法密鑰的加密值,。密鑰加密值是使用與用戶(hù)名對(duì)應(yīng)的用戶(hù)RSA公鑰加密的結(jié)果,用戶(hù)訪問(wèn)該存儲(chǔ)空間時(shí),,需要使用自己的RSA私鑰來(lái)解密獲得AES算法密鑰,。最后,目錄的所有者會(huì)使用其私鑰對(duì)訪問(wèn)列表進(jìn)行數(shù)字簽名,,以保證列表的正確性,。
(3)存儲(chǔ)空間的共享。當(dāng)用戶(hù)A創(chuàng)建自己的存儲(chǔ)目錄時(shí),,使用真隨機(jī)數(shù)產(chǎn)生一個(gè)AES算法密鑰,。此時(shí),,只有該目錄的所有者擁有該密鑰。當(dāng)用戶(hù)A需要與用戶(hù)B共享目錄時(shí),,使用用戶(hù)B的RSA公鑰加密AES算法密鑰,,與用戶(hù)B的標(biāo)識(shí)一起添加到用戶(hù)列表中。用戶(hù)B通過(guò)自己的私鑰,,就可以獲得共享空間的AES算法密鑰,,從而可以讀取到正確的數(shù)據(jù),。
(4)用戶(hù)對(duì)存儲(chǔ)空間的訪問(wèn)過(guò)程,。當(dāng)某個(gè)用戶(hù)訪問(wèn)一個(gè)存儲(chǔ)目錄時(shí),管理程序先查看用戶(hù)列表,,確定列表中是否存在該用戶(hù)名,,以確定用戶(hù)是否享有訪問(wèn)權(quán)限。然后驗(yàn)證訪問(wèn)列表的簽名是否有效,,在確定訪問(wèn)列表正確后,,找到相應(yīng)的用戶(hù)名,用戶(hù)再使用RSA私鑰解密AES算法密鑰的加密值,,獲取數(shù)據(jù)加密密鑰,,對(duì)存儲(chǔ)內(nèi)容進(jìn)行讀寫(xiě)。
用戶(hù)的RSA公鑰可以通過(guò)類(lèi)似CA的方法進(jìn)行公布,,以方便系統(tǒng)使用,。存儲(chǔ)空間的所有者通過(guò)RSA算法實(shí)現(xiàn)AES算法密鑰共享,以達(dá)到存儲(chǔ)共享的目的,。
以上討論的方案使用MPC8379E構(gòu)建NAS的硬件系統(tǒng),,然后在其Linux操作系統(tǒng)中實(shí)現(xiàn)AES算法,對(duì)SATA硬盤(pán)中的數(shù)據(jù)進(jìn)行加密存儲(chǔ),,使用企業(yè)級(jí)CA對(duì)用戶(hù)進(jìn)行身份認(rèn)證以及算法密鑰的管理,,使整個(gè)系統(tǒng)能夠很好地解決網(wǎng)絡(luò)存儲(chǔ)的安全問(wèn)題。
參考文獻(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.