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