分享
 
 
 

MIDP v2.0规范简介

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

二 J2ME 架构:

Java自1995年发明以来以发生了很大的变化,从最早的为基于溜览器中运行的Applet的编程,到Servlet/EJB的Server编程,再到现在的MIDlet为无线信息设备的编程。它已发展成为为开发者提供一端到端编程开发的平台,即我们常说的 J2SE/J2EE/J2ME,Java的三个平台(fig1)。由于无线编程有其完全不同于传统编程的特殊性,比如:运行设备的多样性,设备处理能力不如服务器和微机,用户界面的差异性等。另外在加上无线技术的飞速发展,使得J2ME的体系架构有者完全不同于J2SE/J2EE的特点。

图1: Java 的三个平台

J2ME的架构是把我们传统的Java架构:硬件/OS/JVM/APIs/应用加一变化,变成了:硬件/OS/Configuration/Progile/应用。之所以采用这样的架构是由我们上面所谈到的J2ME的特殊性有关。

图2: J2ME的架构

J2ME/CLDC/MIDP作为J2ME的一个版本,它是专为无线移动通讯设备说设计的,在下面我们简单介绍它的体系架构。从下图中我们可以看到:

图3: CLDC/MIDP架构

在CLDC之上有两类API:

-MIDP APIs: 这些APIs正是MIDP v.0规范所要定义的APIs.

- OEM-specific APIs: MIDP规范所涉及的无线通讯设备多种多样,因此它不可能 涉及所有设备 的需求。因此这一类的APIs是由OEM厂商提供以便访问特定设备的特定功能。但基于这些APIs的应用可能不能在其它的MIDs设备上运行。

MID应用的种类:

-MIDP: 一个MIDP应用或称为MIDet,它必需只使用MIDP和CLDC规范中所定义的APIs。该类应用能在应是在MID设备上最常见的应用。

-OEM-specific: 一个OEM-specific的应用会使用一些不在MIDP中定义的PIs(OEM-specific classes) 。这些应用不能在不同的MIDs设备上运行。

-Native: 一个本地应用使指用非Java语言编写的直接运行于设备操作系统之上的应用。在MIDP规范中不涉及OEM-specific和Native的应用。

三 MID v2.0规范所涉及的范围:

我们都知道无线信息设备(MIDs〕的功能多种多样。但MIDP规范并不是要对这些设备的所有功能都要加以定义,并提供APIs编程。相反MIDP v1.0和MIDP v2.0的专家组同意只针对有通用并且成功实施的功能的需求制订相应的APIs。在MIDP v1.0中这些功能包括:

- 应用的下载

- 应用的生命周期

- 端到端的传输(http)

- 网络联结

- 数据库存储

- 计时器

- 用户界面

通过用户对MIDP v1.0的使用经验和反馈,MIDP v2.0的专家组在MIDP v1.0 APIs的基础上又新加了下面的 APIs:

- 应用的下载和计费

- 端到端的安全传输(https)

- 应用的数字签名和域的安全模式

- MIDlet的push注册(server push model)

- 声音

基于上面所讲的同样的原因,一些功能是不会在MIDP的定义范围内,这些功能包括:

- 系统层的APIs: MIDP APIs的重点是针对应用的开发者,而不是系统开发。因此一些底层的涉及系统接口的APIs,比如无线信息设备的电源管理,语音的编码模块就属于系统层的APIs而不在MIDP所讨论的范围内。

- 底层的安全:MIDP规范不涉及底层的安全的功能,它只使用CLDC所提供的底层的安全机制。

关于MIDP v2.0的新APIs在本文中我们不加以介绍。

四 MIDP v2.0的安全机制:

我们知道Java语言作为以种网络编程语言,它具有很多特点来满足网络编程的需求,其中最为人们所津津乐道的是它的遍写一次到处运行,以及它的安全性。特别是它的安全性,从它的发明道现在的7年的时间已经为无数的事实所证明。Java语言的安全性,安全机制也有它发展的过程,下面我们简单介绍以下Java的安全机制。

Java1.0的沙箱机制:

fig3: Java1.0安全的沙箱机制

上图所描述的是Java1.0的沙箱机制,它最早是为在溜览器中运行的Applet所设计。因Applet的运行代码是通过网络传输到用户的机器中,为了防止恶意代码,该机制把用户应用简单分为本地应用和网络应用(applet)。对网络应用它只能放问一些安全的 APIs从而保证安全性。但该机制过于简单,无法很好满足开发者的需求。

Java1.1的可信任代码的安全机制:

fig4: 可信任代码的安全机制

该安全机制只是在Java1.0沙箱安全机制的基础上,引入一种新的网络应用,及可信任的网络应用,但并未对所访问的资源进行很好的划分。大家从图中可看出,应用要吗受沙箱的约束,只能访问有限资源,要么就能访问所有资源。

Java1.2/2的域安全机制:

Java1.2/2的域安全机制

该安全机制通过配置文件对Java的应用以及访问的资源进行配置,从而实现了一种非常细化的安全机制。

MIDP安全机制及其发展:

MIDP1.0规范在制订时由于当时的无线网络尚处于发展阶段,因此在考虑MIDP v1.0的安全机制时没有太多考虑应用在网络传输过程中安全性的设置,而是把重点放在无线应用在设备上的运行过程中的安全性上。因此MIDP1.0规范通过沙箱的安全机制来提供MIDlet suite运行时的安全性,该机制保证MIDlet所能调用的APIs不能访问设备的敏感信息和功能。在MIDP2.0安全机制的制订过程中,专家组采纳了用户对MIDP v1.0安全机制所提出的意见:即1.0版本的安全性太“强”使得很多的无线设备的功能

不能通过MIDP的编程来加以使用。比如说手机中地址本的访问等。如果要把这些敏感功能的APIs开放让用户的应用访问,就必须引入一种新的安全机制。该机制就是我们前面所描述的Java1.2/2的域的安全机制。在MIDP v2.0中对不被信任的MIDlet则只能运行于该沙箱安全机制中。任何一种MIDP v2.0的实现,必需支持非信任的MIDlet的在MIDs设备上的运行。

MIDP2.0引入了信任的MIDlet的新概念,对于信任的MIDlet它能使用一些敏感的和被限制使用的APIs.当无线信息设备检测到一MIDlet sute是可信任时,则它对APIs的访问由相应的安全域的策略定义。我们将在下面的章节中详悉介绍。当验证一MIDlet suite是否能信任时发生错误,则该MIDlet suite必需被拒绝执行。

MIDP2.0的域的安全机制:

非信任的MIDlet Suites

一非信任的MIDlet suite是指MIDlet suite的下载源和JAR文件的完整性不能被下载的设备所信任。对于非信任的MIDlet suite必需只能运行于非信任的安全域中,在该域中对受保护的APIs或功能不能访问或由设备使用者确定可以访问或不可以访问。任何一MIDP1.0兼容的MIDlet suite能在MIDP v2.0的实现上用非信任的模式运行。对于非信任的MIDlet suites它能访问它的JAR manifest和application desctiptor文件以及下面的APIs:

- javax.microedition.rms

- javax.microedition.midlet

- javax.microedition.lcdui

- javax.microedition.lcdui.game

- javax.microedition.media

- javax.microedition.media.control

非信任安全域对以下APIs或功能的访问必须由用户确定可以或不可以:

- javax.microedition.io.HttpConnection

- javax.microedition.io.HttpsConnection

可信任的 MIDlet Suite 的安全:

可信任的 MIDlet Suite 的安全是建立在保护域的机制上。每一保护域定义了该域中的 MIDlet suite 的访问权限。该保护域的定义者可以定义设备怎样确认和验证它能信任的 MIDlet suite 并把该域所允许和授权使用的受保护的APIs和功能绑定给该MIDlet suite。设备所使用的验证和信任MIDlet suite的机制的定义是分开的,这样有利于人们根据设备,网络,和商业模式的不同来进行选择。可信任的 MIDlet Suites使用X.509 PKI的签名和验证机制来确定一MIDlet suites的可信任性。

在MIDP2.0的域的安全机制中,大家主要回涉及以下概念:

保护域: 是MIDlet suite所允许的权限访问的集合

权限访问: 是指必须通过授权才能使用的 APIs 或功能

信任MIDlet Suite: 指该MIDlet suite能通过验证并其JAR文件的完整性能被保证,并能被该设备上的某一保护域所信任。

配置文件: 一配置文件中包含许多域或别名的定义。每一域由包含所赋于的权限和用户操作所构成。

配置文件的例子:

domain: O= MIDlet Underwriters, Inc. , C=US

allow: javax.microedition.io.HttpConnection

oneshot(oneshot): javax.microedition.io.CommConnection

alias: client_connections javax.microedition.io.SocketConnection, javax.microedition.io.SecureConnection,

javax.microedition.io.HttpConnection,

javax.microedition.io.HttpsConnection

domain: O=Acme Wireless, OU=Software Assurance

allow: client_connections

allow: javax.microedition.io.ServerSocketConnection, javax.microedition.io.UDPDatagramConnection

oneshot(oneshot): javax.microedition.io.CommConnection

domain: allnet

blanket(session): client_connections

oneshot: javax.microedition.io.CommConnection

五. 总结:

MIDP v2.0是为广大的开发者在无线移动通讯设备上提供的一个开放的Java平台,它具有开放性,通用性,以及比MIDP v1.0更强的安全功能。它是由全球约五十多家厂商所共同制定的,因此基于MIDP v2.0的应用在将来回有很广泛的应用前景。

附录一:MIDP v2.0 的专家组:

公司:

4thpass Inc, AGEA Corporation, Alcatel, Aplix Corporation, AromaSoft Corp, Baltimore Technologies CELLon France, Distributed Systems Technology Centre, Elata PLC, Esmertec, Espial Group Inc, France Telecom / Orange, Fujitsu Limited, German Aerospace Center (DLR), Institute of Communications and Navigation, Hitachi Ltd./Digital Media Group, In Fusio, J-PhoneEast Co. Ltd, Logica Mobile Networks, Mitsubishi Electric Corp, Mobile Scope AG, Mobilitec, Motorola, NEC Corporation, Nextel Communications Inc, Nokia, NTT DoCoMo, Inc, Omnitel Pronto Italia S.p.A, One 2 One, Openwave Systems

, Inc, Orange (UK), Palm, Philips Consumer Communications, Philips Semiconductors, Research In Motion (RIM), Samsung Electronics Co., Ltd, Sharp Labs, Siemens AG, Siemens ICM, Smart Fusion, Sony Ericsson Mobile Communications, Sun Microsystems, Inc, Symbian Ltd, Telef'nica M'viles Espa'a, Vaultus, Inc, Veloxsoft, Inc, Vodafone Global Platform & Internet Services, Vodafone Group Services Limited, Vodafone Multimedia, Zucotto Wireless,

个人:

Fabio Ciucci, Glen Cordrey, Jon Eaves, David Hook, Myank Jain, Neil Katin, Steve Ma, Ravi Reddy Wai Kit Tony Fung

http://gceclub.sun.com.cn/staticcontent/html/java/midp/index.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有