新闻  |   论坛  |   博客  |   在线研讨会
基于DSP的信息加密技术在工业中的应用——AET/2008 34(3)
canso | 2009-02-24 10:47:05    阅读:1234   发布文章

  摘  要: 随着工业信息技术的飞速发展,工业上传输数据的安全性越来越差,而数据加密是保证信息安全的一种有效手段。探讨了采用DES和RSA混合加密方式实现计算机网络通信中的信息安全的方案。 

  关键词: 实时; DES; RSA; 混合加密 

 

  信息加密技术主要应用于以PC机或工作站为基础的软件领域,只作为大多数信息加密系统的一个软件插件,运行时不能与计算机并行工作,且需要占用大量的CPU时间和资源,使得系统加密速度、安全性等方面的需求得不到很好的满足[1]。此外,由于目前大多常用的操作系统和系统软件均是国外研制和开发的,国内重要机构或企业使用这些系统是否真正安全还有待商榷,采用软件实现的加密系统很可能会留下被窃取机密信息的机会,所以采用硬件系统实现重要信息的保密工作是十分必要的。如果把数字签名技术直接应用于嵌入式实时数据系统中,以经过特殊设计的硬件系统进行加密,其应用范围将会更广、安全系数更高、加密速度也会更快。 

1 硬件电路 

1.1 信息加密系统原理 

  该信息加密系统的工作原理是:首先将被测信号经A/D(TLV2544)转换器进行数模转换后,在DMA控制下,将输出数据通过TMS320VC5402 DSP[2]的McBSP口传输到内存中对原始数据进行DES加密,然后再对DES密钥进行RSA加密。在加密后,将处理好的数据存储到指定内存中,然后在PCI2040控制下,将密文数据通过DSP的HPI口,经PCI总线传输到主机上。其具体硬件框图如图1所示。 

 

 

1.2 数据采集与传送模块 

  该系统利用DSP的多通道缓冲串口McBSP和DMA功能相结合完成目标信号的采集和传输。在该电路中,由DSP的McBSP0口来控制A/D转换电路的工作,首先由内部时钟发生器对DSP工作时钟进行分频产生所需的发送时钟信号CLKX0,再由帧同步发生器将CLKX0信号分频产生发送帧同步信号FSX0。信号的接收和发送时序相同,所以接收时钟信号CLKR0和接收帧同步信号FSR0可以直接使用CLKX0信号和FSX0信号。McBSP通过其数据输出口DX0发送控制字到TLV2544的SDI口,该控制字为16位,如果TLV2544接收到的前4位是1010,则接下来的12位就会被当作控制字译码;而如果前4位接收到的是1110,则TLV2544将继续输出FIFO的内容到SDO中。当TLV2544按DSP发出的控制字转换到某一状态(如FIFO堆栈满)时,则发出EOC/INT信号通知DSP接收,DSP接收到转换结束信号后,经DR0口读入TLV2544已转换好的串行数据。其电路连接图如图2所示。

 

 

1.3 主机接口模块设计 

  本系统利用 PCI[3] 总线通过 DSP 的 HPI 口把加密后的数据传送到主机设备或服务器。首先,由串行EEPROM AT24C01A作为PCI配置寄存器,通过串行数据(SDA)、串行时钟(SCL)引脚与PCI2040连接,并将GPIO0、GPIO1经上拉电阻与VCC相连。当系统上电复位后,检测到GPIO0和GPIO1为高,此时表明存在串行ROM,可自动完成PCI2040的配置,接着就可以进行PC和DSP的数据传输了。两者之间的传输通过HPI接口实现,其传输过程如下: 

  (1) 软件清除HPI复位寄存器。 

  (2) 解码从PCI总线来的地址,如果在32KB的控制空间中,则响应PCI周期,并给出片选信号及HCNTL[1~0]访问相应的HPI寄存器。 

  (3) 主机初始化HPI控制寄存器的BOB位,选择正确的字节定位方式。 

  (4) 主机在HPI地址寄存器中设定正确的HPI空间地址,通过装载HPI的地址寄存器,使DSP完成一次HPI存储器访问,此时数据就被放到了HPI数据寄存器中。 

  (5) 主机从HPI数据寄存器中读/写数据。 

  读周期,HWIL信号为低时,HAD[7~0]引脚上出现的是第一个字节,为高时就是第二个字节。读HPI的存储器时,给定地址的内容传送到二个8位的锁存器,按照先低后高的顺序依次锁存,接着读取HPI存储器给定地址指向的2个字的内容。为使主机高效访问HPI存储器的连续数据块,采用地址自动增加的方式(设置HCNTL0和HCNTL1为01),地址自动加1,存储器的下一个数据锁存到锁存器,主机再读HPID,重复即可完成数据的读操作。其原理图如图3所示。

 

 

2 系统软件算法的实现 

  DES[4]算法和RSA算法是数据加密中久经考验的比较优秀的算法,DES算法具有密码使用简便及处理速度快等优点,RSA算法则不需要秘密分配密钥并且密钥的安全管理也很容易。但两种算法仍在处理效率、密钥管理等方面存在着不足。为了充分利用DES和RSA两种算法的优点, 而同时避免它们的缺点,该系统选择了RSA算法与DES算法综合使用加密体制的方法,利用DES算法保密强度高、计算开销小、处理速度快的优点,对采集的原始数据加密,保存好对称加密密钥及密文;再利用RSA算法便于密钥管理和分发、便于数字签名的特点,对DES算法加密所用的密钥再加密。这样就如同设计了一个数字信封,用户只有在得到了对原始数据做DES加密后的密文1、DES加密时所用密钥经RSA加密后的密文2及RSA加密所用公钥相对应的私钥这三种技术后才能解出原始数据。解密流程是加密流程的逆过程,即:用RSA私钥对密文2进行RSA解密操作,解出DES加密所用的密钥,再用此密钥对密文1进行DES解密操作,从而得到所需的原始数据。其加密主程序流程图和解密主程序流程图分别如图4、如图5所示。 

 

 

 

  该信息加密系统强调对数据的实时加密,在得到原始数据后,要求第一时间进行加密保护并存储,至于接下来对密文的处理,可以在本地计算机上或通过网络传递到任意远的终端计算机上,利用其解密程序及密钥来复原先前采集的现场数据或资料。所以,该系统采用加密主程序与解密主程序分开运行的策略,其中,加密子系统主程序用硬件实现,即在本系统所设计的 DSP硬件系统上运行;解密子系统主程序可以安装到任意一台日常用计算机上,只要取得与DSP硬件系统所用加密密钥对应的解密密钥,就可以方便地解出密文数据。 

  本文提出了一种把数字签名核心算法应用于以TMS320VC5402 DSP芯片为内核的单板硬件环境中。在增加一定硬件开销的前提下,使加密算法的运算速度明显提高,可靠性也大大加强。同时在该硬件环境下,提出了DES和RSA的混合加密方法,使信息传输的安全系数大大提高。该信息加密系统不但能起到传统数据加密的作用,而且由于其体积小、携带方便,可广泛应用于重要数据的现场加密或其他一些需要第一手加密数据的场合。 

参考文献 

[1] 孙立新,王慕坤. 基于RSA算法的数据加密卡的设计[J]. 哈尔滨理工大学学报, 2003,8(5):112-114. 

[2] 张勇.C/C++语言硬件程序设计-基于TMS320C5000系列DSP[M]. 西安:西安电子科技大学出版社, 2003. 

[3] 马磊.PCI2040在DSP与PCI总线接口中的应用[J].电子技术, 2001,(1):53-55. 

[4] 周克俭,左孝凌.基于DES和RSA的网络数据安全系统[J].计算机工程与应用,1998,(9):5.

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客