随着移动商业从时髦的口号逐渐变成现实,对于移动用户和无线应用程序开发人员这类人而言,事务安全性正在成为一个重要方面。网络整体安全性的强度取决于其最薄弱环节,而在移动商业网络中,最薄弱环节是客户机端设备。无线信号的可截取本质以及大多数手持设备有限的内存和计算能力,使无线系统极易受到数据窃贼的攻击。
但客户机并非移动商业网络上的唯一薄弱环节。随着 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 开发策略的影响。
J2ME 基础知识
将 Java 平台用于无线设备开发的最大优点是能够生产可在多种平台上运行的可移植代码。但即使有这个优点,各种无线设备在内存、处理能力、电池寿命、显示屏大小和网络带宽等方面的能力差异还是相当大的。不可能将运行在成熟的机顶盒上的应用程序的全部功能都移植到移动电话上。即使对于类似的设备(如 PDA 和高级智能电话),在两者间建立可移植性也常常使一种设备超负荷而另一种设备利用不充分。只能在多组类似设备之间实现真正的可移植性。因为认识到一种规格并不能适合所有设备,所以小心地设计 J2ME 以在可移植性和可用性之间取得平衡。
随着移动商业从时髦的口号逐渐变成现实,对于移动用户和无线应用程序开发人员这类人而言,事务安全性正在成为一个重要方面。网络整体安全性的强度取决于其最薄弱环节,而在移动商业网络中,最薄弱环节是客户机端设备。无线信号的可截取本质以及大多数手持设备有限的内存和计算能力,使无线系统极易受到数据窃贼的攻击。
但客户机并非移动商业网络上的唯一薄弱环节。随着 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 开发策略的影响。
J2ME 基础知识
将 Java 平台用于无线设备开发的最大优点是能够生产可在多种平台上运行的可移植代码。但即使有这个优点,各种无线设备在内存、处理能力、电池寿命、显示屏大小和网络带宽等方面的能力差异还是相当大的。不可能将运行在成熟的机顶盒上的应用程序的全部功能都移植到移动电话上。即使对于类似的设备(如 PDA 和高级智能电话),在两者间建立可移植性也常常使一种设备超负荷而另一种设备利用不充分。只能在多组类似设备之间实现真正的可移植性。因为认识到一种规格并不能适合所有设备,所以小心地设计 J2ME 以在可移植性和可用性之间取得平衡。
J2ME vs. 本机平台
正如我们已经提到的,与本机平台相比,Java 平台的主要优点是它允许我们编写可移植的应用程序。Java 平台的可移植性来自其执行模型。具体地说,它是由于在运行时使用 JVM 来将 Java 字节码处理成机器码,因而在硬件之上提供了一个兼容性层。Java 平台的执行模型还引入了一些在设备本机应用程序中缺乏的重要安全性优点。这些优点如下:
JVM 验证类装入器中所有的类并确保应用程序不会执行任何危险操作。因为对于 MIDP VM 而言,运行时类验证在计算上代价很高,所以 MIDP 有特殊的两步字节码验证模式。我们将在后