移动Agent的安全性及其应用研究Word格式文档下载.docx
《移动Agent的安全性及其应用研究Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《移动Agent的安全性及其应用研究Word格式文档下载.docx(57页珍藏版)》请在冰豆网上搜索。
2.6.4移动Agent的传输协议ATP(AgentTransferProtocol)12
2.7移动Agent的标准化12
2.8移动Agent的安全性13
第三章移动Agent系统安全性研究综述及相关密码学简介14
3.1密码学基础14
3.2密码学分类14
3.3密码学主要技术16
3.3.1数字签名技术16
3.3.2散列函数17
3.3.3非对称密钥中公钥的管理技术(PKI—CA)18
3.4研究移动Agent系统安全性的原因及重要性19
3.5移动Agent系统可能面临的安全威胁[31]20
3.6参与及影响移动Agent系统安全的个体20
3.7对移动Agent系统攻击的分类20
3.8目前检测和防范移动Agent系统被攻击的研究现状及成果21
3.8.1对主机的防范技术21
3.8.2、对移动Agent的防范技术22
3.8.3、对移动Agent在传输中的防范技术23
3.8.4、各种安全措施的比较24
3.9“参考状态法”的实现机制25
3.9.1Vigna协议详解[43]25
3.9.2Hohl协议[44、45]26
3.9.3PTIR协议详解[46,47,48,49]27
3.9.4以上三种协议的比较及MASTP协议的提出28
第四章MASTP协议详解及Eaglets平台的生成30
4.1MASTP协议的具体实现30
4.2MASTP协议分析32
4.2.1MASTP协议是完备的32
4.2.2MASTP协议是安全的32
4.3MASTP协议在Aglets平台下的实现-Eaglets平台的生成34
4.3.1Aglets平台概述[50,51,52,53]34
4.3.2Aglets系统结构35
4.4Aglet的生命周期36
4.5Aglets系统的主要成员36
4.6Aglet的移动过程37
4.7Eaglets平台的具体实现38
第五章Eaglets平台下的应用开发41
5.1Eaglets平台开发环境的设置41
5.2、Tahati中的设置42
5.3Eaglets平台下应用程序的开发44
5.4Eaglets平台下的具体应用示例45
5.5实验结果表明MASTP协议是完备的47
5.6实验结果表明MASTP协议是安全的47
第六章基于Aglets的校园网CA认证模型49
6.1利用移动Agent技术开发CA认证系统的必要性49
6.2CA认证系统50
6.2.1CA认证系统内部结构50
6.2.2CA证书的结构50
6.2.3CA证书的使用过程[58]51
6.3基于移动Agent的校园网CA认证模型[59]52
6.4总结54
第七章总结与展望55
参考文献56
致谢610
攻读硕士学位期间发表的论文61
移动Agent的安全机制及其应用研究
摘要
在传统的,基于C/S或B/S(Client/Server或Browse/Server)模式的分布式计算中,客户机和服务器一直要保持连接,计算过程中的大量中间结果需要传输,其缺点日益明显。
一种新型的分布式计算模式---移动Agent/移动AgentServer在此基础上应运而生。
移动Agent技术是90年代以来发展起来的一种新型的分布式计算模式。
它的实质是一独立的应用程序,由网上的某个服务器启动后,可自主地在异构网上按一定的规程移动,以寻找合适的计算资源,代表用户完成特定的任务。
它在网上传输的是代码,能使计算本地化,并能支持网络断连。
它在移动客户支持、电子商务、网络管理、远程信息处理及个性化网络服务等方面有很好的应用前景。
移动Agent代码的移动性会带来很多不安全因素。
因此,安全性问题是移动Agent技术成功的关键,是移动Agent系统中最重要、最复杂的问题。
移动Agent系统的安全可分为三块:
1、保护移动Agent免受主机的攻击2、保护主机免受来访的移动Agent的攻击3、保护移动Agent的移动通信过程免受主动或被动攻击。
本文主要研究了移动Agent在移动通信过程中的安全问题。
主要是在Vigna和Hohl提出的参考状态的基础上,参考周冲的PTIR协议,给出了移动Agent的安全传输协议---MASTP(MobileAgentSecureTransferProtocol)的模型及其实现。
MASTP协议与其它协议相比,具有安全性强、开销低并能防止联合攻击的优点。
本文整合了著名的移动Agent平台---Aglets,得到了相应的安全平台Eaglets(ExtendAglets),该平台实现了MASTP协议,从而使Aglets平台在系统级上具有了传输的安全性。
最后本文在Eaglets平台下开发了一个简单应用程序Talk,使用移动Agent的编程模式实现网上聊天,目的是验证MASTP协议的可行性。
实验结果表明该模型是正确的,功能是可达的。
关键字:
移动代理,移动代理安全,安全代理传输协议,参考状态
TheStudyontheSecurityMechanismofMobileAgentandItsApplication
Thereexistmanyobviousdefaultsinthetraditionaldistributedcomputationmodel,whichisbasedonC/SorB/S(Client/ServerorBrowse/Server).Forexample,thequantityofdatatransfersintheprocessofcomputationistoomuch,andthereneedstheceaselessconnectionofclientstothehosts,tomentionjustafew.Itisundersuchbackgroundthatanewmodelofdistributedcomputation,MobileAgent/MobileAgentSever,emerges.
MobileAgenttechnologyisanewdistributioncomputationmodeldevelopedin90slastcentury.Itisakindofindependentprogrambyitsnature,andwhenstartedbysomeseversofthenetwork,itcanautomaticallymigrateoncertainprocedureinnetworksofdifferentstructure,toaccomplishsometasksonbehalfofclients,seekingtheappropriateresources.Becauseofwhatistransferredonthenetworkaredadacodes,itcanlocalizethecomputation,andsupportthedisconnectionofclientstothehost.Therefore,MobileAgenthasgreatprospectinsuchfieldsassupportingmobileclients,E-commerce,networksmanagement,remoteinformationprocessing,individualnetworkservice,andsoon.
However,thetransferofMobileAgentcodescanbringaboutmanyinsecurefactors,sosecurityisthekeyforthesuccessofMobileAgenttechnology,andnowitbecomesthemostimportantandcomplicatedprobleminsuchfield.Generallyspeaking,thesecurityproblemofMobileAgentSystemfallsintothreecatalogues:
1,toprotecthostsfromtheattacksfromMobileAgent;
2,toprotectMobileAgentfromtheattacksfromhosts;
3,toprotecttheprocessofmobilecommunicationofMobileAgentfromthepositiveornegativeattacks.
ThispaperismainlyconcerningaboutthesecurityproblemofthemobilecommunicationprocessofMobileAgent,thatistosay,thethirdkindofsecurityproblemmentionedabove.OnthebasisofConferenceStateProtocolputforwardbyVignaandHohl,withthereferencetoPTIRProtocolbyZhouchong,theauthoradoptthevaluablethingsfrombothofthemandabandontheuseless,thenputforwardanewMobileAgentprotocol-MASTP(MobileAgentSecureTransferProtocol).Comparingwithotherprotocolofitskind,MASTPprotocolbearsmanyadvantages.Ithasstrongersecurity,hasloweroverheads,andisimmunetodifferentkindsofcombinedattacksfromoutside.
Tomaketheapplicationofthenewprotocolfeasible,theauthorofthepaperreorganizesthefamousMobileAgentplatform,Aglets,andcreatesanewsecureplatformnamedEaglet.ThenewprotocolMASTPcanbeimplementedonthisplatform,andthusmakeAgletsfeatureasecureplatformintheinformationtransfer,fromthepointofviewofthewholesystem.
Lastly,thepaperdevelopsasimpleapplicationTalkontheplatformofEaglet,Theapplicationissuccessful,andittestifiesthefeasibilityofMASTPprotocol,andalsoindicatesthatthemodeliscorrect,andcanfulfillallthefunctionsoftheprotocol.
Keywords:
MobileAgenttheSecurityofMobileAgentMobileAgentSecureTransferProtocolConferenceStates
第一章绪论
本章主要介绍了选择该课题的目的和意义、传统的分布式计算模式的缺点以及基于移动Agent计算模式的优点、国内外对移动Agent技术的研究现状和目前的研究重点。
1.1研究该课题目的和意义
研究该课题的目的是:
了解并掌握移动Agent/移动AgentServer的实现机制、安全机制及其应用前景,深入研究移动Agent在移动过程中的安全问题。
在移动Agent安全问题解决的前提下,研究移动Agent的应用,特别是在电子商务中的应用。
研究该课题的意义是:
如果移动Agent的安全问题解决了,随着“移动”通信的快速发展以及计算机网络和电子商务的日新月异,移动Agent的应用前景非常广阔。
在开发应用时就可以利用移动Agent的代码移动性、自主性、智能性等特性,来克服传统网络应用开发中使用的C/S和B/S模式,只传信息而不传代码的缺陷。
从而实现应用系统的智能化和高效化。
1.1.1传统分布式计算模式的缺点
分布式计算是计算机网络时代的关键技术,当前的分布式计算基本上都是基于传统的C/S或B/S模式,通过远过程调用RPC(RemoteProcedureCall)或消息传递MP(MessagePassing)等方式实现跨平台操作的。
但随着网络的发展和“移动”设备的出现,C/S模式的缺点日益明显,如客户机和服务器一直要保持连接,计算过程的大量中间结果需要传输,因此传输的数据量往往很大,对网络带宽和网络的稳定性要求较高。
其传输模式可用图1-1表示:
图1-1:
传统传输模式
Fig.1-1:
Traditionalmodeoftradition
随着网上信息的极大丰富,特别是“移动”设备的上网,使得这种直接在网上传输数据并且不支持断连的计算模式不再能适应移动计算对网络低带宽,高延时、不稳定的要求[1]。
传统的在网上传输数据,浪费带宽的计算模式必定会被新的计算模式来替代,移动Agent技术就是新的分布式计算模式中的一种,具有它独特的能够适应未来网络发展的优点。
1.1.2移动Agent作为未来分布式计算模式的优点
RobertS.Gray给移动Agent下的定义[2]是:
移动Agent是一个程序,该程序可以在网络中的主机上移动,并且在这些主机上执行。
由该定义知,移动Agent的实质是一应用程序,它由网络中某一计算机启动,并可携带其代码和当前的执行状态在网络中移动以寻找其合适的计算资源,移动成功后就可把原来的远程操作转换为现在的本地操作,不仅能节省网络带宽而且还能加快处理速度。
它与传统计算模式最大的区别是它在网络中传输的是代码和状态,而传统的分布式计算模式在网络中传输的是数据。
移动Agent的传输模式可用图1-2表示:
图1-2:
移动Agent的传输模式
Fig.1-2:
Traditionalmodeofmobileagent
具体地说,移动Agent作为分布式计算模式的优点主要体现在以下几个方面[3,4,5]
1、能够节约网络带宽、克服网络延迟:
移动Agent的本质是将计算移动到数据端,直接在数据端进行本地处理,只返回最终结果,从而避免了大量中间数据在通信两端的传输。
因此在处理的数据量大、通信两端交互频繁、带宽不足的情况下,使用移动Agent技术可以有效的节省网络带宽。
2、支持离线计算(断连操作):
用户派出移动Agent之后,可以断开网络连接,移动Agent在网络上自主的运行,当移动Agent完成任务之后,通过转接机制(Docking)监视用户是否在线,当它发现用户在线时,就返回计算结果。
3、封装网络协议:
移动Agent系统是一种中间件,位于操作系统和应用程序之间,封装了低层网络协议,提供移动、通信、容错、安全等基本功能,开发人员无须了解低层实现即可开发网络应用。
当网络协议升级时,只需修改移动Agent系统中相关的功能实现而无须修改移动Agent应用程序。
4、支持异步自主执行:
用户可将整个任务而不是单个请求提交给多个移动Agent去执行,这些移动Agent被发送到网上之后,可以独立于发送它们的程序,异步地、自主地、协作地完成任务,它们的生命周期可以长于创建它们的程序。
5、支持平台无关性:
移动Agent的运行只和其运行环境有关,和具体的网络结构、网络协议、计算机设备、操作系统无关,只要网络节点上装有移动Agent运行环境即移动Agent平台,移动Agent就可以实现跨操作系统平台的移动和运行。
即所谓的"
编译一次,到处移动"
。
6、具有动态适应性:
移动Agent和其运行环境进行交互,感知环境的变化,并自主地、快速地做出反应,使整个系统始终保持在最优状态。
7、增强应用的强壮性和容错能力:
移动Agent支持离线计算,这大大降低了网络应用对网络连接可靠性的要求。
移动Agent的反应性使之能及时的感知网络节点的失效,其自主性可以使它自主地处理并修正错误,更容易建立容错能力强的分布式系统。
移动Agent技术是分布式计算与Agent技术相结合的产物,它除具有移动性外,还具有Agent的最基本特性---智能性、社会性、交互性和环境适应性。
所以它也具有6、7所说的优点,但对移动Agent的研究重点主要是[6]它的移动性、交互性和安全性。
1.1.3移动Agent技术的国内外研究现状
移动Agent计算模式的优点,受到了来自学术界、工业界的广泛关注,吸引了众多著名的大学、公司、研究机构进行研究开发工作,目前已经开发出70多个移动Agent系统,其代表性的系统有:
GeneralMagic公司的Telescript[7]、IBM公司的Aglets[8],Mitsubishi公司的Concordia[9]、ObjectSpace公司的Voyager、Dartmouth学院的D'
Agent等。
虽然移动Agent具有强大的技术优势和巨大的应用前景,但至今还没有成为计算机软件业的主流技术,这其中有技术上的原因同时也存在非技术上的因素。
非技术原因是不能迎合某些商家的利益,因Agent能自动帮用户完成任务,用户就没必要亲自去某些网站,商家就有可能失去一些商机并且影响其广告费的价值。
技术原因主要是安全问题和标准问题。
代码的移动容易引起安全问题,而移动Agent又多用于电子商务系统的开发,对安全性的要求又比较高,因此安全问题是制约移动Agent发展的核心问题。
也是作者选择本课题研究的主要原因之一。
1.2移动Agent技术当前的研究重点
1、移动Agent系统的安全问题
2、移动Agent系统的强移动问题
3、移动Agent系统的标准化问题
4、移动Agent系统的性能及应用
1.3本论文的组织
本论文共分七章,各主要章节的安排如下:
该章主要介绍了本文的研究背景、目的和意义,国内外对该课题的研究现状和以后的研究重点。
第二章Agent和移动Agent系统简介
该章主要介绍了软件Agent的特点、结构及其形式化定义,移动Agent的体系结构及其实现机制。
第三章移动Agent系统安全性研究综述及相关密码学简介
该章主要介绍了密码学的基础理论,及移动Agent系统安全性问题研究的概况和成果,并在总结前人研究方案优缺点的基础,提出了移动Agent的安全传输协议:
MASTP(MobileAgentSecureTransferControlProtocol)。
第四章MASTP协议详解及Eaglets平台的生成
该章主要介绍了MASTP协议的内容,并详细分析了该安全机制在Aglets平台下的实现。
第五章Eaglets平台下的应用开发
该章主要介绍了在Eaglets平台下开发一个应用的主要方法和步骤,目的是验证MASTP协议的正确性和Eaglets平台的易用性。
第六章基于Aglets的校园网CA认证模型的研究
该章主要介绍了在移动Agent系统平台Aglets下开发校园环境下CA认证系统的实现模型。
第七章总结与展望
该章主要介绍了本论文的研究内容及以后的研究重点。
本章首先介绍了软件Agent的特点、结构及其形式化定义。
然后,本章又介绍了移动Agent的体系结构及其主要实现技术:
1、命名机制2、迁移机制3、ACL协议4、ATP协议。
2.1软件Agent概述
Agent的概念出现于20世纪70年代的人工智能(AI)中,在计算机领域,Agent是指分布式系统或协作系统中能持续自主发挥作用的计算实体,它具有代理性、主动性、自主性、智能性、交互性、机动性等特性[10-12]。
代理性:
Agent的基本功能就是代理用户和软件完成某些任务。
主动性:
Agent的代理功能是根据用户的需求或当前的环境状态以主动服务方式提供的。
自主性:
Agent本身是一独立自主的计算实体,它能根据当前动态变化的环境状态,在无需外界参与的情况下,独立地发现和利用完成任务所需的资源和服务,独立地制定完成任务的规则,最终实现规划、达到目标。
智能性:
自主性的实现需要Agent具有相关的知识、能够进行相关的推理或智能计算。
当用户的需求没有明确给出时,Agent能够推测用户的意图、爱好或兴趣并为其代劳。
Agent还能从经验中不断学习,以提高自身处理问题的能力。
交互性:
把各种计算资源都包装成Agent,各个Agent都有标准的外部接口,采用统一的通信语言进行信息交流,则多个Agent可以通过相互协商和协作来共同完成复杂的任务。
机动性:
Agent能随计算机用户的移动而移动,不管是地理位置的移动还是计算位置的移动(如URL的改变)。
2.2软件Agent的组成
Nwana定义了Agent的三层概念结构:
定义层、组织层和合作层。
这个概念提供了一种描述Agent应用特征的框架[13]。
定义层:
在该层,Agent被描述为一个自治的理性实体,包括Agent的推理学习机制、目标、资源、技能等。
组织层:
该层定义了Agent与其它Agent的