网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
基于Nios软核处理器的硬盘加密卡解决方案
作者:管理员    发布于:2016-04-27 19:03:47    文字:【】【】【

 1.前言
信息时代各种各样的电子文档和资料常常成为对手暗地里垂涎的对象,于是各种各样的信息犯罪就多了起来。硬盘作为计算机的一个主要存储设备,它记录了大量用户的资料和信息,其中有些敏感信息是用户不希望被其他人看到的,为了保护自己的资料不受骚扰就有必要对数据进行加密处理。主要的加密手段有两种:一种是硬件加密,一种是软件加密。软件加密虽然方便简单但是安全性差,加密文件容易被破解,并且软件加密大宗文件时严重占用系统资源,直接导致系统资源紧张,影 响工作效率。

硬件加密方法很多,其中之一是在硬件系统层(例如主板)和存储器(例如硬盘)之间增加一个硬件微处理芯片,该芯片能够提供硬件实体层即时加密保护,通过复杂的算法对文件加以保护,同时硬件加密由于基于硬件层处理,因此丝毫不会占用系统资源,对系统整体影响微乎其微。另一方面,硬件加密相对软件加密安全性有质的提高,不易破解,大可高枕无优。同时,这种硬件加密不需任何使用界面,加密过程在硬件层由微处理器完成,使用界面没有任何改变。

2.Nios处理器简介
Nios处理器是Altera公司推出的一个32/16位精简指令集处理器软核,在Altera公司提供的软件SOPC中加载Nios核和相应的外围接口以及定义相应的自定义指令,然后对设计进行综合后下载到FPGA中就可以方便地设计一个具有特定功能的嵌入式处理器。这种设计思路增加了系统设计的灵活性,加快系统运行速度,缩短产品研发和上市时间。

当前可编程逻辑器件的快速发展,器件的成本不断降低,已经有越来越多的应用领域用到了可编程逻辑器件。由于可编程逻辑器件本身具有的可编程能力,方便系统的设计使系统能够轻松地进行升级,并且设计的算法以硬件的方式执行,所以可编程的解决方案具有更快的速度。如果把处理器软核嵌入FPGA器件中更是结合了传统的MCU和DSP器件的解决方案并且减少了器件,节约成本增加系统的稳定性能。可以这样说基于可编程逻辑器件FPGA的数字信号处理方案正在成为一种发展的趋势,给电子设计工程师提供了新的解决思路,也受到越来越多的电子工程师的重视。本例采用的正是把Nios软核处理器嵌入FPGA芯片,然后在CPU外围采用专用的硬件完成大计算量的加密/解密工作,是通用性和专用性得到了完美的结合。

3.系统设计:
系统选用Altera公司的FPGA器件和Nios软核处理器为基础构件IDE接口卡,在IDE接口和硬盘之间作为一道闸门对流向硬盘的数据进行加密,对读出来的数据进行解密。首先只有具有密钥的用户才可能对硬盘进行正常的操作,当加密卡在计算机上的时候,用户能够进行正常的写入和读取操作并不会感觉到加密卡的存在。如果取走加密卡就不能正常读出硬盘中的数据,如果要暴力破解的话将要花很大的代价,甚至是不可能的。

l 系统总体构成:
系统总体构成主要包括Nios处理器、IDE接口、对FPAG进行配置的控制器、必要的外部存储器和输出外设等。可以如图一所示设计:


图一 系统总体构成图


整个系统以Nios软核处理器为核心,挂接相关的外设接口构成整个系统。Nios处理器通过IDE接口分别连接主板IDE接口和硬盘,所有流向的数据都要经过Nios处理器的相关处理,从而可以对写入的数据进行加密,对读出来的数据进行解密。LED主要用来提示系统的状态,3线串行SPI可以用来读取存储在外设的私钥。SRAM用来做数据和程序存储器,flash作为存储配置文件和应用程序用。配置控制器主要是在对Nios加载配置文件时进行相应的控制操作,而JTAG口是加载配置文件、应用程序以及调试程序的接口。

l Nios处理器设计模型
对于Nios处理器的设计既要考虑到适合IDE接口和外设,还要执行相应的硬件操作。对于硬件加密/解密操作可以用Nios提供的专用指令来设计,Nios处理器的模型可以设计为图二:

图二 Nios处理器设计模型

l 加密算法选取
不管信息入侵者怀有什么样的阴谋诡计、采用什么手段,他们都要攻击信息的以下几种安全属性(如完整性,可用性,保密性,可控行,可靠性)来达到目的。所以算法的选取要考虑到信息安全的以上因素。

选择算法的另一个因素是算法运行的速度问题。当前存在的被认可为可靠的算法主要有对称密钥算法和非对称密钥算法。非对称密钥算法由于运算量大速度较慢,主要用在数字签名和对少量数据加密(如密钥的传输加密)。对称算法的运行速度较快可以用于大量数据的加密。

根据本系统特点(本系统不存在密钥传输过程中被窃取的情况)可以运用对称算法。根据实际情况可选用现有的对称加密算法:如DES,3-DES,RSA,FEAL算法等。

l 系统软件设计模型
首先系统上电后要自动加载应用程序,完成系统本生的自检和初始化操作。然后从外部串行口读取用户信息和用户加密的私钥,判断用户的合法性如果用户不合法则不能进行下一步的工作流程,系统也无法从硬盘加载。如果用户合法,保存相应的私钥用于以后的加密/解密工作,进入工作流程。

由于IDE接口中的数据和命令都是通过硬盘控制器中的数据和命令寄存器进行处理,所以在Nios一端的接口中做了一组和硬盘驱动器相同的寄存器。数据和命令首先被锁存在这组寄存器中经过Nios的分析处理把命令和数据写到硬盘控制器,然后把控制器中的状态信息写回相应的缓冲区寄存器中让主机自动取走信息。 在工作流程中主要完成对读写硬盘的命令判断,对进出硬盘的数据进行有效拦截,并且完成相应的加密解密工作。对于读写完成的成功或错误状态信息要及时返回给主机。具体的流程如下所示:

 

4.总结:
采用可编程逻辑器件内嵌处理器的解决方案具有很强的设计灵活性。由于相关厂家提供的强大工具软件和IP等,以及可编程逻辑器件的价格减低对用户的设计提供了新的解决方案。根据本系统设计的硬盘加密卡解决方案已经进行了初步的仿真试验,能够达到预期的效果,被证实是切实可行的。

浏览 (47) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们