欢迎来到天天文库
浏览记录
ID:6247500
大小:27.50 KB
页数:5页
时间:2018-01-07
《移动agent中使用java安全机制探析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、移动Agent中使用Java安全机制探析 摘要:目前,移动Agent技术已经成为计算机网络系统里中最具活力的发展方向。然而,复杂的网络环境要求移动Agent具备很高的安全性。本文针对移动Agent存在的安全隐患,分析Java语言的安全机制问题,并提出基于Java安全机制的移动Agent安全问题处理方法。随着移动Agent的不断发展,Java安全机制必将为其提供有力保障。【关键词】移动AgentJava安全机制1引言随着网络信息技术的不断发展,网络信息资源不断增加,这就要求网络具有更高的效率和智能。在网络系统中,主要采用Server/Client结构,其运行于Server
2、和Client平台的通信,通过信息传递和远程调用来实现。移动Agent既解决网络通信的瓶颈问题,又提高任务处理速度,增加系统灵活性、兼容性。因此,移动Agent在分布式网络中应用广泛,并具有很好的发展前景。本文针对移动Agent系统中安全问题,通过Java语言的安全机制分析,提出处理移动Agent安全问题的方法。2移动Agent的安全问题虽然移动5Agent具备很多优势,但其自身的安全性问题限制其发展。移动Agent可以将分布的计算机连接起来,构成计算机网络,并在其上运行不同用户组的应用程序,这些用户组可能具有潜在的威胁。这些计算机分别属于不同的组织,每个组织承接着不同的
3、任务,并通过公共通讯设施进行通讯。在这样的网络环境下,存在各种不安全因素和威胁。比如,未被授权的用户可以监听网络线路,在移动Agent传输过程中修改源代码。在移动Agent运行的过程中,未被授权用户可能攻击其他主机,占用更多的网络资源。移动Agent安全问题可以归结为以下几类:(1)恶意修改的移动Agent发起对主机的攻击,主要包括伪装、拒绝服务。(2)移动Agent利用系统漏洞对主机上的其他移动Agent进行攻击,如通讯移动Agent、管理Agent名字和空间的移动Agent。另外,移动Agent作为主机的部分资源,对于移动Agent进行攻击就等于攻击主机。(3)恶意主
4、机对移动Agent进行破坏。由于移动Agent的执行平台是主机,主机对移动Agent的威胁很难防范。(4)虽然移动Agent消耗少量的网络资源,但是其自身行为符合网站安全策略,被所有主机所接收。移动Agent可以通过自身的不断复制,产生大量的移动Agent,耗费大量的网络资源,最终导致网络运行瘫痪。3Java语言的安全机制5移动Agent运行平台是不同的主机,这样不同的网络环境要求移动Agent具有移植性。Java语言具有无平台性、动态性、多线程性和对象序列化等特点,所以移动Agent安全问题的解决途径是Java安全机制。在Java安全机制中,可以安全顶级运行各种Appl
5、et,其可以进行事前安全防范。3.1Java沙箱Java沙箱作为早期安全机制,其可以使用户免受网上下载程序的干扰。Java安全模式提供专为Java程序运行的沙箱,以此实现抗干扰的目的。Java沙箱在每个主机驻留一个程序,改程序的运行环境限制在沙箱内。简单地说,Java程序可以在沙箱内做任何事情,但在沙箱外就不能进行任何操作。Java程序通过字节编码、类加载和安全管理器检查,将Java限定下载代码的执行范围,大大提高Java程序的运行效率。3.2Java引入新的安全机制随着Java程序复杂化、实用化程度的不断提高,沙箱的运行环境逐渐脱离。Java2平台增强了Java的安全性
6、:Java2配备了安全策略,避免Java程序读取非法文件,以及建立非法链接和非法访问。安全策略建立在Java读取控制机制上,相应的读取控制器也需要Java类装载器、安全管理器和语言保护等安全机制。密钥管理系统可以对数字签名时的密钥进行管理。5Java2采用新型安全结构,主要包括访问权、安全策略、保护域、访问检查器、对象级安全等。4利用Java解决移动Agent的安全问题Java既提供整套安全机制,又具有丰富的支持对象串行化、远程方法调用和映射库。移动Agent可以用串行化表示对象;Agent源代码的移动字节码的加载;Agent运行上下文用方法控制流的表示。4.1通过Jav
7、a的字节码验证器验证正确性字节代码验证器对移动Agent程序代码的完整性进行检测,并采取相应的措施。移动Agent需要与主机进行数据交换,很难对数据窃取和篡改进行检测。字节码验证器可以将移动Agent原数据限定为制度,并对查询结果进行加密,将某台计算机设为可见,其他机器不能访问。同时,建立可信任主机列表,以此保证移动Agent访问主机的安全性,但主机安全性的评价标准不能准确界定。4.2通过Java类装载器、命名空间和线程组实现动态隔离Java在运行过程中,需要从网络上装载多个类,所有类通过类装载器载入。类装载其程序化地设置其载
此文档下载收益归作者所有