基于Java开发平台安全性研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java开发平台安全性研究

基于Java开发平台安全性研究   摘要:在日益强调信息安全的今天,Java技术的应用十分广泛,采用Java开发平台的厂商很多,基于Java程序设计语言的开发工具也很多,在这个背景下,Java开发平台的安全性受到越来越多的关注与讨论。该文首先就Java开发平台的整体情况进行概述,以此来引入Java开发平台安全性的研究,从体系结构、程序语言以及API功能三个方面阐述Java开发平台的安全性,以供参考。   关键词:Java开发平台;安全性;体系;程序语言;API功能   中图分类:TP311 文献标识码:A 文章编号:1009-3044(2016)21-0024-02   随着科学技术的迅猛发展,计算机硬件技术逐步走向瓶颈,软件开发成为电子信息技术产业的重点发展方向。而信息安全自“斯诺登”事件爆发后,被各国所重视,为何我国在极力研发自主微机芯片以及操作系统,主要就在于引进的硬件或操作系统可能存在的后门或漏洞会造成信息的泄露。而Java程序设计语言被开发出来,便以其优秀的特质,流行于国际,并伴随着Internet的发展,被广泛应用于各个领域,在强调信息安全的今天,Java开发平台的安全性受到了巨大的挑战,因此对其进行深入的研究具有十分重要的意义。   1 Java开发平台概述   2 Java开发平台安全性研究   2.1 体系结构   Java的体系结构在Java虚拟机中运行,在此环境中进行创建跨平台应用程序。主要工作的原理分为两个部分,编码以及运行。在编译时,将Java源代码文件(.java)经由编译器(javac)编译成二进制字节码文件(.class),运行时通过类加载器加载class文件,包括编译出来的二进制字节码文件以及原始的API class文件,并进行连接和初始化,由字节码校验器校验后交由执行引擎运行。执行引擎包括解释器以及JIT代码生成器,解释器将指令解释成适用于本地操作系统的方法并执行,JIT代码生成器的功能与解释器功能类似。程序在执行中,保证安全的代码指令被同时解释为本地操作系统适用的方法并执行,从而控制外部资源的访问。因此,Java的体系结构为其安全性提供了支持,这主要与Java程序的执行方式有关,从上文来看,不同平台相同的应用程序代码,要先经过编译,使这些代码成为符合Java规范的二进制字节码,然后再进行解释执行。重点就在于这种解释执行的模式为Java程序的安全性提供了有力的支持。从Java的平台无关性可以看出,Java应用程序如果使用标准为百分之百的API功能,且不直接调用本地操作系统的方法,则可以不用修改直接应用与多种平台,这为程序在嵌入式或者异构网络环境方面的应用提供了方便,Java开发平台的网络移动性,催生出一种新的软件模式,可以通过网络将软件和数据传送到客户端,并以必需的软件浏览和操纵数据。这无疑能够为安全性提供更好的支持。   2.2 Java程序语言   Sun Micro system公司在开发Java时,将安全性进行了充分的考虑,这是Java广受欢迎的重要因素。在程序语言层次上主要有以下几个方面的内容,体现Java开发平台的安全性。   第一,语言规范和编译器。通过语言规范和编译器可以很好地保证源代码的安全性,在Java程序语言的设计时就将C、C++中可能出现的不安全操作进行了总结并且予以限制。而且程序语言不允许直接访问内存,采用引用分配对象的方式而不是指针,无法通过数学操作更改指针,Java程序语言中具备真正的数组,并以严格的边界检查进行数组的访问。在对Java源代码文件进行编译时,所有类型的转换都需要进行合法性检查,但这些检查只能保证检测出不符合语言规范的恶意攻击,有着一定的局限性,字节码校验很好地解决了这个局限。符合程序语言规范的编译器能保证源代码的合法性,但恶意的攻击则可能将编译器进行更改,从而产生不符合安全规范的字节码。而字节码校验存在的目的就是检查这些被篡改的编译器编译的代码,确保字节码的格式正确合法。从而保证在解释器解释为本地系统方法并执行时,不出现伪造指针、栈溢出且违反访问限制,保证访问对象的正确性以及执行方法使用正确的类型、数量的参数调用。   第二,在Java虚拟机中,类加载器会加载class文件以及加载原始API class文件,同时负责将应用程序需要的类进行链接和初始化。在加载字节码时会对其进行字节码验证,确保这些装入的字节码没有伪造指针,没有违反访问限制以及访问对象正确。这个过程对应用程序的执行代码安全性上关系重大。由于类加载器的重要性,因此Java的程序语言中有一些措施在对其进行防护,主要有两个方面的内容,一方面想要在Java虚拟机中创建一个新类或安装一个新的加载器,需要具备特殊的权限。另一方面,所有新安装的类加载器需要授权给父加载器,

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档