APP下载

基于OMAP-L137的嵌入式通信终端方案的设计与测试

2016-11-22李康康胡荣磊

电子设计工程 2016年15期
关键词:开发板驱动程序密钥

蒋 华,李康康,胡荣磊

(1.北京电子科技学院 通信工程系,北京 100070;2.西安电子科技大学 通信工程学院,陕西 西安 710071)

基于OMAP-L137的嵌入式通信终端方案的设计与测试

蒋 华1,李康康2,胡荣磊1

(1.北京电子科技学院 通信工程系,北京 100070;2.西安电子科技大学 通信工程学院,陕西 西安 710071)

文中主要研究了一种通信终端安全方案的设计和相应的数据测试。安全方案在嵌入式硬件平台上实现。嵌入式平台是基于OMAP-L137双核芯片设计的,芯片包含ARM和DSP两部分。其中DSP端结合SSX0912协助处理器负责对密码算法进行处理,ARM端负责通信机制的控制:通过 ARM端的USB接口和外界通信终端进行数据测试。

通信终端;嵌入式;数据测试;OMAP-L137

随着网络和通信终端设备的普及,各种通信终端设备如PC机、手机、掌上电脑等如雨后春笋般爆发了出来,人们在办公室、公交、地铁,甚至将来可能在飞机上可以不受限制的接入互联网,我们使用网络进行电子支付,注册社交账号,玩电子游戏,和朋友共享我们的生活,甚至有时候上传自己的私密信息等等行为;不得不说这拉近了人们间的距离,方便了人们的生活。

然而,在人们享受网络带来的便利性的同时,却面临着很大的网络安全问题。我们日常生活中的信息安全性、私密性、可靠性已经变得十分的脆弱。信息安全带来的安全隐患为用户带来了很大的损失针对这些问题,文中提出了一种应对通信终端安全的方案,并进行了通信测试。

1 OMAP-L137简介

OMAP-L137是由美国德州仪器推出的一款基于ARM926EJ-S核心和一个C674x定点/浮点DSP核心的低功耗应用处理器,可实现456 MHz的内核频率。DSP可完成高精、高强度的实时处理计算,同时ARM来实施VxWorks、WinCE或Linux等各种高级操作系统。

本方案设计选择OMAP-L137作为信号处理核心处理芯片,以北京瑞泰创新公司销售的OMAP-L137最小系统板为核心进行底板设计,选用主控芯片满足方案设计要求。

2 SSX0912简介

SSX0912安全模块采用SSX0912安全芯片为核心设计,可实现SM2,SM3,SM4等国际密码算法。为了方便应用,SSX0912安全模块设计有UART总线接口、RS232总线接口和SPI总线接口,用户可根据应用选择不同接口。

针对安全应用,SSX0912安全模块参照X.509V3的证书格式,自定义了证书结构,在模块内加入了证书和公钥存储,方便密钥协商和身份认证。

3 安全方案的设计

3.1 硬件总体结构

硬件平台的通信机理是,通过OMAPL137上的 ARM+ DSP处理器,结合 Linux嵌入式操作系统,通过SPI接口调用 SSX0912的密码算法,然后把系统的生成数据通过 USB接口和外界终端设备连接起来,实现通信终端的安全需求,保证通信终端通信的安全性。其中 DSP处理器负责密码算法的实现,ARM处理器负责系统机制的控制,ARM和Linux之间的通信方式是通过TI公司的DSPLINK技术。总体结构图1如下:

图1 硬件结构图

SSX0912安全芯片是协助处理器,对密码算法进行运算,并且存储算法生成的数据。本方案中使用的通信终端是Linux操作系统。USB接口是本方案的核心之一,用于与外界数据交互,也就是用来进行数据的测试。

3.2 软件设计

3.2.1 平台介绍

在本方案的Linux开发环境中,OMAP-L137上电后,依次启动的程序是:dsp-nand-ais,UBl,UBoot,Linux Kernel(内核),Linux Filesystem(文件系统)。其中内核指的是uImage,是压缩了的Linux嵌入式内核,为操作系统的核心。文件系统是RAMDISK文件系统,是基于BusyBox文件系统生成的位于RAM中的文件系统。

Linux内核 uImage和文件系统 ramdisk.gz文件生成以后,通过 U盘或者超级终端,在 Uboot的引导下,先下载内核到地址 0xc0700000,然后再下载文件系统到0xc1180000地址中。

3.2.2 USB设备驱动

本方案中是通过ARM端的USB接口和外界进行通信的,所以USB设备驱动的开发便成了必不可少的一部分。

由于方案中要和通信终端通过 USB接口通信,并且OMAP-L137在通信终端看来是一个 USB从设备(通信终端是主模式),所以要重点探讨USB gadget的驱动开发。为了开发方便,在主机端尽量少些或者不写驱动程序,增强方案的通用性,结合Linux设备驱动程序gadget_serial.c源文件进行设备端驱动程序的改写。

通过分析Linux USB设备端驱动程序,结合 USB设备程序 zero模块进行分析,Linux虚拟串口设备驱动程序的程序框架和其它设备驱动的程序框架是一样的,所不同的是在设备驱动程序里添加一些支持字符处理的接口函数。

添加完一些必要的函数后对Linux内核进行编译,生成了g_serial.ko文件,将此文件拷贝到开发板文件系统中,通过insmod命令加载,通过命令#cat/proc/devices可以查看到,然后用 mknod/dev/usb_serial c 127 0在 dev下建立节点usb_serial,此时在开发板中就有了USB gadget的驱动。这样,再通过配置通信终端(Linux主机)的CDC-ACM驱动,就可以实现主机和设备之间(通过USB接口)的数据通信了。

3.3 密钥交换过程

为了确保通信终端与开发板之间能够安全通信,要用到密钥交换原理,具体流程图如图2所示:

图2 密钥交换原理

过程(1):B用A的公钥加密会话密钥和数据,然后一起发送给A。

过程(2):A用自己的私钥进行解密得到了会话密钥和数据,然后用会话密钥对同时发送过来的数据进行加密,紧接着A将加密后的数据用B的公钥加密后发给B。

过程(3):B在收到A发过来的数据后用自己的私钥解密,得到过程(2)用会话密钥加密过的数据。在确定加密数据数据无误后,重复过程(1)。

过程(4):A用自己的私钥进行解密得到了新的会话密钥和加密后的数据,然后用这个会话密钥对数据进行解密,最后发送给B,再和之前的未加密的数据进行比较。

4 安全方案的通信测试

在两端的USB驱动成功加载后,就可以在次平台上进行测试了。测试的程序是由OMAP-l137端和通信终端两部分组成。

4.1 通信终端程序

此程序在Linux操作系统(即通信终端)上运行,主要包括发送会话密钥和接收数据部分,程序主要函数有:

程序中的会话密钥是随机定义的。将程序在Linux系统上编译好生成可执行文件test。

4.2 OMAP-l137程序

程序在开发板上运行,主要包括数据的加解密、数据的接收发送部分,主要函数有:

将程序用交叉编译环境编译后生成可执行文件 board,下载到开发板中,在超级终端上运行即可。

4.3 测试结果

数据测试的结果如图3、4所示。

开发板收到的明文和加密后的密文:

图3 开发板收到的明文和加密后的密文

通信终端收到的密文和解密后的明文:

图4 通信终端收到的密文和解密后的明文

通过以上两张图能说明数据传输过程没有出现问题。通过和加密之前数据对比,发现数据完全一样,证明测试过程是正确的。

5 结束语

文中主要结合密码学和通信学相关知识,在OMAP-L137嵌入式平台下设计了一种安全方案,并成功的进行了数据通信测试。通过测试结果说明此安全方案通用性强,能够保护用户的私密信息,并且可以满足一些终端设备的要求。以后还可以进行密钥管理方面的研究和探索,具有一定的研究意义和前景。

[1]黄少滨.嵌入式系统USB Gadget驱动研究与实现[D].广州:华南理工大学,2012.

[2]李彦林.基于OMAPL137嵌入式平台的手指静脉身份识别系统的研制[D].重庆:重庆理工大学,2011.

[3]王晨光,乔树山,黑勇.分组密码算法SM4的低复杂度实现[J].计算机工程,2013,39(7):177-180.

[4]杨波.现代密码学[M].北京:清华大学出版社,2003:167-169.

[5]郭敬一.基于WINCE的嵌入式移动通信终端研究与开发[D].太原:中北大学,2007.

[6]刘泽华.基于OMAPL138的便携式脑电信号检测系统研究[D].天津:天津职业技术师范大学,2014.

[7]袁巍.AES算法的设计原则与其密钥扩展算法的改进[D].长春:吉林大学,2010.

[8]夏伟.移动终端中的通信安全技术研究[D].北京:北京邮电大学,2013.

Design and test of OMAP-L137’s embedded communications terminal program

JIANG Hua1,LI Kang-kang2,HU Rong-lei1
(1.Department of Communication Engeering,Beijing Electronic Science and Technology Institute,Beijing 100070,China;2.School of Communication Engineering,Xidian University,Xi’an 710071,China)

This paper studies the design and the corresponding data to test a communication terminal safety programs.Security program implemented on an embedded hardware platform.Embedded platform OMAP-L137 dual-core chip design,the chip includes ARM and DSP in two parts.Wherein the DSP processor is responsible for assisting terminal binding SSX0912 cryptographic algorithms for processing,ARM side is responsible for controlling the communication mechanism:Data tested ARM side USB interface and external communication terminal.

communication terminals;embedded;data test;OMAP-L137

TN918.4

A

1674-6236(2016)14-0157-03

2015-08-10 稿件编号:201508045

蒋 华(1962—),男,山西大同人,硕士,教授。研究方向:信息论与编码,通信技术。

猜你喜欢

开发板驱动程序密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
基于STM32H7的FDCAN通信系统设计与实现∗
阻止Windows Update更新驱动程序
TPM 2.0密钥迁移协议研究
计算机硬件设备驱动程序分析
一种对称密钥的密钥管理方法及系统
浅析单片机开发板的设计与制作
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
MiniGUI在基于OMAP5912开发板上的移植