科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件深入理解Java安全模型

深入理解Java安全模型

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Java2 中引入的Java安全模型是具有高安全性的Java企业应用的基础。Java安全技术包括大量APIs函数、工具集以及常用安全算法、机制与协议的实现。

作者:builder.com.cn 2007年4月20日

关键字: Java安全模型 java

  • 评论
  • 分享微博
  • 分享邮件

Java2 中引入的Java安全模型是具有高安全性的Java企业应用的基础。该模型基于一个可订制的“沙盒”,它消除了Java软件程序对系统或用户潜在风险使得可以在里面安全运行。Java安全技术包括大量APIs函数、工具集以及常用安全算法、机制与协议的实现。

Java安全模型的体系结构

Java 2的安全平台有两部分组成:Java 2 安全体系内核与Java加密体系(JCA)。这两部分如图A所示,其中低层组件就是Java2 安全平台的这两个主要部分,上层组成了安全扩展。

这三个安全扩展到Java 1.3.1才可单独获得,但是从Java 1.4开始,它们就被集成为J2SE。

Java 2 安全体系内核

这是Java平台的一部分,它包括:字节码验证器、类加载器、安全管理器、访问控制器、访问权限管理器和策略描述工具等。下面让我们来看一下Java代码在Java2安全体系内核组件中的执行过程。

首先字节码验证器检查代码是否满足Java语言规范。这个任务包含两步:(1)字节码验证器分析字节码的顺序;(2)字节码验证器检查对其它类的引用。例如,如果一个类要访问另一个类的方法,字节码验证器就要检查该方法是否为public。字节码验证器的典型操作包括:检查字节码的顺序是否以0XCAFEBABE开始,是否丢失字节,最后的类是否包含子类(它们不应该包括),方法的参数类型是什么等。

如果一切正常,接下来类加载器将字节码翻译成java类,然后由java虚拟机(JVM)执行。如果需要加载一个特别的类可以定义不同的策略加以说明。通过委托给安全管理器的方式如果某个类可以访问特别的系统资源,那么类加载器和java标准类也可以定义决策权。

安全管理器是一个可有开发人员实现的特殊类,用于指明一个类是否可以访问指定的资源(例如,文件访问或网络连接)。为了做出决策,安全管理器需要分析请求来源。如果访问被拒绝,将会抛出一个java.lang.SecurityExceptin异常,否则的话,将会以通常的方式处理该调用。(以后我将会写另外一篇文章介绍如何创建定制的安全管理器)。

为了增加灵活性,应用可以使用另外一个专门的机制——访问控制。Java平台提供了另外的低级安全特性如自动内存管理和强数据类型。这将会使得代码更健壮,减少了内存出错和可能的漏洞。访问权限控制是Java2安全系统最重要的提高,java.security包中包含了来自java2安全体系内核的类与接口。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章