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

发布者:会弹琴的鲸鱼3312最新更新时间:2010-10-06 关键字:智能卡  核心层实现  加密  解密  身份认证 手机看文章 扫描二维码
随时随地手机看文章

摘  要:针对C/S模式中传统的用户层网络通信方式效率低,安全性差的问题,全面考虑了系统整体的安全保密性能,提出了核22层实现方案。采用客户身份认证、数据完整性验证、传输信息加密安全策略,在智能卡的硬件支持和嵌入式uClmux平台下基于MicrowindowsGUI和TinyWidgets控件集设计实现加密系统。

引 言

  金融安全支付系统是专门针对金融领域应用需求,实现小型化、便捷、安全的自助交易的软硬件平台,能够为多种应用提供高速安全服务,解决目前交易信息在传输过程中存在的各种安全问题,实现金融信息的安全交易。基于该嵌入式系统的网络安全加密系统就是为了保证客户端的某些重要的数据信息在与银行服务器通信过程中能够安全地传输。

1 智能卡基础

  1.1 内部结构及特点

  智能卡又称为Ic卡,英文名称为SMART card或Integrated CircuitCard。根据卡中使用的集成电路的不同可以分为存储器卡、逻辑加密卡、CPU卡和射频卡。由于CPU卡中集成了微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPR0M)以及芯片操作系统COS(chipoperating system),从而构成一个完整的计算机系统。

  它不仅具有数据存储功能,同时还具有命令处理和数据安全保护等功能,因此安全性大大增强,从而得到了广泛的应用,成为智能卡中的主流产品?。本系统所采用的CPU卡,其芯片内核为ASIC硬件实现,安全度非常高,符合ISO/IEC 7816智能卡标准,符合《中国金融集成电路(Ic)卡规范》。其内部结构(如图1所示),智能卡具有以下特点 :① 自身的物理安全机制和COS的安全体系为CPU卡提供了双重的安全保证;② 自带操作系统的CPU卡对计算机网络系统要求较低,可实现脱机操作;③ 可实现真正意义上的一卡多应用,每个应用之间相互独立,并受控于各自的密钥管理系统;④ 存储容量大,可提供1K~64K字节的数据存储空间;⑤使用寿命长,数据存储时间可达l0年以上。

  1.2 主要功能

  智能卡具有以下功能:①身份认证:对持卡人、卡终端和卡片3方的合法身份做认证;②支付和结算工具电子钱包和电子存折的支付手段,可避免携带大量现金和找零的不便,提高交易效率;③ 安全模块:使用相应的密钥实现加密、解密以及交易处理,从而完成与用户卡之间的安全认证;④数据载体:CPU卡可作为个人档案或重要数据的安全载体,数据可至少保存l0年以上。

  1.3 工作原理

  智能卡安全体系包括3部分:安全状态、安全属性以及安全机制。安全状态是指智能卡当前所处的安全级别,即当前安全状态寄存器的值。安全属性又称为访问权限,即在进行某种操作时要求安全状态寄存器的值是什么。安全机制从广义上说是卡片支持的各种安全模式,从狭义上说是安全状态实现转移所采用的方法和手段。一种安全状态通过上述安全机制转移到另一种状态,把该安全状态与某个安全属性相比较,如果一致,则表明能够执行该属性对应的命令;如果不一致,则相关命令不能被执行,从而达到了安全控制的目的 。这就是智能卡安全体系的基本工作原理。

  智能卡主要是对由客户端发出的信息进行加密和对由服务器端传来的信息进行解密。该智能卡支持多种对称密码体制,它还存储着客户端主密钥和客户端ID号,通过它可以对文件传输过程中产生的各种敏感信息进行加密,对用户的身份进行认证,以保证信息的安全性和完整性。


  在密钥管理方面,智能卡根据注入其中的客户端ID号,利用Diversify密钥分散算法生成客户端主密钥。在与密码服务器进行通信时,服务器取得其ID号,同样利用密钥分散算法生成客户端主密钥,再利用客户端主密钥加密附带工作密钥的签到回应报文传回客户端,客户端的智能卡解密得到工作密钥,利用工作密钥调用相应算法完成加解密及消息完整性验证。

2 设计原则

  要设计一个网络安全加密系统,应该考虑以下几个方面:

  (1)标准化、模块化设计原则。在产品软件和硬件的设计过程中,遵循模块化设计原则,各个功能模块相对独立,各模块之间界定清晰的接口界面。遵循标准化设计路线,遵循人民银行PBOC*规范(算法除外),采用标准的接口,提供标准化的安全服务;

 [page] 

  (2)适应性、可扩展性原则。总体设计紧密结合实际应用,能够适应复杂应用环境及其通信线路、多种操作系统平台、Web服务平台、浏览器平台,支持各种流行的开发环境。另外,具有可扩展性,能够适应未来需求变化,能够应对安全威胁变化带来的新的安全风险,保障本系统在其整个生命周期的安全;

  (3)合理的密钥管理。密钥的安全控制和管理是系统设计的关键,在保证系统安全的基础上,密钥管理体系的设计尽量简洁、实用;

  (4)要在系统合适的地方对传输报文中的关键敏感字段进行加密保护。如果在低级的地方进行加密,就会因为过于相信底层的系统元素,而这些离用户层太远,即使被替换也不会引起用户的注意,这就引入了脆弱性;如果加密模块离用户太近,用户的频繁干预会很容易引入错误,不适合平常的使用。基于以上考虑,一个网络安全加密系统在保证安全的同时,还要保证系统的运行效率和易用性。所以本文设计的加密系统体现出以下原则 :

  (1)易用性。无论客户端还是服务器端,用户都不用关心加密和解密操作,所有的加解密操作和用户身份认证操作都由安全模块来自动完成;

  (2)安全性。采用多方面的安全机制,加密芯片自身具有身份认证和很强物理防分析机制,并且密钥的使用受用户口令保护。设置3级密钥管理体制,建立密钥管理中心,制定统一的安全管理策略,对全网密码设备的使用进行统一的安全监测和管理;

  (3)系统的高效率。加密系统不占用太多的内存,尽量使用系统中的各种缓存,以保证系统的整体效率不受太大影响;

  (4)对嵌入式操作系统的其它部分影响尽量小。加密系统不干扰操作系统其它部分的执行,安全模块独立。

3 实现方式

  传统用户层实现方式中(如图2所示),安全模块放在用户层,在应用程序要写文件的时候,数据要从用户层的应用程序经过系统调用进入系统核心层,核心层需要将数据交给应用层的安全模块处理,安全模块将数据处理完毕后再经过系统调用进入系统核一tl,层,最后核心层将数据送到远程服务器。数据在用户层和核心层多次交换,应用程序也需要在核心空问和用户空问多次切换,在用户空问和核心空问均需要对数据进行缓存,这样必然使系统的效率降低,而且,运行在应用层的安全模块很容易受到威胁。比如运行在核心空间的进程可以没有任何限制地访问应用层的内存,从而也就可以访问安全模块的内存空问,导致机密信息泄漏。但是这样实现具有系统兼容性好,实现简单,对系统改动小的优点,可以非常容易地在不同的操作系统上移植。


  我们所采用的核心层实现方式(如图3所示)将安全模块放到核心层实现,这样数据只需从应用程序所在的用户空间通过系统调用进入核心层,通过核心层的安全模块进行处理,也就没有了多个空问层次的切换,系统的效率得到很大的提高。同时,将系统代码固化在FLASH中,不支持对系统存储区域的写操作,因此一般的网络*或木马无法植于系统的可执行代码存储区中,这种固化特性使得通过客户端来攻击Web服务器变得非常困难。另外,在生成操作系统运行代码时只开放了8080浏览端口,禁用了其它不必要的网络服务端口,通过网络手段登陆客户端再进而以合法身份对Web服务器进行攻击也是不易做到的。线路上的中问攻击因为加密而难以实施,并且如果Web服务器没有受到攻击,则浏览安全的Web服务器~ 般不会受到攻击。所以,核心层实现方式所采用的系统固化、禁用服务、关键配置设定等安全增强措施极大的提高了系统的安全性和可靠性。


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

  [page]

  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产生新数据块;

 [page] 

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

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

  第4步:对每个数据块用相应的密钥进行加密;

  第5步:计算结束后,所有加密后的数据块依照原顺序连接在一起(加密后的D ,加密后的D:等),并将结果数据块插入到命令数据域中。

  (2)数据解密步骤

  第1步:将命令数据域中的数据块分解成8字节长的数据块,标号为D ,D ,D ,D4等,用与加密相同的密钥进行解密;

  第2步:计算结束后,所有解密后的数据块依照顺序(解密后的D。,解密后的D 等)链接在一起。数据块由LD,明文数据,填充字符组成;

  第3步:因为LD表示明文数据的长度,因此,它被用来恢复明文数据。

  4-3-3 安全报文传送

  数据完整性和对发送方的认证通过使用消息认证码MAC(message authentication code)来实现。MAC是消息内容和密钥的公开函数,其输出是定长的短数据块:MAC=C(M,K)。其中M 是消息内容,K是通信双方共享的密钥,C是MAC值的生成算法。算法C要求已知M1和C(M1.K),无法构造出满足C(M2,K)=C(Ml,K)的报文M2,所以MAC能惟一鉴别原报文。消息鉴别密钥(MAK)利用3DES算法计算交易信息的MAC值进行消息鉴别,通过对报文进行消息鉴别运算,确保报文不被篡改。

  (1)3DES算法:3DES算法是指使用16字节密钥K=(KL,KR)将8字节明文数据块加密成8字节密文数据块,如下所示:Y=DES(KL)[DES.1(KR)[DES(KL[x])]]。解密的方式如下:x=DES.1(KL)[DES(KR)[DES.1(KL[Y])]]。

  (2)消息鉴别算法:提取传输报文中的关键敏感字段,以8字节为单位划分成若干个数据块,当最后的数据块长度不足8字节时后补OX00。划分完毕后,将每一个数据块作为一个参与运算的数据块(D ),初值为8字节的十六进制0。最终得到MAC值是计算结果 。左侧取得的4字节长度十六进制数。算法流程如图5所示 。


5 结束语

  本系统针对客户端网络接入开放性结构的安全保密需求,综合采用多种安全措施,实现了对交易信息关键字段的传输加密保护与消息认证,确保交易信息安全及其加密设备的安全,具有较强的网络适应性。由于系统采用了公开源代码的操作系统,使得集成各种通信应用成为可能,能够很好的适应未来金融通信的发展。

  在以后的工作中,我们还需要从硬件、稳定性、使用环境各方面加强系统的抗攻击能力。

关键字:智能卡  核心层实现  加密  解密  身份认证 引用地址:基于智能卡的嵌入式网络加密安全系统设计

上一篇:英特尔发布家庭能源管理控制面板参考设计
下一篇:智能家居发展成趋势 网络门禁优势明显

推荐阅读最新更新时间:2024-03-16 10:54

骁龙895解密:弃用三星、回归台积电5nm增强版代工
尽管三星抢下了骁龙888的代工订单,但下一代骁龙895,高通似乎心思另有所属。   有媒体报道称,一些民间测试认为,骁龙888当前的功耗优化不佳,大家把矛头指向三星的5nm工艺以及高通的三丛集设计(X1+A78+A55)。   最新消息称,定于2021年底发布的骁龙895,将重回台积电制造,预计基于后者的第二代5nm工艺制造,初期季投片量达3万片,并逐季拉高投片量至2022年第二季。   目前,台积电的第一代5nm已经用在苹果A14、麒麟9000等SoC上,它们的表现均获得了肯定,至少没有像骁龙888这样的争议。   另外,报道还提到,高通还有意将部分订单转包给台积电,比如未来iPhone 13采用的X60基带等。   当然
[手机便携]
HMD下一代旗舰解密:命名为诺基亚10,旗舰定位
HMD自从发布诺基亚9 PureView之后一直尚未更新旗舰产品,之前传闻诺基亚下一代旗舰命名为诺基亚9.3 PureView,但是目前来看,诺基亚10或许才是最终命名。 10月28日消息,据Nokiamob.net透露的信息, 诺基亚下一代旗舰将命名为诺基亚10 ,预计会在晚些时候发布。 遗憾的是,关于诺基亚10的规格和具体发布时间尚不得而知。 既然是旗舰定位, 高通骁龙8系列旗舰处理器应该会是诺基亚10的目标选择之一 ,这是今年安卓阵营的旗舰标配。 考虑到12月1日高通发布骁龙875芯片,2021年年初就会量产商用,诺基亚能否成为第一批商用骁龙875的手机品牌还有待商榷。 毕竟前两代旗舰诺基亚8 Sirocco、诺基亚
[手机便携]
Moto G真机图解密:搭载骁龙865处理器,前置双打孔屏
前几天摩托罗拉预告了一款搭载骁龙 800 系列的 2021 年 Moto G 手机,现在可靠的泄密者 @evleaks 曝光了该机的更多细节信息,甚至还有一张实机图。   Moto G 的命名仍未最终确定,但摩托罗拉所指的设备就是目前公司内部所称的摩托罗拉 Nio。   根据泄露的信息,该机将搭载高通的骁龙 865 处理器,标配 8GB 内存和 128GB 存储,不过有迹象表明,还会有 12/256GB 的版本。   在设计方面,摩托罗拉借用了今年早些时候 Moto G 5G Plus 上使用的 6.7 英寸显示屏,左上角有双打孔自拍摄像头。   该机背面的图片仍然没有曝光,但可能与 Moto G 5G Plus 非常相似
[手机便携]
华为Mate30的屏下指纹技术解密
近年来,越来越多的手机采用了屏下指纹技术,华为最新发布的Mate30也是如此。这主要是因为指纹识别技术已相对成熟,具有安全性高、识别速度快、识别成功率高等优点,使得指纹识别技术已经被广泛应用于智能终端中。同时,具有较高的屏占比的智能终端正逐渐成为市场上的主流产品。 为了在保证较高屏占比的同时,兼顾习惯于前置指纹识别用户的使用习惯,屏下指纹检测技术提供了一种解决方案,即将指纹检测(FP)模组通过面贴或框贴的方式贴合在显示屏幕的下方。但是对于传统的屏下指纹设计,在环境光强烈时,人眼能够观察到FP模组位置的呈现紫红色,与显示屏幕的其他位置有明显色差,影响终端的美观性。 为了解决上述问题,华为公司申请了一项名为“一种屏下指纹识别终端”的发
[手机便携]
华为Mate30的屏下指纹技术<font color='red'>解密</font>
重现大马士革钢刀最美纹路,Redmi K40真机实拍图解密
集微网2月22日消息,今天Redmi公布了Redmi K40的真机实拍图,用现代科技,重现大马士革钢刀最美纹路,看上去很有质感,辨识度极高。 这款Redmi K40的配色命名为墨羽,墨云拖雨入战图,气吞十万羽林儿。此前官方透露该机正面采用居中超小的挖孔设计,边框也进一步缩窄,颜值更高。 据悉, Redmi K40系列包含两款机型,分别是Redmi K40和Redmi K40 Pro,均配备120Hz刷新率OLED挖孔屏,采用三星最新的AMOLED发光材料。 今天官方还公布了Redmi K40系列双旗舰将标配4520mAh大容量电池。官方还表示:骁龙888 旗舰,电量绝不能少于4500mAh。绝不为噱头卖点,牺牲续航体验。续
[手机便携]
三星Galaxy Note 20偷跑解密:120Hz屏
今年不少旗舰使用了高刷新率显示屏,Galaxy S20系列最高支持120Hz刷新率,但是它不支持2K+120Hz同时开启,外媒猜测原因之一可能是功耗高。   5月12日消息,据XDA报道,三星Galaxy Note 20系列将会解决这一问题,它采用的是120Hz刷新率显示屏(预计是挖孔屏方案)。   报道指出,三星Galaxy Note 20和Galaxy Note 20+将采用LTPO技术。LTPO即Low Temperature Polycrystalline Oxide(低温多晶氧化物)的简称,LTPO=LTPS+Oxide,同一个像素中集成了LTPS和Oxide两种TFT器件,Oxide是底栅结构,LTPS是顶栅结构。
[手机便携]
最新身份认证系统问世 人体触摸即解锁告别钥匙
美国微芯片技术公司研发的BodyCom让用户身体充当导线,从用户口袋内的一个数字签名芯片向他们所需打开装置的触摸板传输解锁代码 BodyCom通过用户身体,从口袋大小的芯片装置向基站的触摸板传输信号,所需电流均来自于基站   北京时间3月13日消息,据国外媒体报道,美国微芯片技术公司研发了一个令人难以置信的新系统,能够让类似房门钥匙这样的东西成为过去。这个名为“BodyCom”的新发明可以让用户的身体成为安全认证过程的一部分,通过数字手段打开房门或者其他装置和设备。   BodyCom让身体充当一条线路,从用户口袋内的一个数字签名芯片向他们所需打开装置的触摸板传输解锁代码。未来的BodyCom能够利用人体的传导率确定他们是
[安防电子]
ARM为智能卡应用推出SecurCore SC300处理器
基于Cortex-M3处理器的CPU具有先进的安全特性及功耗效率 中国上海,2007年11月14日 ——ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)今日在法国巴黎举行的CARTES & Identification 2007上发布了特别为非接触式和USB智能卡以及嵌入式安全应用而设计的ARM SecurCore SC300 处理器。这一新产品是基于广受欢迎的Cortex-M3处理器,结合了目前被全球智能卡最为广泛授权使用的32位RISC CPU ——ARM SecurCore处理器已获证明的安全特性,以及Thumb-2指令集架构的代码效率,将功耗效率和性能提高了一倍。 通过与三个领先的非接触式IC供应商的合作,Se
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved