《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于MPC8379E加密NAS的設(shè)計(jì)
基于MPC8379E加密NAS的設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第10期
楊瑞霞
(山東政法學(xué)院 信息科學(xué)技術(shù)系, 山東 濟(jì)南 250014)
摘要: 介紹了NAS的工作原理與優(yōu)點(diǎn),根據(jù)網(wǎng)絡(luò)存儲(chǔ)實(shí)際應(yīng)用中的安全隱患,提出了加密NAS的應(yīng)用需求。研究了以MPC8379E為主控芯片的AES加密NAS的解決方案,并詳細(xì)論述了NAS加密密鑰管理的實(shí)現(xiàn)方法。該方案能夠很好地實(shí)現(xiàn)加密NAS的訪問控制與算法密鑰管理,保證了數(shù)據(jù)加密存儲(chǔ)的安全性。
中圖分類號: TP309.8
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號: 0258-7998(2011)10-0134-03
Design of secure NAS based on MPC8379E
Yang Ruixia
Department of Information Science & Technology, Shandong University of Political Science and Law, Ji′nan 250014, China
Abstract: Introduce the working theory and advantage of NAS, and present the request of security based on analysis of the actual attack to network storage. Study a secure NAS which uses MPC8379E as CPU, and encrypt data with AES arithmetic. Also discuss the implementary method of managing the arithmetic key of encrypt NAS in detail. This scheme is good in controling the NAS accessing and managing the key of AES, can protect the storage of encrypt data.
Key words : network attached storage; AES arithmetic; identity authentication; key management


    隨著計(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)勢。由于網(wǎng)絡(luò)存儲(chǔ)的數(shù)據(jù)是可以通過網(wǎng)絡(luò)訪問的,在實(shí)現(xiàn)海量數(shù)據(jù)存取方便的同時(shí),還需要確保數(shù)據(jù)的安全,因而對網(wǎng)絡(luò)存儲(chǔ)的安全提出了新的要求。
1 網(wǎng)絡(luò)存儲(chǔ)與加密NAS
    目前市場上主流的幾種網(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等文件訪問,共享小文件級間的存儲(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請求,響應(yīng)速度快,傳輸速率高。因此,NAS的應(yīng)用范圍非常廣。
    相對于傳統(tǒng)的存儲(chǔ)方式,網(wǎng)絡(luò)附加存儲(chǔ)有更高的靈活性、可擴(kuò)展性和安全性,但這并不意味著網(wǎng)絡(luò)附加存儲(chǔ)系統(tǒng)不需要考慮安全性的問題。網(wǎng)絡(luò)存儲(chǔ)中的數(shù)據(jù)主要面臨的安全隱患有“Sniffer 攻擊”、訪問的合法性、數(shù)據(jù)傳輸?shù)恼_性、完整性等。因此,對于網(wǎng)絡(luò)存儲(chǔ)產(chǎn)品也需要采取相應(yīng)的措施對數(shù)據(jù)進(jìn)行保護(hù),保護(hù)措施可分為3個(gè)層次:網(wǎng)絡(luò)防護(hù),身份認(rèn)證和加密儲(chǔ)存。加密儲(chǔ)存是對寫入儲(chǔ)存介質(zhì)的數(shù)據(jù)進(jìn)行加密編碼,就算數(shù)據(jù)遺失也無法被解讀出有意義的內(nèi)容,也可以說是數(shù)據(jù)安全的最后一道關(guān)卡。對于NAS系統(tǒng)來說,加密儲(chǔ)存也就是加密NAS。因?yàn)镹AS產(chǎn)品很多基于嵌入式系統(tǒng),因此實(shí)現(xiàn)數(shù)據(jù)的加密存儲(chǔ)也相對容易一些。
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,從而對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ǔ),對于使用嵌入式系統(tǒng)實(shí)現(xiàn)的NAS,一般采用Linux作為操作系統(tǒng),這樣可以方便地進(jìn)行二次研發(fā),加強(qiáng)NAS的存儲(chǔ)及管理功能,并對外提供多種文件存儲(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的管理方式來完成,即用戶在瀏覽器中對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),但是對于底層存儲(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]對文件的加密密鑰進(jìn)行訪問控制,以達(dá)到控制用戶對文件讀寫的目的。這需要對NAS中的文件結(jié)構(gòu)進(jìn)行改造,如圖3所示,在每個(gè)目錄下都會(huì)生成一個(gè)訪問列表,列表包括允許訪問該目錄的用戶標(biāo)識(shí)、使用用戶RSA公鑰加密的算法密鑰,還有目錄所有者對列表的數(shù)據(jù)簽名。NAS存儲(chǔ)空間的訪問管理詳細(xì)描述如下:

    (1)用戶注冊。當(dāng)一個(gè)新用戶注冊時(shí),需要?jiǎng)?chuàng)建一個(gè)唯一的用戶標(biāo)識(shí),同時(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í),會(huì)相應(yīng)地產(chǎn)生一組新的AES算法密鑰。在使用AES進(jìn)行加密存儲(chǔ)后,為了滿足密鑰管理的需求,在每個(gè)用戶目錄中增加一個(gè)用戶的訪問列表。在訪問列表中,存儲(chǔ)可以訪問該目錄的用戶名和該目錄所使用的AES算法密鑰的加密值。密鑰加密值是使用與用戶名對應(yīng)的用戶RSA公鑰加密的結(jié)果,用戶訪問該存儲(chǔ)空間時(shí),需要使用自己的RSA私鑰來解密獲得AES算法密鑰。最后,目錄的所有者會(huì)使用其私鑰對訪問列表進(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)用戶對存儲(chǔ)空間的訪問過程。當(dāng)某個(gè)用戶訪問一個(gè)存儲(chǔ)目錄時(shí),管理程序先查看用戶列表,確定列表中是否存在該用戶名,以確定用戶是否享有訪問權(quán)限。然后驗(yàn)證訪問列表的簽名是否有效,在確定訪問列表正確后,找到相應(yīng)的用戶名,用戶再使用RSA私鑰解密AES算法密鑰的加密值,獲取數(shù)據(jù)加密密鑰,對存儲(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算法,對SATA硬盤中的數(shù)據(jù)進(jìn)行加密存儲(chǔ),使用企業(yè)級CA對用戶進(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。