陈善学,姚小凤,周淑贤,李方伟
(重庆邮电大学通信学院 重庆 400065)
移动电子商务融合了Internet、无线通信技术和电子商务,是指通过手机、个人数字助理 (personal digital assistant,PDA)和笔记本电脑等移动终端设备进行的商务活动。结合移动通信和移动电子商务中支付的特点,微支付在移动计费中的应用也显得越来越重要,这也是微支付的一个重要发展方向和研究热点。根据微支付和移动通信的特点,研究基于微支付的移动通信支付和认证模型是目前微支付发展中最有潜力的方向之一,也是微支付应用的热点,日本的DoMoCo公司提出的i-mode是微支付应用于无线通信最为成功的典范。
微支付中的电子货币可以由票据(scirp)或Hash链等组成,也可以由用户M产生,或由中间人B和商家V产生。由M或B代理产生的微电子货币一般与特定的M有关,如Millicent等;B作为可受信任机构,可以独立产生电子货币,它一般与特定的M类型无关,如MicroMint等;另外,V也可以根据B的授权(如通过颁发数字证书)来独立制造货币,它一般是基于 Hash链形式的,可以与特定的M有关,也可以无关,并具有灵活的扩展形式。下面简要地介绍3种常见的微支付协议[1~4]。
(1)Millicent
一种小额电子商务交易的Internet支付系统,在Web能够使用电子钱包,可称为便条(script)的电子令牌。script被安全地保存在用户的PC硬盘上,并用个人标识号或口令对其加以保护。扩展的MilliCent协议可在移动代理环境下实现微支付[5]。
(2)MicroMint
一种典型的微支付协议。它使用中间人来产生电子货币,产生的电子货币没有使用签名机制,这会很容易被攻击者验证,但它却不容易伪造。它没有采用公钥技术,安全性较低,但效率较高,适合于低额度电子支付。
(3)PayWord
基于信用的一种微支付协议。首先用户M在中间人(broker)处建立账户,中间人给用户分发PayWord数字证书,其中包括中间人名、用户名、IP地址、公钥、证书的有效期限及其他一些信息。
微支付面额小而其效率要求高,完全实现其公平性是不可行的。当交易量小时,微支付的公平性研究也没有多大的必要性。但当微支付的交易数量特别大时,如何采用有效的措施来实现微支付的公平性将显得尤为重要。采用一些新的公钥技术,如ECC算法来替代现有的RSA算法,可以在充分利用公钥技术特性基础上,有效提高系统效率,这也是微支付发展中一个很引人关注的话题。
无线移动通信网络的带宽有限,且相对有线网络而言,误码率较高,所以协议中尽量减少交换消息的长度和轮数。在移动网络环境中,移动用户使用多种无线通信协议通过多个移动接入网络进行连接。在现实中存在许多彼此独立的公共和专用移动服务网络。这些网络有的是移动的,有的是固定的,也存在大量的增值服务提供商(VASP)提供增值服务。在这种环境下用户可能处于多个移动网络区域内,可以选择满足要求的服务提供商。
本文在介绍微支付的基本机制和模型的基础上,研究基于共享密钥机制的微支付系统[6],并结合移动网络环境和已有微支付协议如一次性签名[7]、移动通信认证[8]等的优缺点,在入网认证机制[9,10]中利用移动网认证的随机数和用户SIM卡的私钥产生密钥结合ECC和AES产生一次性签名。该签名不可伪造,不可重复使用,且安全性高。所提出的微支付方案在交易的重要信息中都会嵌入该签名,防止用户和商家之间的欺骗。用户在浏览网站或交易时都是利用网站提供的临时用户标识进行交易,具有匿名性。用户的消费历史不可追踪。
有限域 GF(q)上的椭圆曲线:令p>3是一个素数,a,b∈GF(q)满足 4a3+27b2≠0,由参数 a,b 定义 GF(q)上一个椭圆曲线方程y2=x3+ax+b(mod q),定义曲线参数T=(q,a,b,G,n,h),其中G为基点,n为基点G的阶,h为曲线点的数量#E(Fq)除以n的商。假定在椭圆曲线E上有两点P、Q,且 P≠Q,满足 Q=kP,可以看出,给定 k 和 P,计算Q相对容易;而给定Q和P,计算k=logqQ相对困难。这就是椭圆曲线离散对数问题[8]。
就椭圆曲线公钥密码体制而言,各种椭圆曲线公钥密码体制的安全性都与相应的椭圆曲线离散对数问题的求解困难性等价。对于有理点数有大素数因子的椭圆离散对数问题,目前还没有有效的攻击方法,因此采用椭圆曲线加密可以提供足够的安全性。
AES(advanced encryption standard,高级加密标准):它是一种标准的对称加密算法,是一个迭代、对称密钥分组的密码,可以使用128、192和256 bit密钥,并且用128 bit(16 byte)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutation)和替换(substitution)输入数据,速度快、安全级别高且算法应易于各种硬件和软件实现。
IDmi、IDv、IDb分别是用户 MS的临时交易标识、商家 V的注册标识、TTP网站的标识;
Kbs、Kmv分别是 TTP与 SP,MS与商家 V 的 128 bit的共享AES密钥;
Kc是用户MS中SIM卡计算用于短期使用生成AES链的128 bit AES密钥;
Expire是AES链的有效期;
Tm和Tv分别表示用户MS和商家V的时间戳;
E(·)表示用 ECC 加密;
H(·)表示具有强抗碰撞冲突的单向散列函数Hash加密。
全文涉及的有关符号如下:∈表示从某一集合中随机选择;‖表示串连接;p、q为充分大的素数。
3G移动微支付模型除了要满足安全性、防欺诈性、不可否认性、公平性、匿名性外,还应满足可伸缩性和通用性。另外,最重要的是赢取广大的用户喜好和消费习惯。其基本模型如图1所示,协议涉及4方。
(1)移动用户(MS):拥有3G功能手机终端的用户。手机用户规模越来越大,足以涵盖网上交易用户。
(2)移动运营商服务平台(SP):负责认证用户的合法性,移动通信运营商运用自己的支付平台支持微支付交易。移动用户通过手机发出指令完成交易,支付交易金额包含在手机费中。且与TTP进行支付交易核对。
图1 3G移动微支付基本模型
(3)受信任的第三方(TTP):提供公正仲裁等服务,为交易双方提供安全交易机制,促进交易的生成。并与银行进行现金兑换。
(4)可信的金融机构(bank):管理TTP的账号,与 TTP进行现金兑换。
3.2.1 3G终端用户(MS)入网认证过程
3G网络接入安全机制主要有3种:临时身份识别、永久身份识别、认证和密钥协商(AKA)。
3G用户入网认证改进后的过程如图2所示。对改进后的整个验证过程采用公钥密码体制进行加密,原f5和f5*产生的匿名密钥算法可以去掉。同时对网络端认证已采用HLR数字签名,可以减掉一个异或器和f1,f1*算法。
3.2.2 用户AES签名产生过程
首先,用户到营业厅办理入网手续,用户随机选取一个随机数r∈[1,n-1],作为移动用户MS的私钥,3G移动服务平台产生私钥K1,K2,计算相应的公钥P=rG,P1=K1G,P2=K2G,移动用户入网认证成功后得到的随机数RAND(R)和Ki(手机的SIM卡中存储着用户的国际移动用户标识(IMSI)和用户的私钥 K,认证中心根据 IMSI找到用户的Ki)用算法产生 Kc∈GF(q),然后计算 K′=KcP1+PP2,K′≠0,用K′作为会话密钥,用AES算法反复加密,得到一个AES链:
此链在每次交易时一次性递增使用,用户保存当前的i、Ri和该链的有效期Expire。使用该链做为移动用户每次购买商品的一次性签名。
3.2.3 商家注册网站过程
由受信任的TTP建立网站,提供给商家使用,商家可以租借或购买的形式使用该网站,商家只能装饰网站内容不能更改链接地址、商家提交销售的商品类、商家签名Signv、商家与用户交易时的共享密钥Kmv、商店名称、商家IP地址、使用有效期等资料。TTP核对资料后发放注册号IDv、有效期 T。
图2 用户MS入网认证过程
(1)移动用户MS登录3G网络,进入TTP的网站后自动生成临时用户标识IDm,浏览商品并选择购买。商家V发送购买信息给用户MS确认:
(2)用户MS收到后,用Hash运算确认购买消息无误后点击网站的移动运营商服务平台(SP)连接:
(3)移动运营商服务平台(SP)检查用户的合法性后查询用户手机余额是否大于消费额p,如小于则发送“余额不足,请充值”的消息给用户MS,如大于则发送“允许扣费”的消息给用户,移动运营商服务平台(SP)把用户签名过的信息存储起来(用户离线时,可用此签过名的信息利用SMS与商家协商)并同时发送给TTP。
(4)用户收到允许消费的信息后,把商家发送的信息经过用户MS签名确认发送回给商家:
(5)商家V把用户MS签名过的货单信息发送给TTP进行内部操作,TTP对信息确认登记:
(6)TTP核对价格和签名是否一样,如一样发送可发货信息给商家。
(7)用户收到商品后,登录到TTP网站对商家进行评价和再次确认:
(8)TTP收到用户的再次确认信息后,发送给SP,SP发送用户消费后余额信息给用户MS。
(9)TTP一天或一段时期后,但不能超过用户签名的有效期,到银行换取现金后发送给商家。
安全性是网上交易面临的最大挑战。任何一种方案取得成功的先决条件就是实现高水平的安全性。此方案的安全性分析如下。
(1)要篡改或窃取用户MS的一次性签名必须要知道Kc和(i,Ri),Kc是由 3G移动终端用户MS入网成功后收到归属位置寄存器 (HLR)发送的RAND和用户的Ki经过A8算法或其他更有效的算法得到,如果用户SIM卡被其他人使用,由于不知道用户的私钥,其他人无法伪造签名,具有不可否认性,比参考文献[7]增加了破解的难度,即前向和后向都具有较高的安全性。
(2)消费无过度或重复,每次消费用户都用AES一次性签名,它是递增使用的,并且不接受小于当前有效序号的签名,该算法机制用户的消费踪迹,保证用户不被跟踪,且具有匿名性。
(3)每次有新的交易时,用户MS都是使用 TTP生成的临时标识IDm,商家无法知道用户MS之前是否来消费过,具有可便性、灵活性。
(4)商家无法篡改或否认消费,购买信息有用户MS确认后的签名,商家发货时经过TTP同意,TTP保留商家签过名的货单,不可否认和篡改。
(5)用户再次确认后,用户的资金才会真正被扣除,第一次的确认,资金会被SP冷藏起来,再次确认后才会被解冻,消费掉。如果用户无第二次确认,SP会在签名有效期内发送信息询问用户和TTP,如无特殊情况,SP发送成功交易给TTP,不存在用户MS重复支付;且每次消费都会询问SP,因此可以有效地防止用户MS的恶意消费。
(6)用户对商家进行评价,有利于TTP对商家的管理,只要货物如实所诉,商家不用担心无法收取现金。
协议的安全性比较结果见表1,在提出的方案中手机用户进行微支付的安全性得到很好的保障。
表1 小额支付和微支付的安全性比较[9]
该方案提出在3G无线网络环境下实行微支付协议,用户身份认证得到肯定[10],保证传输时数据的机密性和信息的完整性;提出交易过程中利用入网认证得到的随机数和用户SIM卡里的私钥结合参考文献[7]生成一次性签名,该方法是M与B可以按挑战响应方式相互认证并得到会话密钥,因此本方法安全性更高,且可保证交易信息的可认证性(可鉴别性)和防抵赖性;商家存储用户交易信息当中保留了用户的临时标识和签名,保证用户身份隐密和不可抵赖性比参考文献[9]更实用。兑换现金不用商家直接参与,由TTP向银行兑换,减少兑换人的数量,避免商家取不到现金。
1 Manasse M.The millicent protocols for electronic commerce.In:Proceedings of the 1stUSENIX Workshop on Electronic Commerce,New York,USA,July,1995
2 Rivest R,Shamir A,PayWord,et al.MicroMint:two simple micropayment schemes.In:Proceedings of the 4th Security Protocols International Workshop (Security Protocols),LNCS1189.Springer-Verlag,Berlin,1996
3 Peirce M. Multi-party electronic payments for mobile communications.Dublin:Computer Science University of Dublin,2000
4 姬东耀,王育民.基于PayWord的小额电子支付协议.电子学报,2002,30(2)
5 于宝东,金连甫,陈平.移动代理环境下实现微支付系统——扩展MilliCent协议.计算机工程与应用,2004(26)
6 胡伟,钟乐海.基于共享密钥机制的微支付系统的研究.计算机时代,2004(7)
7 崔岩,刘永杰,周玉洁.一种适用于移动电子商务的微支付方案.计算机工程与应用,2005(35)
8 邓方民,许春香,张娟.基于ECC的移动通信认证和密钥协商协议.计算机应用与软件,2006,23(2)
9 Mahmoud R H,Elahe S.A secure m-payment protocol for mobile devices.IEEE CCECE/CCGEI,2006(5):294~297
10 刘莹,陆松年,杨树堂.基于混合密码的增强型3G终端入网认证方案.计算机工程,2008,34(20):149~153