基于Java开发平台的安全性措施
2017-03-15王浩
摘 要 本文先概述了Java开发平台的整体情况,接着,对Java开发平台的安全性进行研究,Java开发平台的安全性主要从体系结构、程序语言、API功能等三个方面进行阐述,作为以后的参考。
【关键词】Java开发平合 安全性 体系 程序语言 API功能
1 Java开发平台概述
1995年,Java被Sun Micro system公司推出的,其属于一种程序设计语言,以前作为一种Oak程序设计语言,主要对有线电视机顶盒、PDA等设备微处理器进行控制,到了1994年,把其叫做Java,其具有显著的安全、可移植、兼容等性能。随着Internet的发展,使Java也得到发展。其被作为一种最流行的程序开发语言使用在网络上,支持Java的编程语言的开发主要是UZtraEdit、JavaDevelo pmentKit(JDK)等等。
2 Java开发平台安全性研究
2.1 体系结构
在Java虚拟机中运行Java的体系结构,其原理包括:编码、运行等。在实施编译时,将Java源代码文件编译为二进制的字节码文件,在具体运行时,需要使用类加载器完成加载clan文件。其中涉及了二进制字节码文件、原始的API clan文件等,同时,对其进行连接、初始化,接着执行引擎运行,当字节码校验器校验之后。而执行引擎,包括有解释器、JIT代码生成器。通过Java的体系结构,确保其安全运行。对于Java应用程序,一旦使用标准的API功能,则可以直接应用与多种平台,使Java开发平台具有网络移动性,进而形成一种新的软件模式,在网络的情况下,把软件、数据输入给客户端,为安全性提供更好的支持。
2.2 Java程序语言
在开发Java时,Sun Micro system公司把安全性放在第一位,而Java程序语言,在层次上包括几个方面,充分说明了Java开发平台的安全性。
(1)语言规范和编译器。在语言规范、编译器的基础上,源代码更加安全,在设计Java程序语言时,需要把C,C++中具有的非安全操作及时限制,同时,程序语言禁止直接去访问内存,通过引用分配对象的方式来进行。而在Java程序语言中,往往具有真正的数组,为了对数组进行访问,可以用严格的边界完成检查。关于Java源代码文件的编译,涉及到的转换有必要进行合法性地检查,通过检查,确保语言的规范,但是他也存在一定的不足,而字节码校验恰好解决了这个不足。为了保证源代码的合法性,往往使用符合程序语言规范的编译器,除非遇到恶意的攻击,编译器会被更改,进而出现非安全、非规范的字节码。所以,通过字节码校验,检查被篡改的那些编译器编译的代码,使字节码的格式有保证。
(2)類加载器存在于Java虚拟机中,其会加载clan文件、原始的API clan文件等,同时,对应用程序进行链接与初始化。在对字节码加载时,也对其完成字节码验证,确保字节码准确。因此,在Java的程序语言中,往往有一些防护措施,包括两个方面,其一,其具备特殊的权限,在Java虚拟机中,能够创建一个,或安装一个新的加载器。其二,对于全部新安装的类加载器,需要有一个副加载器,确保以前加载器被保护起来,尤其对于JavaAPI类。其作为Java安全机制的一个核心类。
(3)在Java虚拟机中,还有一个安全管理器,即“沙箱”。而这个沙箱,主要是把本地资源隔离与Java虚拟机中的资源,使得本地操作系统或应用程序不被虚拟机中的恶意代码破坏。这个沙箱体系作为Java开发平台一个最大的优势和特点,其为不同代码单元制定了访问控制权,确保其安全,并且授予其代码。
(4)随着新版本Java工具的开发,安全管理器被访问控制器替换了,其具有更好地安全策略,使用起来更加灵活,其包括三种形式,其一,随着安全策略的实施,能够决定是不是去访问系统的关键资源。其二,对代码执行标记,使其具有特权,并制造影响给后续的访问。其三,为了获得当前调用的上下文,往往以快照的形式进行,同时,及时完成保存。
2.3 Java的API功能
2.3.1 认证与授权
在Java开发平台中,通过发挥API功能,为其提供了身份认证的组件,从而能够对当前执行各种类型代码的用户进行准确地识别,包括:应用程序、applet、heano等,而JARS有效地补充了现有的安全策略内容,而用户与任务起源影响其决定性。对于Java开发平台,同意JARS运行嵌人式的执行方案,进而确保JARS与Java的内置安全策略的底层认证与授权更加独立,为新的认证与授权技术更加有效。
2.3.2 加密扩展
Java开发平台在使用JCE程序的基础上,为其加了密钥。JCE使用javax.crypto .Cipher类对对象的进行加密或解密。也为接口写入,或读出数据进行加密与解密,对于这个类,给Java开发平台多种加密的算法、模式、填补的机制。
2.3.3 安全套接字扩展
通过Java开发平台,开发者得到了安全Internet通信的扩展包,即JSSE。通过扩展包,形成了SSL与TLS的Java技术版本,提供给开发者诸多功能,比如,给数据加密、确保消息的完整、认证可选客户端的身份、认证服务器的身份等。在执行JSSE的安全策略时,需要在SSL环境下进行,利用JDK的kevtool工具来管理两个库。其二,在使用JSSE时,套接字的获得是从JSSE套接字工厂得到的,通过这种方式,可以直接利用JSSE提供的程序框架,定义HTTP,FTP,TCP/IP等协议。
参考文献
[1]王海,于佳.Java开发工具分析与研究[J].吉林化工学院学报,2016(03):67-70.
[2]文其瑞.基于Java EE应用程序的web服务安全性分析[J].电子制作,2013(16):152.
[3]赵争东.基于Java的数据库应用框架的研究设计和探索[J].信息系统工程,2015(12):12-16.
作者简介
王浩(1993-),男,陕西省渭南市人。西安文理学院信息工程学院2013级在读学生,主要从事java开发。
作者单位
西安文理学院信息工程学院 陕西省西安市 710065