手机支付是移动商务得以进行的基础,但移动网络的开放性,使得信号有更多的机会被恶意攻击,移动电子商务中的手机支付安全问题凸显出来。为此,我们针对签名加密算法的手机支付系统进行了开发,利用椭圆算法进行加密,保证手机支付时相关数据的完整性、机密性,使得手机支付更加安全、便捷,从而有效促进移动电子商务的健康、快速发展。

一、椭圆曲线密码体制是手机支付系统签名加密技术基础

1、椭圆曲线密码体制是目前手机支付系统最佳签名加密技术

1)占用内存小

对于所有公钥密码体制,安全性相当时,椭圆曲线密码体制密钥比较短,占用内存小,适应手机终端存储量小、运算速度慢的特点。

2)安全性高

基于椭圆曲线离散对数的数学难题上,没有亚指数攻击算法,具有较高的安全性。

所以有限域上的椭圆曲线适合于手机支付加密技术。

2、椭圆曲线简介

见Weierstrass方程如下:

1

令:

1

若:

1

则称Weierstrass曲线是光滑的,适合Weierstrass方程的所有解构成一条椭圆曲线。

二、手机支付系统设计

1、数字签名传递

支付信息消费者支付信息,使用MD5单向函数转化为数字摘要D1,用椭圆曲线加密算法进行加密,生成数字签名Sglo利用对称加密算法(DES)加密发送的消息DEatao消费者将Sgl和EData发送给接收方。

2、密钥交换利用Diffie-Hellman在椭圆曲线上的密钥匙交换方法传递密钥

①构建椭圆曲线方程o确定椭圆曲线方程参量:T=(p,a,b,G,n,h)o a,b,p是椭圆曲线方程y2+XY=X3+aX2+b中的变量,G是基点,n为点G的阶,h是椭圆曲线上点的个数m除以n的整数部分)。 P在200位左右可以满足通常手机支付安全;二是p≠n×h;pt≠1(modn),1≤t<20;4a3.+27b2(modp)≠0;n为素数i h≤40椭圆曲线上的所有点构成了Abel群Ep(a,b)。

②消费者用某整数N0(N0<n),做为私钥,消费者通过PA-NaG产生Ep(a,b)上的一点用来作为公钥。

③与消费者相同,商家和银行分别建立自己的私钥Ne,和公钥PB。

④发送方和接收方分别由K=N。PB,K=NbPA产生出双方共享的秘密钥。

⑤通信双方共同的对称密钥K可以由以上步骤生成。如果非法攻击者想获得K,需要求解椭圆曲线上的离散对数,是不可能的,由此保证了移动支付的安全。

3、移动支付中数字签名的实现

消费者方的过程:

1)确定安全的MDS算法的单向散列函数,利用参数=T(p,a,b,G,n,h)定义椭圆曲线方程。

2)生成密钥对(d,Q),d是私钥,Q=dG是公钥。

3)进行签名操作,①选择某随机数K,1<K<n-I。

②计算KG=(Xi,Y1),r-X1modn。

③计算K-1modn,e=md5(M)。

④计算S=K-1{e+dr)(modn)。

⑤对M进行加密,得到密文EDatao⑥输出签名(r,S)和密文EData。

验证签名的过程:

①验证r和S是(1,n一1)间的整数。

②对密文Edata进行解密得到明文M。

(3)计算E=MD5(M),W=S'.1(modn)。

④Ui=EW(modn), U2=rW(modn)。

⑤计算×=UIG+U2Q=(X1' Y;),令V=X1modn。

⑥如果r=V,接受签名。

三、加密算法的可行性

在现有的公钥密码体制中,如果限定密码长度相同,椭圆曲线密码体制有最高的安全性,所以可以开发出运算量小而加密强度高的公钥密码体制,适应了手机处理能力弱的特点,所以通过椭圆曲线密码体制可以对手机支付系统进行加密。

四、系统的安全性分析

基于椭圆曲线加密算法的的数字签名方案中,第三方不能修改消息。通过Diffie - Hellman过程来对称密钥的密钥交换,这样信息通过对称加密算法达到了信息的密文传输效果。基于椭圆曲线加密算法可以有效地防范窃听攻击和假冒用户攻击,在当前的技术条件下攻击者求解椭圆曲线上的离散对数问题获得私钥是不可能的。

小知识之手机支付

手机支付也称为移动支付(Mobile Payment),是指允许移动用户使用其移动终端(通常是指手机)对所消费的商品或服务进行账务支付的一种服务方式。