0 引 言
随着移动通信技术的迅速发展,人们借助终端设备可以随时随地地接入网络进行交易和数据交换,促进了移动电子商务的发展。移动电子商务作为移动通信应用的一个主要发展方向,其与Intemet上的在线交易相比有着许多优点,因此日益受到人们的关注,而移动交易系统的安全是推广移动电子商务必须解决的关键问题。
在有线网络环境中,PKI是网络安全建设的基础与核心,是电子商务安全实施的基本保障。而在无线通信网络中带宽、终端处理能力等方面的限制,使得PKI不能引入无线网络。wPKI(wirelesS PKI)就是为满足无线通信安全需求而发展起来的,它可应用于手机、PDA等无线装置,为用户提供身份认证、访问控制和授权、传输保密、资料完整性、不可否认性等安全服务。智能卡拥有优秀的安全性,可以作为WPKI体系当中网络安全客户端很好的接入载体。智能卡有自己的处理器,因而能够在卡内实现密码算法和数字签名,并且能够安全地存储私钥。目前,智能卡已经逐渐应用于公安系统警务查询、税务部门查询、企业移动应用、移动电子商务、移动电子银行等领域,其中包括了基于PKI体系的USB Key以及利用手机短信进行移动业务处理的STK卡等。
1 WPKI与PKI智能卡
WPKI由终端、PKI门户、CA、PKI目录服务器等部分组成密钥管理体系。在WPKI的应用中,还设计WAP网关和数据提供服务器等服务设备。WPKI的基本结构如图1所示。
图1 W PKI的结构
WPKI中定义了一个PKI中没有的组件,即PKI门户,它负责处理来自终端和网关的请求,PKI门户一般代表RA并且通常和网关集成在一起。RA是连接终端和网关之间的桥梁,它负责接受终端和网关的注册请求,并向CA注册证书,CA一方面需要把生成的证书放到证书目录器(如LDAP服务器),供需要时(如网关和服务器等设备在需要进行验证时)各实体查询;另一方面要将证书通过RA发送到终端和网关。终端包括手机、PDA等WAP设备,而应用于其上的智能卡则用来存储数字证书、密钥等机密信息,实现加解密及进行数字签名的功能。
一张智能卡主要由微处理器(CPU)和存储器以及固化在卡上的操作系统构成,是具有存储能力和计算能力的集成电路芯片卡-2] PKI智能卡是将PKI技术应用于智能卡的产物,在PKI体系中,私有密钥以及第三方认证机构所颁发的数字证书可以存储在极为安全的智能卡上。由于智能卡所携带的微处理器可实现存储、加解密、卡内生成密钥对等功能,因此数字签名可以利用存储在智能卡上的私钥自动计算生成。整个签名过程都是由卡内自动完成,并且签名密钥不可出卡,所以PKI智能卡可以有效确保私钥安全和签名的有效性。
2 智能卡在WPKI中应用问题分析
一个安全、可靠的WPKI应用系统,其安全性取决于系统的方方面面。将智能卡应用于WPKI时,其在客户端的安全中扮演了重要的角色。WPKI体系根据无线环境与有线网络的种种区别,对PKI进行了优化,而当将智能卡应用于其中时,由于智能卡有特殊的环境要求,因此尚需解决一些特殊问题。在智能卡应用系统中,终端可以支持多个应用系统,终端上的智能卡需要保存所有被其支持的应用系统CA公钥,产生密钥并进行加解密运算、数字签名、存储数字证书等-3 J,因此智能卡上的密钥的安全存储是要解决的重要问题。在智能卡与终端的交互中,还需要进行相应的信息鉴别,保存交互的信息,以决定智能卡和终端的合法性。
另外智能卡作为一些机密信息的载体,其自身的安全性也是关乎整个系统安全的关键因素,因此在智能卡的设计和选择上需要相应安全策略和安全组件以达到一定的安全级别。
2.1 智能卡密钥管理策略
公钥密码技术已成为现代网络安全保密技术的基石,目前居于核心位置的公钥密码算法有两种,即RSA算法和椭圆曲线(ECC)算法。智能卡应用于WPKI时,不仅要选择计算简单且安全性高的算法,而且对于密钥的管理也非常重要。
2.1.1 算法选择
基于PKI的应用中,密钥算法的安全程度也是非常重要的一个环节。目前智能卡芯片通常提供DES甚至Triple—DES 的加密/解密计算能力。DES 算法是一种公开的算法,尽管能破译,但计算既不经济又不实用。例如采用差分分析对一个16轮DES的最佳攻击需要24r个选择明文,采用最佳线性攻击平均需要245个已知明文。
RSA算法的优点在于简单易用,缺点是随着安全性要求提高,其所需的密钥长度几乎是成倍增加。目前,一般认为RSA密钥至少要1024bit以上的长度才有安全保障,但1024位的加密运算对于智能卡将是一个沉重的负担。ECC算法使用较短的密钥就可以达到和RSA算法相同的加密强度,它的数论基础是有限域上的椭圆曲线离散对数问题,现在还没有针对这个难题的亚指数时间算法,因而ECC算法具有每比特最高的安全强度。由于智能卡在CPU处理能力和RAM大小的限制,采用一种运算量小同时能提供高加密强度的公钥密码体制对在智能卡上实现数字签名应用是至关重要的。ECC在这方面具有明显的优势,160位的ECC算法安全性相当于1024位的RSA算法,而210位的ECC则相当于RSA的2048位。
智能卡对秘密数据的加解密都是在卡内完成,攻击者是无法通过智能卡接口取得秘密数据的,因此是比较安全的。
2.1.2 密钥存储
无线识别模块wIM(Wireless Identity Module)用于存储WPKI公钥和用户私钥等密钥信息及相关证书信息,以完成无线传输安全层(WTLS)、传输安全层(TLS)和应用层的安全功能j 。在对WIM 的实现中,最基本的要求就是其载体的抗攻击性,也就是有某种物理保护措施,使得任何从WIM 模块中非法提取和修改信息的操作都不可能成功,智能卡就是一个很好的此类安全载体(目前普遍使用SIM 卡来实现此模块),而且智能卡有自己的处理器进行加解密和数字签名,更是节省了手机等终端设备的资源。一般,公钥具有两类用途:数字签名验证和数据加密。因此,终端智能卡需要配置签名密钥对和加密密钥对。这两类密钥对对于密钥管理有不同的要求。
签名密钥对:由终端智能卡生成,公钥发送给认证中心CA,由CA制作证书后再发给用户;私钥则保存在智能卡中,不能由WAP终端设备读取,也不能备份。
加密密钥对:通常情况下,用户端加密密钥由CA中心生成,生成后公钥用户签发证书,解密时要由CA中心加密保存,即做备份处理。在智能卡个人化时,解密私钥以加密方式写入卡中,同时完成加密证书的灌制。