摘 要:本文在论述了移动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状态和代码被篡改的机制
3 基于移动Agent系统的安全框架设计
针对现有移动Agent系统分析,设计安全框架SBMASF如图2所示。利用此安全框架可以配置相应的安全机制,满足系统的安全要求。包括,Agent之间或Agent与环境之间的通信安全与信任机制以及安全行为相关的审计机制等。
其中模型中的每个对象都要定义安全策略,尤其是Agent平台的安全以及Agent安全的策略。在本地的安全策略和整体策略相冲突时,首先要保证的是整体安全策略的实施。
为了整个安全模型应用以及将来扩展,将整个系统采用分级管理,首先将各台主机按部门分成不同的域,每个域由其中一台可信主机来管理,称为域管理器,由域管理器来定义域的安全策略以及管理本域中Agent对其它域的访问和迁移。所有域管理器的信息都存放在域管理器列表(DML)中,由更高一级的域管理器列表来控制域的信息。域管理器中包含该域内所有主机的注册信息以及其权限控制列表,可以提供两种服务,认证和会话授权服务。
每个域中的域管理器相当于一个代理或者是运行中的第三方,当Agent向域外迁移时,将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被限制在特定的权限内秘密的执行,只是在最后将所得结果进行签名。
以下将按照此安全模型具体讲述各个部分的安全策略的配置。
4 结束语
SBMASF安全框架可以有效的解决Agent本身安全与运行Agent的主机的安全之间的矛盾,同时不会影响Agent的移动性、自主性、协同性等固有特性,为保护整个移动Agent系统提供了比较灵活的安全配置。具体说来,此安全框架采用集中管理的树状模型系统以及通用性和可扩展性。在设计安全框架时,考虑到了系统未来升级或者扩展对安全提出的新的要求,此模型采用的是分级管理制度,因此很容易将安全策略应用到扩展部分。
当然本框架大部分还处在设计阶段。从理论上讲,在保护Agent本身的安全的时候,所注重的仅仅是检测到Agent的数据信息是否被篡改。在发现Agent遭到篡改后,我们采取的策略仅是将结果简单丢弃,并没有设计其它的挽救行为。从另外一方面考虑,最好能够设计一种机制来尽量使Agent避免遭到篡改。而不仅仅只是达到检测的效果。
参考文献:
周屹 基于java移动Agent安全参考模型 黑龙江工程学院学报 2007,21(1):P67~69
【基于移动Agent系统的安全技术研究论文】相关文章: