一种基于J2ME的移动支付系统的设计与实现

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8646

文章摘要:2.4 系统实现的重点1) 安全性问题 由于无线网络本身几乎不提供安全保护措施,因此移动支付过程中可能受到多种的攻击行为。要实现安全的无线交易,必须要解决以下几个问题:•鉴权(Authentication):通信双方必须标识其本身,没有经过鉴权的通信方将不能够进行下一步操作。•数据完整性(Integrity):确保交易他方或非法入侵者不能对交易的内容进行修改,从而保证通信中的接收方收到的是原文。•数据机密性(Confidentiality):防止合法或隐私数据为非法用户所获得,从而确保在交易过程中只有交易的双方才能唯一知道交易的内容。&#

一种基于J2ME的移动支付系统的设计与实现,标签:电子小制作,http://www.88dzw.com

2.4      系统实现的重点

1)   安全性问题

    由于无线网络本身几乎不提供安全保护措施,因此移动支付过程中可能受到多种的攻击行为。要实现安全的无线交易,必须要解决以下几个问题:

•鉴权(Authentication):通信双方必须标识其本身,没有经过鉴权的通信方将不能够进行下一步操作。

•数据完整性(Integrity):确保交易他方或非法入侵者不能对交易的内容进行修改,从而保证通信中的接收方收到的是原文。

•数据机密性(Confidentiality):防止合法或隐私数据为非法用户所获得,从而确保在交易过程中只有交易的双方才能唯一知道交易的内容。

•不可否认性(Non-repudiation):确保交易行为正确性,交易双方均不能否认交易行为产生的事实。

2)   开发移动终端设备的应用程序的限制

    开发移动终端设备的应用程序要受到多种条件的限制如:芯片处理能力弱,存储空间小,堆内存小,屏幕尺寸有限,按键少,网络带宽不足等。

2.5      安全性问题解决方法

    要保护通信安全,实现安全的无线交易,必须要解决通信过程中的鉴权,数据完整性,数据机密性和不可否认性这几个问题。而数据加密和数字签名两种安全措施的利器正好可以达到这个目的。

    数据加密的方式多种多样,如使用已经很成熟的SSL/TLS和HTTPS对网络连接进行加密,从而保护数据。此外其加密算法也同样有很多的选择,常用的有Triple DES、RSA等等算法。系统采用Triple DES来加密传输的机密数据,RSA算法来加密Triple DES的密匙。

    数字签名解决以下问题:

     鉴权:由于私匙与公匙是一一对应的,并且私匙只有用户才能够持有,因此实际上私匙成为了用户的身份的唯一标志,就像一般的用户名/密码一样可以在鉴权过程中识别用户身份。

      数据完整性:数据完整性主要是保证内容不被篡改。在数字签名的流程中,接收方在收到签名及其原始消息后,会按照消息原文再生成一次摘要,然后与用公匙解密的摘要进行对比验证。因此即使入侵者修改了原文,也会因为无法通过对比验证而达不到破坏的目的。

      不可否认性:因为特定的签名信息只能由某个用户通过私匙进行签名,而不能由任何其他人实现,因此用户无法否认经过自己签名的信息。

    这里选择XML作为客户端与服务器通信的数据载体。使用XML不但可以以清晰的逻辑表示复杂的嵌套的数据结构,而且因为XML是当今互联网的主流的通信接口的标准,有很好的兼容性与扩展性。所以我们将使用XML加密与XML签名解决本系统的安全性问题。

3、   J2ME客户端的实现

    整个J2ME客户端的逻辑架构是由若干个功能模块组成的,这些功能模块覆盖了网络通信、用户界面、安全等各个方面的职能,并通过模块间的通信共同实现了移动支付系统客户端的功能。

    逻辑结构如图2所示,其中A~F的意义如下:

A:用户请求交易 / 交易操作结果

B:用户输入的交易请求信息 / 服务器端返回的交易结果

C:经过XML加密的请求信息/ 经过XML签名认证的返回结果

D:经过XML签名的已加密请求信息 / 解析过的XML返回结果

E:组装好的经过XML签名的已加密请求信息的XML数据包 / 网络通信模块接收到的XML数据包

F:发向服务器的XML数据包 / 接收到的来自服务器的XML数据包

    黑色双箭头所表示的是J2ME特有的RMS数据库的数据。数据库访问模块负责调用J2ME的RMS数据库的功能接口,对用户界面模块用的个性化设置,XML加密和签名用的私匙和公匙对,网络通信模块用的HTTP访问地址和设置等等数据进行存取,而其它模块则通过访问数据库模块存取所需数据。

    在客户端系统的实现中,使用了一些第三方API库:kXML和Bouncy Castle API。其中kXML是XML组装/解析的工具,而Bouncy Castle API是J2ME应用程序专用的XML加密/解密和签名/验证的工具。

上一页  [1] [2] [3] [4] [5]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作