摘 要:本文在论述了移动Agent系统所面临的各种安全性问题之后,总结了现有移动Agent系统的解决方案。在此基础上,本文建立了一个基于移动Agent系统的安全框架,旨在加强基于移动Agent系统的安全性,并实现了对其安全策略的灵活配置。
关键词:移动Agent;移动Agent系统;Agent平台;安全策略
1 引言
随着Internet的进一步发展,分布式应用的开发越来越受到人们的重视。近几年发展起来的基于移动 Agent的分布式计算模式为分布式技术开辟了新的研究领域。移动Agent作为全新的分布式计算技术,通过将自身代码状态传送到远程主机并在远程主机本地执行的方式,克服了传统的分布式计算模式的不足,为分布式计算带来更大的灵活性、高效性、可靠性和智能性,成为分布式计算一个新的发展方向。但是移动Agent在网络中移动的同时也带来了许多安全性方面的问题,这成为决定移动Agent能否取得广泛应用的关键性问题之一。
2 移动Agent现存安全问题
安全威胁通常分为三类:信息泄漏、拒绝服务以及信息破坏 系统
Ajanta是Minnesota大学开发的一个基于Java的移动Agent系统。Agent传输协议保护Agent的完整性和私有性。系统将标准加密机制集成到传输协议中,采用单向哈希函数和数字签名检测篡改,建立参与通信的服务器的身份。在保护域的基础上,为服务器提供了一个资源保护工具,允许服务器的资源对Agent是可用的,并且能够对存取权限进行动态地控制。
系统实现了几种机制来保护Agent,能够检测到对它的篡改。程序设计者还可以定义Agent所携带的某些对象对于特定的Agent平台是可实现的,实现了Agent状态的有选择性的暴露,较好地解决了系统地安全问题。
以下是对上面四种现有系统的对比:
表1现有移动Agent系统的安全性对比 | |||
系统 | 通信安全 | 服务器资源保护 | Agent保护 |
Telescript | 用RSA认证和用RC4加密Agent传输 | 基于能力资源的访问。限定配额,基于Agent权限授权 | 无 |
Aglet | 无 | 静态指定访问权限,只基于两类安全分类,信任和不信任 | 无 |
Concordia | 使用SSL认证,Agent传输被加密 | Security Manager 基于Agent拥有者身份使用静态配置的存取控制列表(ACL)屏蔽访问 | 由资源访问机制保护Agent被其它Agent的访问 |
Ajanta | 使用DES加密传输,认证使用ElGamal协议 | Java的Security Manager控制Agent对系统级资源地访问 | 使用检查Agent状态和代码被篡改的机制 |
图2 SBMASF安全框架
1. 域内Agent的访问。在Agent移动到此域内的远程主机的Agent平台上时,可以通过SSL加密的传输通道,经过域内管理器找到目的主机的路径,对Agent进行简单认证后,直接到所要访问的主机上运行。其安全认证比较简单,而可信度也比较高。
2.域外Agent的访问。在移动至远程Agent平台前,先经过域管理器列表来找到远程的域,由远程域先判断Agent所属域在该域的权限,来获取Agent自己在远程Agent平台上的权限,同时域管理器列表将此Agent的访问信息发送给Agent平台。
3.匿名Agent访问。匿名Agent访问的主要特点是执行此Agent的主机并不知道此Agent的来源以及此Agent如何在此主机上执行。因此匿名Agent被限制在特定的权限内秘密的执行,只是在最后将所得结果进行签名。
以下将按照此安全模型具体讲述各个部分的安全策略的配置。
5 结束语
SBMASF安全框架可以有效的解决Agent本身安全与运行Agent的主机的安全之间的矛盾,同时不会影响Agent的移动性、自主性、协同性等固有特性,为保护整个移动Agent系统提供了比较灵活的安全配置。具体说来,此安全框架采用集中管理的树状模型系统以及通用性和可扩展性。在设计安全框架时,考虑到了系统未来升级或者扩展对安全提出的新的要求,此模型采用的是分级管理制度,因此很容易将安全策略应用到扩展部分。
当然本框架大部分还处在设计阶段。从理论上讲,在保护Agent本身的安全的时候,所注重的仅仅是检测到Agent的数据信息是否被篡改。在发现Agent遭到篡改后,我们采取的策略仅是将结果简单丢弃,并没有设计其它的挽救行为。从另外一方面考虑,最好能够设计一种机制来尽量使Agent避免遭到篡改。而不仅仅只是达到检测的效果。
参考文献:
周屹 基于java移动Agent安全参考模型 黑龙江工程学院学报 2007,21(1):P67~69