(计算机应用技术专业论文)多agent安全通信的研究与实现.pdf_第1页
(计算机应用技术专业论文)多agent安全通信的研究与实现.pdf_第2页
(计算机应用技术专业论文)多agent安全通信的研究与实现.pdf_第3页
(计算机应用技术专业论文)多agent安全通信的研究与实现.pdf_第4页
(计算机应用技术专业论文)多agent安全通信的研究与实现.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多a g e n t 系统安全通信的研究与实现 摘要 随着对多a g e n t 系统研究的逐步深入,以及基于多a g e n t 技术的 应用系统不断出现,a g e n t 及多a g e n t 系统安全性日益成为一个重要 的研究课题。本文的主要工作就是在分析了多a g e n t 系统可能出现的 安全威胁的基础上,以j a d e 平台为例,提出了一个使两个互不信任 的a g e n t 实现身份认证、进行权限控制,同时能够防止重放攻击和中 间人攻击的、透明的、安全的多a g e n t 系统安全框架。这个框架保证 了a g e n t 之间数据传输的保密性、完整性和不可否认性。 本文首先介绍了分布式计算的发展历史,多a g e n t 系统的基本概 念、优缺点及其应用领域。接着介绍了相关的国际规范标准f i p a 和 遵循这个规范的平台j a d e ,并指出了j a d e 平台的安全弱点。最后详 细介绍了在探讨了现有的多a g e n t 系统的安全保护方案的基础上针 对j a d e 平台的安全弱点设计了一个安全框架m a s s f 。从而提高了j a d e 多a g e n t 平台的安全性。最后我们对添加了该安全框架的j a d e 平台 进行了性w , n 试,指出了今后研究方向。 关键词:多a g e n t 系统,安全,j a d e ,f i p a ,加密 多a g e n t 系统安全通信的研究与实现 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h em u l t i - a g e n ts y s t e mr e s e a r c ha n dt h e a p p e a r a n c eo f m o r em a sb a s e d a p p l i c a t i o ns y s t e m ,t h es e c u r i t yo fa g e n t a n dm a sh a sb e c o m ea ni m p o r t a n tr e s e a r c ht o p i c t h em a i nr e s e a r c h e s w eh a v ed o n ei nt h i sp a p e ra r et h a ta f t e rw e a n a l y s et h ep o s s i b l es e c u r i t y a t t a c k sa m u l t i a g e n ts y s t e mm a ym e e t ,w ep r o p o s e a s e c u r i t yf r a m e w o r k , w h i c hi sb u i l t u p o nt h e j a d em u l t i - a g e n tp l a t f o r m t h i sf r a m e w o r k i m p l e m e n t ss u c hs e c u r i t yf u n c t i o n sa si d e n t i t ya u t h e n t i c a t i o n ,a u t h o r i t y c o n t r o l l i n g ,m e s s a g ec h e c k i n g ,e v e n ta u d i t i n g i na d d i t i o nw e e n s u r et h e s e c u r i t y o ft h ed a t at r a n s f e rw i t h m a s s f , w h i c h c a n p r e v e n t m a n i n t h e m i d d l ea t t a c k i nt h i sp a p e r w ef i r s ti n t r o d u c et h eb a s i cc o n c e p t sa n d p r i n c i p l e so n m a sa n dar e l a t e di n t e r n a t i o n a ls t a n d a r d - f i p a ,t h e n a n a l y z e s t h e p o s s i b l ea t t a c k sw h i c ha m u l t ia g e n ts y s t e mm a ym e e ta n d p o i n to u tt h e f a u l t so fj a d e n e x tw ed e s c r i b et h i ss e c u r i t yf r a m e w o r ki nd e t a i l ,w h i c h h a se f f e c t i v e l yi m p r o v e dt h es e c u r i t yl e v e lo ft h ej a d e p l a t f o r m a tl a s t w e g i v eap e r f o r m a n c e t e s tf o rt h ee n h a n c e dj a d e p l a t f o r m ,a n dp r e s e n t t h ef u t u r er e s e a r c h e s k e y w o r d s :m u l t i - a g e n ts y s t e m ( m a s ) ,s e c u r i t y ,j a d e ,f i p a , e n c r y p t 多a g e n t 系统安全通信的研究与实现 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 签名: 棹 多a g e n t 系统安全通信的研究与实现 关于论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人 所送交学位论文的复印件和电子文档,可以采用影印、缩印或其他复 制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除 在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学 研究生院办理。 签名:导师签名:善蟛 日期:2 翌生盔: 多a g e n t 系统安全通信的研究与实现 第一章绪论 随着近些年i n t e m e t 用户数的急剧增长以及在世界范围内企业广泛采用w e b 作为信息发 布平台和电子商务等活动的开展,人们对网络技术和网络应用给予了极大的关注。与这些新 的应用相对应的新技术、新语言及新的计算模式也逐渐发展起来。而最有发展前途的新技术 之一就是移动代理技术了。 1 1 分布式计算模型的发展 1 1 1 消息传递( m e s s a g ep a s s i n g ) 消息传递模型是早期的进程间通信手段,直到今天。它还是进程间通信的基础。通常 消息传递模型提供两条通讯原语;将消息发送到目标进程的s e n d 原语和接收到达消息的 r e c e i v e 原语。在基于消息传递的客户机服务器计算模型中,客户端首先发送请求消息 给服务器。服务器在接收请求后处理这一请求,最后将包含了结果的回答消息发回绘客 户端( 如图i 1 所示) 。 图1 1 消息传递模型 消息传递模型有很强的表达能力和灵活性,但是它需要程序员处理底层细节,如跟踪请 求和应答的对应关系,实现客户和服务器之间的数据格式转换、确定服务器的地址以及系统 的错误等。【1 】这些都给程序员增加了使用消息传递进行编程的难度。 1 1 2 远程过程调用( r e m o t ep r o c e d u r ec a l l ) 远程过程调用( r p c ) 是为了缓解消息传递模型的琐碎性而提出的。 2 1r p c 支持客户 端的程序通过标准过程调用机制调用服务器端的过程大多数r p c 是通过桩过程来实现的 【1 ,2 1 。调用r p c 的客户端实际上调用的是本地的桩,桩将过程名以及调用参数放入调用 消息中并将其发送给远程主机。远程机上的服务器桩接收到消息后,从中抽取出过程名和参 数。然后调用相应的过程,在过程完成后,服务器桩将结果发回给客户端的桩,之后客户端 的桩将结果返回给客户( 如图1 2 所示) 。 图i 2 远程过程调用模型 i 1 3 远程求值( r e m o t ee v a l u a t i o n ) 远程过程调用r p c 中存在的主耍问题之一是客户端的过程调用受限于服务器所提供的 操作。如果服务器不能提供刚好符合客户需要的操作,客户就必须通过几个远程过程的调用 来实现所需要的操作。客户在每个调用之间还得传送中间结果,如果这些中间结果在客户完 成任务后不再有用的话,大量的网络带宽就被浪费掉了。因此,人们转向研究子程序能从客 多a g e n t 系统安全通信的研究与实现 户端传送到服务器端的远程求值( r e m o t ee v a l u a t i o n ,简称r e v ) 模型【3 】。传送到服务 器端的子程序在服务器上运行,最终的结果被返回给客户( 如图1 3 所示) 。 图i 3 远程求值模型 象r p c 一样,r e v 也使用客户端和服务器端的桩过程。并且它能被用于所有的程序设 计语言。r e v 对能被传送到远程机器上的过程施加了严格的限制。其中最主要的是过程必 须是自包含的,即过程中所有引用的函数和变量必须是服务器能提供或者随过程一起迁移到 服务器端的。 r e v 已经具备了移动代理的雏形,它为移动代理的产生奠定了基础。正是由于i n t e m e t 的发展使得人们在现有技术的基础上研究出更为高效灵活的分布计算模型,从而促进移动 代理的产生和发展。 1 1 4 移动代码( m o b i l ec o d e ) 关于移动的程序代码的研究起源于异构网络环境的需求。和移动代理的迁移所不同的 是,可移动代码只是程序代码的迁移而不是运行程序( 包括程序代码、数据以及运行状态) 的移动。最为我们熟悉的可移动代码当然是由s u n 公司所开发的j a v a 语言了。【4 】j a v a 、 a p p e t 是目前使用最广泛的可移动代码技术。 可移动代码的迁移只是程序代码的迁移,而并没有携带程序的运行状态和数据等其他信 息。另外,可移动代码本身不是有名字的实体。他们相互之间不能进行通讯合作,因此,可 移动代码只适合于提供简单的网络服务以及远程软件安装等领域。 l 2 移动代理系统 移动代理系统是指能创建、解释、执行、传送、接收和终止移动代理的平台,它也被称 为“移动代理运行环境”或“引擎”。移动代理系统具有和具体的人或组织相关的授权,系 统之间利用这个授权来建立信任机制。在一台主机上能拥有多个不同的移动代理系统,每个 系统上又可咀运行多个移动代理,每个代理都可以和它的运行环境进行交互,而代理间也可 以进行通讯。 1 2 1 移动代理 移动代理方案是9 0 年代中期刚刚兴起的一种分布式计算解决方案,移动代理( m o b i l e a g e n t ) 是一个能在异构计算机网络的主机间自主迁移的程序,它可以自己选择何时进行迁 移以及迁移到何地。能够在执行的任意点上挂起并将自己传送到另一台主机上,然后接着该 执行点继续运行。它还可以通过复制自己或产生子代理发送到多个主机上,相互合作共同完 成更复杂的任务。【5 】 在此需要指出的是移动代理不同于进程迁移( m i g r a t i n gp r o c e s s ) 。理论上,进程迁移 可以在执行的控制流的任意时刻迁移。迁移的过程由系统控制,而不是进程本身,迁移的目 的是提高性能或易于获取资源。但移动代理是根据程序员在编写代理时的定义,在程序执行 2 多a g e n t 系统安全通信的研究与实现 的某特定点进行移动,而这种移动通常是在完成本地的某项操作后,静态或动态地确定f 站点的地址。 一个典型的移动代理系统( m o b i l ea g e n ts y s t e m ) 具有如图1 4 所示结构: 1 2 2 移动代理模型的优点 图1 4 移动a g e n t 系统运行环境体系结构 移动代理模型与传统的基于客户端n 务器端的模型比较起来,有如下儿个主要优点: 【6 】 一减少了网络带宽的占用量。在传统的客户朋务器模型中,服务程序提供一组通过静 态定义的接口访问事先定义好的固定服务,客户程序可以从远程机器上调用这些服务。在客 户程序调用服务器端服务时,经常需要执行多次跨网络的调用,中间数据在每次调用时都要 通过网络传送,浪费了相当数量的网络带宽,特别是在中间数据在客户任务完成之后就将被 丢弃的情况下。采用移动代理模型可以较好地解决这个问题,我们可以把客户程序中调用服 务器操作的代码迁移到服务器所在的机器上,让它以本地调用的方式直接调用服务器的有关 操作,最后把结果返回给客户程序,以避免中间数据在网络上的传送,减少网络带宽的占用 量。 - 增强了客户端与服务器端的异步性,有效地支持了移动的客户。有一些正在出现的 移动设备只能间断地连接到网络上,所以它们只能间断地访问服务器,移动代理不需要与它 原来的站点建立持续的连接,在无法与原来站点连接的情况下它仍然可以继续它的任务,因 此,移动代理很适合计算机可能会与网络断开相当长一段时间的场合。 支持针对客户的服务定制。服务器提供基本的应用编程接口,并且将它们通过与代 理运行环境的捆绑输出给移动代理使用,这样用户就能自由地按照自身的需要来使用服务器 上的服务了。 - 支持动态更新服务器接口。移动代理技术提供了一种全新的软件发布方式,用户不 必事先在各台机器上安装应用程序,也不必为协议、程序版本的变动重新安装程序。移动代 理使分布式应用的构件或客户端能够动态地发布到任何站点上去,实现软件的动态、按需安 装。 一容易均衡负载。移动代理计算模型允许性能较差的客户机把工作负担转移到其他高 性能的代理机器上。过载的服务器把工作转移到客户机和其他机器上,使整个系统的负载趋 于平衡,从而提高系统的整体效率和吞吐量。 多a g e n t 系统安全通信的研究与实现 1 2 3 移动系统的应用领域 分布式信息检索。分布式信息检索应用从散布在网络各处的信息源中搜索符合某个给 定准则的信息。被访问的信息源可能是事先指定的,也可能是在访问的过程中动态决定的。 完成搜索过程的移动代理可以通过迁移到接近被搜集的信息库的站点来提高搜索效率,因为 本地交互的速度耍比通过网络快得多。 - 个人助理。个人助理使得用户可以从繁琐的例行任务中解脱出来,它利用现有的代 理服务和资源来达到特定的目标。具体的有会议日程安排、新闻自动分类、电子邮件过滤等。 远程设备控制与配置。远程设备控制应用的目的是配置由很多设备组成的网络和监 视它们的状态,这类应用可以分为很多具体的应用领域如生产过程控制及网络管理等。移 动代理技术可以用来设计和实现在被监视的设备上运行并报告设备状态变化的软件,从而提 高系统的实时性和灵活性。 工作流规划。工作流定义了应该执行哪些活动以完成特定的任务,以及这些活动会 何时、何地、怎样影响各方。工作流代理提供人或机器在某一步骤所要做的任务的全局控制。 代理在站点以及人之间按照对当前步骤的不同响应进行不同的迁移。移动代理“迁移计 算迁移”的工作模式和代理间通信能力是工作流的真实写照。 - 电子商务。电子商务应用使用户通过网络可进行商业交易,应用环境通常由几个可 能是相互竞争的商业实体组成,一个交易通常需要与多个实体进行商洽并可能要访问如股票 报价等变化的信息。在这样的应用环境下,定制参与交易各方的行为,使它们可以按照特定 协议进行商洽的能力是非常必要的,并且最好把应用程序移动到靠近与交易有关的信息源的 地方去,用移动代理解决这样的问题显然是最合适的。 i 3 现有移动代理系统 由于计算机网络特别是i n t r a n e t 和i n t e r a c t 的迅猛发展以及j a v a 语言的广泛应用,人们 对移动代理技术及其应用的前景十分看好。许多大学、科研机构和商业公司纷纷投入大量人 力物力设计、开发并推出自己的移动代理系统。目前,己出现许多学术性、商业性的移动代 理系统。 1 3 1i b m 的a g l e t a g l e t1 7 1 是“a g e n t a p p l e t ”的简称,是最早开发的基于j a v a 的移动a g e n t 平台。a g l e t 移动a g e n t 被视为一个移动的j a v a 对象,一个a g e n t 包含核心( c o r e ) 、代理( p r o x y ) 、路 由计划( i t i n e r a r y ) 和全球唯一的标识符( i d e n t i f i e r ) 。核心拥有a g e n t 所有的内部变量和方 法,并提供它与环境交互的接口。p r o x y 则封装了核心,防止对a g e n t 私有方法的直接读取。 在a g l e t 系统中,c o n t e x t 是a g e n t 工作场所,它是一个静态对象,维护和管理a g e n t 的运行 并保护主机系统不受恶意a g e n t 攻击。 a g l e t 对象支持的行为包括创建( c r e a t i o n ) 、克隆( c l o n i n g ) 、派遣( d i s p a t c h i n g ) 、回收 ( r e t r a c t i o n ) 、挂起( d e a c t i v a t i o n ) 、激活( a c t i v a t i o n ) 、终结( d i s p o s a lo f ) 和消息传递 ( m e s s a g i n g ) 。克隆将产生一个除标识符外和原a g e n t 完全一样的对象。a g l e t 模型采用事 件驱动方式。当一个a g e n t 要移动时,它将调用d i s p a t c h 方法。a g l e t 系统通过代理传送协 议( a t p ) 把a g e n t 传送到目的地,每个a g e n t 拥有一个全局独一无二的名字。a g e n t 在迁 移过程中并不去俘获自身线程的状态,因此它到达目的地后将从特定的入口点开始重新运行 4 多a g e n t 系统安全通信的研究与实现 程序。a g l e t 的移动a g e n t 模型提供的是一个简单的框架结构,开发者可重写预定义的方法 来增加所需的功能。 a g l e t 利用一个消息类密封代理间的消息交换,它提供同步或异步的消息传递。它采用 自板支持多a g e n t 问协作和信息共享。a g t e t 模型还提供一个简单的持久化工具,允许代理 把自身代码和状态写入辅助的存储设备。a g l e t 安全模型建立在标准的j a v a 安全机制之上, 通过访问权限的限制来保护主机和代理免受恶意攻击。 1 。3 2j a t l i t e 系统 由斯坦福大学所开发的j a t l i t e 8 1 和上述有些不同,j a t l i t e 所开发的代理是属于固 定式代理,代理与代理之间的沟通是以k q m l ( k n o w l e d g eq u e r ya n dm a n i p u l a t i o nl a n g u a g e ) 的方式通过a m r 的机制来进行交互作用与协调代理不需要知道其它代理的位置,只需知道 a d r 的位置,即可以将信息传送给指定的代理,若所要求的代理此时没有连上网络,a m r 会 自动将信息存储,等到下次该代理上线峙再将信息传送给他。 1 3 3o b j e c ts p a c ev o y a g e r v o y a g e r 9 1 是o b j e c ts p a c e 公司开发的系统,被称为a g e n t e n h a n c e do b j e c tr e q u e s t b r o k e r 。它不是一个纯粹的移动代理系统,因为它除了支持移动a g e n t 外也支持传统的分布 计算。在所有的基于j a v a 的系统中,v o y a g e r 和j a v a 结合的最紧密。 v o y a g e r 有一个虚拟对象工具( v i r t u a lo b j e c tf a e i li t y ) 用于把j a v a 对象包装成虚 拟对象。虚拟对象具有某些移动a g e n t 的特征,如可以在网络中移动、有自己的生命周期。 但虚拟对象不一定要有自己的线程,它们也可以是简单的对象。 v o y a g e r 采用一个轻量级的叫m e s s a n g e r 的代理来传递消息,有同步、异步和将来3 种 消息类型,当代理移往其他节点时,会在原地点留下叫“秘书”的对象,该对象将把发给代 理的消息传递到新的地址,也就是说可以给移动中的代理发送消息。v o y a g e r 虽然也提供了 代理服务器,但不需要每个节点都运行一个服务器,因为代理不光在服务器间移动,它也可 以移动到其他虚拟对象空间。 1 3 4j a d e 系统 j a d e 【l o l ( j a v aa g e n td e v e p l p m e n tf r a m e w o r k ) 是一个用j a v a 语言开发的a g e n t 应 用程序的软件框架。它遵循f i p a 规范,它的目标是在确保符合标准的前提下通过一整套系 统服务和a g e n t 服务使开发过程简单化。j a d e 可以被看作是一个在a g e n t 平台和开发框架 之间的a g e n t 中间件。目前的最新版本为j a d e2 5 ( 1 7 1 2 2 0 0 3 ) ,支持j d k i 3 的版本。此 外,j a d e 正在整合l e a pp r o j e c t ,以便j a d e 也能在j 2 m e 上使用。 i 3 5 多a g e n t 系统的比较 多a g e n t 系统安全通信的研究与实现 m o b i l i t yc o m m u n i ec o m m u n i e a t e r o u t i n g n a m i n l a n g u a a t l o nw i t h g e c o r b a d cs e r v i c e o m a g l e t y e s m e s s a g e n on on oj a v a p a s s i n g j a t l i t en o k q m l n o m e s s a g e n oj a v a r o u t i n g a m r v o y a g e r y e s m e s s a g e y e s m e s s a g e y e sj a v a p a s s i n gr o u t i n s p a e e ( b r o a d c a s t ) j a d ey 色sa c ly e s m e s s a g e y e sj a v a r o u t i n g 表1 1 多a g e n t 系统的比较 a g l e t 到目前为止仍然只支持j d k l 3 0 ,除此之外a g l e t 只能与a g l e t 之间做通信, 并不能和其他利用c o r b a 、d c o m 等技术所开发的软件进行通信。 j a t l i t e 的缺点在于缺乏移动性,它虽然具有k q m l 的代理人沟通协议,但对于多 a g e n t 之间的合作协调则没有提供一个良好的环境,因为j a t l i t e 缺乏一个可以合作的机 制。 v o y a g e r 具有a g l e t 所强调的移动性,并支持j d k l 2 版,而良好的兼容机制让系统开 发者开发的软件轻易地和利用c o r b a 、d c o m 等技术开发的软件进行交互。 j a d e 不仅具有v o y a g e r 的优点,还有g u i 的界面,使得开发、容错的速度更加快速。 另外,j a d e 具有强大的扩展性( 能使用在t c p i p 、s m t p 、g s m ) ,能与其他的元件整 合,使a g e n t 更具有智能性。除此之外,j a d e 作为自由软件,源代码开放,更是只有三十 天试用期的v o y a g e r 所不能比的。故本文最终选择j a d e 这套系统作为研究对象来建立一个 针对多a g e n t 系统的安全框架。 l _ 4 章节安排 第一章绪论:描述本课题的研究背景,介绍了移动代理的概念、应用领域及其优缺点。 同时对当前几个有代表性的移动a g e n t 系统进行了比较。 第二章移动代理现存的安全问题:针对当前移动代理系统的安全问题进行简要阐述, 指出本课题的研究意义,并简要介绍了一下当前一些移动代理的安全保护方案。 第三章f i p a 和移动代理系统j a d e ;主要介绍了关于多a g e n t 系统的一个国际规范一 一f lp _ a ,以及本课题的实现平台:基于f i p a 的多a g e n t 平台j a d e 。 第四章m a s s f 通信模型设计:主要介绍了针对多a g e n t 系统通信构建的个安全通 信模块m a s s f 的总体设计方案,并对通信实体双方的交互策略进行了详细的设计。 第五章m a s s f 原型的实现;详细介绍在j a d e 平台上m a s s f 原型的具体实现过程, 并给出对扩充安全框架后的j a d e 平台的安全性能分析以及测试结果。 第六章结束语 参考文献 致谢 6 多a g e n t 系统安全通信的研究与实现 第二章移动代理系统现存的安全问题 2 1 移动代理系统中存在的安全问题 在i n t e m e t 中使用移动代理技术,将对传统的客户机,服务器通信模式产生巨大的影响, 它的移动特性适用于多种i n t e m e t 应用,特别是电子商务。但是,i n t e r n e t 是一个开放性的网 络,且移动代理具有移动性,移动代理系统是否具有足够的安全性和稳健性成为人们关心的 首要问题。下面将对移动代理技术中存在的安全问题进行详细的分析: 2 1 1 数据传输中的安全问题 当在开放性网络( 如i n t e r n e t ) 中传递信息时,固有的一个缺点就是不安全性,因而 当代理程序在网络中漫游时,它的程序码和数据都是不安全的。首先考虑在数据传递和通信 链接中可能存在的安全威胁。【1 1 】 - 被动攻击在这种攻击模式下攻击者并不干预通信流量,只是尝试从中提取有用的 信息。最简单的例子是窃听,获取代理程序中存储并传递的敏感信息。另一种情况是,攻击 者可能无法得到具体的数据( 如数据采用加密传输) 但可以通过对相关数据进行流量分析( 如 分析通信频度、交换的数据长度、通信双方的身份) 获取所需的敏感信息。 - 主动攻击所谓的主动攻击是指攻击者截获并修改网络层的数据包,甚至将原数据包 删除,而用伪造的数据取代。另外,身份伪装也可看作一种主动攻击,攻击者伪装成系统的 一个合法参与者a 截取并处理发给a 的数据。 在移动代理系统中,以上两类攻击都有可能发生,采用数据完整性检验和身份认证等密 码技术可以减小攻击带来的损失,但由于移动代理本身的特性导致采用的密码技术和协议受 到限制如因为代理程序要在网络中漫游,所以那些需要和用户交互的协议就不适合。另外, 也不可以让移动代理携带用户的私钥,以防止被恶意的服务器获得。 2 1 2 服务器资源面临的攻击 移动代理系统中的服务器允许不同的代理程序在其上运行,这使得它不得不面临恶意代 理可能带来的攻击,这些攻击可归纳如下几种:【1 2 1 偷窃敏感资料恶意代理程序访问某服务器时可能会设法打开服务器上某公司商业 机密的敏感文件,并将这些信息发给它的创建者,从而利用这些信息在商业竞争中获利。 破坏服务器系统资源恶意代理程序访问某服务器时可能删除某个重要文件甚至格 式化鹅个硬盘。 拒绝服务攻击恶意代理程序故意用完系统资源( 如硬盘空间、内存、网络端口等) , 从而使服务器无法完成与其它代理程序的正常交互。 扰乱性攻击这种攻击对于服务器系统的破坏较小,它通常是恶作剧性质的,如不断 地在服务器上打开各种应用程序的窗口或使机器不断发出蜂呜声等。 显然,在设计移动代理系统时,必须考虑如何保证服务器能够抵抗以上攻击。同时,对 于合法的代理程序,服务器也应该给予足够的资源访问权限,这就需要对代理程序的身份进 行确认,同时设计相应的安全分级及权限接入控制等。 7 多a g e n t 系统安全通信的研究与实现 2 1 3 移动代理面临的攻击 移动代理程序必须在服务器上运行,因此,其代码和数据对于服务器主机米说都是暴露 的。当一个服务器是恶意的,或是被攻击者侵占或伪装的时候,它可能对代理程序进行如下 几种攻击:【1 3 】 - 恶意主机可以仅仅破坏或终止代理程序,从而阻止该代理执行任务; 恶意主机可以偷窃该代理所携带的有用信息,如代理程序在漫游过程中所搜集的中 间信息等; 恶意主机可以修改代理所携带的数据。如当一个代理负责为用户收集某种商品的最 佳报价时,该主机通过篡改代理程序所收集的先前的服务器的报价以欺骗用户,使用户误以 为其提供的报价为最佳价格: - 更为复杂且危害更大的攻击是,攻击者通过改写部分代理程序的代码,使其在返回 用户主机或漫游到其他服务器后执行些恶意攻击操作,在通常情况下,用户将其所发出的 代理看作是可信的,其接入本地资源的权限也更大,因面这类攻击代理的危害也更大。 一般来说,对移动代理进行完备的保护( 不论程序码或数据) 是较为困难的,因为服务 器必须访问代理程序码机器状态才能运行该代理。而且由于存储计算结果或相应结果,代 理的部分数据和状态通常是变化的。通常的方案都是由派出代理的宿主机提供某种机制以发 现该类修改,从而确定所发出的代理是否受到攻击,并给出相应处理策略。 2 2 现有移动代理系统安全性能简介 最早的移动代理系统是1 9 9 5 年由g e n e r a im a g i c 开发的t e l e s c r i p t 系统,此后又不断出 现了t a c a m a 系统、a g e n tt c l 系统、v o y a g e r 系统等代理系统。早期的几类系统并没有考虑 代理程序的保护问题,表2 1 给出了各类常见的移动代理系统的安全性能的比较,并简单介 绍了系统常用的安全技术方案。 移动代理系统安全通信技术服务器资源保护技术代理程序 保护技术 t e l e s c r i p t 系统 移动代理程序采用资源接入控制,基于移动代理不支持 r s a 认证,数据加密的身份认证 采用r c 4 t a c o m a 系统不支持不支持不支持 a g e n t t c l 系统采用p g p 技术实现代服务器采用标准模块实现安 不支持 理程序码的认证和加全的运行环境,不支持基于用 密户的权限认证 a g l e t 系统 不支持静态描述接入权限,即只有两不支持 类安全级别一一可信和不可 信 v o y a g e r 系统 不支持静态区分两类代理程序的身不支持 份,即本地代理和外来代理 表2 1 当前几个a g e n t 系统安全性能的比较 在实现移动代理程序( 程序码、状态、数据) 的安全通信中,大都采用密码算法或基于 某种密码算法的网络安全协议,这与其他基于i n t e r n e t 的通信体制采用的安全策略差不多。 大多数的移动代理系统都提供了安全机制( 身份认证及接入控制) 以保障中间服务器免 g 多a g e n t 系统安全通信的研究与实现 受恶意代理程序的攻击。这些安全机制可分为三类:采用标准安全运行模块、静态配置安全 级别、根据代理所有者的身份动态接入。其中,前两种机制的灵活性比较差。系统配置较为 僵化,不宜扩展。而第三类机制是目前设计移动代理系统较为常用的方案,同所有分布式安 全系统相类似,代理系统是基于一种公钥证书系统的,整个系统中每个参与者都拥有公私钥 可信任中心颁布的证书。这样,每个代理程序发出时,将携带代理所有者的合法证书以及采 用其私钥签名的一段数据( 通常包括时戳、有效期、用户需求等) 。这样,中间服务器通过 验证代理程序所有者的证书及签名,可以得知代理的合法性,从而提供相应的资源接入权限。 早期的移动代理系统没有考虑对代理程序的保护,这显然是不够完善的,由于代理程序 必须在服务器上运行,因此这类来自恶意主机的攻击很难避免,目前比较有效的方案是及时 发现这类攻击并确定攻击者的身份( 主机i p 地址、域名等) ,然后将其列入黑名单或追究其 它的责任。 9 多a g e n t 系统安全通信韵研究与实现 第三章移动代理系统j a d e 日益增长的网络资源需要可以分布在网上并且可以与其它系统交互的信息系统,传统的 软件技术由于其在处理分布和交互方面的限制显然不适于实现这类系统,而基于a g e n t 的技 术看起来是实现这类系统的一个理想答案,因为它们就是为处理这类分布和交互问题而创造 出来的。但是基于a g e n t 的技术还不是很成熟,很少有真正的面向a g e n t 的系统,这使得面 向a g e n t 的技术不能充分发挥它们的潜力,无法得到j “泛应用。一些研究人员正朝着a g e n t 技术标准化方向努力。f i p a 标准化工作的目的就是使a g e n t 系统间的交互协作变得更加容 易。 3 1f i p a 简介 f 1 p a 【1 4 】( f o u n d a t i o no fi n t e l l i g e n tp h i s i c a la g e n t s ,智能物理a g e n t 基金会) ,1 9 9 6 年成立于瑞士日内瓦,是一个非盈利性组织。f i p a 建立的目的是为了提高异构a g e n t 系统 之间的交互性,并为此制定了一系列的技术规范,从体系结构、通信语言、内容语言到交互 协议。f i p a 的主要思想是通过融合言语行为理论、谓词逻辑及公共的本体论,来提供一个 标准的方法以理解a g e n t 之间的交流。f i p a 是一个可以公开利用的规范,它不是一项特定 的应用技术,而是针对不同应用领域的通用技术;它也不是一项独立的技术,而是一套基本 技术集。该技术集使得开发者可以开发出具有高度协同能力的复杂系统。 3 1 1f i p a 的基本内容 1 9 9 7 年8 月,f 1 p a 发布了第一套标准,f i p a 9 71 , 0 版本。1 9 9 8 年,f i p a 根据对1 0 版 本的反馈信息,对其中的一部分作了修订形成f i p a 9 7 2 0 版本。其后,f i p a 在1 9 9 8 年8 月发布了它的f i p a9 8 1 0 版本【1 5 】。当前的最新版本是f i p a2 0 0 0 标准。 f i p a 规范的主要部分包括: 代理规范这一部分在内容上与m a s i f 有所重叠。为了实现移动代理模型构件间相 互交换信息,f 1 p a 为实体关系域及通信行为集合的语义进行了描述和定义。 代理通信语言( a c l )f i p a 的a c l 与k q m l 的语法结构基本相同,除了许多保留 字的名字不同,其他部分都是一样的。 代理,软件集成规范解决了与非代理结构软件的集成问题,这些软件系统包括早 期开发的软件系统、常规数据库系统和各种用于交互的中间件( 包括硬件驱动程序) 。 - 人代理交互规范确定了两种服务:用户对话框管理服务u d m s ( u s e rd i a l o g m a n a g e m e n ts e r v i c e ) 和用户个性化服务l i p s ( u s e r p e r s o n a l i z a t i o ns e r v i c e ) 。u d m s 通 过将多种类型的g u i 软件构件封装,允许人代理的交互在一个较高的抽象层上进 行。u p s 则是通过显式接收指令或者监视用户的行为并逐渐适应的方式维护和支持用户 模型。 - 代理安全性管理处理存在于代理管理各个阶段的安全风险问题。 - 支持移动性的代理管理定义了支持代理移动所必须的技术,代理的移动性实现不需 要严格遵循f i p a 规范。 - 实体关系域服务处理代理管理实体关系域表达所需要的技术问题,实体 关系域是代理间内容和关系的描述( o n t o l o g y ) 。 1 0 多a g e n t 系统安全通信的研究与实现 3 1 2f i p a 规范中a g e n t 平台的参考模型 f i p a 9 7 规范中详细说明了一套标准化规则,支持a g e n t 社会内部的各种交互协作,并 且这种交互是可操作的并可以被管理的。它描述了一个a g e n t 平台的参考模型【1 6 l ,如图 3 1 所示 图3 1a g e n t 平台参考模型 a g e n tp l a t f o r m ( a p ) 是a g e n t 生存的基本平台,它由机器操作系统、a g e n t 支持软件、f i p a 的a g e n t 管理要素( d f 、a m s 和m t s ) 和多个a g e n t 组成。a p 的内部设计由a g e n t 系统 开发者考虑。一个a g e n t 平台包括三个主要的a g e n t ,即a m s ,d f 和a c c ,这三个a g e n t 是平台的核心部分,它们在平台启动时被自动激活。 a g e n tm a n a g e m e n ts y s t e m ( a m s ) 是一个a g e n t ,它管理a g e n t 平台上所有a g e n t 创建、 删除、挂起、唤醒、授权和迁移,并为驻留在该平台上的所有a g e n t 提供“白页”服务。它 存储了每个a g e n t 的a i d ( 全局唯一标识) 和传输地址之间的对应关系。 d i r e c t o r yf a c i l i t a t o r ( d f ) 是为a g e n t 提供“黄页”目录服务的a g e n t 。它存储了每个 a g e n t 及其所能提供的服务的详细描述。 a g e n tc o m m u n i c a t i o nc h a n n e l ( a c c ) 是一个a g e n t ,它为平台内部或外部的a g e n t 之 间的联系提供了一个通道。它利用a m s 提供的信息在平台内的a g e n t 之间传输消息,或通过 c o r b a 的i l o p 协议将消息发送到其它平台上。它以一种默认的通讯方法为a g e n t 之间的信 息传递提供一个可靠的、有序的、准确的传输服务。m t s 【1 7 】由平台上的a c c 提供。a c c 是平台上为a g e n t 提供消息交互的实体,m t p ( m e s s a g et r a n s p o r tp r o t o c 0 1 ) 是不同 a c c 之间的消息交互协议。 a g e n t 是a p 上的基本角色,它具有一种或多种服务功能,可以和外部软件、用户及各 种通信设施交互,它们之间也可以互相交互。每个a g e n t 具有一个全局唯一的a g e n t 标识符 ( a i d ) a g e n t 存在于一个a p 上,使用a p 提供的设施实现它们的功能。这时,a g e n t 作 为一个物理软件过程,有一个物理生命周期,生命周期由a p 管理。a g e n t 的生命周期包括 五个状态:初始状态( i n i t i a t e d ) 、活动状态( a c t i v e ) 、等待状态( w a i t i n g ) 、挂起状态( s u s p e n d e d ) 和转移状态( t r a n s i t ) ,a g e n t 可在这些状态之间转换,但在任何时刻只能处于某一状态。 多g g e n t 系统安全通信的研究与实现 3 1 3f i p aa g e n t 的通讯 在m a s 中,a g e n t 之间的合作与协调是实现问题求解的关键,a g e n t 之间的合作和协 调都离不开a g e n t 之间的通信。f i p a a g e n t 通信的基本单元是f i p a a c l 消息,f i p a 提供了 一组标准的高层交互协议来规范a g e n t 通信,平台必须为a g e n t 的通信提供一种消息传输机 制,确保通信的进行。 3 1 _ 3 1a g e n t 通讯语言f i p aa c l a g e n t 之间的通信主要是消息的传递,消息必须有充分定义的、可以计算的直观语义, 因而,需要标准化的a g e n t 通信语言。d a r p a 致力于多a g e n t 间的通信研究,提出了a c l 【1 8 1 ( a g e n tc o m m u n i c a t i o nl a n g u a g e ) 语言,a c l 提供了a g e n t 之间交互信息和知识的方 式。在f i p a 多a g e n t 中,a g e n t 之间通讯语言是f i p a a c l ,f i p a a c l 与k q m l 【1 9 】类 似,也是消息的外部语言,包含一套消息类型,每种消息类型都有其形式化的语义描述。下 面我们介绍一下f i p a a c l 消息。 一般来说,一条f i p a a c l 消息由述行语、通讯的参与者、消息内容、会话控制几个要 素组成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论