国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

介紹J2ME的安全結構

2019-11-18 16:08:36
字體:
來源:轉載
供稿:網友
    基于CLDC+MIDP的無線應用程序具有與生俱來的安全特性,這得益于java語言和JAVA平臺的安全機制。即使是有破壞性的程序也只能傷害到虛擬機層,不會傷害到手機操作系統。本文并不是要專門針對MIDP2.0的安全體系結構進行介紹,而是力圖結合Java語言、虛擬機等方面的安全設計談談無線應用的安全結構。

    Java語言具有安全的特性,這得益于下面三個方面的支持。

  1. java語言是健壯的、安全的。
    在java中規定了所有原始數據類型的精確尺寸,并且這不依賴于底層的操作系統。java具有非常出色的異常處理機制,對數組越界操作和空指針操作提供檢查,一經發現會拋出異常。要知道如果在c語言中由于程序的不健全導致數組越界操作是非常危險的事情。java中采用的是引用機制,沒有提供指針運算的操作。以上幾點確保了java語言本身的安全性。
  2. java編譯器和運行環境
    Java的編譯器和運行環境通過提供的一些特性來確保安全的實現,這些特性包括:類裝載、Class文件驗證??傊?,這將確保Java程序必須要在一個JVM規范允許的范圍內運行。如果讀者有興趣可以參考一下《深入Java虛擬機2》
  3. SecurityMananger
    以上兩個方面可以確保懷有惡意的代碼不被執行,這樣虛擬機就不會被破壞。但是針對applet或者非信任的網絡程序則無能為力,java中定義了SecurityManager類允許用戶訂制安全政策,什么代碼可以被執行,什么不可以被執行。

    用過Applet的程序員都知道沙箱這個詞,它同樣是為了確保安全。Applet的運行需要從網絡上下載到本地上來,在你確認它是否安全之前讓它訪問你的本地資源的話那將是非常危險的事情。因此java采用了沙箱的機制,讓applet運行在一個受限的環境內。
介紹J2ME的安全結構(圖一)

    由于J2SE中的安全機制需要很大內存的支持,因此在J2ME(CLDC+MIDP)中并沒有采取。在J2ME中采用的是兩層安全結構,包括底層的KVM安全機制和上層的應用程序安全機制。

    在KVM的安全機制中,主要是通過class文件驗證來確保安全的,一旦這個class文件是非安全的,比如它含有對危險內存空間的引用,那么KVM將不會運行它的。但是由于class文件在驗證上比較消耗時間,因此KVM的設計人員把這部分工作移植到開發階段了,我們看到源文件在編譯后會被驗證,你可以仔細看看ktoolbar的控制臺輸出。而在KVM里面做的驗證都是簡單的。
介紹J2ME的安全結構(圖二)

    在應用程序層進行的限制主要是為了防止應用程序惡意破壞文件系統等設備。由于考慮到性能的問題,他沒有采取SecurityManager類的策略。因此與傳統的沙箱不同的是,基于CLDC/MIDP的沙箱模型作了如下的限制。

  1. class文件必須是經過驗證并有效的
  2. 系統只提供了一部分預定義的API給開發人員,為了安全的因素JNI、用戶定義的類裝載器都不被支持
  3. 下載和管理應用程序由KVM完成,用戶不能自己實現
  4. 開發者不能下載并使用任何包含訪問本機方法的類庫,只限于CLDC/MIDP和可選包。

    希望您讀完這篇文章能對J2ME的安全體系有一定的認識。

(出處:http://www.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郎溪县| 冕宁县| 巍山| 巴里| 郑州市| 九龙县| 松桃| 股票| 子洲县| 仙游县| 通道| 金寨县| 中西区| 宿州市| 岐山县| 神池县| 射阳县| 正阳县| 绥棱县| 卢氏县| 桂阳县| 青铜峡市| 阳新县| 浦城县| 阿克| 沂南县| 绥化市| 白城市| 四平市| 通州区| 漯河市| 永靖县| 马山县| 罗田县| 昌吉市| 衡水市| 宜丰县| 三穗县| 亚东县| 信宜市| 安仁县|