基于嵌入式实现SM1算法的系统设计

2012-01-13 02:34武汉三江航天网络通信有限公司研发部
电子世界 2012年3期
关键词:加解密内核嵌入式

武汉三江航天网络通信有限公司研发部 王 振

引言

随着网络技术,特别是互联网技术在我国的迅速推过和普及,各种网络应用,如电子商务,电子政务,网上银行,网上证券交易等也在我国迅猛发展。但是网络非法入侵、诈骗等严重影响了网络信息安全。只有不断发展和提高网络信息安全技术,才能保证网络健康发展。在信息安全技术领域,公开密钥基础设施(PKI),很好的为互联网提供了安全服务。如今网络应用中的认证,数据的加解密,完整性验证,不可否认性等,已经离不开PKI技术的支持。目前通用的软件算法例如DES,3DES,RC4等在安全上无法得到保证,有些算法已经被破解。而SM1算法基于PKI技术,是一种基于硬件芯片的对称算法,并且是国家密码管理局明文指定的一种算法。要求在网络大数据量传输的过程中,主要是通过对称算法SM1来实现数据的加解密工作,保证网络信息安全交互,而非对称算法来实现身份认证和唯一性。

图1 系统总体图

图2 SM1芯片接口设计

图3 晶振时钟图

图4 软件设计图

1.系统总体设计

系统采用嵌入式系统,CPU采用三星公司S3C2440,操作系统采用嵌入式linux,64M SDRAM,128M NAND FLASH,SSX-E提供SM1算法。系统的总体设计如图1。

CPU:提供系统运行和计算以及和各个模块进行通信;

RAM:提供操作系统运行空间;

FLASH:提供boot启动程序,内核映像,文件系统;

ETHERNET:提供网络通信接口;

SM1:提供SM1算法接口;

UART:提供串口调试功能。

2.系统硬件接口,本文重点介绍SM1算法接口

系统CPU通过32为数据总线接口访问SSX-E芯片,为系统应用提供SM1算法。

SSX-E芯片:分组密码算法芯片,实现SM1密码算法。该分组密码算法的分组长度为128比特,密钥长度为128比特。具有ECB、CBC和OFB等多种运算模式,在32位数据总线宽度、ECB模式下运算速率可达到300Mbps以上,可满足各种条件下的应用需求。

主要的接口为:

HD[0:31]:32位数据总线;

HA[0:2]:地址总线;

/HCS:芯片片选信号;

/HRD:芯片读信号;

/HWR:芯片写信号。

根据SSX-E器件的要求,外部时钟使用50MHZ有源晶振作为芯片的主工作时钟,如图3所示。

3.系统软件设计

系统软件设计主要包括SM1算法的应用层API和内核层的驱动。应用层API实现系统应用调用SM1算法例如:ecb模式加密,ecb模式解密、cbc模式加密,cbc模式解密等。内核层的驱动:三星cpu通过32位数据总线,与SSX-E芯片交互数据。软件系统设计如图4所示。

3.1 bootloader设计

嵌入式系统中,bootloader是必须的。它是在操作系统内核运行之前的一小段程序,就像BIOS一样。这段程序可以初始化硬件设备,建立内存空间映射图,从而将软件的软硬件环境设置到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

3.2 内核编译选项

根据需要配置内核选项,主要包含:

(1)启动传递参数

(2)devfs文件系统支持

(3)芯片及系统类型配置

(4)DMA Engine support

(5)MMC/SD/SDIO card support

3.3 SM1设备系统驱动设计

Linux的内核是有设备管理、进程管理、内存管理和文件系统组成,linux设备驱动可以分为字符类设备、块类设备、网络接口类设备和其他非标准驱动。SM1设备被看做是字符型设备。

每个SPI外设都由1个总线号、1个设备号和1个功能号来标示,共有3个访问空间,即内存空间、I/O端口、和配置寄存器。每个设备功能都有一个配置空间,用于决定SPI的工作方式和映射到系统中的地址。相关函数:

3.4 SM1 API设计

由于SM1算法主要有:ecb模式加密,ecb模式解密、cbc模式加密,cbc模式解密等,API函数有:SM1_OpenDev,SM1_CloseDev,SM1_Initdev,SM1_LoadKeyIV,SM1_EcbEncrypt,SM1_EcbDecrypt,SM1_CbcEncrypt,SM1_CbcDecrypt。通过这些API函数可以对数据信息进行加解密,当黑客截获数据也无法破解,保证信息安全传递。

结论

本系统通过嵌入式系统实现了SM1算法接口,为后续应用系统做好了保障。已经成功应用在VPN系统以及CA中心。SM1算法效率高,速度快,破解难度大。随着信息安全的发展,国家密码管理局已经指定SM1算法作为对称加解密算法,而禁止使用软件算法,在今后的应用中会有更大的发展空间。

[1]公钥基础设施PKI与认证机构CA[M].北京:电子工业出版社,2002.

[2]嵌入式系统原理及接口技术[M].北京:清华大学出版社,2007.

[3]嵌入式设备驱动开发详解[M].北京:人民邮电出版社,2008.

[4]S3C2440A 32-BIT CMOS MICROCONTROLLER USER'S MANUAL,2004.

猜你喜欢
加解密内核嵌入式
强化『高新』内核 打造农业『硅谷』
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
搭建基于Qt的嵌入式开发平台
PDF中隐私数据的保护方法
嵌入式软PLC在电镀生产流程控制系统中的应用
微生物内核 生态型农资
电子取证中常见数据加解密理论与方法研究
基于FPGA的LFSR异步加解密系统
网络数据传输的加解密系统研究