基于手势信息的便携式无线加密传输系统
扫描二维码
随时随地手机看文章
一 选题背景
和平和发展是当今世界的主旋律,但是局部战争、恐怖主义、暴力犯罪等不和谐的音符依然存在,而在实际作战、反恐行动、秘密侦查等这些场合中,信息交互的安全性要求较一般场合要高得多。不仅要求产生信息的方式具有隐蔽性,不易被他人发现;而且要求传递信息的方式具有保密性,不易被他人破解。
因此,本文设计并实现了一个基于手势信息的便携式无线加密传输系统。系统以Spartan-3E开发板为平台,本系统充分利用了FPGA的计算速度和硬件资源,可以在作战、反恐、侦察等涉及信息安全的多个领域得到应用。
二 系统方案
本系统由两平台组成,实现了手势信息的无线加密半双工传输。
使用时,A使用平台1,B使用平台2,按照如下步骤执行:
A首先通过键盘来设定密码,并设置平台1为加密状态。然后通过手势输入设备将手势信息输入平台1,按动发送开关,平台1便会自动采集A的手势信息,将其转换为数字信号作为明文,经Twofish算法对其进行加密,之后将密文无线传给B。
B在接收之前,先设置平台1为加密状态,再通过键盘核定密钥。如果密钥与A一致,平台2便可以接受到A系统传出的密文,并自动对其解密,得到明文,即可以得到A所传递的手势信息,不同的手势信息可以代表A、B之前约定的不同实际含义。如果密钥与A不一致,平台2解密后得到的明文便是错误的,不能得到A所传递的手势信息。
反之,B可以通过相同的方法将自己的手势信息传递给A。在使用中,A只需要修改平台1的密钥即可使平台2的密钥核对失败。
系统工作时,还可以使用PC机,作为总监听站,来获取传输信息,监控系统两平台运行情况。
这样,利用该系统便可以实现A、B间手势信息的无线加密传输,完成信息交互,使用示意图见图2.1。
图2.1 系统功能示意图
三 软件系统设计
3.1 软件系统流程
系统软件流程图见图3.1。
图3.1 软件子模块实现流程图
图3.1说明了各个子模块的逻辑关系和使用时的数据流,其中Twofish加解密算法是系统核心,占用FPGA内部接近40%的逻辑资源,其它部分占30%左右。
3.2 Twofish算法
Twofish算法是由美国的Bruce Schneier等创建的优秀算法,是AES的候选算法之一。Twofish算法是典型的分组加密算法,加密时它将明文按一定的位长分组,明文和密钥的全部经过加密运算得到密文。解密时密文和密钥经过解密运算,还原成明文。Twofish的算法采用的明密文分组长度为128bit, 支持128bit、192bit、256bit的密钥长度。
四 硬件系统实现
硬件系统主要包括Spartan-3E嵌入式平台,自制电源模块和手势信息采集模块,辅以无线传输,液晶显示,键盘等子模块,硬件系统框图如图4.1所示。
4.1 核心FPGA
硬件系统核心为Spartan-3E系列的50万门FPGA,型号为XC3S500E-4FG320C,有1万多个逻辑单元和232个用户I/O,对其进行编程,可实现系统功能。
4.2 功能模块
功能模块主要包括电源模块、手势信息采集模块和其它辅助模块。
4.2.1 电源模块
电源模块的主要作用是使系统具有便携性。
系统选用+8V锂电池供电,经各电平转换芯片为各模块供电。系统选取LM2596T-5.0开关电源调节芯片,将+8V电源输入转换为+5V电源输出,为Spartan-3E开发板、数据输入模块、液晶显示模块供电。而无线模块工作时对电源稳定性要求较高,故选取7805稳压芯片将+8V电源输入转换为+5V电源输出,为其供电。
4.2.2 手势信息采集模块
手势信息采集系统的功能是将手势信息转换为FPGA可处理的数字信息,包括数据输入、模数转换和电平转换三部分。
数据输入部分采用弯曲传感器(Flex Sensor)来“感知”手势信息。弯曲传感器是利用其阻值变化来反映自身弯曲程度的传感器件。
弯曲传感器固定在一副手套的8个手指上,分别为左右手的食指、中指、无名指和小拇指。根据实验测得的数据,手指平直时传感器阻值约为10K,弯曲时传感器阻值大于15K,故选取10K的电阻,与其串联,构成分压电路,分压电路端电压为5V。将传感器的阻值变化转换为电压变化,供A/D转换。此外,外设一开关,用来作为FPGA控制采样信号的产生。
模数转换电路选用ADC0809,供电为+5V,选取基准电压Vref+为+5V,Vref-为0V。
ADC0809的高电平为+5V,而FPGA的I/O接口的高电平为+3.3V,故ADC0809与FPGA之间需要电平转化电路。选取74LV4245作为电平变换器件,可以完成5V至3V的电平双向转换,通过DIR引脚控制传输方向,引脚控制输出使能。
控制信号和数据信号通过Spartan-3E开发板的扩展接口与外部电路相接,这样,当手势信息变化时,FPGA就可以控制模数部分工作,读入手势信息。
4.2.3 其它功能模块
其他功能模块包括模液晶显示、无线传输、键盘输入、开关控制等。
五 系统测试
系统平台实物如图5.1所示
图5.1 系统平台实物图
在系统功能测试,发送端使用者A先设定密钥为字符串OneWorldOneDream,之后发送手势信息。当接受端使用者B的密钥与A一致时,可以接收到正确的A的手势信息18,而当B的密钥为OneDreamOneWorld时,接收不到正确的A的手势信息为66。同样,B可以向A发送手势信息,实现A和B之间的半双工通信。
A(左)、B(右)两平台液晶显示密钥一致时,结果如图5.2。
图5.2 系统功能测试
密钥不一致时,显示结果如图5.3。
图5.3 系统功能测试
六 创新与特色
本系统的具体特色和创新体现在如下几个方面:
6.1 选题实用性
本文研究的课题是从信息的安全性出发,来考虑信息的产生方式的隐蔽性、传输方法的安全性,构建的系统具有较强的应用性和实用性。
6.2 加密算法优越性
本系统采用128bit的密钥长度的Twofish算法,它具有以下优点:
6.2.1 Twofish算法安全系数大,具有很高的安全余量。
6.2.2 Twofish 算法硬件实现灵活,占用资源少,具有很强的适应性和可塑性,适合在FPGA上实现。
6.2.3 Twofish算法设计时考虑多层性能的平衡,加解密快速,与其他加密算法相比,具有速度方面的优越性。
6.3 实现手段创新性
采用新颖的弯曲传感器来“感知”手势,是本系统实现手段的特色之一。该传感器的使用原理并不复杂,而且能够很好地实现系统所需的功能,达到“隐性”产生信息的目的。
此外,为实现系统的便携性和实用性,本文独立设计了电源模块和手势采集模块,以及良好的人机交互界面,系统功能进一步完备。本系统还具有良好的可扩展性,例如,采用转换精度更高的A/D芯片,得到更多可以利用的手势信息;进一步优化改进加密算法,更加便于在便携式设备上使用;设计完善系统设备,实现多点自由通信等等,以及探索新的通信方法的思想,都值得我们今后深入研究。