文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java何以保网络安全(转)

2023-06-03 04:51

关注
Java何以保网络安全(转)[@more@]  Java是惟一一种从设计的开始就考虑安全性的移动代码。虽然并不完美,Java却在程序的功能性和保护主机的安全性两方面达到了最大的平衡,并且Java非常适合将代码从一个平台向另一个平台的移植。

  Java采用一个称为“sandbox”的模型来运行移动代码。不被信任的移动代码只能在sandbox中运行而不能进行多数针对主机的操作,比如读、写或删除文件,监听或接受网络连接等等。

  当浏览器加载含有Java applet的页面时,它从Web服务器上取Java的字节代码,然后将代码传给称为字节代码检验器的Java部件。检验器确保字节代码有正确的格式,不会超出内部堆栈的边界,这就防止了程序的崩溃。第二个Java部件——类加载器,决定一个Java applet在何时、以何种方式将代码加入正在运行的Java环境,保证此applet不会取代任何系统级别的内容。(每一个Java程序由一个或多个类、数据对象以及如何操作数据的方法所组成。)

  最后,还有第三个部件称为安全管理器,当一个有潜在危险的方法试图运行时,安全管理器就会起作用。是否运行这种有潜在危险的方法取决于需求此种方法的类来源于何处。举例来说,内部本身的类比通过网络获取的类具有更大的特权。(因为这一原因,要注意千万不要将不明出处的类通过将其路径放在系统的CLASSPATH下而成为内部本身的类。)

  由此可见,字节编码检验器、类加载器和安全管理器使得Java程序高效而安全。即使这样,任何一个部件中的编程错误都会导致安全问题。这就是为什么某些攻击只是针对某一个特定厂商的JVM,这是因为并不是Java本身的安全模型出了问题,而是因为实现这一模型的方法出了问题。

  随着Java程序的复杂化、实用化,必须要脱离“sandbox”运行。这可以通过Java开发工具包JDK(Java Development Kit )1.1来实现,JDK在系统中扩展了加密的API,并且支持数字签名。在Java文档中(.JAR文件)的applet可以通过签名来保护,允许最终用户知道程序是来自可信任的地方,并且未经过任何修改。通过JDK1.1,如果用户通过签名确信applet代码来自可信任的地方,便通知浏览器和JVM将获取的代码与本地代码同样对待,获取完全的权限。

  Java 1.2(后来更名为Java 2)在安全方面更进一步,它提供权限不同的模型来运行不同的代码,也就是说,不管是本地代码、下载的信任代码或下载的非信任代码都可以在不同的特权环境中运行。总的说来,Java的安全漏洞较少,尤其是Java 2 ,在安全和性能两方面都有很大提高。
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯