您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 多等级移动agent系统安全机制的建立与实现
1多等级移动Agent系统安全机制的建立与实现摘要:为解决多等级移动Agent系统的安全问题,针对系统的多等级特点,提出了一种多等级移动Agent安全机制。分析了多等级移动Agent网络系统中各节点的通信规则,讨论了系统的安全需求。在此基础上,阐述了安全机制的框架以及具体的建立实现过程。最后,对安全性能从理论上和应用实践上进行了分析,结果表明,安全机制具有针对性和可操作性,能有效保证移动Agent系统的安全。关键词:移动代理;多等级;安全体系;代理迁移;认证;加/解密算法Establishmentandimplementationofasecuritymechanismformulti-grademobileagentsystemsAbstract:Tosolvethesecurityproblemofmulti-grademobileagentsystems,asecuritymechanismformulti-grademobileagentsystemswasproposed,accordingtothemulti-gradecharacter.ThecommunicationrulewasdiscussedandtheSecurityRequirementswereanalyzed.Onthisbasis,theframeworkofthesecuritymechanism,theestablishmentandrealizationprocesswereintroduced.Atlast,thesecurityperformanceofthesecuritymechanismwasdiscussedtheoreticallyandpractically.Theresultsshowedthatitwaseffectivetokeepthesecurityofagentmigrationinthemulti-grademobileagentsystems.Keywords:mobileagent;multi-grade;securitymechanisms;agentmigration;authentication;encrypt&decryptalgorithms0引言移动代理MA(MobileAgent)是一个能在异构网络中自主的从一台主机迁移到另一台主机,并可以与其他Agent或主机进行交互的程序[1][2]。它可以根据用户需要,代替用户进行各种复杂的工作,并能根据用户的意图,自主制定、调整和执行工作计划。移动Agent在资料搜集、指令下达、上下级状态监控等方面发挥着不可忽视的作用,在银行系统、电子商务、军事等领域具有积极的应用前景。目前限制移动代理技术的主要原因之一是安全问题,安全问题主要来自两个方面[3][4]:一是如何保护主机不受来自恶意移动代理的攻击;一是如何保护移动代理免受来自恶意主机的攻击。为了应对Agent系统中出现的安全问题,已经出现了多种Agent系统安全模型[5]。比如,由GeneralMagic公司开发的TeleScript移动Agent系统;由Dartmouth大学开发的D′Agentt系统;由Tacoma大学和Cornell大学合作开发的Tacoma系统;由IBM公司开发的基于Java的移动Agent系统—Aglet等。对一些特殊的Agent网络系统,比如,银行、军事等网络系统,以上这些安全模型并不是很实用。与普通的分布式系统网络不同,有如下特点:网络各节点之间存在着等级划分,各节点具有不同的操作权限。比如,在银行系统中高级节点可以通过Agent向它的次级以及更低级的节点进行指令下达、状态监控、数据收集等操作;但是低级节点对高级节点或同级节点之间的操作会受到限制,低级节点只可以向高级节点汇报自己的状态,而无权获取高级节点或同级节点中的数据。这种特殊的多等级Agent系统,除了面临着与一般Agent系统相同的安全问题外,还有自己特2殊的安全问题。比如,下级节点或同级节点冒充上级节点,对其他节点进行非法访问、下达伪命令等等。结合Agent系统的安全需求,针对银行、军事等网络系统的多等级性特点,提出了一种多等级移动Agent系统安全机制。1多等级移动Agent系统描述1.1多等级移动Agent系统模型图1为以银行系统为例的三级移动Agent网络系统模型示意图。在银行网络系统中,由于网络中各个节点的职责、权限以及所存储的系统数据资料的不同,各个节点之间存在严格的等级划分。图中划分的三个等级为:一级央行(A)、二级省行(B-1,B-2)、三级市行(C-1,C-2,D-1,D-2)。央行级别最高,可以通过Agent随时调用省行、市行的数据资料,对省行、市行实施监控等其他相关操作。省行可以通过Agent随时调用其直属的市行的数据资料,并进行相关操作。移动Agent以类实例的形式在节点间迁移。银行网络系统的三级逻辑结构图如图2所示,图中规定节点A为一级中央节点,级别最高。节点B-1,B-2为二级节点,级别次之。节点C-1,C-2,D-1,D-2为三级节点,级别最低。在每个节点中有一个Agent执行平台,也可称为服务设施,为Agent提供基本服务(包括创建、传输、执行等)。Agent执行平台存在于系统网络的每个节点中,各节点处均提供API(ApplicationProgramInterface)接口,用于接收、发送MobileAgent类实例。每个实体具有唯一的身份,通过ObjectID,name识别。其中,ID为节点序列号,name为节点物理名。Object标识中的ID序列号以及物理名Name是固定的。在每个节点中包括一个数据库用于存放参数。1.2多等级移动Agent系统安全需求多等级移动Agent系统所面临的安全问题包括以下三方面:如何确保系统中各级节点按照等级划分规则进行通信;如何保护主机不受来自恶意移动Agent的攻击;如何保护移动Agent免受来自恶意主机的攻击。所以在多等级移动Agent系统通信中,需要制定完善的通信规则;需要对通信双方的身份进行认证,包括Agent收发双方主体的认证、收发双方的非否认性认证;需要确保传输数据的保密性以及对传输数据的完整性进行认证。2多等级移动Agent系统安全机制框架针对多等级移动Agent系统中存在的安全问题,所建立的安全机制主要包括以下几部分:(1)制定网络系统中不同等级节点之间的通信规则。(2)认证机制。包括:收发双方主体的身份认证、收发双方的非否认性认证、Agent传输数据完整性认证。根据系统的特点,对移动Agent收发双方身份的识别及行为的非否认性认证,采用不基于可信第三方的,共享密钥和数字签名相结合的认证方法。对于移动Agent自身的完整性认证,使用哈希函数来实现,发送方将Agent携带的代码及数据M和生成的哈希值H(M)一起发送给接收方,接收方对收到的消息通过使用哈希函数生成杂凑码H′(M),然后与接受到的H(M)比较,即可判断出数据是否完整[6]。图2三级移动Agent网络系统逻辑图图1银行网络系统三级模型图3(3)加密算法。通过加密算法可以保证移动Agent免受来自恶意主机的攻击,保证移动Agent所携带数据的安全。3多等级移动Agent系统安全机制的设计与实现3.1系统中各节点权限等级划分及通信规则以银行系统中的三级移动Agent网络系统为例,系统中各节点权限等级划分及通信规则如下:(1)网络系统中节点的等级划分。系统划分为三个等级,分别为:一级:最高银行节点即中央节点,称为信任根;二级:次高银行节点,称为二级信任根;三级:三级银行节点,称为叶节点。(2)通信方式。各级节点之间的通信方式定义如下:等级高的节点可以通过移动Agent向它的次级以及更低级的节点进行指令下达、状态监控、数据收集等操作;低级节点只可以向高级节点报自己的状态,而无权获取高级节点或同级节点中的数据。3.2身份认证过程(1)身份注册各级节点首先在中央节点中注册,中央节点确认各注册节点的身份后,确定各节点在系统网络中的逻辑等级,然后向各级节点颁发属性证书(AC),如图3所示。该证书包含了用于划分各级节点逻辑等级的等级标识符(GI);用于识别节点身份的Object标识:物理名(Name)、序列号ID。(2)共享密钥生成共享密钥S生成包括:初始密钥生成和密钥再生成两个过程。如图4所示。初始密钥生成是指,系统网络初始化时,两节点的共享密钥的生成过程。此时,网络中的所有两个节点的共享密钥,均由中央节点生成。密钥再生成是指,密钥要定期更新,在更新过程中两节点所共享的密钥由等级高的节点生成。(3)证书发放中央节点给所有注册过的节点,按等级的不同颁发证书。证书包括:等级标识符GI、身份标识ObjectID,name以及两节点的共享密钥S。如图5所示,中央节点A将所有节点划分了三级。节点B、D为二级,节点C、E、F为三级。在逻辑上节点C、E隶属于节点B;节点F隶属于节点D。中央节点向各节点颁发证书规则如下:A节点证书包括的内容有身份标识:Object-A,Object-B,Object-C,Object-D,Object-E,Object-F;共享密钥:SAB,SAC,SAD,SAE,SAF。B节点证书包括的内容有身份标识:Object-A,Object-B,Object-C,Object-E;共享密钥:SAB,SBC,SBE。图5三级网络系统逻辑图ABCEFD图3身份注册图4共享密钥生成过程4C节点证书包括的内容有身份标识:Object-A,Object-B,Object-C;共享密钥:SAC,SBC。D节点证书包括的内容有身份标识:Object-A,Object-D,Object-F;共享密钥:SAD,SDF。E节点证书包括的内容有身份标识:Object-A,Object-B,Object-E;共享密钥:SAE,,SBE。F节点证书包括的内容有身份标识:Object-A,Object-D,Object-F;共享密钥:SAF,SDF。(4)证书管理中央节点将证书发放到各节点后,证书被存放入证书目录库DataBase中。管理员通过管理权限进行调取证书、定期更新证书等相关操作。3.3数据加密算法移动Agent在网络的节点间迁移时,所携带数据的安全通过加密算法保证。对于Agent携带的数据,采用3DES算法进行加密,3DES是DES的一个改进加强版本[7][8]。DES(DataEncryptionStandard)是一个世界加密标准,DES的唯一密码学缺点就是密钥长度相对比较短,为了克服此缺陷,在DES算法基础上提出了3DES算法,即三重DES。该算法将原来的一步DES加密改为三步DES加密,每步采用不同的密钥K1、K2、K3,每个密钥有56bits。K1、K2、K3决定了算法的安全性,由于三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是非常安全的。设Ek(.)和Dk(.)代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,3DES加解密过程可以表示为:3DES加密过程为:C=Ek3(Dk2(Ek1(P)))3DES解密过程为:P=Dk1(EK2(Dk3(C)))3.4移动Agent在系统节点间迁移过程在多等级移动Agent系统中,各级节点间的通信是通过移动Agent在各级节点中迁移的形式来实现的。设在中央节点A中,由Agent服务器创建了一个用于数据搜集的移动Agent,Agent携带命令代码M由节点A迁移到节点B,迁移框图如图6所示。图6迁移框图在编程实现时,在Agent系统中为实现迁移过程中各个模块的功能,Agent服务器创建了与之相对应的多种Agent,每种Agent分别包含多个类实例,用于实现不同的功能。如框图7所示,框图中包含ManageAgent,TransferAgent,ExecuteAgent,FeedbackAgent四种Agent类型。(1)ManageAgentM
本文标题:多等级移动agent系统安全机制的建立与实现
链接地址:https://www.777doc.com/doc-1256169 .html