快速业务通道

用Kerberos为J2ME应用程序上锁,第3部分 - 建立与电子银行的安全通信(下) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
的屏幕。

图 2.

图 2显示为这个示例移动银行应用程序开发了一个非常简单的 GUI。图 2 还显示了四个数据输入字段 :

“ Username ”字段取要使用移动银行 MIDlet 的金融服务的人的用户名。

“ Password ”字段取用户的密码。

“ Amount ”字段允许输入要支付给一个收款人的金额。

“ Pay to ”字段包含收款人的用户名。

输入完数据后,按 Pay 按钮。Pay 按钮的事件处理器( 清单 25 中的 sendMoney() 方法)执行 Kerveros 通信的所有七个阶段:

生成一个 TGT 请求、将请求发送给出服务器、并接收 TGT 响应。

从 TGT 响应中提取 TGT 和会话密钥。

生成一个服务票据请求、将请求发送给 KDC 、并接收服务票据响应。

从服务票据响应中提取服务票据和子会话密钥。

生成上下文建立请求并发送给电子银行的业务逻辑服务器、接收响应、并解析它以确定服务器同意建 立一个新的安全上下文。

生成一个安全消息、将这个消息发送给服务器、并接收服务器的响应。

解码来自服务器的消息。

清单 25 的 MIDlet 代码相当简单,不需要很多解释。只要注意以下几点:

我使用了不同的线程( 清单 25 中的 run() 方法)创建 Datagram 连接 ( dc ) 和 Socket 连接上 的数据输入和输出流。这是因为 MIDP 2.0 不允许在 J2ME MIDlet 的主执行线程中创建 Datagram 和 Socket 连接。

在 清单 25 的 J2ME MIDlet 中,我硬编码了 KDC 服务器的域、服务器名、地址和端口号以及电子银 行服务器的名字和地址。注意 MIDlet 中的硬编码只是出于展示目的。另一方面, KerberosClient 是完 全可重用的。

为了试验这个应用程序,需要一个作为电子银行服务器运行的 GSS 服务器。本文的 源代码下载 包含 一个服务器端应用程序和一个 readme.txt 文件,它描述了如何运行这个服务器。

最后,注意我没有设计电子银行通信框架,我只是设计了基于 Kerberos 的安全框架。可以设计自己 的通信框架,并用 KerberosClient 提供安全支持。例如,可以使用 XML 格式定义不同的消息作为转账 指令。

结束语

在这个三部分的系列文章中,我展示了 J2ME 应用程序中的安全 Kerberos 通信。介绍了进行一系列 加密密钥交换的 Kerveros 通信。还介绍了 J2ME 应用程序是如何使用密钥与远程电子银行服务器建立通 信上下文并安全地交换消息的。我还提供了展示文章中讨论的所有概念的 J2ME 代码。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号