DSP技术在PC加密卡中的应用
扫描二维码
随时随地手机看文章
摘要:随着网络的发展,相关的安全与保密已成为人们越来越关注的话题,针对市场需求与目前软件和硬件实现网络与信息安全的区别,为了使PC加密卡达到低成本、高效率的目的,设计了一种采用DSP技术的PC加密卡,通过对该卡原理上的分析,提出了一种运用TMS320C54x系列DSP芯片与PCI9054接口芯片共同实现网络加密卡的设计方案。
关键词:网络安全;加密算法;DSP;PCI总线
0 引言
随着Internet/Intranet的迅速发展和普及,网络带来的直接和潜在的危险也在逐步增强,就如何确保网络信息的安全已成为人们越来越关注的焦点,个人和企业对业务的安全需求日益迫切,首当其冲的是军队信息在网络上的失泄密问题已造成的严重后果将直接关系到国家的安全与稳定。所以对各种安全防护措施与保密技术的要求越来越高,而密码技术作为一项有效解决网络安全问题的手段得到了越来越广泛的应用。如果网络上传输的信息和系统信息能够以加密的方式处理,将在很大程度上提高网络和信息的安全。然而,由于个人或一般办公室使用的都是低成本的PC电脑很难配备价格高昂的加密机,使用安全软件来实现加密和解密,虽然价格实惠,但对系统性能有极大的影响,也容易被黑客通过技术手段突破,此外,在安全程度与强度上也足与专门设计的硬件加密能力不能相比拟的。所以广大的网民尤其是经常处理涉密事件的单位与个人急需一种低成本、高性能的加密和解密的方案。在本文中,基于TI公司研发的高性能DSP如果应用在PC加密卡中,不失为一种有效的保密方法。
作为一种有效的网络安全解决方案,加密卡应当具有的功能如下:
(1)使用密码算法对数据进行加密和解密,密码算法应当多种多样以便更换、定期升级解决硬件难以变动的缺点,减少用户投资。
(2)应保护存储证书、密钥以及重要的数据,主密钥及重要的密钥应受到额外的保护,这种保护强度应超过其他通常的软件。
(3)与主机、外围设备和系统软件有一个良好的接口,使用户还有研发升级软件的空间。
这些功能决定了PC加密卡的设计和目标的基本结构。
1 PC加密卡的基本结构
本文介绍的PC加密卡主要由DSP芯片、计算机总线接口(PCI)、板上的FLASH ROM、随机数生成模块和外部设备接口等组成。TI全新DSP TM S320C6x系列功能强,速度非常快,但价格过高,不适合应用于一般的加密和解密。中等性能的TMS320C54x系列,成本低,产品成熟,是一个更好的选择。在本文中的PC加密卡以TMS320C54x DSP为主CPU来实现加密算法的运算,很大程度上减轻了计算机CPU的计算负担,提高整体运算速度。又因为系列DSP产品具有HPI接口,因此可以很容易地实现DSP与PCI总线之问的连接。所以该加密卡就需要在PCI总线平台上开发实现。
为了减少产品的开发时间和成本,以及获得更好的数据传输性能,通常使用通用PCI接口芯片。考虑到TMS320C54x 3.3 V低电压的运行环境与未来DSP的发展方向,PLX公司的PCI9054芯片是最好的选择。其两者的外围信号都是3.3 V电压。
另外采用FLASH ROM作为外部储存介质,存储所有的加密算法、主控程序和密钥管理程序,构成与DSP之间的密码算法运算和重要数据的存储平台。具体使用AMD公司512 KB的29LV040,选择此规格的原因:第一符合3.3 V的运行环境;第二除了存储程序外,依据容量还可存放数千个1 024 b的公钥或密钥,满足了更多通信系统安全的需要。图1是加密卡的基本框图。
2 PC加密卡的设计
虽然现在PC机的CPU运行速度越来越快,但加密和解密是一个极为复杂的过程,需要大量的科学计算霸占CPU的时间,这样会使CPU运行负荷,从而导致计算机系统的性能下降,其他方面工作的处理能力也会变得极为缓慢。而PC加密卡是一种专为加密和解密设计的硬件,配备专业的DSP信号处理芯片来专一地进行加解密的科学计算,分担了CPU的处理运算强度,提高了加解密的速度和PC的性能。C54x系列的DSP芯片目前拥有主频高达500 MHz或以上超快速度,计算能力也可以实现200 MIPS的水平,并且有望进一步提高,使用C54x系列产品的另一个优势是它们采用同一套指令集,这就意味着有很好的软件兼容性,无需反复更新。
加密卡能够成功实现就依赖与上述各模块之间的协调工作。当系统启动时,DSP与FLASH ROM之间构成密码算法运算和重要数据存储的平台,DSP从FLASH ROM中调入预先设定好的加密算法和主控程序,并接收主机送来的指令和数据,由主控程序调入相应的加密算法程序,对数据进行加密或解密处理后,最终的数据由主机通过PCI接口芯片读出。
3 加密卡的功能描述
本PC加密卡所实现的主要功能有:
数据加密解密功能 这是PC加密卡所具有的最基本的功能。加密卡目前封装了DES,AES等对称加密算法,RSA等非对称公钥算法,以及MD5等Hash算法。DES是使用最广泛的密钥系统,特别是用在保护金融数据的安全中,该加密算法具有应用广、速度快的优点。AES作为新一代的数据加密标准,汇聚了强安全性、高性能、高效率、易用和灵活等优点,具有良好的应用前景。而MD5作为Hash算法,特点在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的惟一的Hash值,却不能通过这个Hash值重新获得目标信。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
数字签名与认证功能 主要利用RSA算法模块来实现。它是第一个既能用于数据加密也能用于数字签名的算法,易于理解和操作,也很流行。RSA是目前最有影响力的公钥加密算法,能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。经历了各种攻击,至今未被完全攻破。该算法特别适合在商业和金融业中的应用,为满足多方面的要求,在卡中实现了签名和认证功能。
密钥管理功能 密钥是加密与解密的核心,密钥的产生、保存、分配、修改与删除必须有一个完善的管理体系。而加密卡中的随机数生成模块便是完成这项任务的关键。该模块可以利用物理噪声源产生一个真正的随机数,这就保证了一切密钥都是在加密卡内部完成的,并且都是通过加密卡加密后才与外部进行交换。外界软件和系统只能得到其中的公钥,而无法得到私钥的任何信息,保证密钥的安全。
[!--empirenews.page--]
4 PCI9054简介
本文设计的PC加密卡,对接口芯片PCI9054的理解,涉及到产品的成败,下面对PCI9054的结构和功能进行简要的介绍。
PCI9054是美国PLX公司生产的一种功能强、灵活性大,并且符合PCI V2.2规范的32位33 MHz总线接口控制器,它的出现使原本复杂化的PIC接口应用设计变得简单明了,成为目前使用最广泛的PCI接口芯片之一,能够轻松实现TMS320C54x系列DSP的HPI接口与PCI总线之间的无缝连接。作为PCI目标设备,其传输速率最高可达132 MB/s。图2显示了PCI9054的内部结构框图。
从整体看,PCI9054共提供了三个对外接口:PCI总线接口、LLOCAL总线接口和E2PROM接口。PCI9054可看做是一种“桥接”芯片,完成DSP与PC之间数据和信息传递。另外,PCI9054具有可选的串行E2PROM接口,用来存放配置信息,完成启动时9054板卡的“热插拔”功能。
PCI9054内部有6个FIFO,分别作为三种数据传输模式的读/写数据通道,这些FIFO最主要的作用是使LOCAL总线与PCI总线的操作相互独立完成,以及使PCI9054拥有零等待突发传输的能力。也是实现PCI9054同步的LOCAL总线与C54x异步的HPI接口之间信号逻辑转换的必备元素。LOCAL总线工作速率最高可达50MHz。
4.1 PCI9054配置寄存器
PCI9054有5个内部寄存器:PCI配置寄存器、本地配置寄存器、运行寄存器、DMA寄存器组、消息队列寄存器等,是非常繁琐和复杂的。要想成功完成PCI9054的控制,就需要很好地理解与控制一些关键的寄存器。图3为PCI9O54配置寄存器的信息。
PCI9054提供了一个256 B支持即插即用功能的兼容PCI标准配置空间。PCI9054的配置寄存器配置的读取和写入,通常通过BIOS支持的PCI总线的中断调用来实现。BIOS中断调用,获取总线和单元号,进行配置的读写;配置HPI CSR的基址寄存器,以访问HPICSR的地址;配置控制空间基地址寄存器,配置命令寄存器生产相应对的PCI周期。
4.2 PCI9054与DSP之间的传输过程
当PCI9054配置成功后,便可通过DSP芯片的HPI接口进行PC与DSP之间的数据传输。步骤如下:首先清除HPI的复位寄存器,PCI9054解析由PCI总线传来的新地址匹配控制空间寄存器的值,选取将要通信的DSP芯片。接着主机发起HPI控制寄存器的BOB和HWOB位,选择正确的字节定位,主机加载HPI地址寄存器,DSP便完成了一次完整的HPI存储器的访问,数据被放置在HPI数据寄存器里,最后主机从HPI数据寄存器里读写数据。由此便完成了PC与DSP之间数据的传输。
5 结语
本文介绍了一种新型基于DSP技术上的PC加密卡没计方案及原理,具有成本低、性能高、操作简便等特点,是抵抗网络信息危险与黑客窃密的有力武器,由于其各方面性价比的优势,适用于个人、企业、军队等广泛领域,是保证信息安全必不可少的元素,具有广阔的应用前景。