基于NiosⅡ的U盘安全控制器设计
时间:11-10
来源:互联网
点击:
3 安全控制器固件的设计实现
3.1 固件模块及层次的划分
安全控制器固件实际上是运行于NiosⅡ处理器上的COS(Chip Operating System),主要负责监控USB Host接口及USB Device接口的状态,解析PC机发出的命令,对系统各个模块进行调度,实现PC机到U盘间的数据通信,完成数据流的加解密。
安全控制器固件主要包括初始化模块、USB Host模块、USB Device模块、DMA模块、密码模块等。各模块的功能如下:
(1)初始化模块:安全控制器系统的启动;ISP1761芯片接口的配置,将接口1配置成USB Host接口,接口2配置成USB Device接口。
(2)USB Host模块[5]:检测USB接口芯片Host接口的状态,检测U盘的插入和移除等;向插入的USB设备发出标准的USB标准命令,获取设备描述符、配置描述符、接口描述符、端点描述符等;向插入的USB设备发出USB MassStorage类命令,获取设备的容量等基本信息及对设备进行读写操作。
(3)USB Device模块:向PC机报告USB设备的插入;响应PC机发出的标准的USB命令,返回相应的数据,如各种描述符等。此时返回的描述符应为安全控制器的描述符;响应PC机发出的USB MassStorage命令,返回设备的基本信息,此时返回的基本信息应为U盘的信息。
(4)加解密模块[6]:身份认证方案的实现,如用户口令的保存、更改等;加解密算法的高速实现及密钥的保护等。
(5)DMA模块:DMA控制器的配置、启动等。
安全控制器固件层次划分如图4所示,主要包括硬件抽象层、USB协议层和批量传输层。硬件抽象层主要实现NiosⅡ处理器对外设的读写以及对ISP1761芯片内部寄存器和存储器的访问;USB协议层通过对ISP1761芯片的控制实现USB协议;批量传输层则实现MassStorage类的操作,通过Bulk-In和Bulk-Out端点,完成CBW、数据、CSW的传输。安全控制器在批量传输层对数据进行扇区级的加解密操作,不进行文件系统级的解析。

3.2 整体工作流程
以一次PC机向U盘写数据的过程为例,U盘安全控制器的工作流程如图5所示。

(1)U盘安全控制器初始化;
(2)循环检测ISP1761芯片Host接口的状态,判断是否有USB设备插入;
(3)若检测到USB设备,判断设备是否是USB MassStorage类设备;
(4)若是USB MassStorage类设备,则向PC机报告设备的插入,否则返回步骤(2);
(5)安全控制器响应PC机发出的命令,包括USB标准命令和Mass Storage类命令,返回描述符及所插入设备的基本信息;
(6)PC机发出写(Write10)命令及数据,安全控制器将数据加密,然后向U盘转发写命令及加密后的数据;
(7)一次传输过程结束。
本文针对USB存储设备的安全问题,利用SoPC技术,设计实现了U盘安全控制器,并在terasic公司的DE3开发板上得到验证。结果表明,该控制器将普通U盘升级为安全U盘,保证U盘中的数据都以密文形式存在,方便快捷、安全性高,具有广泛的应用前景。下一步重点是研究密码方案,如身份认证方案的设计、密钥的保护及加解密算法的高速实现等。
3.1 固件模块及层次的划分
安全控制器固件实际上是运行于NiosⅡ处理器上的COS(Chip Operating System),主要负责监控USB Host接口及USB Device接口的状态,解析PC机发出的命令,对系统各个模块进行调度,实现PC机到U盘间的数据通信,完成数据流的加解密。
安全控制器固件主要包括初始化模块、USB Host模块、USB Device模块、DMA模块、密码模块等。各模块的功能如下:
(1)初始化模块:安全控制器系统的启动;ISP1761芯片接口的配置,将接口1配置成USB Host接口,接口2配置成USB Device接口。
(2)USB Host模块[5]:检测USB接口芯片Host接口的状态,检测U盘的插入和移除等;向插入的USB设备发出标准的USB标准命令,获取设备描述符、配置描述符、接口描述符、端点描述符等;向插入的USB设备发出USB MassStorage类命令,获取设备的容量等基本信息及对设备进行读写操作。
(3)USB Device模块:向PC机报告USB设备的插入;响应PC机发出的标准的USB命令,返回相应的数据,如各种描述符等。此时返回的描述符应为安全控制器的描述符;响应PC机发出的USB MassStorage命令,返回设备的基本信息,此时返回的基本信息应为U盘的信息。
(4)加解密模块[6]:身份认证方案的实现,如用户口令的保存、更改等;加解密算法的高速实现及密钥的保护等。
(5)DMA模块:DMA控制器的配置、启动等。
安全控制器固件层次划分如图4所示,主要包括硬件抽象层、USB协议层和批量传输层。硬件抽象层主要实现NiosⅡ处理器对外设的读写以及对ISP1761芯片内部寄存器和存储器的访问;USB协议层通过对ISP1761芯片的控制实现USB协议;批量传输层则实现MassStorage类的操作,通过Bulk-In和Bulk-Out端点,完成CBW、数据、CSW的传输。安全控制器在批量传输层对数据进行扇区级的加解密操作,不进行文件系统级的解析。

3.2 整体工作流程
以一次PC机向U盘写数据的过程为例,U盘安全控制器的工作流程如图5所示。

(1)U盘安全控制器初始化;
(2)循环检测ISP1761芯片Host接口的状态,判断是否有USB设备插入;
(3)若检测到USB设备,判断设备是否是USB MassStorage类设备;
(4)若是USB MassStorage类设备,则向PC机报告设备的插入,否则返回步骤(2);
(5)安全控制器响应PC机发出的命令,包括USB标准命令和Mass Storage类命令,返回描述符及所插入设备的基本信息;
(6)PC机发出写(Write10)命令及数据,安全控制器将数据加密,然后向U盘转发写命令及加密后的数据;
(7)一次传输过程结束。
本文针对USB存储设备的安全问题,利用SoPC技术,设计实现了U盘安全控制器,并在terasic公司的DE3开发板上得到验证。结果表明,该控制器将普通U盘升级为安全U盘,保证U盘中的数据都以密文形式存在,方便快捷、安全性高,具有广泛的应用前景。下一步重点是研究密码方案,如身份认证方案的设计、密钥的保护及加解密算法的高速实现等。
USB SoC 电路 FPGA NXP Altera 相关文章:
- 用电子技术最大化太阳能电池板输出功率(05-18)
- 2009视频监控:网络化及其推动的几大趋势(06-03)
- 与MSP430 USI端口配合使用ADS8361(06-18)
- 辰汉电子推出低成本快速量产视频监控方案+4路输入方案(06-24)
- 用于风力发电设备的连接器的简易安装与维护(06-21)
- 解读USB-IF电池充电规范(10-27)
