新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TMS320C6202的VPN加密卡的设计

基于TMS320C6202的VPN加密卡的设计

作者:时间:2007-03-09来源:网络收藏
摘要:介绍了VPN加密卡的设计。论述了加密卡中的选取、TMS320C6202的特点以及以该芯片为基础的高速加密卡的实现,着重介绍了符合TI规范的DB(Daughter Board)的应用设计。 关键词:加密卡  TMS320C6202 VPN 随着互联网应用方式的越来越复杂,迫切需要一个专业的互联网服务供应商来提供智能化带有保证性的互联网服务,以便一些公司优化内部资源,从而专注于核心业务,提高竞争力。于是,VPN服务便由此而兴盛起来。 由于经济的全球化,今天的企业不再局限于本地、本国范围内经营,而是在跨地区、跨国的更大范围内进行经营,因此员工、合作伙伴和供应商遍布全球。对于一个企事业单位来说,怎样利用互联网的强大功能成为一个重要的课题。由于各种新技术的出现,分散、移动的工作人员需要灵活、安全的方法与总部进行联系。在这种情况下,企事业单位需要重新考虑自己的广域网战略。于是,很多企业正在建立Extranet来扩张自己的广域网络,与合作伙伴和供应商共同建立一个高效、安全、低成本的广域网。 通过公网传输敏感性的数据要防止被监听和篡改,因此必须采取有效的措施保证敏感数据的安全性。数据传输总是不希望无关人员察看、截取和恶意修改,所以要求保证私有数据在公网上传输的安全性。这正是互联网的总体发展趋势。 目前,往往通过加密的方法来实现数据在公网上安全地传输。于是,各种加密算法层出不穷,如MD5、CAST、Blowfish、3DES等。目前主要采用的是128位以上的加密算法,经过这样的处理,在现有的发展水平下,基本上解决了数据在公网上传输所遇到的安全性问题。 数据的传输不仅要保证安全性,还要能提供相当高的服务质量。例如,银行系统数据库的更新基本上是“实时”的,这样才能保证交易双方的利益不受损害。 传统公网上的数据传输,虽然没有服务质量保证,没有权限和安全机制,但是它提供了连接上的方便。只要采取一定的措施使数据的传输象在局域网上一样安全和快速,就可以满足这种日益增长的需要。VPN正是在要求数据传输的安全和高速度的背景下而产生的。它是在公网上开辟一个数据传输的虚拟专用通道,使局域网在物理上无限延伸,用户的主观感觉就象在专用网上传输数据一样。数据的加密,即加密卡的设计,是构建VPN中的一个重要环节,是实现数据安全的保障,也是实现局域网数据在因特网上安全传输的关键;而数据的处理速度是提供高服务质量的关键。因此数据的加密强度和处理速度变得越来越重要了。下面就介绍一种切实可行的数据加密卡的设计方案。1 加密卡数据处理核心芯片——DSP的选取 前一个系列的VPN是基于PC机(或工控机)的,加密卡是作为一个部件安装到PCI插槽中。加密卡的工作比较明确,即处理需要加解密的数据。加密过程的控制由PC机的CPU执行,数据的存储则借用PC机的RAM。虽然PC机本身的速度越来越快,但是PC机本身却是数据处理的瓶颈。因为PC机上使用的大多是非实时的操作系统,而且需要管理的资源比较多,这需要很大的开销,大大降低了数据处理的实时性,在速度上也是打了很大的折扣。为了提高数据存取和处理的速度,设计了基于总线方式的加密卡,以取代过去的基于PCI插槽的方式。它是将接收到的IP数据包首先存放到POWER PC的RAM当中,处理后再转发到TMS320C6202内部固定的存储空间(先前设定的);TMS320C6202处理后产生中断,由POWER PC取回。这样,处理数据包的额外开销就相当小。 过去,基于PCI方式加密卡的DSP使用的是TMS320C6201。但是该种型号的芯片只提供PCI接口,这是基于这DSP的加密卡难以克服的弱点,所以在数字处理器上必须重新选取。TMS320C6202继承了TMS320C6201的优点,同时克服了其不足,提供了一个16位的总线接口,这就使数据的快速存取成为可能。 总之,TMS320C6202有如下特点: ①处理速度快:1600MIPS(C6202_200)和2000MIPS (C6202_250),相应的时钟周期分别为5ns和4ns; ②带有16位宽的总线接口; ③超强的并行处理能力和集成的智能片上外设等。 经过综合比较,本卡选用了TMS320C6202。 2 母板的设计 本系统采用母板+子板的方式设计(接口方式遵循TI的子板接口规范)。之所以如此,一方面是因为DSP要通过其扩展总线与POWER PC进行数据的同步交互,所以把DSP集成到POWER PC主板中去;另一方面是为了方便地进行加密硬件的升级换代工作(升级时只需要更换子卡,同时升级相应的驱动程序),并为用户省下其它升级方式所需的大笔费用。 2.1 母板的构成 本系统采用的是嵌入式VPN,因为POWER PC和DSP要通过总线进行数据的交互,所以DSP置于主板上。而数据加密硬件部分放在子板上,它们通过TI定义的DB接口相连。加密卡的部分框图如图1所示。 2.2 母板工作原理 POWER PC接收到IP数据包后,首先分析包头,判断该数据包的合法性。如果是合法的数据包,则把数据包传递到DSP中去,否则直接丢弃。合法的数据包通过POWER PC的扩展总线直接存入TMS320C6202的片内固定存储空间(事先约定的)后,即通知DSP有需加解密的数据包。DSP接收上位机的这个信息后,首先处理IP数据包的包头信息,通过相应的标志位判断是否要加解密,是纯粹的软件加密还是直接的硬件加密,以及采用何种算法。然后对IP数据进行处理。处理后的数据包经过DSP的封装处理,存入另外一个固定的内部数据空间。封装处理完成后,产生一个硬件中断到POWER PC,由POWER PC将数据包取走,进行打包处理,转发出去。 3 子板设计 考虑到缩短开发周期和提高效率,采用外包的方式加速对本系统进行软硬件设计,即主板由第三方设计实施。这将带来安全上的隐患。为了杜绝此潜在隐患,采取硬件加密模块化处理,自行设计加密卡的核心部分(即子板)和编写加密算法。该子板与主板的接口设计完全符合TI规范,便于扩展,可以满足以后的硬件升级。 所遵照的TI 接口规范包括扩展的存储器连接接口和扩展的外设连接接口两个部分。EMI接口的信号包括DSP的地址总线、数据总线、相应的存储器控制信号,以及接入子板的电源线;EPI接口的信号包括两个多通道缓冲串口、两个计时器、子板可分配中断,DMA通道标志、1/2 DSP时钟输出、复位等信号。 另外,TI规范还规定了插座的选用:主板上为TFM-140-L2-S-LC;子板上为SFM-140-L2-S-LC。 3.1 子板框图 子板中配置了专用的硬件加密芯片、模幂乘密码算法协处理器、FLASH存储器、JTEG接口、IC卡认证接口——RS232,以及完成子板逻辑、DSP映射数据寄存器和子板各芯片状态寄存器的大规模可编程逻辑器件(CPLD)——MAXPLUS 7000S系列的EPM7256S。子板框图如图2所示。3.2 子板原理 在加载VPN时,首先检查IC证书的合法性。这个检查是通过POWER PC访问DSP,DSP再通过子板RS232接口读取IC卡信息,然后判断IC卡的有效性来进行的。如果有效,则VPN成功启用。 在加密的过程中,如果使用协处理器,则将数据写入协处理器的DSP映射地址,经过规定的时间,读取数据。如果使用硬件加密,则将数据送入专用加密芯片,经过75ns生成密文,送入FIFO进行缓冲。之所以这样,是因为数据的写入和读出是通过同一个数据总线,而且加密芯片采用的是流水操作方式,如果以字节为单位,将会造成时间的浪费,数据的加密速度会大大下降,所以采用以IP包为单位的流水作业方式对数据进行加密处理。例如,一个IP包为1KB,以字节为单位时,处理时间将增加(1K-1)%26;#215;75ns。这在加密过程中是要尽量避免的。所以,为了减少总线的压力,提供数据的流水作业速度,必须增加缓冲环节。考虑到目前的IP包的大小,选用的FIFO的深度为2048字节。目前IDT72231芯片的容量可以达到4096字节,且引脚兼容,方便硬件升级。 当机箱被非授权人员恶意打开时,EEPROM存放的使用密钥在50ms内被删除。 随机数发生器产生真正的随机数,供加密时使用。它产生的随机数在CPLD中以字节为单位进行缓存。它有防止窃取的功能:一个以字节为单位的随机数有效期只相当于随机数发生器的一个时钟周期(其时钟频率为50kHz左右)。 FLASH能保存DSP在BOOT时的一些固定信息。 总之,子板的设计提高了加密产品的安全性指数,在速度上也达到了更高的档次,并且充分考虑了用户加密产品的升级换代,满足了用户的需要。 本系统的设计使VPN中加密部分的数据处理速度提高到了100Mbps,使VPN速度上了一个台阶(原为50Mbps),可以保证一定的服务质量(QoS),而且密钥采用128位以上,可以保证数据在公网上传输的安全性,从而完成了预期的目标。该系统在设计时充分考虑了兼容性和可扩展性,为升级换代作好了准备。经过试运行,这种母板+子板的基于总线方式的加密卡在速度上达到了100Mbps以上,其安全性能也得到了相应的提高,完全满足目前市场的需要。

评论


相关推荐

技术专区

关闭