收稿日期:2006-05-07 修订日期:2006-09-07 基金项目:国家自然科学基金资助项目(10471104) 作者简介:杨小东(1981-),男,甘肃甘谷人,讲师,硕士,主要研究方向:密码学、信息安全; 张贵仓(1964-),男,甘肃天水人,教授,博士,主要研究方向:计算机图形学、数字水印; 陆洪文(1939-),男,浙江东阳人,教授,博士生导师,主要研究方向:数论、密码学.文章编号:1001-9081(2007)03-0584-03基于身份认证的手机支付系统的设计与实现杨小东1,3,张贵仓1,陆洪文2,3(1.西北师范大学数学与信息科学学院,甘肃兰州730070; 2.同济大学应用数学系,上海200092;3.华东师范大学网络信息安全研究所,上海200062)(y200888@ )摘 要:通过椭圆曲线上的W eil 配对的双线性和Euler 准测,提出了一种基于身份认证的签名加密方案。
它不仅可以获得较快的加密解密速度,辨别消息的真伪,还能抵抗重发密文的攻击。
该方案降低了公钥的存储和管理成本,签名长度大约是Guill ou 2Quisquater 签名长度的1/4。
针对手机自身的特点,设计了一种基于该签名加密方案的手机支付系统,并进行了安全性和有效性分析。
关键词:手机支付;身份认证;签名加密算法;Euler 准测中图分类号:T N918.1;TP309.7 文献标识码:AD esi gn and rea li za ti on of i den tity 2ba sed m ob ile pay m en t syste mY ANG Xiao 2dong 1,3,Z HANG Gui 2cang 1,LU Hong 2wen2,3(1.College of M athe m atics and Infor m ation Science,N orthw est N or m al U niversity,L anzhou Gansu 730070,China ;2.D epart m ent of A pplied M athe m atics,Tongji U niversity,Shanghai 200092,China ;3.Institute of N et w ork Infor m ation Security,East China N or m al U niversity,Shanghai 200062,China )Abstract:According t o the bilinear p r operty of the W eil pairing defined on elli p tic curves and Euler πs criteri on,an identity 2based signcryp ti on sche me was p r oposed .The sche me could obtain the quicker vel ocity of encryp ti on and decryp ti on,distinguish the right message fr om the wr ong message,and resist the attack of continuous cryp t ograph sending .This scheme could reduce the st oring and managing cost of the public key .The signature size was only about a quarter of the Guill ou 2Quisquater signature .Based on the signcryp ti on algorith m and the p r operties of the mobile,a new mobile pay ment syste m was p r oposed .Its security and efficiency perfor mances were als o analyzed .Key words:mobile pay ment;identity authenticati on;signcryp ti on algorith m;Euler πs criteri on0 引言手机支付是一种新兴的支付方式,具有与信用卡相似的方便性,同时又避免了使用信用卡的诸多麻烦。
在许多发达城市,平均每人持有一部以上的手机,手机支付具有很大的市场潜力和良好的发展前景。
目前的手机支付业务都是用户向商家提供手机号码及个人账户密码,移动运营商发送短信息进行确认,购物款项从个人小额账户中扣除。
但用户使用手机通信时,其通信内容在传输过程中根本没有得到保密。
绝大多数多公钥密码体制和数字签名体制[1],其公钥的管理和分发是通过一个公钥认证框架(如X .509)来实现,然而建立和维护这种框架异常复杂且成本过高。
本文利用椭圆曲线上的W eil 配对[2]的双线性,构造了一种基于身份认证的签名加密算法。
该算法不仅能够识别传递信息者的身份,对传输信息保密,抵抗重发密文的攻击,还能有效地降低公钥的分发和管理成本。
基于该签名加密算法,设计了一种可以处理高额交易的手机支付系统。
在交易过程中,用户的银行账号密码没有传输一次,用户只需提供手机号码便可完成整个交易,与目前的手机支付模型相比,具有更强的实用性和更高的安全性。
1 W eil 配对和Euler 准测1.1 W eil 配对选择大素数p 和q,p =12q,E 是定义在有限域F p 上且满足W eierstrass 方程y 2=x 3+1的一个超奇异椭圆曲线。
E (F p )={(x,y )∈F p ×F p |(x,y )∈E}是一个阶为p +1的循环群。
设G 1是E (F p )中所有阶为q 的元素构成的一个循环群,在G 1中椭圆曲线离散对数问题(Ellip tic Curve D iscreteLogarithm Problem,ECDLP )是困难的;G 2是F p 2中阶为q 的元素构成的一个循环群,在G 2中计算D iffie 2Hell man 问题和W eil 配对的求逆运算问题是困难的。
W eil 配对:G 1×G 1→G 2是满足以下条件的一个双线性映射:1)若对任意的P,Q,R ∈G 1,有:e (P,Q +R )=e (P,Q )e (P,R )e (P +Q,R )=e (P,R )e (Q,R )对任意的a ∈Z +,有:e (aP,Q )=e (P,Q )a=e (P,aQ )2)交换性:e (P,Q )=e (Q,P )-13)存在P,Q ∈G 1,使得e (P,Q )不等于G 2的单位元。
4)存在一个高效的算法[3]计算配对e (P,Q ),其中P,第27卷第3期2007年3月计算机应用Computer App licati onsVol .27No .3Mar .2007Q∈G1。
1.2 Euler准测设p是一个素数,a∈Z+,gcd(a,p)=1,则a是模p的平方剩余的充要条件是a(p-1)/2≡1(mod p)。
若p≡3(mod4), a是模p的平方剩余,则±a(p+1)/4(mod p)是同余方程x2≡a(mod p)的解。
2 签名加密方案2.1 系统参数的建立密钥生成中心(Key Generation Center,KGC)选择G1和G2是两个阶为q的循环群,P是G1的一个生成元以及W eil配对e。
随机选取s∈Z3q,计算P pub=sP;H0:{0,1}3→G1,H: {0,1}3→Z3q,是两个公开的安全Hash函数。
密钥s作为主密钥,公开系统参数(G1,G2,e,p,q,P,P pub,H,H0)。
2.2 密钥的生成用户A的身份I D∈{0,1}3,KGC计算Q=H(I D),S= s Q,则Q为A的公钥,S为私钥。
将S通过双方约定的安全渠道(如见面、信使等方式)发送给A,公钥Q存放于公用的文件中,系统中的每个用户都可从公用的文件中获得。
2.3 签名加密算法若用户A发送消息m给用户B,则A依次执行如下的加密算法:1)随机选取一个整数k∈Z3q,计算K1=kQ A,K AB=e(kQ B,SA),生成随机会话密钥K=kdf(KAB‖A‖B),其中kdf是一个密钥导出函数[4]。
2)随机选取r∈Z3q,计算R=rP,T=rP pub+H(m)S A,由于R∈E(Fp ),T∈E(Fp),不妨设R=(Rx,R y),T=(T x,T y),则(R x,T x)便是用户A对消息m的签名。
3)加入时戳:设t0为发送消息m的当前时间,计算T3= H(m,R,t0)。
4)用密码反馈模式(Cipher FeedBack mode,CFB)的AES和密钥K对(m,R x,T x,T3)进行加密,得到密文c=E K (m,Rx,Tx,T3),发送{c,t0,K1}给用户B。
2.4 签名解密算法B收到{c,t0,K1}后,计算Δt=t b-t0,t b是B收到密文的时间,如果Δt大于规定的时间,则拒绝解密,否则进行如下处理:1)计算K BA=e(S B,K1),恢复随机会话密钥K=kdf(KBA‖A‖B)。
2)用CFB的AES和密钥K对密文c进行解密DK (EK(m,R x,T x,T3))。
3)计算Ry =(R3x+1)3q(mod p),T y=(T3x+1)3q(modp)。
由上式可恢复R=(Rx ,Ry)∈E(Fp),T=(Tx,Ty)∈E(F p)。
计算H(m),验证等式e(T,P)=e(P pub,R)e(Q A,P pub )H(m)或e(T,P)-1=e(Ppub,R)e(QA,Ppub)H(m)是否成立。
若等式中至少有一个成立,则(Rx,T x)是A递交的合法签名。
4)检验时戳:计算等式H(m,R,t0)=T3是否成立。
当且仅当3)和4)两个等式同时成立时,接受m为用户A 发送的有效消息。
2.5 方案的合理性证明2.5.1 会话密钥的合理性证明K BA=e(S B,K1)=e(s Q B,K1)=e(s Q B,kQ A)=e(kQ B,s Q A)=e(kQ B,S A)=K AB则K=kdf(KAB‖A‖B)=kdf(KBA‖A‖B),通信双方能动态交换会话密钥K。
2.5.2 签名的合理性证明B对{c,t0,K1}解密处理后得到m,R x,T x,计算H(m), R=(R x,R y),T=(T x,T y),则:e(T,P)=e(rPpub+H(m)SA,P)=e(rP pub,P)e(H(m)S A,P)=e(Ppub,rP)e(H(m)SA,P)=e(P pub,rP)e(S A,P)H(m)=e(Ppub,R)e(SA,P)H(m)=e(P pub,R)(s Q A,P)H(m)=e(P pub,R)e(Q A,sP)H(m)=e(Ppub,R)e(QA,Ppub)H(m)通过Rx和Tx构造R∈E(Fp),T∈E(Fp)时,可能会出现-R和-T,所以有:e(T,P)-1=e(Ppub,R)e(QA,Ppub)H(m)3 参与者的初始设置商家选择I DS为自己的身份标识,密钥对记为(SS,QS);移动运营商的身份标识是I DT,密钥对是(S T,Q T);银行的身份标识是I DB,密钥对是(S B,Q B)。