《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于MPC8379E加密NAS的设计
基于MPC8379E加密NAS的设计
来源:电子技术应用2011年第10期
杨瑞霞
(山东政法学院 信息科学技术系, 山东 济南 250014)
摘要: 介绍了NAS的工作原理与优点,根据网络存储实际应用中的安全隐患,提出了加密NAS的应用需求。研究了以MPC8379E为主控芯片的AES加密NAS的解决方案,并详细论述了NAS加密密钥管理的实现方法。该方案能够很好地实现加密NAS的访问控制与算法密钥管理,保证了数据加密存储的安全性。
中图分类号: TP309.8
文献标识码: 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


    随着计算机技术的发展,数字信息呈现爆炸式增长,网络存储技术得到了广泛应用。网络存储支持网络协议和存储设备协议,采用面向网络的存储体系结构,具有超大存储容量、大数据传输率和高可用性等优势。由于网络存储的数据是可以通过网络访问的,在实现海量数据存取方便的同时,还需要确保数据的安全,因而对网络存储的安全提出了新的要求。
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显示等。基于设备驱动模块之上的则是基本网络协议(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.

此内容为AET网站原创,未经授权禁止转载。