针对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*规范(算法除外),采用标准的接口,提供标准化的安全服务;
(2)适应性、可扩展性原则。总体设计紧密结合实际应用,能够适应复杂应用环境及其通信线路、多种操作系统平台、Web服务平台、浏览器平台,支持各种流行的开发环境。另外,具有可扩展性,能够适应未来需求变化,能够应对安全威胁变化带来的新的安全风险,保障本系统在其整个生命周期的安全;
(3)合理的密钥管理。密钥的安全控制和管理是系统设计的关键,在保证系统安全的基础上,密钥管理体系的设计尽量简洁、实用;
(4)要在系统合适的地方对传输报文中的关键敏感字段进行加密保护。如果在低级的地方进行加密,就会因为过于相信底层的系统元素,而这些离用户层太远,即使被替换也不会引起用户的注意,这就引入了脆弱性;如果加密模块离用户太近,用户的频繁干预会很容易引入错误,不适合平常的使用。基于以上考虑,一个网络安全加密系统在保证安全的同时,还要保证系统的运行效率和易用性。所以本文设计的加密系统体现出以下原则 :
(1)易用性。无论客户端还是服务器端,用户都不用关心加密和解密操作,所有的加解密操作和用户身份认证操作都由安全模块来自动完成;
(2)安全性。采用多方面的安全机制,加密芯片自身具有身份认证和很强物理防分析机制,并且密钥的使用受用户口令保护。设置3级密钥管理体制,建立密钥管理中心,制定统一的安全管理策略,对全网密码设备的使用进行统一的安全监测和管理;
(3)系统的高效率。加密系统不占用太多的内存,尽量使用系统中的各种缓存,以保证系统的整体效率不受太大影响;
(4)对嵌入式操作系统的其它部分影响尽量小。加密系统不干扰操作系统其它部分的执行,安全模块独立。 |