一种类似生物自我保护的移动代理安全保护方法

文档序号:7614989阅读:119来源:国知局
专利名称:一种类似生物自我保护的移动代理安全保护方法
技术领域
本发明是一种分布式计算的安全解决方案。主要用于解决移动代理的安全问题,属于分布式计算软件安全技术领域。
背景技术
移动代理技术是随着Internet(因特网)的发展而出现的一种新兴技术,它较好的适应了Internet的特点,有效简化分布式系统的设计、实现和维护。一般来讲,移动代理是指一段独立的计算机程序,它按照一定的规程,能够自主的在异构的网络上移动,代表用户完成特定的任务。移动代理的优势主要有两点一方面,它实现了计算向所需资源的靠拢,这可以节省网络的带宽并具有异步功能;另一方面,允许程序动态发布到主机。
由于移动代理的诸多优点,它在电子商务、移动计算、Internet信息的智能发现等方面都有较好的应用前景,对移动代理技术的研究正成为学术界和工业界的热点之一。移动代理的关键技术包括移动机制、通讯机制以及安全机制。安全性是制约移动代理技术广泛使用的重要因素之一,因此研究移动代理的安全问题具有重要意义。
移动代理的安全问题主要包括三个方面(1)保护移动代理通讯通道(2)执行环境的保护(3)移动代理的保护。目前对前两个方面的研究已有不少成果,例如沙箱模型、签名加密、检验传输代码等方法。然而对移动代理的保护的研究还处于初步阶段,因为移动代理是由主机执行的,它不得不在主机环境中公开数据和代码,也就冒着被恶意主机篡改、扫描甚至是终止的危险了,这些显然给问题的解决带来了一定的难度。过去的方法主要是使用密码学的方法。

发明内容
技术问题本发明的目的是提供一种类似生物自我保护的移动代理安全保护方法,来解决保护移动代理的问题,与过去使用的密码学方法不同,本方法是一种策略性方法,通过使用本发明提出的方法可以达到保护移动代理的目标。
技术方案本发明的方法是一种策略性的方法,通过引入多种特殊功能的代理并借鉴生物自我保护方法而提出,其目标是通过代理组合、代理伪装等来动态的处理移动代理的安全问题。
下面给出几种特殊移动代理的定义伪代理(Pseudo Agent PAgent)伪代理是一种特殊类型的移动代理,它由执行正常功能的移动代理创建,用以引诱目标攻击。
守护代理(Guard Agent GAgent)守护代理也是一种特殊类型的移动代理,它可以和正常功能的移动代理一起组合为一个具有安全功能的整体,根据任务类型的不同可以组合不同类型的守护代理。
变异代理(Mutant Agent MAgent)变异代理是普通功能移动代理的等价体,其主体功能和原移动代理功能一致。
一、体系结构图1给出了一个运用这种方法的移动代理的组成结构图,与传统的移动代理结构相比较,这种结构主要增加了4个部分环境感知器、代理生成控制逻辑、组合接收器以及变异逻辑控制。而图中中央的移动代理母体核心包含了传统的移动代理结构,另外还增加了上面四个部分的核心逻辑。尽管增加了这些部分,但是对移动代理大小的增加是很小的,在我们实现的原型中只有几千个字节。
下面我们给出几个具体部分的说明环境感知器在移动代理的迁移过程中和移动代理到了目标主机的运行期间负责对周围环境进行感知,对潜在的威胁做出判断,从而引起决策体采用适当的方法对威胁做出反应。环境感知器的实现可以参考病毒发现机制原理也可以采用其他机制如基于虚拟机的代码检测方法。在本文提出的移动代理方法中,不对具体实现做出限制。
代理生成控制代理生成控制主要用于根据环境感知器的结果激活特殊安全代理或者产生伪代理等,其关键逻辑包含一个典型的代码生成和代码迁移控制。
组合接收器组合接收器用于将主体功能的代理和特殊功能的代理杂凑从而形成一个功能区分却又紧密结合的代理整体,组合接收器的使用我们在下面的方法流程部分还有详细的说明。
变异逻辑控制变异逻辑控制是一个改变代理内部逻辑从而改变代理外部形态(注意不改变关键功能形态)的控制部分。通过改变代理的非关键特征来躲避伤害。
二、方法流程1、[伪装型]完成正常功能的移动代理如果遇到安全威胁可以产生一些伪代理(这些伪代理即使被攻击或破坏也没有关系),伪代理可以在计数器、程序栈等与主代理类似,根据保护的目的不同产生的伪代理也不同。应用了生物自我保护的伪装机制,增加了移动代理的策略保护。
主要工作流程(1)环境感知器觉察出环境不安全(例如有穷举攻击或任务无关的操作存在)或者事先指定的伪装策略(大多发生在代理发起方对目的地的事前评估),则代理(用Agent表示)创建(用Create函数表示)伪代理(用Agent^表示)Agent^=Create(Agent,Conditions)其中Conditions(条件)表示创建的条件和参数信息,这些信息依赖于环境感知或事前指定。
若保护的是代理的程序逻辑部分(f),则满足f(Agent^)≠f(Agent)………(i),若保护的是代理的程序数据部分(d),则满足d(Agent^)≠d(Agent)………(ii),若保护的是代理的程序逻辑部分(f)和数据部分(d),则同时满足(i)和(ii)。
(2)伪代理(Agent^)有两个用途
用途1伪代理可以用于对未知环境的安全评估如假定要保护代理的数据部分并且假定代理执行任务时数据部分应该不变若回收的伪代理满足d(Agent^)before≠d(Agent^)after则目的主机或移动环境存在对数据的攻击用途2伪代理用于“引”攻击在移动过程中或在目的主机运行时,如果伪代理被截获、修改、中止等则不影响代理的任务执行,更为一般可以结合密码学技术达到引攻击的目的。
2、[依附型]完成正常功能的移动代理通过申请一定安全功能的移动代理并将两者组合在一起用以达到安全防卫的目的。降低了开发移动代理的难度;增加了安全的可配置性;系统易于扩展。
主要工作流程(1)代理发起方(用Sender表示)发送安全请求(用Req表示)给安全中心(用SC表示),SC是安全中心的英文(Safety Center)首字母组合 其中Req经过下列操作E(Sign(Senderprivate,Req),SCpublic)其中E表示加密函数,Sign表示签名函数,Senderprivate表示发送者的私钥,SCpublic表示安全中心的公钥。
(2)安全中心发送会话密钥(用Sessionkey表示)给代理发起方 (3)安全中心发送加密过的安全守护代理(用GAgent表示)给代理发起方
(4)代理发起方通过代理的组合接收器产生(用Merge函数表示)组合代理(用Agent*表示)即Agent*=Merge(Agent,GAgent)若设f为Agent的功能函数,则满足f(Agent*)=f(Agent)(5)组合后的代理(Agent*)在传输过程中和在目的站点的运行安全情况是一个有限状态机,其定义如下设C为环境计算函数,H为环境安全评估结果集合,M为状态转移函数,Action为Agent*的动作集合,S={S0,S1,…}为Agent*的状态集合,其直接来源于GAgent。
有C(Env)∈H={R0,R1,R2,…}M(Si,Rj,Actionk)=Sk3、[变异型]完成正常功能的移动代理在遇到安全威胁时候可以采用变异的方法逃避安全威胁,其原理类似变异病毒。增加了移动代理的安全自适应特性,特别的部分情况下可以毁灭自身以达到安全的目的。
主要工作流程(1)代理(Agent)在传输过程中和在目的站点运行,如果发生安全问题则产生变异,即设C为环境(用Env来表示)计算函数,H为环境安全评估结果集合有C(Env)∈H={R0,R1,R2,…}对于H的一个变异特征子集C′={m0,m1,m2,…}H 若设f为Agent的功能函数,则满足
f(Agent#)=f(Agent)以上描述表示Agent在变异环境满足时变异为Agent#并且Agent的主体功能不变。
(2)毁灭性交异(特殊变异情形)当满足特殊规则时,Agent=NULL即Agent自毁包括清除程序指令栈、数据栈等。
一种类似生物自我保护的移动代理安全保护方法,其所包含的步骤为步骤1).代理发起方创建一个移动代理,然后判断是否需要依附代理即安全守护代理,如果不需要转步骤7;步骤2).代理发起方发送请求给安全中心,发送请求包含了对安全守护代理的具体请求信息,如安全级别以及安全方式,请求在发送前使用发送方的私钥进行签名然后使用安全中心的公钥加密,然后再发给安全中心;步骤3).安全中心解密请求并验证发送方签名,安全中心发送会话密钥给代理发送方,会话密钥使用代理发送方的公钥加密;步骤4).安全中心使用会话密钥加密请求的安全守护代理给代理发送方;步骤5).代理发送方使用步骤3中得到的会话密钥解密而得到安全守护代理;步骤6).代理发送方通过移动代理的组合接收器产生组合代理;步骤7).代理发送方根据用户要求判断是否需要启用伪代理功能,如果不需要启用转步骤9;步骤8).启动伪代理功能;步骤9).代理发送方根据用户要求判断是否需要启用变异功能,如果不需要启用转步骤11;步骤10).启动变异功能;步骤11).形成最后的完成特定任务的功能移动代理;步骤12).代理移动到目的主机;步骤13).移动代理处于一个安全状态机的控制下;步骤14).根据环境的状态由环境感知组件判断当前安全状态,安全状态的改变将会引起相应安全的发生;步骤15).如果触发安全守护,则安全守护代理功能开始响应,转步骤16否则转步骤17;步骤16).根据安全守护状态机控制守护代理行为;步骤17).如果触发变异则变异功能开始启动,转步骤18,否则转步骤20;步骤18).如果变异触发不是一种自毁变异,则继续步骤19,否则代理中止,转步骤24;步骤19).变异功能为一般变异;步骤20).如果触发伪代理发送,则移动代理创建并释放伪代理;步骤21).代理进入某种安全保护状态;步骤22).在目标主机上的任务完成,则判断是否需要继续移动到其他主机但不包括发起主机,如果需要则转步骤12,否则转步骤23;步骤23).代理返回;步骤24).全过程结束。
有益效果本发明方法提出了类似生物自我保护的移动代理安全保护新方法,主要用于解决移动代理安全保护问题,通过使用本发明提出的方法可以避免过去密码学方法的复杂性、可以提高安全方法的灵活性,可以有效的达到保护移动代理的目的。下面我们给出具体的说明。
应用了生物自我保护的伪装机制,增加了移动代理的策略保护。
过去的移动代理的开发强调的是移动代理外在功能的一致性,这样一个移动代理的主体功能和数据就很容易暴露出去。通过专门正对安全威胁的代理伪装的方法,我们可以针对恶意主机释放多个不影响主体功能执行的伪装代理,这些伪装代理被恶意主机捕获将对代理本身没有伤害。伪装代理的使用从程序的结构设计上来提供保护移动代理的方法这跟过去纯粹硬编码实现安全是不一样的。
降低了开发移动代理的难度;增加了安全的可配置性;系统易于扩展。过去在基于纯密码学原理的移动代理安全保护中,为了达到保护移动代理的目的,我们必须针对每一个移动代理进行安全相关的硬编码,这样一方面带来了重复的工作量,另一方面当我们对移动代理的安全需求的强度不同时需要重新编写相关的代码。利用依附型代理的方法,我们可以事先设置好安全加密的方法,一个移动代理不需要编写任何安全相关代码就可以得到这些依附型代理的安全功能,通过定义好的应用程序接口,依附型代理和完成特定任务的移动代理就组合成为一体,其整体功能和过去通过硬编码实现的功能是等价的,但是这样的一种方法就是可配置的,所有的移动代理为了获得某种安全保护功能直接申请一种依附代理就可以了,并且如果安全要求不同还可以申请不同级别的依附代理。
增加了移动代理的安全自适应特性,特别的部分情况下可以毁灭自身以达到安全的目的。变异功能也是从程序行为的角度给出的移动代理安全保护方法,通过变异函数来改变移动代理的非核心形态从而改变移动代理的外在表现可以骗过恶意主机以为该移动代理非目标移动代理或者该移动代理没有价值,从而避免了安全问题。特别情况下的自毁代理,可以用于那些对安全要求特别高的应用,如果一旦觉得不安全,则代理自毁,从而可以避免秘密泄漏。这在过去的移动代理安全方法中是没有提到过的。


图1是代理组成结构示意图。图中包括环境感知器、代理生成控制、组合接收器、变异逻辑、移动代理母体核心。
图2是参考体系结构示意图。表示本发明方法包括的组件示例。
图3是流程示意图。表示本发明方法的流程示意。
具体实施例方式
为了方便描述,我们假定有如下应用实例一个移动查询代理(用A表示)要迁移到两个商务服务器(分别用B和C表示)去代表客户查询商品信息,要求移动代理启用安全守护功能、变异功能以及伪代理功能。
则其具体实施方式
为(1)代理发起方创建一个移动代理A因为假定了是启用守护代理功能则继续执行下列步骤;(2)代理发起方(设为甲)发送请求给安全中心(设为乙)第一步甲根据参数初始化请求;
假定这里的参数包括安全级别=1(初始级别),安全功能=防数据窜改;第二步甲对请求签名和加密;可以使用RSA算法签名和加密;第三步甲将请求发送给乙,例如使用基于TCP/IP的Socket方法;(3)乙解密请求并验证发送方签名,如果确定验证来自甲,则乙发送会话密钥(用k表示)给甲,d被加密,加密密钥是甲的公钥;(4)乙使用d加密请求的安全守护代理给甲;(5)甲使用(3)中的d解密而得到安全守护代理;(6)甲通过移动代理的组合接收器产生组合代理;(7)甲根据用户要求判断是否需要启用伪代理功能,这里启用所以继续往下;(8)启动伪代理功能;(9)甲根据用户要求判断是否需要启用变异功能,这里启用所以继续往下;(10)启动变异功能;(11)形成最后的要完成商品信息查询的移动代理用FA表示;(12)FA移动到目的主机B;(13)FA处于一个安全状态机的控制下;(14)安全状态机运行,安全状态机使用基于事件触发的状态机实现,通过判断数据栈和程序栈的内容来判断当前安全状态;(15)设触发了安全守护,则安全守护代理功能开始响应,这里是防数据篡改,。
(16)根据安全守护状态机控制守护代理行为;防数据篡改的实现方法是给相关数据栈加上防止写的锁控制并通过生成唯一哈希值来保存数据,数据的哈希值发生改变则写回原有数据,或者生成错误报告;(17)如果触发变异则变异功能开始启动,因为这里允许故继续往下;(18)假定这里不是自毁变异,则继续往下;(19)变异功能为一般变异,一般变异的方法包括生成对象的深拷贝并根据先前的等价函数生成相应的方法;(20)如果触发伪代理发送,则移动代理创建并释放伪代理,伪代理是一个对象的浅拷贝再加上清空的数据栈和清空的程序方法体;(21)FA此时是受安全保护的,称FA处于安全保护态;(22)在B上的查找商品信息完成后因为还有一个主机C所以FA要携带在B上获得的商品信息迁移到主机C,重复(12)到(21)一次,注意此时的B应当是C了,完了以后,因为主机全部移动完成,所以继续下面一步;(23)FA返回;(24)甲获得了需要的商品搜索信息,全过程结束。
权利要求
1.一种类似生物自我保护的移动代理安全保护方法,其特征在于该方法所包含的步骤为步骤1).代理发起方创建一个移动代理,然后判断是否需要依附代理即安全守护代理,如果不需要转步骤7;步骤2).代理发起方发送请求给安全中心,发送请求包含了对安全守护代理的具体请求信息,如安全级别以及安全方式,请求在发送前使用发送方的私钥进行签名然后使用安全中心的公钥加密,然后再发给安全中心;步骤3).安全中心解密请求并验证发送方签名,安全中心发送会话密钥给代理发送方,会话密钥使用代理发送方的公钥加密;步骤4).安全中心使用会话密钥加密请求的安全守护代理给代理发送方;步骤5).代理发送方使用步骤3中得到的会话密钥解密而得到安全守护代理;步骤6).代理发送方通过移动代理的组合接收器产生组合代理;步骤7).代理发送方根据用户要求判断是否需要启用伪代理功能,如果不需要启用转步骤9;步骤8).启动伪代理功能;步骤9).代理发送方根据用户要求判断是否需要启用变异功能,如果不需要启用转步骤11;步骤10).启动变异功能;步骤11).形成最后的完成特定任务的功能移动代理;步骤12).代理移动到目的主机;步骤13).移动代理处于一个安全状态机的控制下;步骤14).根据环境的状态由环境感知组件判断当前安全状态,安全状态的改变将会引起相应安全的发生;步骤15).如果触发安全守护,则安全守护代理功能开始响应,转步骤16否则转步骤17;步骤16).根据安全守护状态机控制守护代理行为;步骤17).如果触发变异则变异功能开始启动,转步骤18,否则转步骤20;步骤18).如果变异触发不是一种自毁变异,则继续步骤19,否则代理中止,转步骤24;步骤19).变异功能为一般变异;步骤20).如果触发伪代理发送,则移动代理创建并释放伪代理;步骤21).代理进入某种安全保护状态;步骤22).在目标主机上的任务完成,则判断是否需要继续移动到其他主机但不包括发起主机,如果需要则转步骤12,否则转步骤23;步骤23).代理返回;步骤24).全过程结束。
全文摘要
一种类似生物自我保护的移动代理安全保护方法是一种分布式计算的安全解决方案。主要用于解决移动代理的安全问题,该方法是一种策略性的方法,通过引入多种特殊功能的代理并借鉴生物自我保护方法而提出,其目标是通过代理组合、代理伪装等来动态的处理移动代理的安全问题。与传统的移动代理结构相比较,这种结构主要增加了4个部分环境感知器、代理生成控制逻辑、组合接收器以及变异逻辑控制。而移动代理母体核心包含了传统的移动代理结构,另外还增加了上面四个部分的核心逻辑。尽管增加了这些部分,但是对移动代理大小的增加是很小的,在我们实现的原型中只有几千个字节。
文档编号H04L9/00GK1655524SQ200510037769
公开日2005年8月17日 申请日期2005年2月4日 优先权日2005年2月4日
发明者王汝传, 穆鸿 申请人:南京邮电学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1