新闻中心

EEPW首页>手机与无线通信>设计应用> 基于智能卡的嵌入式网络加密安全系统设计

基于智能卡的嵌入式网络加密安全系统设计

作者: 时间:2010-09-29 来源:网络 收藏


  4安全加密系统的设计与实现

  4.1 Microwindows和TinyWidgets基础

  Microwindows(如图4所示)是一个著名的开放源码的GUI软件,目的是把图形视窗环境引入到运行Linux的小型设备和平台上。作为XWindow的替代品,Microwindows可以使用更少的RAM和文件存储空间(100 K~600 K)提供与x Window 相似的功能。Microwindows允许设计者轻松加入各种显示设备、鼠标、触摸屏和键盘等 。


  Microwindows的可移植性非常好,基本上用c语言实现,只有某些关键代码使用了汇编以提高速度。Microwindows支持Intel 16位、32位cPu,MIPS R4000以及ARM 芯片。尽管Microwindows完全支持Linux,但是它内部的可移植结构是基于一个相对简单的屏幕设备接口,可在许多不同的RTOS和裸机上运行。Microwindows系统以图形方式支持在主机平台上的仿真目标平台。这样, 为Linux设计的Microwindows应用程序就可以在台式机上进行编写和开发而不用进行交叉编译就可测试和运行,并且直接在目标平台上运行。

  MicroWindows是一个基于典型客户/服务器体系结构的GUI系统,基本分为3层。最底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,并进行窗口管理;最高层分别提供兼容于X.Window和WindowscE(win32子集)的API。但由于Microwindows没有实现窗口管理,这样对窗口的管理就需要系统提供一个插件集。TinyWidget就是这样的一个控件集供程序员来调用。TinyWidge~是一个基于Microwindows的c控件集,提供了一些比较基本的控件对象,比如窗口、按钮、标签、文本输入框、列表框和组合框等。

  4.2 uClinux及其文件系统构建方案

操作系统uClinux(micro.contro1.Linux)是模块化,简化版的Linux,具有可剪裁、可配置、高安全性、好的可移植性和扩展性等特点,容易进行升级换代,以不断适应新的应用 。

  uClinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面,首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码,其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。Romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理。ram盘将采用ext2(第二扩展文件系统)或者jffs2(日志闪存文件系统)。

  因此,综合考虑存储空间可用性因素,我们可以混合使用romfs和jffs2文件系统。使用romfs文件系统可以得到更大的空间节省和更快的运行速度,使用jfs2文件系统可以为用户提供读写空间,方便用户添加自己的个人文件和数据。Romfs文件系统作为uClinux的根文件系统,可以将jffs2文件系统挂载到romfs的/home目录下供用户来读写。

  4.3 具体实现

  我们采用Microwindows做界面,在uClinux下通过调用卡的命令实现对信息的加解密操作。具体实现包括:①身份认证,保证通信双方身份的有效;②采用高强度加密算法对通讯数据进行加密和解密,上传时相关数据被加密,下收时相关数据首先被解密,然后再作另行处理;⑧ 安全报文传送,保证数据的可靠性、完整性和对发送方的认证。

  4-3.1 身份认证

  客户端的身份是由安全模块确定的,每一个安全模块具有一个惟一的ID号,在实际交易前,客户端发送签到报文将ID号上传服务器,服务器首先检验该ID的合法性,通过后则下发加密后的工作密钥,如果客户端能够解密得出工作密钥并继续进行交易,则表明服务器的身份是合法的,从而完成对客户端的实体认证;签到完成后,服务器要求用户输入用户名、口令,并对ID号、用户名、口令进行验证,完成对客户的身份认证。

  4.3.2 加解密

  加解密采用的是已经烧到卡中的高强度对称加密算法和128位的数据加密密钥对传输报文中的关键敏感字段进行加密。

  (1)数据加密步骤

  第1步:用LD表示明文数据的长度,在明文数据前加上LD产生新数据块;

  第2步:将第1步中生成的数据块分解成8字节数据块,标号为D ,D ,D ,D 等。最后一个数据块的长度有可能不足8位;

  第3步:如果最后(或惟一)的数据块长度等于8字节,转入第4步;如果不足8字节,在右边添加16进制数字“80”。如果长度已达8字节,转入第4步;否则,在其右边添加1字节16进制数字“0”直到长度达到8字节;

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


关键词:智能嵌入式网络

评论


相关推荐

技术专区

关闭