快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

ag真人百家家乐是真的吗:MIDP 2.0安全机制 与 MIDlet 数字签名



本文档是 WoTrust 根据 Forum Nokia 供给的技巧文档《MIDag真人百家家乐是真的吗P 2.0: Tutorial On Signed MIDlets》翻译收拾的,请同时参考此英文原文文档。请用户在编写 MIDlet 和署名 MIdlet 之前涉猎此文档,以便对 MIDP2.0 的安然机制有一个深刻的理解,有助于用户能用好 MIDlet 代码署名证书。

充分理解 MIDP2.0 的安然机制后就可以向 WoTrust 申请 Thawte 或 VeriSign 的 Java 代码署名证书来署名 MIDlet ,请同时参考:

Nokia MIDlet(MIDP 2.0) 代码署名证书申请和应用指南

J2ME MIDlet( MIDP 2.0) 代码署名证书申请和应用指南

一、概述

MIDP2.0 采纳了全新的安然机制,这对付必要调用一个敏感的(紧张的)函数和 API 的 MIDlet 开拓者来讲是必须懂得的,如:收集连接 API 、消息 API 和推 (Push) 函数等,还有一些可选的 MIDP 包也有许多受限定的 API 。

虽然购买代码署名证书必要用度,但署名 MIDlet 对开拓者来讲是收益非浅的,由于许多受保护的 API 都是必要署名的,以保护开拓者和用户的利益。当然,有些利用是不必要署名的,如有些不必要联网的仅用到一些图形 API 的小游戏软件。但一些紧张的利用,如:衔吸收集、发送短消息 ( 短信和彩信 ) 或造访移动终端 ( 智妙手机、 PDA 等,以下简称为手机 ) 上的 PIM( 小我信息治理 ) 数据等等都必要署名。

数字署名 MIDlet 的好处包括:

(1) 基于 MIDlet 的安然策略,某些功能是必须署名才能应用的,而有些功能虽然不署名也可以应用,但必须要求用户在应用时确认和改动其安然策略,如:写用户数据缺省是不容许没有署名的 MIDlet 操作的;

(2) 基于手机的系统安然和移动收集的安然斟酌,某些手机制造商、移动运营商等可能回绝没有署名的 MIDlet 在手机上安装和运行;

(3) 大年夜大年夜改良用户体验,让用户应用方便,使得用户不会蒙受调用受保护 API 时的安然警告的烦恼;

(4) 出于安然斟酌,安装没有署名的 MIDlet 是会有安然警告的,而相反,安装已经署名的 MIDlet 则不会呈现烦人的警告,手时机自动验证署名而顺利地安装成功;

(5) 已经署名的 MIDlet 将使得用户能改良其低安然策略设置,前进手机的安然性;

(6) 确保已经署名的 MIDlet 不会被不法窜改和不法盗用。

二、 MIDP 2.0 安然机制

MIDP 是一个开放的平台,使得任何人都可以为支持 MIDP 的设备开拓各类利用软件,一样平常都是移动终端设备。 MIDlet 套件可以以匿名要领经由过程收集下载,异常方便,但这也会带来许多安然问题和隐私信息保护问题,用户会问: MIDlet 能把用户的小我信息发给不知道的办事器吗?会自动孕育发生没有授权的呼叫或短消息而给用户带来用度吗?恶意软件会破坏手机?等等。

除了 Java 说话的安然特点外, MIDP 还增添了许多安然斟酌。 MIDP ag真人百家家乐是真的吗2.0 比 MIDP 1.0 增强了安然策略,把 API 分为通俗 API 和敏感 API ,如:经由过程HTTP 协议造访移动收集,因为会给用户孕育发生用度, 以是被列为 敏感 API 。 MIDlet 2.0 推出了可托任 MIDlet(trusted) 和弗成相信 MIDlet(untrusted) 的观点,一个弗成相信 MIDlet 只能造访有限的 API ,同时还必要用户手动确认并改动其安然策略;而可托任 MIDlet 则自动承袭系统中的安然策略而得到造访许可。

许可 (Permissions) 用于必要身份认证的 敏感 API 。 MIDP 2.0 要求调用 敏感 API 之前必须得到需要的许可,这些许可包的命名同 J2SE 许可,如: HTTP 连接许可同样称为: javax.microedition.io.Connector.http 。 有关许可的文档批准归类在受保护 API 中。

2.1 Protection Domains( 保护域 )

保护域是 MIDP 2.0 中一个异常紧张的安然观点,一个保护域便是一个许可集和一种交互模式,这些许可既可所以自己承袭的,也可能是用户设置的,前者称为容许 (allowed) ,而后者称为用户容许 (user permission) 。当一个 MIDlet 被安装后,它被分配到一个指定的保护域而得到它的许可和交互模式。

而用户容许则必要用户自己抉择是否批准,用户既回绝一个许可,也可以批准。用户容许有 3 种交互模式: blanket( 普遍适用 ) 、 session( 短期适用 ) 和 oneshot( 本次适用 ) , 普遍适用 模式便是 MIDlet 安装时得到的许可不停有效,除非用户取消这些许可;而 短期适用 模式则是指第一次调用 API 时必要用户容许,有效期到此 MIDlet 套件运行停止;而 本次适用 模式则在每次调用 API 时都要求用户容许。保护域为用户许可定义了缺省的交互模式。

一个 MIDlet 套件应用 MIDlet-Permissions 和 MIDlet-Permissions-Opt 属性来明确地定义其许可,可所以在 JAD 文件中定义,也可以在 manifest 文件中定义。此中: MIDlet-Permissions 定义了 MIDlet 套件中必须具有的许可,而 MIDlet-Permissions-Opt 则定义盼望具有的许可。如:一个利用软件的基础要求是要有 http 连接才能正常事情,同时,也可以应用 https 连接 ( 办事器支配了 SSL 证书 ) 来增强安然性,但不是必须的,这样,这个利用软件的利用描述可所以这样:

MIDlet-Permissions: javax.microedition.io.Connector.http

MIDlet-Permissions-Opt: javax.microedition.io.Connector.https

请留意:一个 MIDlet 所要求的许可必须是安装时分配的保护域所具有的许可的子集。如: Nokia S60 MIDP Emulator Pag真人百家家乐是真的吗rototype 2.0 (SDK) 有一个叫做“ minimum ”的域,此域没有任何许可。以是,假如一个含有许多许可的已经署名的 MIDlet 假如被安装到此域,则会安装掉败,由于此域不支持这些许可。同样,假如一个许可的名称有拼写差错,则一样会导致安装掉败,由于域中没有此拼写差错的许可。

MIDP 2.0 为 GSM/UTMS 设备定义了 4 种保护域: manufacturer( 设备制造商 ) , operator( 移动运营商 ) , trusted third party( 可托任的第三方 ) , and untrusted( 不受相信域 ) ,除了 untrusted 域外,每个保护域都对应一组根证书,用于署名 MIDlet 的署名证书的根证书必须包孕在这些根证书中,应用不合的署名证书署名的 MIDlet 将被自动归类予根证书所属的保护域,根证书与保护域的关系是:一个保护域可以有许多个根证书,而一个根证书只能对应于一个保护域。

详细来讲, manufag真人百家家乐是真的吗acturer 域属于设备制造商,其根证书是设备制造商自己的根证书;而 operator 域运营商,一样平常应用其 SIM 卡中的根证书;而 trusted third party 域则预置了举世有名的数字证书揭橥机构 (CA) 的根证书,用于验证由 CA 揭橥的 MIDlet 署名证书;而 untrusted 域没有根证书,将用于没有署名的 MIDlet 和 MIDP 1.0 。

Thawte 和 VeriSign 的根证书已经预置在 trusted third party 域中,其 Java 代码署名证书可以用于署名 MIDlet 。当然,用户也可以选择应用设备制造商和移动运营商揭橥的证书,只要其根证书已经包孕在手机的 4 个保护域中。据 WoTrust 懂得,大年夜多半摩托罗拉 (Motorola) 手机只支持设备制造商域,以是,只能向 Motorola 申请署名办事了。

请留意:因为 MIDP 2.0 也在赓续地改动和补充,以是,可能不用的移动收集运营商有不合的保护域和许可,用户可能必要向移动运营商懂得具体信息。而最简单的措施是反省目标用户所应用的手机的根证书是否有计划购买的 MIDlet 署名证书的根证书。

2.2 Untrusted MIDlet ( 不受相信的 MIDlet)

MIDP 2.0 定义了那些 API 是 untrusted 的,这些 Jar 文件的滥觞和完备性是不能被手机验证的。但这并不料味着这些 MIDlet 不能被安装和运行,而是运行这些 MIDlet 必要用户人工确认容许。而所有 MIDP 1.0 的 MIDlets 都被定义为 untrusted 。

untrusted 的 MIDlets 只能调用一个不必要许可保护的 API ,如:

javag真人百家家乐是真的吗a.util

java.lang

java.io

javax.microedition.rms

javax.microedition.midlet

javax.microedition.lcdui

javax.microedition.lcdui.game

javax.microedition.media

javax.microedition.media.control

假如 untrusted MIDlet 套件试图调用一个被保护的 API 而且没有被人工容许,则会孕育发生一个 SecurityException 而被 MIDlet 按照安然策略处置惩罚。请留意: Nokia 的 UI API 是不被保护的,包括类: com.nokia.mid.sound 和 com.nokia.mid.ui 。

2.3 Trusted MIDlets ( 可托任的 MIDlets)

假如手性能验证 MIDlet 的身份和完备性 ( 也便是已经数字署名 ) ,则会自动分配一个相宜的保护 域这种 MIDlet 套件就称为可托任的 MIDlet 。一个可托任的 MIDlet 套件所要求的许可将被答应,只要所属的保护域拥有这种许可,要是许可: javax.microedition.io.Connector.http 已经在所属保护域中是容许的,则 MIDlet 在打开一个 http 连接时是不必要用户确认的。

请不要肴杂了可托任的 MIDlet 套件和可托任的保护域的不合,每个可托任的 MIDlet 套件依据安然策略被分配到一个特定的保护域。

您必要应用一个手机中已经预置的根证书的证书揭橥机构揭橥的代码署名证书来署名 MIDlet ,否则将不能经由过程身份验证。成功署名后的 JAD 文件中必然会包孕有全部署名证书的证书链,属性名称为: MIDlet-Certificate-1-1 便是您的署名证书,而 MIDlet-Certificate-1-2 便是 CA 的中级根证书,而 MIDlet-Certificate-1-3 便是 CA 的顶级根证书。同时还会有一个 MIDlet-Jar-RSA-SHA1 属性便是 JAR 文件的择要。

当一个 MIDlet 被下载或被安装时, MIDlet 利用治理器首先会反省 JAD 文件中是否包孕了 MIDlet-Jar-RSA-SHA1 属性,假如有,则启动如下验证历程:首先会读出 MIDlet-Certificate-1-1 、 MIDlet-Certificate-1-2 和 MIDlet-Certificate-1-3 属性中的证书,并与已经预置的根证书相对照,假如证书链能被根证书验证,则注解开拓者身份已经被验证。接着就会应用用户证书来解密 MIDlet-Jar-RSA-SHA1 属性的择要,再谋略出已经下载的 Jar 文件的择要,对照两个摘如果否相等,假如相等,则注解 MIDlet 代码自署名后没有被改动。这样,既验证了身份又反省了完备性的 MIDlet 会被分配到所属根证书所对应的保护域中。然则,假如 MIDlet 中的许可属性 ( MIDlet-Permissions ) 中有一个或多个不属于所属的保护域,则仍旧不容许安装。而假如 MIDlet 中的可选许可属性 ( MIDlet-Permissions-Opt ) 中有一个或多个不属于所属的保护域,会容许安装。可见,精确设置许可属性和可选许可属性异常紧张。

2.4 Function Groups ( 功能分组 )

为了简化用户治理操作, MIDlet 把一些类似功能分组,这样,用户只需对功能组设置许可即可。如:许可 “Net Access”( 收集造访 ) 组来代替许可 javax.microedition.io.Connector.http ,这对付简化手机的交互操作异常有用。

MIDP 2.0 和 JTWI 定义了如下 7 个功能组:

(1) Net Access: 包括所有收集连接许可;

(2) Messaging: 包括所有与发送和接管短消息 ( 短信和彩信 等 ) 相关的许可;

(3) Auto Invocation : 包括与自动启动 MIDlet 相关的许可,如: Push Registration

(4) Local Connectivity : 包括与本地连接相关的许可,如: IrDA 或 蓝牙;

(5) Multimedia Recording : 包括与容许录音、拍照、摄像等相关的许可;

(6) Read User Data : 包括读取用户数据相关的许可,如:通讯录、日程表等;

(7) Write User Data : 包括写用户数据相关的许可。

不合的手机支持不合的功能组,如: Multimedia Recording 就不会包孕在没有摄录装配的手机中。当然,也有可能将来会增添更多的功能组。

功能组也同时定义了不合的域的不合交互要领,如:在不相信域, “Net Access” ( 收集造访 ) 被设置为 session( 短期适用 ) 或 denied( 回绝 ) ,而在可托任域则可以设置为 oneshot 、 blanket 和 denied 的。

三、仿真器和手机的缺省安然设置

让我们来看看详细的应用 Thawte 或 VeriSign 代码署名证书署名后的 MIDlet 在 trusted third party 域中的所出缺省许可,如下图 1 所示,点击 NDS 3.0 的“ Config Emulators ”就可以看到仿真器在 trusted third party 域的缺省安然设置是“ Ask first time ”,即第 1 次应用是必要确认:

如下图 2 所示,您可以下拉所有功能组的许可设置,如“ Network Access ”就有 4 个选项可以改动: Ask first time 、 Ask every time 、 Always allowed 和 Not allowed :

而如下图 3 所示,在“ Real Life ”模式,也便是实际手机的运行模式,可以看出:定义的 7 个功能组都是“ Always allowed ” ( 老是容许 ) ,这就显示出 MIDlet 署名对付开拓商来讲是多么的紧张,将大年夜大年夜方便了用户的应用,再也不必要用户操作烦人的系列确认了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: