基于J2ME的移动支付系统研究

时间:2022-08-30 02:05:58

基于J2ME的移动支付系统研究

摘要:针对传统支付系统的不足,提出了基于J2ME的移动支付系统的设计方案,首先介绍了J2ME技术,然后对移动支付系统架构进行了探讨,接着分析了基于J2ME的移动支付流程,最后,介绍了基于J2ME的移动支付系统移动终端的设计。

关键词:移动支付;J2ME;移动终端;支付系统

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)23-5810-03

The Research of Mobile Payment System Based on J2ME

WANG Yin, LI Shan, ZHENG Chao-mei

(Information Engineering College, Nanchang University, Nanchang 330031, China)

Abstract: Aiming at the deficiency of the traditional Mobile Payment System, a new design scheme of Mobile Payment System Based on J2ME is proposed,Firstly, In this paper it introduced J2ME technology,Secondly, it analyzed the Process of Mobile Payment Based on J2ME,In the end ,it analyzed the mobile terminal design of Mobile Payment System Based on J2ME.

Key words: mobile payment; J2ME; mobile terminal; payment system

随着电子商务技术的推广应用和移动通信技术的迅猛发展,传统的消费观念正在逐渐改变,传统的支付手段,如使用银行卡或PC机通过Internet进行在线支付等,已经难法满足人们希望随时随地购物愿望的要求,基于此,移动支付系统应运而生,移动支付是指使用移动设备(手机)通过无线网络完成支付行为的一种新型的支付方式,与传统支付手段相比较,移动支付具有交易时间短、支付灵活便捷等优点, 移动支付可以给用户带来更好的便捷体验,用户在线上或线下随时都可以付款,移动支付是未来移动通信数据业务的一个重点,J2ME是目前最流行的手机上的应用程序平台,使用J2ME可以快速开发出多种功能强大的应用程序,比如:游戏、娱乐、电子商务等, J2ME是目前移动支付系统的最佳应用程序平台,特别是对安全性要求比较高的宏支付系统,基于此背景,对基于J2ME的移动支付系统进行了研究。

1 J2ME技术

J2ME (Java 2 Micro Editfon)是Sun公司针对嵌入式电子产品推出的JAVA平台,是致力于嵌入式设备和资源受限的消费产品的最佳解决方案,J2ME在办公自动化,工业自动化,电信和数据中心,电子元器件,汽车,商业零售,航天和军事等各个行业都得到了广泛应用,现在使用 J2ME 比较多的应用包括手机,PDA,家庭 Audio/Video,数字电视顶置盒,汽车导航系统,Internet 访问设备等。

J2ME 体系一般由Java虚拟机、Configuration、Profile、MDIP和Optional Packages(可选包)组成,其中, Java虚拟机运行于设备的宿主操作系统之上,是构成整个应用平台的基础,Configuration根据不同的设备定制了一组可以在目标设备上面运行的 API函数, 常用的CLDC 与CDC是当前比较成熟的两个Configuration,其中,CLDC常用语那些 CPU较慢内存较小且网络带宽中等的无线设备,比如手机,而CDC 则常用于硬件比较强的设备,比如数字电视机顶盒,Profile 是在 Configuration 上面定义的一层 API,应用程序的运行环境需要一个至少一个 Profile和Configuration,多个 Profile 可以叠加与共存在一起,其中常用的是移动信息设备框架(简称MIDP),MIDP是一个位于 CLDC 上层的Java API 集合,主要用来处理移动设备的用户界面及数据通信等,根据移动设备不同的需求,可以通过Optional Packages(可选包)添加可选包进行扩展,定制不是 Configuration 和 Profile 所要求的特定功能。

2 系统架构

整个移动支付系统由移动终端、支付平台、商家服务器端、银行服务器端(包括银行支付网关)4部分组成,如图1所示,由移动用户利用移动终端设备(手机)进入商品销售网站选择商品并发出购物指令,用无线网络将购物指令发送到移动网关,再经由移动网关连接Internet将购物指令传送给移动支付平台, 支付平台接收到传送的购物指令信息后,首先相关验证信息的安全性,然后进一步处理后将购物信息发送到商家服务器端,商家服务器端, 根据请求的具体内容调用相应的模块进行处理,处理完毕,再由商家服务器通过HTTP将信息返回到移动支付平台,支付平台确认信息后再把信息发送给移动用户,此时,支付平台将提取的账户密码支付金额等相关信息发送到银行服务器端,银行服务器根据账户密码支付金额等相关信息处理支付请求,支付完毕后,银行服务器将支付交易凭证返回移动支付平台, 支付平台再分别向移动终端用户和商户服务器端发送支付完成指令,指示商家可以支付商品或服务,平台记录货物配送情况。

3 基于J2ME的移动支付流程分析

移动支付系统主要涉及到移动用户、商家、支付平台和银行4方面,基于J2ME的移动支付系统的过程如图2所示。

1)移动用户利用移动终端进入购物网站挑选好合适的商品后发出购买商品的指令,购物指令通过无线网络传送到商家;

2)商家通过Internet将移动终端用户所发送的购买指令及相关支付费用传送给支付平台;

3)支付平台接收到商家传送的支付信息后,先将支付信息解密,然后验证信息来源的安全可靠性;

4)若信息没有通过验证,则拒绝交易,购物中止,在通过验证后,移动支付平台向对应的移动终端用户发送“确认支付信息”,并提供多种可供支付方案,如可以中国银行,建设银行,农业银行,工商银行支付等,供移动用户选择;

5)移动客户端用户接收到支付平台的购买支付确认信息,首先对信息进行相应的解码等操作,然后进行信息来源的安全可靠性验证;

6)若没有通过验证,则拒绝交易,购买中止,在确认无误后,向支付平台发送经过加密后的私人信息,如账号、密码及PIN码等;

7)支付平台接收到移动终端用户的私人信息,先将密码与PIN码解密,然后对数据来源的安全可靠性进行验证,验证通过后,再核对终端用户的密码和PIN码;

8)若没有通过验证,则拒绝交易,购买中止,在确认无误后,移动支付平台则向银行发送经过加密、数字签名的商家和终端用户的账号以及支付信息;

9)银行端服务器收到移动支付平台的账号以及支付信息后,对账号以及支付信息进行解密处理,然后,核对帐号与密码,确保正确无误后,则完成转账处理,然后向支付平台发送支付完成的信息;

10)支付平台商收到银行发送的支付完成信息后,向商家发和移动终端用户送支付成功信息,指示商家可以支付商品或服务,并保留相关操作记录,支付完成。

4 基于J2ME的移动终端的设计

移动终端应用程序采用J2ME技术设计,应用程序包括数字证书模块、图形用户接口模块、数据处理模块和无线数据通信模块,如图3所示,其中,无线通信模块进行无线数据收发传输,数据处理模块实现用户数据存储、数字签名、签名验证、摘要、电子支付及申诉处理等服务,图形用户接口模块提供信息获取与显示,其界面友好,另外,数字证书也存储在手机的指定位置。

4.1用户接口

用户接口是用户与系统进行人机交互的界面,要实现该用户接口可以使用J2ME的javax.microedition.lcdui中的类,其中,Display是用户界面的超类,Display 对象是其他对象显示的基础平台,在 Dislay类 里的 Displayable 对象可以实现用户界面, MIDP 提供了Canvas和Screen两种演示场景, Canvas是低级图形用户界面的类,Screen是高级图形用户界面的类,Screen类包括TextBox, List, Form 和Alert, Command 类来相应用户的操作,比如单击、双击等操作,使用 Screen 对象与 Command 对象组合的方法,能够使应用程序响应用户的输入操作及输入信息的获取,应用低级图形API来完成菜单的设计,若要提高菜单的可移植性,可以用高级图形API来设计即可。

4.2 无线传输模块

移动终端采用HTTP 协议与商品服务器端进行通信,MIDP 是以 HTTP 作为其通信协议,在MIDP中,定义了很多通信接口,这些通信接口都支持高级网络协议,如HttpConnection, UDPDatagramConnection, SocketConnection, Server SocketConnection等,通过这些通信接口可以成无线传输,用这些接口封装发送用户的购买指令,接受服务器端的返回信息,如打开连接的代码如下:

String url="localhost:8080/MAMP/OrderServlet";//指定URL,打开连接

HttpConnection con=(HttpConnection) Connector.open (url);

4.3 数据处理模块

1)文件操作

文件的操作对文件的读取和存储, 存储主要是对一些存根进行存储,读取主要是密钥的读取, JSR75对移动终端文件系统的操作提供了支持,比如说JSR 75 提供了两个可选包:PIM (The Personal Information Management)API和FC(The File Connection)API,FC API提供对本地文件系统的访问,PIM API提供对个人信息数据的访问,用FileConnectoin操作文件时,其具体格式为 flie:// …/。

2)数据存储

系统需要记录交易中数据,J2ME中的MIDlet规范定义的ReCordstore类给出了接口,通过这些接口,MIDlet 能够,完成记录的增加、删除、修改,数据存储 API 提供的主要数据存储功能包括:打开记录集openRecordStore() ,写入数据addRecord(),修改记录集中的数据setRecord(),从记录集中读出数据getRecord(),删除记录deleteRecord()。

3)安全服务模块

在移动支付过程中,为了防止信息被窃取或篡改,系统采用摘要、签名、验证签名等手段,采用 SHA1 和 ASE 算法对交易信息进行加密传输,AES作为对称加密算法最大的优点是加密速度快,对于内存和计算能力有限的MIDP设备来说是一可行的加密方案,其加密效率高且安全性强,也可以利用 J2ME 加密包Bouncy Castle 进行加密,Bouncy Castle所提供的org.bouncycastle.cryPto包有加密解密中常用的加密解密引擎,在客户端对需要传输的订单账号等信息生成摘要,再对摘要进行数字签名,服务端对客户端传送的数据信息进行计算再生成摘要,然后,比较服务器端与客户端摘要,若两者一致,则说明信息正确,为客户端提供服务,若不一致,则说明信息出错,拒绝为客户端提供服务。

5 结束语

随着电子商务的快速发展,移动支付在人们生活中将发挥越来越重要的作用,移动支付是使用移动设备(手机)通过无线网络完成支付行为的一种新型的支付方式,它是无线通信技术与电子商务技术以及人们需求应用的产物,移动支付给人们一种全新的生活体验,提高了人们的生活质量,文中对基于J2ME 技术的移动支付系统进行研究具有十分重要的意义。

参考文献:

[1] 刘倬.基于射频识别的手机支付技术应用研究[J].电脑知识与技术,2011(7).

[2] 黄晓芳.基于第三方的安全移动支付方案[J].计算机工程,2010(18).

[3] 汪树东.移动支付平台建设实践与探索[J].电信科学,2010(9).

[4] 张焕国.移动电子商务短信交互平台研究与实现[J].煤炭技术,2011(6).

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:地方大学计算机实验教学方法研究 下一篇:PowerBuilder编程中的事务处理剖析