CLDC架构、应用程序模型和安全性[4]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

底层安全性是运行在移动信息设备上的Java虚拟机的一项关键要求。虚拟机中运行的应用程序绝不能损坏设备或使设备崩溃,虚拟机正运行在这个设备上。在标准的Java虚拟机实现中,这个约束是由类文件验证器class file verifier)保证的,类文件验证器确保类文件中存储的字节码和其他内容不会包含非法指令,不会以非法的顺序执行,并且不会包含指向无效内存或Java对象存储区域(对象堆)之外的引用。简单来说,类文件验证器的角色是确保装载进虚拟机的类文件不会以Java™ Virtual Machine Specification所不允许的任何方式执行。

CLDC Specification要求遵循CLDC标准的Java虚拟机必须能够拒绝无效的类文件,这一点后面会详细解释。这一要求由第4.2.2小节讨论的类文件验证技术来保证。

应用程序级的安全性

虽然类文件验证在保证Java平台的安全性上扮演了关键角色,但单靠类文件验证器提供的安全性是不充分的。类文件验证器只能够保证给出的程序是一个有效的Java应用程序。还有其他一些潜在的安全威胁是验证器发现不了的。比如,访问外部资源如文件系统、打印机、红外线设备、本地程序库和网络等等,都超出类文件验证器力所能及的范围。应用程序级的安全性意味着Java应用程序只能访问那些设备和Java环境允许它访问的类库、系统资源和其他组件。

CLDC中,应用程序级的安全性通过一种被比喻成“沙箱”的封闭机制来实现。CLDC应用程序运行在一个封闭的环境中,在这个环境中,应用程序只能访问由configurationprofile、可选包定义的类库和设备支持的其他类。Java应用程序不能越出沙箱,不能访问不属于这些预定义功能的任何类库或资源。沙箱机制保证了意或错误的应用程序不能获得对系统资源的访问

说得更详细一点,CLDC沙箱模型要求:

Ÿ           类文件必须被正确验证,并保证它是有效的Java应用程序。(类文件验证将在第4.4.2小节详细讨论。)

本文关键:CLDC架构、应用程序模型和安全性
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top