WPKI是传统PKI对无线网络环境进行优化、修改后的扩展。WPKI通过管理证书、密钥及各种实体间的关系来增强移动电子商务的安全性。
一 WPKI系统组成和原理
基本的WPKI组件包括端实体应用(EE)、注册中心(RA)、认证中心(CA)和PKI目录。WPKI中,端实体应用(EE)和注册中心(RA)的实现与传统PKI不同,而且需要一个全新的组件-PKI门户。WPKI中的端实体应用的具体实现是一个运作在WAP终端上的优化软件,它依靠WML脚本加密接口和脚本加密库来作密钥服务和加解密操作,具体函数包括以下几个:
l 用户公私钥对的生成、存储和访问;
l 首次证书应用的完成、签名和提交;
l 证书更新请求的完成、签名和提交;
l 证书撤消请求的完成、签名和提交;
l 查找证书和撤消信息;
l 生成和验证数字签名。
PKI门户是一个联网的服务器,类似WAP网关,有RA的逻辑功能,并负责转换WAP客户给PKI中RA和CA发的请求。PKI门户内嵌RA函数,和无线网络中的WAP设备以及有线网络中的CA进行交互。一次完整的WPKI操作流程如下:
i. EE用户向PKI门户申请证书;
ii. PKI门户审查用户申请,通过后给CA发证书申请;
iii. CA发行证书并将证书贴到有效证书目录;
iv. PKI门户创建证书URL,并把URL发送给EE用户;
v. Web服务器或其它移动电子商务服务器取回证书或者是撤消信息;
vi. EE用户和WAP网关使用证书和密钥建立安全的WTLS会话,WAP网关和移动电子商务服务器或者Web服务器建立安全的SSL/TLS会话;
vii. EE用户用私钥证书对会话内容签名,结合加密保证无线设备和互联网之间的数 据安全传输;
在上述操作流程中,WTLS会话的客户端和服务器端在验证CA根证书有效性时有两种方法:带外HASH验证方法和签名验证方法。
在建立WTLS会话过程中,客户端把证书URL发给服务器端,服务器端使用该URL取证书。取得证书后,服务器端使用该证书,但不会把证书发给客户端。客户只接收和存储证书URL,可以节约有限的带宽和存储资源。URL定义可以有两种机制:LDAP URL和HTTP URL。
二 WPKI的主要技术
在实际使用中,传统的PKI针对无线环境进行优化后形成了WPKI,即WPKI针对PKI协议、证书格式、加密算法和密钥等关键技术均作了精简和优化。
1. WPKI协议
处理PKI服务请求的传统方法依赖于ASN.1的BER/DER编码规则,但BER/DER编码方法对处理能力要求较高,不适合WAP设备。WPKI协议用WML语言、WML脚本加密接口和脚本加密库实现,比起用BER/DER编码方法节省了大量处理能力。
2. WPKI证书格式
制定WPKI证书格式规范是为削减公钥证书所占用的存储空间。其机制之一是为服务器端证书定义一种新的证书格式(即WTLS证书格式)。与标准的X.509证书相比,该证书大大减少了所占用的存储空间。WPKI证书上的另一个非常重要的精简就是使用了椭圆曲线加密算法ECC,ECC算法使用的密钥比RSA算法的密钥要短,通过使用ECC算法,可使证书的存储空间比使用其它算法的证书要少100字节左右。WPKI还限制了IETF PKIX证书格式中某些数据域的大小,由于WPKI证书格式是PKIX证书格式的一个子集,因而可保持与标准PKI之间的互操作性。
3. WPKI加密算法和密钥
在WAP安全标准中,尽管传统的签名机制为可选项,但由于占用资源多和WAP设备处理能力低带来的性能问题,使得在无线环境中实现传统的签名机制是没有实用价值的。与ECC加密签名算法相比,传统的签名机制(如RSA算法)需要更多的处理资源和更多的存储空间。ECC加密签名算法是业内公认的目前最精简的签名算法,是支持无线环境下的安全机制的一个最适合的选择。典型的ECC算法使用的密钥长度为163位,而在同等加密强度的RSA算法密钥长度是1024位,也就是说,ECC算法使用的密钥长度只是同等加密强度的RSA算法密钥长度的1/6。ECC算法的上述特点使得密钥存储和证书存储占用空间大位减少,数字签名的处理效率得到提高。