移动商业应用程序的安全性挑战和解决方案 |
| 作者:MichaelJ. Yuan Ju Long 来源:转载 发布时间:2005-8-10 11:15:30 |
|
Michael Juntao Yuan(juntao@mail.utexas.edu),副研究员,电子商业研究中心,德州大学奥斯汀分校 Ju Long(ju@ruby.bus.utexas.edu),副研究员,电子商业研究中心,德州大学奥斯汀分校 2002 年 6 月 请关注本文,它讨论了基于 J2ME 的移动商业应用程序的一些安全性挑战和解决方案的当前成果。特别地,J2ME 开发人员 Michael Yuan 和 Ju Long 集中讨论了最常用但也最缺乏安全性的 J2ME 概要文件 — MIDP 的应用程序开发的挑战。其中包括 J2ME 相对于瘦客户机(如 WAP)和本机应用程序的优点的概述,以及关于 J2ME 当前和未来安全性框架的优缺点对比的讨论。另外,新兴的 Web 服务正逐渐成为因特网领域中重要的组件,所以请了解更多关于它的信息,以及这一新技术可能对您的 J2ME 开发策略有怎样的影响。 随着移动商业从时髦的口号逐渐变成现实,对于移动用户和无线应用程序开发人员这类人而言,事务安全性正在成为一个重要方面。网络整体安全性的强度取决于其最薄弱环节,而在移动商业网络中,最薄弱环节是客户机端设备。无线信号的可截取本质以及大多数手持设备有限的内存和计算能力,使无线系统极易受到数据窃贼的攻击。 但客户机并非移动商业网络上的唯一薄弱环节。随着 Web 服务技术成为因特网领域中日益重要的组件,无线网络将面临一些全新的弱点。Web 服务使用开放通信协议并在组织的防火墙之外运行,当在企业中部署这些系统时,这将会造成非常实际的安全性威胁。(请参阅文章侧栏以获得 Web 服务的定义。) 解决方案正在形成,尽管尚需时日。尤其是,Web 服务本身可以用来提供安全性解决方案。新的 Web 服务规范计划标准化和集成使用 XML 消息传递的先进的安全性解决方案(如 Kerberos 认证和授权、数字证书、数字签名和公/私钥加密)。可互操作的 Web 服务可以将那些安全性解决方案用作产品和服务供应商的一类实用程序。但即使正在出现这些有希望的解决方案,对于您如何有效地保护自己的无线应用程序及运行应用程序的网络而言,开发平台的选择将始终起到举足轻重的作用。 在本文中,我们将重点讨论在 Java 2 Platform,Micro Edition(J2ME)上进行开发的优缺点。我们首先对 J2ME 的基本概念和优点作简单概述。接下来,我们将深入研究基于 J2ME 的应用程序相对于其它无线备选应用程序(如 WAP 和本机应用程序)的潜在安全性优点。我们将说明当前在 J2ME 平台上可用的应用程序安全性模型,以及该平台对于一些可预料未来趋势的适用性。作为讨论的一部分,我们将提出一些增强 J2ME 应用程序的网络和数据安全性的可能方法。在结束部分,我们将总结使用 J2ME 技术开发用于最小型无线设备的高级安全应用程序的可行性。在整篇文章中,我们将主要集中讨论当前的和即将出台的(2.0)MIDP 规范,假定 MIDP 是最广泛使用的 J2ME 概要文件。 因为 Web 服务承诺了在移动商业和无线安全性的发展中扮演重要角色,所以在整篇文章中,我们都将讨论包含 Web 服务的技术。我们将花一些时间研究 Web 服务对您的 J2ME 开发策略的影响。但是,我们不会很深入地讨论这个话题。要了解更多 Web 服务与无线应用程序编程和安全性之间的关系,请参阅参考资料一节。 J2ME 基础知识 将 Java 平台用于无线设备开发的最大优点是能够生产可在多种平台上运行的可移植代码。但即使有这个优点,各种无线设备在内存、处理能力、电池寿命、显示屏大小和网络带宽等方面的能力差异还是相当大的。不可能将运行在成熟的机顶盒上的应用程序的全部功能都移植到移动电话上。即使对于类似的设备(如 PDA 和高级智能电话),在两者间建立可移植性也常常使一种设备超负荷而另一种设备利用不充分。只能在多组类似设备之间实现真正的可移植性。因为认识到一种规格并不能适合所有设备,所以小心地设计 J2ME 以在可移植性和可用性之间取得平衡。 什么是 Web 服务? Web 服务是具有基于因特网接口的自包含的、自我描述的、动态发现的应用程序。Web 服务由远程方法调用驱动,这些调用是用标准的、基于 XML 的消息和编码封装的,如简单对象访问协议(Simple Object Access Protocol (SOAP))。Web 服务用 WSDL(Web 服务定义语言)定义了它们的编程接口并通过 UDDI(通用描述、发现和集成)注册中心来发布它们本身。Web 服务在开放的因特网上通过 HTTP 协议与客户机和其它 Web 服务通信。这种“HTTP 上的 XML”模型致力于通过在服务接口之间添加一个开放、健壮和容易被人理解的抽象层来消除它们之间的耦合。Web 服务是松散耦合、与平台无关、可重用的分布式软件组件。它们成功的关键在于开放的标准和服务供应商之间的互操作性。 J2ME 分成几种不同的配置和概要文件。配置包含用于一系列设备的 Java 语言核心库。当前有两种配置:连接的设备配置(Connected Device Configuration (CDC))被设计用于相对较大和功能强大的设备(如高端 PDA、机顶盒与网络设备);有限连接设备配置(Connected Limited Device Configuration (CLDC))被设计用于小型的资源有限的设备(如移动电话和低端 PDA)。CDC 的安全性、计算能力和 I/O 功能比 CLDC 高级得多。 每个配置上面都有几个概要文件。概要文件定义了更高级的、特定于设备的 API 库,包括 GUI、联网和持久存储 API。每个概要文件有自己的运行时环境并适合于一系列类似的设备。为一个特定概要文件编写的 Java 应用程序可以在由该概要文件支持的所有硬件/OS 平台之间进行移植。移动信息设备概要文件(Mobile Information Device Profile (MIDP))和 PDA 概要文件(PDA Profile)是 CLDC 的两个比较重要的概要文件。基础概要文件(Foundation Profile)和个人概要文件(Personal Profile)是 CDC 的两个重要的概要文件。 个人概要文件构建在基础概要文件之上,以便在高端 PDA 上运行。个人概要文件配置了完全兼容 Java 2 的虚拟机实现。个人概要文件应用程序可以利用所有基于 Java 2 标准版(J2SE)域的安全性管理器,以及大量可用于 J2SE 应用程序的密码术和安全性库。总之,个人概要文件提供了成熟的安全性解决方案,它们类似于用于 J2SE 应用程序的那些解决方案。(要了解更多关于 J2SE 安全性的内容,请参阅参考资料一节。) 实现安全 MIDP 应用程序要困难得多,因为 CLDC 配置的数学计算能力 |
| [] [返回上一页] [打 印] |
|
文章评论 |
