1 移动电子商务和移动支付
1.1 基于WPKI的移动电子商务
WPKI[1]以无线应用协议WAP(Wireless Application Protocol)的安全机制为基础[2],从传统的公钥基础设施PKI(Public Key Infrastructure)中发展而来。WPKI与PKI都是通过管理密钥和证书来执行移动电子商务策略。WPKI主要解决管理移动电子商务的策略问题,并为无线应用环境提供安全服务。WPKI的优化主要包括对证书格式的简化,以减少存储容量。另外WPKI采用了先进的ECC公钥算法,而非传统的RSA算法,这就可以大大提高运算效率,并在相同的安全强度下减少密钥的长度。由于WPKI证书格式是PKIX(Public Key Infrastracture on X.509)证书的子集,所以可以在标准PKI中保持互操作性[3]。
1.2 WPKI移动电子商务安全框架
鉴于目前大部分手机计算能力的低下,下面提供一种适合移动电子商务的WPKI移动交易安全框架,即引入验证服务器VA(Validation Authority)的WPKI移动交易安全框架[4],如图1所示。
VA作为所有无线终端的代理,完成各种复杂的证书验证和加密/解密操作(如多级证书链的验证)。此时,手机只需要处理单级证书验证,即只需对验证服务器回送的结果进行验证。
其验证过程如下:
(1)手机用户使用生成密钥对和证书请求,向PKI Portal申请证书;
(2)PKI Portal在完成审核后向CA签发系统申请签发证书;
(3)签发系统签发证书并通过证书库发布;
(4)签发系统将用户证书回送给PKI Portal;
(5)PKI Portal将证书回送给手机终端,存放在手机内的智能卡中。
1.3 移动支付
移动支付是指借助手机、掌上电脑、笔记本电脑等移动通信终端和设备,通过无线方式进行的银行转账、缴费和购物等商业交易活动。与传统支付方式相比较,移动支付的优点是真正实现了3A(任何时间、任何地点以及任何方式),也就是将无线通信技术的3A优势应用到金融业务之中[5]。它的优势从与以往支付方式(传统的支付方式与电子支付的方式)的比较中体现出来。但由于安全性和易用性问题尚未得到很好的解决,所以目前国内的移动支付主要是小额支付为主。
2 系统分析和设计
2.1 安全移动支付系统功能模块设计
安全移动支付系统组成如图2所示。该移动支付系统以WPKI为基础,依据移动支付业务需求设计[6],各模块功能如下:
(1)RA服务器提供HTTP/HTTPS服务,为用户提供申请证书的检查和审核,并提交给CA服务器进行证书签发;
(2)CA服务器提供证书目录和证书签发、注销、更新等;
(3)商家服务器提供HTTP服务,为用户提供商品浏览和定购,并提供支付平台分布式接口;
(4)移动支付平台提供与银行的接口,提供用户手机号码与银行账号绑定的功能,提供与智能终端支付接口,提供与商家信息交互接口。
客户在申请移动支付服务业务时,首先到银行(或银行网站上)开户或使用己有的账户来绑定手持设备ID(如手机号),这里手机ID用客户的数字证书来表示。
2.2 系统安全解决方案
整个系统的实现由4部分组成,它们包括:商家安全支付软件MSS、客户安全支付软件CSS、商业银行安全支付软件BSS和交易中心安全支付软件TSS。
2.2.1 安全功能设计
根据系统实体、交易流程及安全要求,4个软件模块的主要安全功能设计如下:
(1)MSS:该软件构成了卖方交易平台。首先应提供商品订购过程中所需的安全功能:与客户之间的双向身份认证,验证客户对定单的数字签名,生成商家对账单和承诺的数字签名,加解密与客户之间传递的信息。其次提供支付过程所需的安全功能:与交易中心之间的双向身份认证,验证银行返回的支付结果的数字签名。另外还记录客户签名后的定单信息,记录支付信息以及保存自己签名后的送货信息等。
由上述功能可知,该软件模块应提供身份认证、数字签名、客户定购及支付信息的处理、密钥及证书管理等服务。
(2)CSS:该软件构成了买方交易平台。它首先提供产品订购过程中所需的安全功能:与商家之间的双向身份认证,产生客户对定单的数字签名,验证商家对账单和承诺的数字签名,加解密与商家之间传递的信息。其次提供支付过程所需的安全功能:与交易中心之间的双向身份认证,采用银行的公钥加密提交的转账信息,生成交易中心需保存的交易证据,产生对交易证据的数字签名。
该软件模块应提供身份认证、数字签名、交易与支付历史数据存储管理、支付交易查询、密钥与证书管理等服务。
(3)TSS:该软件构成了安全交易平台。它记录了交易过程中传输的各种重要信息、可供争议解决的证据。其安全功能是:与商家之间的双向身份认证、与客户之间的双向身份认证、与银行之间的双向身份认证、验证客户提交的交易证据的数字签名、验证银行响应的支付结果的数字签名,并在出现争议时验证争议各方提交证据的真伪。
该模块应提供身份认证、数字签名、与商业银行业务系统联系的公共接口、交易与支付历史数据存储管理、支付交易仲裁、密钥与证书管理等服务。
(4)BSS:该软件提供支付网关功能,其主要作用是完成银行网络与Internet及移动网络之间的通信、协议转换以及数据的加解密,以保护银行内部网络的安全。实现与TTP之间的双向身份识别,验证客户的数字签名,产生支付结果的数字签名,解密客户传来的转帐通知,用商家的公钥加密支付结果。
该模块应提供:身份认证、数字签名、与交易中心业务系统联系的公共接口、 支付历史数据存储管理、密钥与证书管理等服务。
2.2.2 数字证书的配置
模块MSS、CSS、TSS、BSS均为基于WPKI的安全应用软件,因此需配置相应的数字证书。具体配置情况如下:
(1)MSS:配置商家服务器证书,用于与客户CSS之间的身份识别、消息加密和生成数字签名;用于与交易中心TSS之间的身份识别、消息加密和生成数字签名;
(2)CSS:配置客户服务器证书,用于与MSS之间的身份识别、消息加密和生成数字签名;用于与TSS之间的身份识别、消息加密和生成数字签名;
(3)TSS:配置交易中心的服务器证书,用于与MSS、CSS、BSS之间的身份识别、消息加密和生成数字签名;
(4)BSS:配置商业银行的服务器证书,用于与TSS之间的身份识别、消息加密和生成数字签名。
3 系统的实现
3.1 系统原理和交易步骤
该系统包括5个实体:商家、客户、银行系统、认证中心CFCA(China Finance Certificate Authority,中国金融认证中心)和交易中心TTP(Trusted Third Party,第三方信任实体)。其中,商家和用户完成定单及账单的提交和生成;银行系统负责处理支付信息;CFCA和PKI Protal(RA)用作保证系统的安全性;TTP记录了交易过程中传输的各种重要信息、可供解决争议的证据。系统原理如图3所示。
图中虚线代表CA分别向商家、客户、TTP和商业银行颁发身份证书,实线代表系统的交易流程。根据网上交易过程的步骤分析,并参考了各种支付协议的数据流程,确定了该系统的信息流、数据流、资金流按下列步骤进行:
(1)客户向商家下定单
客户通过手机浏览器在商家的Web服务器定购商品。客户根据商家的要求向商家提交定单Order,商家根据定单形成相应的账单Invoice,并将Invoice及商家的说明及承诺Statement发到客户手机浏览器。(2)客户通过手机支付货款
客户通过TTP的安全移动支付服务平台到银行支付货款。首先,客户将支付消息PM(Pay Message)提交到TTP的安全移动支付服务平台;之后,TTP安全移动支付服务平台将PM转发到银行;银行验证客户对PM的数字签名,取出支付指令PI(Pay Instruction),根据PI进行转账;并将支付结果PR(Pay Result)(包括支付金额、是否成功等信息)告知TTP安全支付平台;最后TTP安全移动支付平台将支付结果PR实时告知商家。
3.2 安全移动支付系统工作流程及实现
以客户提交订单的过程为例说明安全移动支付系统的工作流程及系统实现。
(1)客户在商家的Web服务器上选择要订购的产品,并填写完其他必要信息(如送货时间、地点等)后,点击页面上的提交按钮,此时激活CSS软件。CSS软件发送一个初始请求(InitPM-Requ)给商家的MSS软件,InitCM-
Requ的数据结构如表1所示。
(2)MSS收到InitPM-Requ后,向CSS发送初始回答(InitPM-Resp);InitCM-Resp的数据结构如表2所示。
(3)CSS收到MSS的初始回答(InitCM-Resp)后,做以下几步:
①Verify(CertM),若核实,则往下进行,否则终止;
②判断DE-PKM(SIGN-SK(H(Resp-Msg)))是否等于H(Resp-Msg),若相等,则往下进行,否则终止(DE-PKM为CSS用商家签名公钥验证其签名);
③从Resp-Msg中获得交易标识Random-T,并根据页面上订购的产品,生成OI(Order-Instruction,订货指令),OI的数据结构如表3所示。
④CSS发送购买请求(Purchase-Requ)给MSS,Purchase-Requ的数据结构如表4所示。
该安全移动支付系统提供了通过WAP/WTLS无线环境与第三方支付机构建立联系的安全支付方式。各参与实体所使用的公钥由CFCA签发的证书来分配,可以充分保障移动电子商务支付的机密性、认证性、公平性和完整性。同时,完整性中的数字签名技术也提供了安全移动电子支付的不可否认性。实现了从传统网上购物及网上银行卡支付向手机WAP无线购物及在手机终端直接使用银行卡进行网上支付的延伸,扩充了网上购物和支付的渠道,为人们的日常生活提供更多的便利性。