楊瑞霞
(山東政法學(xué)院 信息科學(xué)技術(shù)系,山東 濟(jì)南 250014)
隨著計(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ò)訪(fǎng)問(wèn)的,在實(shí)現(xiàn)海量數(shù)據(jù)存取方便的同時(shí),還需要確保數(shù)據(jù)的安全,因而對(duì)網(wǎng)絡(luò)存儲(chǔ)的安全提出了新的要求。
目前市場(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ò)訪(fǎng)問(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等文件訪(fǎng)問(wèn),共享小文件級(jí)間的存儲(chǔ)。在NAS設(shè)備中裝備的文件服務(wù)器,使用Web管理界面,完成系統(tǒng)資源配置、用戶(hù)配置管理和用戶(hù)訪(fǎng)問(wèn)登錄等。NAS存儲(chǔ)技術(shù)優(yōu)化了系統(tǒng)的軟、硬件結(jié)構(gòu),在存儲(chǔ)設(shè)備和網(wǎng)絡(luò)之間高效、便捷地傳遞數(shù)據(jù)。它支持多線(xiàn)路、多任務(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攻擊”、訪(fǎng)問(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ì)容易一些。
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)型局部總路線(xiàn)控制器,四個(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ú)線(xiàn)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)算。
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ò)訪(fǎng)問(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ù)訪(fǎng)問(wèn)通常是在網(wǎng)絡(luò)上進(jìn)行的,因此設(shè)備的管理與配置一般采用基于Web的管理方式來(lái)完成,即用戶(hù)在瀏覽器中對(duì)NAS設(shè)備進(jìn)行管理。而AES算法及訪(fǎng)問(wèn)控制的實(shí)現(xiàn)需要嵌入到Linux系統(tǒng)中,整個(gè)NAS軟件結(jié)構(gòu)框圖如圖2所示。
對(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ù)訪(fǎng)問(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)行訪(fǎng)問(wèn)控制,以達(dá)到控制用戶(hù)對(duì)文件讀寫(xiě)的目的。這需要對(duì)NAS中的文件結(jié)構(gòu)進(jìn)行改造,如圖3所示,在每個(gè)目錄下都會(huì)生成一個(gè)訪(fǎng)問(wèn)列表,列表包括允許訪(fǎng)問(wèn)該目錄的用戶(hù)標(biāo)識(shí)、使用用戶(hù)RSA公鑰加密的算法密鑰,還有目錄所有者對(duì)列表的數(shù)據(jù)簽名。NAS存儲(chǔ)空間的訪(fǎng)問(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)以及訪(fǎ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ù)的訪(fǎng)問(wèn)列表。在訪(fǎng)問(wèn)列表中,存儲(chǔ)可以訪(fǎng)問(wèn)該目錄的用戶(hù)名和該目錄所使用的AES算法密鑰的加密值。密鑰加密值是使用與用戶(hù)名對(duì)應(yīng)的用戶(hù)RSA公鑰加密的結(jié)果,用戶(hù)訪(fǎng)問(wèn)該存儲(chǔ)空間時(shí),需要使用自己的RSA私鑰來(lái)解密獲得AES算法密鑰。最后,目錄的所有者會(huì)使用其私鑰對(duì)訪(fǎng)問(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ǔ)空間的訪(fǎng)問(wèn)過(guò)程。當(dāng)某個(gè)用戶(hù)訪(fǎng)問(wèn)一個(gè)存儲(chǔ)目錄時(shí),管理程序先查看用戶(hù)列表,確定列表中是否存在該用戶(hù)名,以確定用戶(hù)是否享有訪(fǎng)問(wèn)權(quán)限。然后驗(yàn)證訪(fǎng)問(wèn)列表的簽名是否有效,在確定訪(fǎng)問(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)題。
[1]趙文輝.網(wǎng)絡(luò)存儲(chǔ)技術(shù)[M].北京:清華大學(xué)出版社,2005.
[2]Freescale Semiconductor Literature Distribution Center.MPC8379E PowerQUICCTMII 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.