袁 源,慕德俊,戴冠中
(西北工业大学自动化学院控制与网络研究所,西安710072)
移动Agent(Mobile Agent,MA)是一类独立的计算机程序,它可以自主地在异构网络上按照一定规则迁徙,寻找合适的计算资源、信息资源或软件资源,利用这些资源代表用户完成特定的任务[1-2]。与流行的软件实体(如对象、构件等)相比,MA的粒度更大,自治性和智能化程度也更高。随着网络技术的快速发展,MA在电子商务、电子政务、网络安全管理、分布式计算等实际应用领域有着广阔的发展空间。
MA虽然优点众多,但是安全问题却制约了它的发展。由于MA携带有完成任务所需的敏感资料(如电子货币,私有密钥等),恶意攻击将导致MA的所有者受到损失。研究表明,解决MA遭受恶意主机攻击问题的较好方法是将其看成一种社会行为:每个主机都代表某一组织的利益并赋予一个信誉度,根据其行为调整它的信誉度[3]。如果一个主机信誉度太低,源主机就不会派遣MA到该主机上,或者会检查该主机上MA的运行结果。目前,在MA系统中引入信任机制来加强系统的安全性,已经得到了很多研究者的认同,进一步的研究则主要集中在采取哪种信任管理机制上。Roda和Jennings等人在1994年提出了熟人模型(Acquaintance Model)[4-5],通过熟人模型表示其他agent的资源和能力信息,并对熟人的活动进行评估,再从中选择最合适的合作者。本研究工作就是在此基础上,将熟人模型引入MA,通过信任度评估机制动态管理信任关系,进而整合到整个安全体系中来,增强其安全性能。
结构如下:第一部分给出熟人模型的形式化定义;第二部分提出基于熟人模型的MA安全管理体系;第三部分进行试验仿真,分析结果并就后续研究方向进行一定程度的讨论。
在现实中当一个人遇到问题时,解决的途径一般是:首先试图凭借自己的能力去解决,如果问题无法解决,再向自己的熟人(包括亲戚)寻求帮助;如果问题仍然得不到完全解决,由熟人再向其熟人请求帮助,依靠这种方法一直进行下去,直至最后问题得到圆满解决。围绕解决该问题的所有熟人关系的总和便形成了一个“关系网”,通过对“关系网”的形成过程进行观察,可以发现[6]:
(1)人类社会关系网结构的维持并不需要一个专门的机构,只须由关系网中个人和熟人关系记录即可维持,同时不需要个人有超凡的记忆力,能记住社会上所有相关人员的信息。
(2)熟人关系是动态改变的。人们一般根据联系的频率、信任度等因素动态调节现有熟人关系的紧密程度,超过一定时间界限没有联系的熟人可能变得陌生,而陌生人通过联系也可以变得熟悉。
(3)熟人并不总是可靠的。也就是说,人们必须综合以往交互活动中熟人的行为或他人对熟人的评价,从而对熟人的允诺和能力作出适当的判断,以决定是否向他寻求帮助。
(4)上述关系的组织方式表明:一个庞大的群体关系可能以完全分布的形式保存在组成群体的个体之中,对个体信息处理和存储能力的要求毋需很高,群体合作可以通过个体间的交互得以实现。
将一个MA系统的熟人模型抽象为:AM=(Ω,R,OP)[7]。其中:Ω 代表系统参与的实体集合;R 代表实体之间信任关系的集合;OP代表对这些实体信任关系进行管理的操作集合。下面给出进一步的详细定义:
定义 1:熟人关系 AR=(i,j,T,t,ωij,s,f)用来申明实体i对j的熟人关系[8]。参数分别为:信任类型T=(直接熟人,推荐熟人);t为熟人约束时间;ωij为信任度;s表示成功运行次数,f表示失败运行次数。
直接熟人表示两个实体之间曾经有过直接的数据或其他交互,两者之间建立了一种直接的实体信任关系;推荐熟人指两个实体之间没有进行过直接的交互,而是根据其他实体的推荐建立的熟人关系,他们之间的信任度是根据其他实体的评估综合得出,推荐熟人在选择优先级上低于直接熟人。
定义2:信任度。信任度表示对一个实体能够按预期来执行的评估,信任度是一个变化的值,在特定时间内受到该实体行为和结果的影响。采用ωij表示实体 i对 j的信任度,ωij∈[0,1]。
在本模型中,实体可以通过推荐算法获得推荐熟人的信任度。例如,实体a想知道b的信任度,可以从其他实体那里得到关于b的信任度并进行综合评估。
μ表示这种推荐信任关系的权值,在实际使用中一般 μ=ωai。
基于熟人模型的MA安全体系结构如图1所示,主要包括两层:信任管理层和安全管理层。与典型MA系统中的安全管理类似,安全管理层能保证通信消息的完整性、机密性,并能鉴别通信实体的身份,同时还能授权控制实体的行为,这里不再赘述。
图1 信任体系结构
信任管理层作为该体系结构的关键部件主要完成移动计算之前的信任决定和移动计算之后的信任更新工作,其主要功能是通过分析目标实体是否能如实执行授权行为的可能性,从而更为准确地对MA进行授权控制。实体对任务信息的收集、节点信任的估算由其自身来完成,尽管各节点采用的信任计算策略一致,但由于各实体收集的信息不同,对同一实体来说,不同的实体对其信任度很可能、并且在大多数情况下并不相同。这种分布式的信任模型对带宽要求相对较小,不依赖于中央服务器,且允许各实体综合考虑如网络环境、上下文、时间衰减等内在的因素而做出自身的判断,更符合实际的需要。
(1)信任度增强规则
在一次成功运算后,实体会增加合作者的信任度,即
IF实体j本次运算成功
THEN ωij=min(ωij+ λ,1)
(2)信任度减弱规则
如果运算失败,实体会降低合作者的信任度,即
IF实体j的本次运算失败
THEN ωij=max(ωij- θ,0)
图2 一台恶意主机情况下
实验室构建了基于熟人模型的aglets平台来验证该MA系统的安全性。平台内实体总数N分别为10、20,恶意主机分别为1台和2台。每个实体随机生成任务发布给其他M个实体合作完成,选择的方式是当前熟人集中信任度最高的M台实体,如果合作者中有恶意主机,任务失败,记录该平台每发布10个任务的实际完成数。多次模拟取平均值的结果如图2和图3所示。
图3 两台恶意主机情况下
从图2和图3可以看出:
·通过多次运算,恶意主机的信任度降低,派遣MA到其上的概率降低,任务的完成率增加。
·恶意主机被完全确定后,将不会派遣移动MA到该主机上,使得任务的完成率达到最大值。
·随着网络主机和恶意主机数量的增加,这个过程需要的计算次数会增加。
此外,基于熟人模型的aglets平台通过多次运算,熟人集稳定后,完成任务所要花费的时间也将减少(和网络带宽与计算机运算能力有关)。
在本系统中,访问控制的决定不仅依靠传统的安全机制,而且依靠实体的历史和现在行为进行综合信任评估。信任的推荐和更新机制将允许实体在安全决定之前从各自的可信实体中去寻找合作者,并相应地更新其信任值,尽量在事前避免可能的恶意主机的攻击以提升安全等级,进一步提升了开放网络环境下安全解决方案的可度量性和灵活性。
将基于熟人模型的信任管理机制引入MA系统安全中,利用从分布式的可信实体中获取的信任度进行合作者的选择,有效提高了MA系统的安全性和任务的完成率。不足之处在于文中所描述的信任度是一个主观的单一值,不能精确地反映信任变化的原因,提供的决定不够充分。未来的工作会将信任评估应用于不同安全机制,并在定位信任变化原因中加强,在复杂的网络环境下进行测试以验证安全性能的提高。
[1] 张云勇,刘锦德.移动agent技术[M].北京:清华大学出版社,2004.
[2] 李新,吕建,曹春,等.移动Agent系统的安全性研究[J].软件学报,2002,13(10):1991-2000.
[3] 胡鹏,袁世忠.基于间隔检测和信誉度的移动Agent安全机制[J].计算机应用与软件,2006,23(11):129-131.
[4] Y Lashkari,M Metral,PMaes.Collaborative Interface Agents[C].Proc.of the 12th National Conf.on Artificial Intelligence,Seattle:AAA I Press,1994:444-449.
[5] C Roda,N R Jennings,E H Mamdani.The Impact of Heterogeneity on Cooperating Agents[C].Anaheim:The AAAI Workshop on Cooperation among Heterogeneous Intelligent Systems,1991.
[6] 魏巍,刘弘.基于关系网模型的Agent联盟形成策略[J].计算机应用研究,2006(10):41-43.
[7] LIN Ching,VARADHARAJAN V,WANG Yan,et a1.Trust enhanced security for mobile agents[C].Proceedings of the Seventh IEEE International Conference on ECommerce Technology.Washington DC:IEEE Press,2005:231.
[8] 武小平,邢宏根.基于信任管理模型的移动Agent安全机制研究[J].广西师范大学学报,2008,26(2):114-117.