椭圆曲线密码在移动支付CA中的应用
2014-12-05王艳红袁春花
王艳红,袁春花
(南通航运职业技术学院 管理信息系,江苏 南通 226010)
移动支付是指交易双方通过手机、PAD(平板电脑)、移动PC等移动设备所进行的电子商务交易活动。与传统的电子商务相比,移动支付存在着终端设备运算能力差、存储能力有限、移动网络稳定性较差等局限性。而且,由于采用无线网络,在交易过程中存在不少缺点,例如信息容易被窃取、信号容易受到外界的干扰、误码率高等。调查结果显示,在移动支付应用不断增长的今天,消费者对于支付的安全性需求也越来越迫切。因此,需要提供安全的移动支付方案,来保障通信过程中数据的传输安全,从而为移动用户提供放心的服务。现在被大家普遍采用的是基于公钥(PKI:Public Key Infrastructure)的数字证书安全解决方案,通过数字证书,为网络上的对象提供可靠的身份证明。所有的证书都是由CA(Certificate Authority)发行的,CA(Certificate Authority)认证是一套严密的身份认证系统,它通过提供一系列基于身份认证、数字签名等技术的安全问题解决方案,来确保电子商务的安全性。
相比传统的如RSA和DSA公钥密码体制,椭圆曲线密码(简称ECC:Elliptic Curve Cryptosystems)系统更安全,它的密钥长度更短、所需的运算量更小、运算的速度更快。而现在,国内大部分权威的CA认证机构都是基于RSA公钥密码体制的,因此,在处理速度和存储容量都受限的移动支付系统中选择性能更好的椭圆曲线算法是非常有必要的。从增强移动支付过程的安全性出发,设计了一种可用于移动支付的CA信任模型,并将椭圆曲线密码体制应用于该CA中,为移动支付提供了一种可靠的安全应用。
1 理论基础
1.1 移动支付系统
移动支付系统的目的是通过移动终端设备、电信运营商、移动通信网络、金融机构以及应用提供商等,给终端用户提供网上支付、缴费等业务。总体来讲,传统的移动支付系统主要由利用移动终端设备进行购买交易的移动用户、提供服务或者商品的商家、管理移动支付业务的移动支付平台和为用户提供资金担保和信用的金融服务机构这四个部分组成。如图1所示。
图1 移动支付系统框架
与传统的基于互联网为承载的电子商务不同,移动支付采用移动通信网络作为它的承载网络。单纯从技术角度来看,有线通信网络下所使用的安全交易机制很难直接用到无线通信网络环境下。首先,相对于PC而言,移动终端的处理器运算能力低、内存容量小,因此导致在移动支付中,终端对于大量的交易信息以及对于高复杂度的运算处理能力是远远低于PC机的。其次,相对于有线通信网络,移动通信网络的数据传输速度慢,网络通信过程中的延迟较大,网络带宽有限,通信的可靠性比较差,传输误码率较高。而且,无线通信网络在数据传输过程中,信息是以电磁波的形式进行传播的,因此相对于有线通信网络而言,信息更容易被截取、信号更容易被干扰。
由此可见,无论是从传输技术还是从终端的信息处理能力上,移动支付和传统的电子商务相比,存在着明显的差别。因此,我们不能把传统电子商务中采用的一系列安全技术方案完全照搬到移动支付系统中。在移动支付受限的通信和计算环境下,从保障移动支付的安全性这个目标出发,设计一套相应的安全解决方案就非常有必要。
1.2 ECC椭圆曲线密码系统
1985年,N.Koblitz和V.S.Miller分别提出了椭圆曲线密码体制,这种公钥密码算法将椭圆曲线上点的集合应用到了ElGamal密码体制中的。它的加密、解密以及签名算法都采用的是点加运算,从速度上来讲,远高于采用模幂运算的现在流行的公钥密码体制RSA和DSA。而且,相对于RSA等公钥密码体制而言,椭圆曲线密码体制整体的算法较为简单、采用的参数较短、对于系统的资源空间占用较少、对硬件要求较低而且安全性较高。椭圆曲线密码的这些特点使得它在手机、PAD、IC卡等领域有着非常广泛的应用前景,将椭圆曲线密码体制与移动支付结合起来,这对于终端设备存储和运算能力相对较弱的移动支付系统而言,无疑能更好的提高支付的安全性,并在一定程度上推动移动支付的发展。
2 移动支付CA模型设计
2.1 CA 认证
CA是进行电子商务认证的权威授权机构,对CA信任模型的设计,是移动支付系统中的一个重要环节。CA作为数字证书的颁发机构,负责数字证书的签发、管理以及认证等工作,它是PKI系统中可信的第三方,在WPKI(无线公开密钥体系)系统中位于核心的位置。CA数字证书是基于公钥密码为基础的,它通过使用公、私密钥对进行加密和解密。用户设置仅能为本人所用的私钥进行解密和数字签名操作,与此同时,用户还会对外公开一个与其私钥相配对的公钥,用于信息的加密和对数字签名的验证。通过公钥加密的信息只能由与之相配对的私钥解密,由私钥进行的数字签名只能由与其相对应的公钥进行验证。
移动支付的安全保障主要是基于CA认证,由CA保证用户的合法性、信息的保密性、完整性、不可否认性和不可抵赖性。
2.2 CA模型设计
根据相关规定,非金融机构是无法直接从事金融交易的,在整个移动支付的具体交易过程中,需要由金融机构和电信运营商双方来共同参与和完成。我们在移动支付系统中,设计了一个基于分布式结构的桥CA模型,在其中包含了两个分布式信任域:电信运营商和金融机构两个独立的CA群。两个信任域由桥CA实现相互连通、相互操作和相互认证。每个信任域内部的CA之间都是彼此独立的,它们相互之间进行交叉认证。
具体的CA信任模型如图2所示(假设模型中电信运营商由TCA1-TCA3三个CA构成,金融机构由的BCA1-BCA4四个CA构成):
图2 CA信任模型
在该模型中,我们按照每个对象在移动支付活动中的不同职责,将证书设置为:电信运营商的CA证书TCC(Telecom CA Certificate)、金融机构的CA证书BCC(Bank CA Certificate)以及终端用户的CA证书UC(User Certificate)。该CA模型系统完成证书的申请、审批、更新以及撤销等操作。为了确保移动支付的安全,系统中的服务方和移动用户双方需要首先领取CA证书,然后,再完成各自的身份认证工作,最后,完成相互的数字签名方案。系统中传输的数据都要基于私钥加密,来防止不可抵赖性的发生。
3 移动支付系统中CA模型的ECC算法
在支付系统中,根据上述移动支付中CA模型的需求设计,对桥CA、电信运营商CA、金融机构CA和终端用户CA分别进行相应ECC算法的应用。
首先,由桥CA随机完成对有限域Fq的选取,满足q=2m(m为素数)。并在该有限域上,选取椭圆曲线E=x3+ax+b,满足4a3+27b2≠0(mod q)。设置一个大素数n(n≧280)为其阶,选取该椭圆曲线上的基点P。桥CA将有限域Fq、椭圆曲线E、基点P和阶n进行保存的同时将这些信息对电信运营商CA和金融机构CA这两个群CA公开。然后,桥CA随机选取dbr∈[1,n-1]并把它作为自己的签名私钥,计算Qbr=dbrP,并将Qbr对外公布为自己的签名公钥。
在模型中各CA证书都成功颁发后,终端用户就可以开始申请用户的CA证书。假设,用户A他要去申请CA证书,首先,他可以到电信运营商的营业厅去提出申请,向对方提供其身份证以及银行账号等信息。然后,对方对该用户的相关信息进行审核,待审核通过后,对方会将用户A的信息发送给电信运营商CA。接下来,CA 会随机选取,计算作为加密的公私密钥对;选取1],并计算公式作为签名的公私密钥对。最后,分别将加密和签名的公钥写入用户A的CA证书中,最终完成对用户CA证书的签名。在用户移动终端的隐秘位置写入信息,并将CA证书、椭圆曲线的基点等公共信息写入终端的其他位置。当终端用户需要更新证书时,就要重新选取和,并通过公式重新计算新的
最初在建立该CA信任模型时,电信运营商和金融机构两个群CA内部的各CA只是各自生成自己的加密和签名密钥对,然后把生成的这两个密钥对以及证书的有效期、证书的识别码等信息写入到各自的CA证书中,但这个证书还需要加上其它CA的认证信息才能构成完整的证书。于是,群内部的每个CA就以广播的方式将其证书发给群中的其它CA,并对收到的证书进行签名。最后,每个CA将其接收的各个签名进行整合,以多重数字签名的形式添加到自己的证书中,形成完整的CA证书。并将这CA证书交由桥CA服务器进行认证,并进行统一的保管。
每个CA证书都有一定的有效期,证书的更新工作由桥CA进行,重新生成新的证书有效期信息以及密钥对信息。然后再由桥CA将已经更新的新证书发送给CA模型中的各电信运营商、金融机构以及终端用户。如果在证书更新的过程中,碰撞率过高(大于50%),桥CA可以对其之前公开的椭圆曲线进行更改。并且可以考虑进一步在CA与终端用户之间引入不同的椭圆曲线,以解决用户数量过多时造成的密钥对不够用的问题。如果CA或终端用户的私钥信息被泄漏了,系统还需完成对证书的撤销操作,并由桥CA根据申请完成对CA证书的删除。
4 结语
随着移动支付终端设备的不断普及,移动支付业务也在不断的上升发展中,其中的安全问题也日益受到关注。CA作为提供身份认证的权威机构,是移动支付安全保障的核心。从速度、安全性、系统开销等各方面而言,椭圆曲线秘密体制相对于现在CA中普遍使用的RSA密钥体制有着更多的优势。基于此,设计了一种用于移动支付系统的CA信任模型,并对该模型进行了相互认证结构的描述,通过椭圆曲线密码算法实现了对该CA系统模型的建立,提高了移动支付系统的实用性和安全性。下一阶段,我们将把此CA模型融入到整个移动支付系统中,与系统其他部分进行集合设计,并最终实现一套安全、有效的移动支付系统设计。
[1]Mobile Payment Forum.Mobile payment forum white paper[EB/OL].[2010-9-20].http://www.mobilepaymentforum.org/pdfs/mpf whitepaper.pdf.
[2]唐雄燕,侯玉华,潘海鹏.第三代移动通信业务及其技术应用[M].北京:电子工业出版,2008:154-157.
[3]李颖.基于ECC算法的移动支付系统研究[D].济南:山东大学,2011.
[4]孙敏.基于ECC复合加密方法的移动支付安全研究与实现[D].镇江:江苏科技大学,2011.
[5]尹颖禹,宋海冰.基于ECC的移动支付系统终端安全技术[J].广东技术师范学院学报,2008(3):48-51.
[6]朱振荣.移动电子商务安全关键技术研究[D].北京:北京邮电大学,2008.