基于USB及EDA的硬件加密系统
硬件加密,就必须要考虑计算机接口的问题。计算机的接口有许多种,如传统的串口和并口。串口的出现是在1980年前后,数据传输率是115~230kb/s,一般用来连接鼠标和外置Modem;并口的数据传输率比串口快8倍,标准并口的数据传输率为IMb/s左右,一般用来连接打印机、扫描仪等。早期的软件狗类加密硬件基本上都是使用并口的,不但极易与打印机冲突,而且容易被破解。要想设计出更可靠更完善的加密硬件,必须采用新的计算机接口。而近年来发展快速的USB接口技术为硬件加密提供了一条很好的道路。
1 总体方案的提出
设计系统原则是在实用、可靠、经济的原则基础上,保证系统不仅能满足应用需要,而且要有灵活性、可扩展性和通用性。该系统有EDA技术、USB 总线协议、加密算法优化组合而成,系统的构成如图1所示。FPGA的作用之一是和PDIUSBD12进行通信,实现USB协议,从PDIUSBD12中获取数据并根据主机的要求发送数据。第二个作用就是加密算法的实现,完成传送数据的加密。
2 USB协议的实现
2.1 PDIUSBD12简介
PDIUSBD12是Philips公司的一款较新型的专用USB通信控制芯片,符合USBI.1规范,是一款高性能USB接口器件,集成了SIE,FIFO存储器,收发器以及电压调整器。可与任何外部微控制器/微处理器实现高速并行接口(2 MB/5),在批量模式和同步模式下均可实现IMB/5的数据传输速率以及完全自治的直接内存存取DMA操作。
2.2USB控制器的设计
从硬件实现的角度出发,将PDIUSBD12控制器划分为分频器模块、沿控制器模块、输人/输出切换模块、设备收发器模块和请求处理模块。当系统的结构设计确定后,对于每个模块的设计首先要使用硬件描述语言(VHDL)完成系统的描述,然后使用语言级系统仿真及调试工具进行语言级功能仿真与调试。
系统用VHDL语言来描述。VHDL语言是一种结构化语言,他支持结构化设计。结构化设计就是将一个系统划分为多个子模块,而每个子模块又可以继续划分为更多的模块。首先根据系统的功能描述,将系统划分为接口清晰、相互关系简单的子系统,从而得到系统级的描述。之后,依次对各个子系统(或功能模块)进行结构设计和描述。逐级细化,最后完成设计。这实际上给出了模块划分的方法。在对系统进行划分时,并不是一次就把系统的所有模块划分得非常细致,而是按照层次化的思想自顶向下逐步细化。图2描述了本处理器的硬件模块结构框图,各模块的功能定义如下:
(1)分频器模块
由于PDUSBD12在读写时序上有时间限制,例如每次些操作之间的间隔不能小于50 ns,而FPGA的系统时钟频率一般都比较高,所以不能直接使用系统时钟控制PDIUSB12,必须进行分频。分频器模块的功能也就是按照要求有系统时钟生成所需频率的时钟信号。
(2)沿控制器模块
PDIUSBD12的读写操作都各自有一个读写控制信号WR-N和RD-N,每次读写操作都在对应的控制信号的下降沿触发,沿控制模块的功能就是可控的产生一个下降沿信号,用于控制读写操作。
(3)输入/输出切换模块
输入/输出切换模块在整个系统中非常重要,因为FPGA芯片和PDIUSBD12芯片之间的数据总线是双向的总线,所以当读写操作之一在进行的时候另一个操作的信号源必须关闭,否则就会造成双驱动,这不但不能得到正确的数据还会损害芯片。输人/输出切换模块的功能就是根据当前的读写状况控制信号源,保证在一个时刻只有一个信号源驱动总线。
(4)设备收发器模块
这个模块是整个固件的核心模块,他完成的工作包括配置PDIUSBD12芯片、处理PDIUSBD12产生的中断、完成从缓存读取数据,并且根据需要将数据通过PDIUSBD12发送。设备收发器模块完成对每个主机请求的解析工作,此外,还要将解析完成的请求数据传递给请求处理模块。
(5)请求处理模块
请求处理模块的作用是接收设备收发器模块解析完成的主机请求,并且决定如何处理此请求。
3 加密算法的实现
3.1 硬件加密的优点
随着信息产业的发展,集成电路产业提供了越来越强大的芯片,现在所有的加密产品都是特定的硬件加密形式。这些加/解密芯片被嵌人到通信线路中,然后对所有通过的数据进行加密。虽然软件加密在今天变得很流行,但是硬件仍然是商业和军事应用的主要选择。
(1)速度
加密算法通常含有很多对明文位的复杂运算,没有哪类这样的操作能在一般的计算机上进行。两种最常用的加密算法,DES和RSA在普通用途的微处理器上运行没有效率可言。另外,加密常是高强度的计算任务。计算机微处理器对此效率不高,将加密移到
- 探索性数据分析(EDA)及其应用(10-18)
- 霍尼韦尔“互联网+医疗”解决方案亮相2016中华医院信息网络大会(04-27)
- 基于EDA或FPGA的IP保护的实现(09-16)
- 基于MC8051 IP核和FPGA的频率计设计(11-24)
- FPGA设计新需求走热 EDA战况升温(03-17)
- 2016年EDA/IC设计频道应用文章精选(02-26)