新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DSP的安全无线多媒体数字终端的设计

基于DSP的安全无线多媒体数字终端的设计

作者:时间:2009-03-04来源:网络

 1 系统概述

本文引用地址:http://www.eepw.com.cn/article/173885.htm

  本利用开发板的强大运算能力,实现了多种需要进行大量运算的信息算法。实现了开机用户认证、语音保密通信[1][2]、文字信息加密传输、信息隐藏传输[3]、跳频通信[4]、信息存储备份、定时锁机和销毁,七项功能。整个ICETEK-VC5509-A开发板,系统的硬件部分还外加了射频模块nRF24L01[5]、8×8键盘和128×64蓝屏液晶。芯片ZLG7289B[6]用于键盘扫描管理,液晶的驱动采用MEGA16[7],整个系统不但实现了高质量的保密语音通信,还具有良好的人机交互功能。

  系统利用上电到输入密码时间的不确定性,随机生成用户私钥,通过Diffie-Hellman[8]密钥交换体制(ECC实现)生成会话密钥。为了提高保密通信的安全性和灵活性,系统实现了可供选择4种加密算法AES[9]、RC5[10]、IDEA[11]、KASUMI[12]和可配置参数的LSB[13]信息隐藏算法。我们自主开发实现了USB驱动[14],使得开发板能够和PC机直接通信,这也为信息存储备份提供了便捷。除此之外,系统能够设定自动锁机的时间。

  整个系统的信号传输模型如图1-1所示。

图1-1 系统传输模型

  2 方案与比较

  2.1 系统安全方案

  方案一:预置密钥,定期更换密钥,用对称密码体制进行数据加密。PC机通过USB向预置密钥,通信时采用预置的密钥进行对称加密。统的安全性在一定程度上依赖于密钥的更新周期,而在实际应用中,缩短密钥的更新周期比较麻烦。

  方案二:密钥交换公钥密码体制,数据加密对称密码体制。PC机通过USB向写入公钥算法的参数。开机后,A、B随机生成自己的私钥,计算得到自己的公钥,并向对方公开自己的公钥。A使用自己的私钥和B的公钥生成会话密钥,B通过自己的私钥和A 的公钥生成会话密钥,且会话密钥相同。通信结束后清除该次生成的私钥、公钥和会话密钥,下次开机则重复上述会话密钥的生成过程。

  方案二的实现较方案一更为复杂。但考虑到方案二的安全性更高,且方案二在保证会话密钥安全性的前提下,有效的缩短了会话密钥的生存期,提高通信的安全性。另外,还可以通过PC机定期更新公钥参数。再加上方案二更适合于移动通信,符合我们的设计背景,因此我们采用方案二。

  2.2 语音方案

  方案一:采用G.721[15][16]。它结合了ADM的差分信号与PCM的二进制码方法,是一种性能较好的波形。ADPCM的复杂度较低,编码前后的压缩比为4比1,其主要思想是用差值代替绝对值。

  方案二:采用基于码激励线性预测算法的开源语音编Speex[17][18]。Speex主要面向Internet上的VoIP(Voice over Internet Protocol)语音通信。其主要设计目标是为了提供高质量和低比特率的语音编码。Speex可以在同一个比特流中对语音信号实现窄带(8kHz)、宽带(16kHz)和超宽带(32kHz)的压缩;压缩比能够达到16比1。Speex虽然有诸多优点,但是Speex编算法复杂,运行该算法需要的硬件配置较高。

  我们所用的射频模块的传输码速率为2Mbps,且信道完全能够保证通信质量,从理论上说,上述2种方案都适用。我们在开发板上实现了speex和G.721的编,实际测试发现speex编解码会带来很大的延迟,原因在于speex编解码算法比较复杂。虽然我们已经最大程度的精简了speex算法,比如:将算法的复杂度置为最低、设置编解码质量参数为最低、关闭了VBR变波特率特性、关闭了知觉增强特性和AEC回声消除等特性,都不能解决延迟很大的问题。除此之外,speex编解码需要大量的浮点计算,我们使用的开发板为TIC55XX系列的定点,实现speex编解码耗时较多;再者,speex编/解码所能处理的最小帧长为160个样点,因此,会带给系统很大的延迟。G.721编解码能够实现基本的语音通信,但通信质量一般,再考虑到本系统以语音信号作为信息隐藏的载体,经语音编解码之后不能还原隐藏信息,因此我们最终选用PCM编码。

  3 系统的实现

  3.1 硬件实现

  3.1.1 系统硬件架构

  终端的硬件架构图如图4-1所示,主要由ICETEK―VC5509―A评估板、nRF24L01射频模块、128×64液晶、8×8键盘、MEGA16控制模块组成。

图4-1 硬件架构图

  3.1.2 射频收发模块

  射频模块采用nRF24L01,其电路图如图4-2所示。

 图4-2 射频模块电路图

  3.1.3 键盘扫描电路

  我们使用键盘扫描管理芯片ZLG7289B[18]来进行键盘的管理。ZLG7289B可同时扫描多达64只按键。其电路图如图4-3所示。

 图4-3 键盘扫描电路图

  3.2 软件实现

  系统的软件设计采用C语言,所有的程序在CCStudio v3.3环境下开发的。软件由主程序和一些子程序构成,子程序主要包括USB驱动程序、键盘扫描程序、液晶驱动程序和射频通信程序。主程序流程图如图4-4所示。

 图4-4 主程序流程图

  4 特色与创新

  ①60位私钥的ECC算法实现Diffie-Hellman密钥交换

  ②一键即通的语音保密通信

  ③4种加密算法任意选择的保密通信

  ④实现键盘编辑短信并加密传输

  ⑤可配置参数的信息隐藏传输

  ⑥收发机动态协商进行跳频通信

  ⑦实现了USB的驱动,PC机和开发板直接通信

  ⑧蓝色液晶屏幕显示,人机界面友好

  ⑨射频收发模块实现了2.4G的通信



评论

技术专区

关闭