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

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

詳細介紹并掌握J2ME的安全結構

2019-11-18 12:45:04
字體:
來源:轉載
供稿:網友

  基于CLDC+MIDP的無線應用程序具有與生俱來的安全特性,這得益于java語言和JAVA平臺的安全機制。即使是有破壞性的程序也只能傷害到虛擬機層,不會傷害到手機操作系統。本文并不是要專門針對MIDP2.0的安全體系結構進行介紹,而是力圖結合Java語言、虛擬機等方面的安全設計談談無線應用的安全結構。
  
  Java語言具有安全的特性,這得益于下面三個方面的支持。
  
  java語言是健壯的、安全的
  在java中規定了所有原始數據類型的精確尺寸,并且這不依靠于底層的操作系統。java具有非常出色的異常處理機制,對數組越界操作和公指針操作提供檢查,一經發現會拋出異常。要知道假如在c語言中由于程序的不健全導致數組越界操作是非常危險的事情。java中采用的是引用機制,沒有提供指針運算的操作。以上幾點確保了java語言本身的安全性。
  
  java編譯器和運行環境
  Java的編譯器和運行環境通過提供的一些特性來確保安全的實現,這些特性包括:類裝載、Class文件驗證。總之,這將確保Java程序必須要在一個JVM規范答應的范圍內運行。假如讀者有愛好可以參考一下《深入Java虛擬機2》
  
  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的沙箱模型作了如下的限制。
  
  class文件必須是經過驗證并有效的
  系統只提供了一部分預定義的API給開發人員,為了安全的因素JNI、用戶定義的類裝載器都不被支持
  下載和治理應用程序由KVM完成,用戶不能自己實現
  開發者不能下載并使用任何包含訪問本機方法的類庫,只限于CLDC/MIDP和可選包。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栾川县| 宁国市| 涿鹿县| 博罗县| 承德市| 商都县| 大洼县| 天柱县| 谷城县| 柳河县| 炎陵县| 那曲县| 哈尔滨市| 重庆市| 桐梓县| 博客| 延长县| 石景山区| 集贤县| 曲沃县| 崇义县| 黑河市| 礼泉县| 建阳市| 镇坪县| 延庆县| 余姚市| 眉山市| 伊宁县| 益阳市| 商南县| 云龙县| 富宁县| 云安县| 盐亭县| 泾源县| 息烽县| 胶南市| 天峻县| 德惠市| 永城市|