何文才, 田传凤, 刘培鹤, 杨 伟, 韩妍妍, 张晓菲
(北京电子科技学院通信工程系, 北京 100070)
短距离加密无线数据传输系统的设计与实现
何文才, 田传凤, 刘培鹤, 杨 伟, 韩妍妍, 张晓菲
(北京电子科技学院通信工程系, 北京 100070)
针对传统无线数传系统不能加密以保证数据和文件的安全性问题, 设计一种利用Noekeon算法加密文件的短距离无线数传系统. 该系统由软件和硬件共同运行: 利用C# 语言实现主控界面的编程, 将Noekeon算法密钥存放在USBkey里, 在系统界面调用Noekeon算法对文件进行加解密, 操作USB1101-232无线数传模块对文件进行传输, 利用MD5算法验证收发双方的HASH值. 测试结果表明, 该系统可保证文件传输的可靠性和安全性.
Noekeon算法; MD5算法; 数传模块; USB密钥; 无线通信
目前, 实现无线通信的可行性方案有IrDA(红外传输)、 蓝牙、 WIFI、 无线数传模块[1]等种类. 这些针对数据和文件的无线数传系统的研究主要是能保障传输文件的准确性和可靠性, 并不能保障传输文件的安全性. 将密码算法和文件传输程序结合的无线数据传输系统则可解决上述问题. 在一对多控制中, 导线控制不能满足具有移动特性的设备的需求, 更不能满足数据和文件的保密性, 而加密的无线数传系统则可以克服这个缺点. 短距离无线技术都有其立足的特点, 或基于传输速度、 传输距离、 耗电量的特殊要求, 或着眼于功能的扩充性, 或符合某些单一应用的特别要求, 或建立竞争技术的差异化等, 但是没有一种技术可以完美到足以满足所有的需求. 红外技术、 蓝牙技术传输速度快, 但是只适合在相对稳定静止的短距离通信环境中应用; WIFI比较适用于办公室中的企业无线网络, 但安全性较低. 具体参数如表1.
本研究采用无线数据传输模块进行无线传输, 其有效传输距离约200 m, 是一种协议简单的短距离无线传输方案[2]. 它具有通信受环境影响小、 成本低、 构建周期短、 功耗低、 受地理条件限制少、 安装灵活等优点, 且系统维护方便, 支持点对点和一点对多点的数据传输. 最重要的是, 结合密码算法之后可保证文件传输的安全性和可靠性, 在许多领域都会有广阔的应用前景. 如利用无线数传模块搭建智能家庭网络[3], 可有效降低家庭无线局域网的构建难度与成本, 促进廉价智能家居的推广与普及.
表1 四种无线通信的参数比较
系统整体设计如图1所示. 本系统分为硬件和软件两个部分. 传输前发送方和接收方都将无线数传模块和USBkey插到电脑终端上, 两个终端距离超过1 m. 具体操作步骤如下:
1) 两台PC机运行C# 实现的EXE程序[4]并设置参数、 打开串口, 与无线数传模块握手确认连接成功;
2) 通过串口调用USBkey[5]里存放的Noekeon算法对文件进行加密并保存;
3) 与另一无线数传模块握手, 确认能够进行传输数据;
4) 将加密后的文件通过无线数传模块进行发送;
5) 接收端自动接收, 先设置保存路径并创建文件名和类型, 再进行接收文件;
6) 利用Noekeon算法对文件进行解密, 即可得到发送端的原文件.
经过上述操作步骤后, 就完成了对带有敏感数据的文件的传输操作. 通过硬件部分和软件部分组合而成的短距离的无线数传系统, 最终能够实现对文件的加密、 传输、 解密等操作.
图1 总体设计图
程序由Noekeon加密算法[6]、 HASH算法和主控程序三部分组成. 本系统采用Noekeon密码算法来保证文件的机密性. 保证信息完整性的有效方法是利用密码函数生成信息的“指纹”, 实现完整性检验, 系统采用MD5算法[7]来进行验证文件传输是否出现错误. Noekeon算法的加密、 解密流程图如图2所示.
图2 Noekeon算法的加密/解密流程图
主控程序即文件传输程序是本系统的核心程序, 通过这个程序可实现算法和硬件的调用以及HASH值的计算, 从而完成文件传输的操作. 文件传输程序界面利用C# 语言通过软件VS2010编写, 可实现调用Noekeon算法对文件进行加密与解密; 可通过调用串口将数据传输给无线数传模块, 继而通过传输模块传输文件和接收文件, 实现文件的传输操作. 文件无线传输的发送端与接收端具体流程图如图3所示.
图3 发送端和接收端主要流程框图
硬件部分由USB1101-232无线数传模块和USBkey组成. 系统硬件传输采用USB1101-232模块, 该模块主要由ATmega 8[8]和CC1101芯片组成, 是一款带有USB接口的无线数传模块, 专门为上位机设备无线数传应用而设计, 一般成对使用, 用于两台电脑间的数据和文件传输. 用PC端USB口直接取电, 很方便地构筑起PC机与单片机系统之间的远程无线控制; 能自动过滤掉空中产生的假数据(所收即所发). 另外, 成本廉价、 适应性好、 扩展性好、 设备维护上更容易实现, 这些优点也在本系统设计的考虑范围之内. 无线数传模块[9]带有USB接口的硬件PCB制图如图4所示.
图4 CC1101-232模块硬件展示
图5 USBKey硬件展示
USBkey主要存储密码算法的密钥, 通过对文件加密实现对传输文件内容的保护, 防止文件内容被恶意的篡改和截取. 传统的USBkey的功能主要是身份认证. 而本研究提出了USBkey另外一种功能, 即利用USBkey存储算法密钥, 从而将加解密过程在USBkey里实现, 脱离了电脑终端, 从而保证了数据安全, 进一步增强了系统的安全性. USBkey的硬件PCB制图如图5所示.
为方便控制, 采用的发射和接收频率均为433 MHz. 终端用USB接口与无线数传模块相连, 其主要的操作步骤有: 设置无线数传模块的串口参数; 设置USBkey的参数; 数据传输. 以C# 来开发主控程序, 在打开主控软件后, 软件首先要和无线数传模块和USBkey分别握手成功后, 才能进行后续通信. 在实际操作中, 可以调用上次存储的无线数传模块和USBkey工作参数. 图6是主控程序界面. 图7、 8是1234.txt文件发送端和接收端的主界面显示图.
图6 主控程序界面
图7 发送端主界面
图8 接收端主界面
系统的创新点在于: 提出利用Noekeon密码算法、 HASH算法和无线数传模块进行加密文件传输的设想, 为无线保密通信提供一种有价值的研究方法. 相信通过不断改进, 这一设计可应用在多种场合, 为人们的秘密通信提供便利. 由图6、 7、 8的系统界面可见, 该系统操作方便. 实际测试时传输速度快, 同时能够实现文件稳定传输, 且系统成本低廉, 为未来的无线通信技术应用推广提供了一定的价值.
目前, 市场上很多无线控制设备的性能越来越好, 功能也越来越强大, 但都有一个共同的特点—采用了公共频段, 在使用过程中可能导致相互之间的干扰, 而且这些干扰是潜在的、 突发的, 可能会对系统的运行造成严重的后果, 在本系统设计过程中, 为保证信息的有效传输, 需要考虑以下几点:
1) 有效性和传输速率. 如果系统无线通信环境较差, 则系统传输的误码率较高, 系统传输的有效性和传输速率则难以保证[10], 所以在通信时选择较好的通信环境非常关键.
2) 工作频段. 因为该USB1101-232无线数传模块采用了公共频段433 MHz, 所以存在潜在的、 或者不确定的干扰. 如当有其它系统的工作频率和该系统工作频率一致的时候, 会产生同频干扰, 而且有可能导致系统瘫痪, 无法正常工作, 所以进行通信时要选择一个相对“干净”的环境.
3) 传输正确性. 因为USB1101-232模块传输信息是透明传输, 所以为了保证传输数据的正确性, 在传输数据或文件的同时, 要在数据后添加冗余的校验信息, 在接收端如果检验出错, 就需要重新传输.
4) 对于主控软件的开发, 接收发送信息的控制方面, 本系统采用定时器触发的方式, 防止系统发送给终端消息后, 在等待返回消息的时间内, 造成“死机”的假象.
所以, 系统应用时应根据当前实际通信环境, 综合考虑以上因素, 选择最优的传输方案, 确保最好的传输效果.
针对传统无线通信系统的不安全性, 设计基于Noekeon算法的无线文件传输系统, 将Noekeon算法密钥存放在USBkey里, 同时利用MD5算法验证收发双方的HASH值, 利用USB1101-232无线数传模块进行传输文件. 测试结果表明: 该系统传输文件稳定, 速度快, 可实现双方之间的文件安全、 可靠的传输. 但是有研究报告表明, 能对Noekeon进行相关密钥攻击, 所以算法的改进、 防干扰、 差错校验在进一步研究中.
[1] 蓝杨. 基于无线数传模块和AVR单片机的微电网监测系统设计[J]. 硅谷, 2012(12): 73-75.
[2] 雷立动, 裴海龙. 基于无线数传模块的无人机通信系统设计[J]. 计算机测量与控制, 2012(20): 460-464.
[3] 郑魏, 李智敏, 骆德汉. 智能家居无线网络设计与实现[J]. 电视技术, 2013, 37(21): 56-59.
[4] 李铭译. C# 高级编程[M]. 8版. 北京: 清华大学出版社, 2013: 21-97.
[5] 刘威鹏. 设计和实现基于USBKey的透明加解密文件系统[J]. 计算机科学, 2008(35): 100-104.
[6] 吴文玲, 张月玲. 关于Noekeon 分组密码[J]. 中国科学院研究生院学报, 2002(2): 168-172.
[7] 谷利泽, 郑世慧, 杨义先. 现代密码学[M]. 北京: 北京邮电大学出版社, 2009: 13-19.
[8] 马潮, 詹卫前, 耿德根. Atmega 8原理及应用手册[M]. 北京: 清华大学出版社, 2014: 26-29.
[9] 吴科桦, 施荣华, 朱宁. 一种基于USBKEY的文件加解密方案[J]. 现代计算机: 专业版, 2005(8): 99-100.
[10] 李昌斌, 马莉, 房雪莉, 等. 无线数传模块的应用[M]. 信息技术, 2012(7): 69-72.
(责任编辑: 沈芸)
A design and implementation of short distance wireless digital encryption system
HE Wencai, TIAN Chuanfeng, LIU Peihe, YANG Wei, HAN Yanyan, ZHANG Xiaofei
(Department of Communication Engineering, Beijing Electronics Science and Technology Institute, Beijing 100070, China)
In view of the traditional wireless digital encryption system can not guarantee the safety of data and documents, we design a short distance wireless data transmission system which use Noekeon encrypt files. The system run jointly by the software and hardware operation: using C# language master of programming interface, will be key in your USBkey Noekeon algorithm, the system call interface Noekeon algorithm for file encryption, operating USB1101-232 wireless data transmission module of file transmission, using the MD5 algorithm validation and HASH value. Tested results show that the system can guarantee the reliability and security of the file transfer.
Noekeon algorithm; MD5 algorithm; digital module; USBkey; wireless communication
2015-10-19
何文才(1956-), 教授, 主要从事信息安全、 编码理论研究, hwc@besti.edu.cn
北京市自然科学基金资助项目(4144084); 中央高校基本科研业务费专项资金资助项目 (328201533)
10.7631/issn.1000-2243.2015.06.0767
1000-2243(2015)06-0767-05
TP309.2
A