基于移动代理和断言的网格跨域安全平台的实现方法

文档序号:7684346阅读:169来源:国知局
专利名称:基于移动代理和断言的网格跨域安全平台的实现方法
技术领域
本发明是一种基于移动代理和断言的网格跨域安全平台的实现方案。主要用 于解决网格计算的安全问题,属于分布式计算软件安全技术领域。
背景技术
网格计算(Grid Computing)是指通过网络把分散在各处的硬件、软件、信 息资源连结成一个巨大的整体,从而使得人们能够利用地理上分散于各处的资源, 完成各种大规模的、复杂的计算和数据处理的任务。与以前的协同工作(Co叩erative work)、分布式计算(Distributed Computing)等概念相比较,网格计算的集成程度 更高、使用更加方便、资源的利用更加充分和有效。它标志着现代信息技术应用有一个新的、更高水平。移动代理(Mobile Agent)是一个能在异构网络中自主的从一台主机迁移到另一台主机,并可与其他agent或自愿交互的程序,实际上它是agent技术与分布式 计算技术的混血儿。移动agent技术通过将服务请求agent动态地移动到服务器端 执行,使得此agent较少依赖网络传输这一中间环节而直接面对要访问的服务器自 愿,从而避免了大量数据的网络传送,降低了系统对网络的依赖。安全声明标记语言(Security Assertion Markup Language, S服)单点登录 技术,SAML是一种基于XML语言用于传输认证及授权信息的技术框架。SAML作为 一种基于XML的安全信息交换和共享语言,支持单点登陆,为支持异构应用间的单 点登陆和身份管理提供了一种基于标准的方法。因此网格和移动代理、SAML的结合是自然的。在网格计算中引用移动代理技术 和SAML单点登陆技术将会有以下优点(1)地域上分布的异构网格计算环境下中能 自主地将计算任务从一个计算结点迁移到另一结点;并可与其它agent或资 源交互以实现对作业和资源的管理和自适应。(2)移动Agent可以迁移到网格计 算环境的各个任务运行结点上,与之进行本地高速通信,它不再占用网络资源,从而大大降低了网格的通讯量,并提高了网络资源的利用效率。(3)在网格计算中, 移动Agent不需要统一的调度。由用户创建的Agent可以异步在不同计算结点运行, 等任务完成再将结果传送给用户。同一用户或同一计算结点可创建多种Agent,同时 在一个或多个结点运行,形成并行求解的能力。(4) SAML能够支持多个安全站点之 间的安全信息交换,这样,也就能很好的支持用户的单点登陆,用户只需要在一个 安全域中登录,那么就同样可以使用其他信任该域的站点提供的服务。而其中的安 全信息交换,则是对用户透明的。(5)支持跨域使用。由于基于XML, SAML具有了其 他体系不具备的跨域使用的能力,通过SOAP等其他的一些交换协议,处于不同域的 多个安全站点之间也可以方便的交换安全信息。发明内容技术问题本发明的目的是提供一种网格计算环境中基于移动代理和SAML单 点登陆技术安全访问方法,即基于移动代理和断言的网格跨域安全平台的实现 方法,来构筑网格环境中的网格用户对网格服务的安全访问体系,通过使用该方法, 网格用户通过认证策略、单点登陆、访问控制策略来实现网格用户对网格服务的安 全访问和虚拟组织域之间通过断言的安全访问,可以达到减少网格用户与网格服务 之间的交互,从而对网格计算环境提供更加可靠的安全保证。技术方案本发明的基于移动代理和断言的网格跨域安全平台的实现方法 包括以下内容1、单点登陆技术在网格环境下,由于用户常常需要在不同的虚拟组织中使用不同的用户帐号和 密码。并且用户提交的任务在一个虚拟组织中如果资源不够分配,或者任务在运行 过程中,部分资源节点退出服务,因而可能需要跨域请求资源节点。使用单个用户 身份跨多个域和基础设施进行认证和授权,可以灵活的协调不同业务功能。要实现 对多虚拟组织和基础设施的单点登陆,必须进行大规模的安全集成并提供极高的互 操作性,涉及的领域包括如何管理密钥和证书以及如何使遗留系统能使用通用的用 户认证机制或安全提供者基础设施进行认证。SAML为支持异构应用间的单点登陆和 身份管理提供了一种基于标准的方法。由于网格异构性的特点,需要用户对网格进行单点登陆(Single Sign-0n),单 点登陆用到了SAML,通过SAML单点登陆技术,网格用户访问某个网格信任域的所有服务时,只需要一次登录。实现过程如图2所示,在本设计中,网格用户首 先从认证中心服务器获得由认证服务器签发后的认证断言,这个认证断言就是 用户在本系统中能够证明自己得身份证明,类似于在人类社会生活中的身份证,具 有唯一性。认证中心运行流程图如图2所示。用户再将认证断言发送到属性中心, 这里假设属性中心已经有了认证中心的用于签发断言的证书,属性中心验证认证断 言后,提取认证断言的用户信息生成属性断言,发送辯用户。属性中心运行流程图 如图3所示。最后用户将认证断言和属性断言以及任务提交给网格服务端,网格服 务端先验证用户的认证断言,再将属性断言转化为策略文件,与数据库中存储的资 源节点的策略集进行匹配,得出匹配成功的资源节点,最后由网格服务端将任务分 配到匹配成功的资源节点上,这样就成功实现了用户对网格系统的单点登陆了。 2、移动代理技术资源节点在注册时,根据自身资源属性,通过访问控制策略语言(extensible Access Control Markup Language, XACML)来制定允许使用该资源的策略,XACML 是基于XML格式的策略访问控制语言,是XML安全规范的一部分。它定义了一种表 示授权规则和策略的标准格式,还定义了一种评估规则和策略以做出授权决策的标 准方法。主要用来解决以下问题创建一种可移植的、标准的方式来描述访问控制实体及其属性。提供一种机制,比简单地拒绝访问或授权访问更细粒度的控制访问,也就是说, 在"允许"或"拒绝"之前或之后执行某些操作。作业的跨域动态迁移调度如图4所示。在得到匹配的资源节点后,网格服务端 将用户所提交的作业按照匹配的资源性能进行划分,该作业分配算法目前只是根据 资源的性能权重(包括CPU性能,带宽性能,内存性能进行综合)来划分,资源的 综合性能高则划分到的作业量也大,相反则作业量小。然后网格服务端通过移动代 理平台启动agent(代理)将各划分的作业分配给相应的资源节点,各资源节点运行 作业并将最终结果通过agent返回给网格服务端。资源节点和网格服务端的通信即 借助于移动代理的通信机制来完成的。应用移动代理的网格安全平台的作业异常时的跨域调度如图5所示。当虚拟组 织1中的作业通过agent迁移到资源节点运行时,虚拟组织1服务端启动监听线程, 监测资源节点是否返回运行结果,若该过程重出现了某个资源运行的作业 结果返回失败(其原因如该资源节点掉线或负荷过重而瘫痪等),这时虚拟组织l的服务端就需要将分配给该资源的作业重新进行分配,若这时其他在运行的资 源节点还没有结束任务运行,虚拟组织1服务端则需要请求其他虚拟组织服务端(V02)来协助完成该段作业,因而虚拟组织1服务端将该作业发送给虚拟组织2服 务端,同时还发送该用户的SAML认证断言和属性断言,虚拟组织2服务端对该断言 进行验证,若通过则就能够接收该段作业,然后再通过属性断言生成策略文件,与 虚拟组织2中的策略集进行匹配,并在虚拟组织2中相应地分配任务到匹配成功的 资源节点上来运行。运行结果返回给虚拟组织1服务端,虚拟组织1服务端再对这 些结果进行整合并返回给用户,这样就实现了跨域的作业调度。在此我们看到了 SAML断言的优势,尽管该用户没有在虚拟组织1中注册,因而不能在虚拟组织2中 运行其作业,但通过SAML断言就能够实现作业在虚拟组织2中的运行,其原因为虚 拟组织1和虚拟组织2形成了信任联盟,因而虚拟组织1的用户也有相应的权限使 用虚拟组织2的资源。下面给出该模型中的几个概念-自治域(Autonomy Domain):加入网格环境的内部具有一致的安全体系的个体、 组织、部门和团体等。虚拟组织(Virtual Organization):所谓虚拟组织就是指在网格环境中,为 了完成某一特定任务而由不同自治域的节点组成的一个跨地域,异构型并共享资源 协同完成任务的一些个人、组织或者资源的动态组合。资源节点(Resource Node):在网格服务提供域中的能够对外提供资源服务的 最小单位成员。主体(Subject):是指能够访问网格服务提供域的授权实体,可以包含有关身 份、角色或其他属性的信息。客体(Object):是指网格服务中提供资源的节点,可以是网格服务提供节点, 同样可以包含其身份或其他属性信息。认证中心(Certificate Authority, CA):是指向用户颁发用户认证断言的权 威机构。属性中心(Attribute Authority, M):是指向用户颁发用户属性断言的权威 机构。签发(Sign):认证中心使用私钥对用户发过来的数字证书进行加密签名。验证(Validate):网格服务端提取认证中心证书的公钥对用户发送过来证书进行加密,再将结果与证书的签名进行对比的过程,相同表示验证通过,否则 验证不通过。迁移(Mobility): —个agent在计算机网络中漫游的能力。 认证断言(Authentication Assertion):主要实现网格服务对网格用户的身份 认证。属性断言(Attribute Assertion):主要包含主体属性的一些数据,例如主体 的角色、组织等。策略(Policy):是使用一组规则表示的访问控制策略。 策略集(Policy Set):包含一组策略或其他策略集。属性(Attribute):属性是类型已知的名称值,它可能包括发布者表示符或发 布日期和时间。具体的,属性是主体、资源、操作或发出访问请求的环境的恶症。 例如,用户的名称、其组成员资格、要访问的文件和时间都是属性值。一、 体系结构应用移动代理的网格安全平台的物理视图如图1所示,各虚拟组织包含一系列 的资源节点,这些资源节点注册到VO (Virtual Organization,虚拟组织)服务端 其资源信息保存在相应的资源表中,包括资源的各种性能,资源的授权策略等,注 册完后由VO服务端得到运行任务的移动代理组件一Agency,当资源节点启动Agency 时,就能够等待VO服务端所分配的任务并运行。各VO域都信任认证中心和属性中 心所签发的认证断言和属性断言,因而用户需要先向权威中心请求认证断言和属性 断言的签发,然后才能向VO域请求作业服务。网格用户和VO服务端之间的通信是 通过SOAP (Simple Object Access Protocol,简单对象访问协议)协议进行的, 并且该SOAP通信通过使用XML的加密签名机制来实现安全通信,其与SSL(Secure Socket Layer,安全套接字层)的最大不同在于能够对传输的消息根据敏感性不同而 执行分段加密和签名,即对于敏感的信息,如用户的ID号和密码采用3DES加密算 法进行加密,而不敏感的信息则可以不进行安全处理,这样就能减少通信量,减轻 系统负担,灵活性强;而SSL则只能对所传输的消息都进行加密签名处理。二、 方法流程整个过程的时序图如图7所示。下面就具体来说明整个平台的使用情况, 本发明应用移动代理进行作业自主迁移,应用断言实现跨域的单点登陆,该方法有域内实现或跨域实现,其域内实现的步骤为步骤l.网格用户向认证中心申请认证断言;步骤2.认证中心根据用户信息生成认证断言,并签发该断言; 步骤3.认证中心将签发后的断言保存到断言库; 步骤4.认证中心将签发后的断言发送给用户; 步骤5.网格用户将认证断言发送到属性中心;步骤6.属性中心验证认证断言后,这里假设属性中心已经有了认证中心的数 字证书,再根据认证断言的用户信息生成安全声明标记语言属性断言文件; 步骤7.属性中心签发属性断言,并保存到断言库; 步骤8.属性中心将属性断言发送给用户;步骤9.网格用户通过简单对象访问协议安全传输发送认证断言和用户注册信 息到网格服务端;步骤IO.网格服务端收到认证断言后,对断言进行验证,验证通过将用户名和 密码保存到用户信息数据库中;步骤ll.网格用户调用网格登陆服务的客户端程序,通过简单对象访问协议安 全传输将用户名和密码发送到网格服务端;步骤12.网格服务端到数据库中验证用户名和密码,验证通过成功登陆网格服务;步骤13.网格用户发送属性断言和用XML描述的任务到网格服务端;步骤14.网格服务端验证属性断言,并保存,这里假设网格服务端已经有了属 性中心的数字证书;步骤15.网格服务端提取属性断言转化为用户策略文件;步骤16.网格服务端根据策略请求文件与数据库中的策略集行匹配,得出最后 可以使用的资源节点;步骤17.网格服务端启动移动总代理将作业进行分解,再将分解后的作业通过 移动代理分发给匹配成功的网格资源节点运行;步骤18.各资源节点开启移动子代理,接收迁移过来的移动代理带来的子任务;步骤19.各资源节点的移动子代理自主运行作业;步骤20.各资源节将结果通过移动代理返回给网格服务端;步骤21.网格服务端将各移动代理带回来的作业结果进行汇总; 步骤22.网格服务端将总的作业结果发送给用户端;这里假设本方法实施时有两个虚拟组织,V01(虚拟组织l)和V02(虚拟组织2), 实现跨域跨域实现的步骤为步骤a)该步骤同上一个过程的步骤1 步骤17,步骤b)当虚拟组织l有资源节点发生中断,不能提供服务时,移动代理能够及 时地将不能分配的任务报告给网格服务端,步骤c)网格服务端将没有分配下去的任务与用户的认证断言和属性断言发送到 形成联盟的另一个虚拟组织域即虚拟组织2中的网格服务端, 步骤d)虚拟组织2的网格服务端对用户的认证断言进行认证,这里假设虚拟组织2 中已经有了认证中心的数字证书,步骤e)该步骤同上一个过程的步骤18 步骤20,步骤f)虚拟组织2的网格服务端将迁移到虚拟组织2的子任务的结果通过移动 代理发送到虚拟组织1的网格服务端,步骤g)最后由虚拟组织1的网格服务端将结果汇总发送给用户。 有益效果本发明方法提出了一种针对于网格服务的高效简便的访问控制新方 法,主要用于网格客户端对服务端进行访问控制的问题,通过使用本发明提出的方 法可以降低网格服务端对网格客户端的依赖性,有效的提高了网格服务的自主性。 下面我们给出具体的说明。自主性本发明方法使用移动agent完成作业的迁移实现对网格资源节点的访 问,由于移动agent的自主性特点,使得本方法对网格服务具有很好的自主性。高效性由于本方法将作业进行了分解,使得每个移动代理只携带了部分 的作业到资源节点去执行,所以提高了作业的执行速度,具有很好的高效性。灵活性移动agent在与服务agent交互后,如果发现虚拟组织1的资源不够, 或者某些资源达不到要求的时候,可以通过断言实现跨域迁移,这样用户通过移动 agent就可以很灵活的实现对虚拟组织的访问。安全性本方法的实现要应用到PKI、单点登陆、SOAP安全传输、XACML 访问控制技术,由于这些技术的应用使得本方法具有很好的安全性。可扩展性SAML基于XML语言,支持扩展机制,而且允许对其中的一些元素进行自定义,增加了使用的灵活性。另外,没有定义新的认证和授权机制,而是把授权和认证机制的选择权交给了最终的实现者,为实现者提供了一个平台无关 的信息交换体系。


图1应用移动代理和断言的网格跨域安全平台的物理视图。图2单点登陆的物理视图。图3认证中心运行流程图。图4属性中心运行流程图。图5应用移动代理网格安全平台的作业调度图。图6应用移动代理和断言的网格安全平台的作业异常时的跨域调度图。 图7是本方法总的流程图。
具体实施方式
为了方便描述,我们假定有如下应用实例一个网格客户要使用某个网格服务来完成某一项任务,我们假设网格服务端已 经有了认证中心和属性中心的数字证书,为了实现跨域的功能,还假设有两个虚拟组 织域,V01 (虚拟组织l)和V02(虚拟组织2),下面分别对域内和跨域的具体实施方式
进行描述1、域内的具体实施方式
为1) 网格用户向认证中心申请认证断言;2) 认证中心根据用户信息生成认证断言,并签发该断言;3) 认证中心将签发后的断言保存到断言库;4) 认证中心将签发后的断言发送给用户;5) 网格用户将认证断言发送到属性中心;6) 属性中心验证认证断言后,这里假设属性中心已经有了认证中心的数字证 书,再根据认证断言的用户信息生成安全声明标记语言属性断言文件;7) 属性中心签发属性断言,并保存到断言库;8) 属性中心将属性断言发送给用户;9) 网格用户通过简单对象访问协议安全传输发送认证断言和用户注册信息到 网格服务端;10) 网格服务端收到认证断言后,对断言进行验证,验证通过将用户名和密码 保存到用户信息数据库中;11) 网格用户调用网格登陆服务的客户端程序,通过简单对象访问协议安全传 输将用户名和密码发送到网格服务端;12) 网格服务端到数据库中验证用户名和密码,验证通过成功登陆网格服务;13) 网格用户发送属性断言和用XML描述的任务到网格服务端;14) 网格服务端验证属性断言,并保存,这里假设网格服务端已经有了属性中 心的数字证书;15) 网格服务端提取属性断言转化为用户策略文件;16) 网格服务端根据策略请求文件与数据库中的策略集行匹配,得出最后可以 使用的资源节点;17) 网格服务端启动移动总代理将作业进行分解,再将分解后的作业通过移动 代理分发给匹配成功的网格资源节点运行;18) 各资源节点开启移动子代理,接收迁移过来的移动代理带来的子任务;19) 各资源节点的移动子代理自主运行作业;20) 各资源节将结果通过移动代理返回给网格服务端;21) 网格服务端将各移动代理带回来的作业结果进行汇总;22) 网格服务端将总的作业结果发送给用户端;网格用户向认证中心申请认证 断言。2.跨域的具体实施方式
为-步骤a)该步骤同上一个过程的步骤1 步骤17,步骤b)当虚拟组织l有资源节点发生中断,不能提供服务时,移动代理能够及 时地将不能分配的任务报告给网格服务端,步骤c)网格服务端将没有分配下去的任务与用户的认证断言和属性断言发送到 形成联盟的另一个虚拟组织域即虚拟组织2中的网格服务端,步骤d)虚拟组织2的网格服务端对用户的认证断言进行认证,这里假设V02 中已经有了认证中心的数字证书,步骤e)该步骤同上一个过程的步骤18 步骤20,步骤f)虚拟组织2的网格服务端将迁移到虚拟组织2的子任务的结果通过移动 代理发送到虚拟组织1的网格服务端,步骤g)最后由虚拟组织1的网格服务端将结果汇总发送给用户。
权利要求
1.一种基于移动代理和断言的网格跨域安全平台的实现方法,其特征在于应用移动代理进行作业自主迁移,应用断言实现跨域的单点登陆,该方法有域内实现或跨域实现,其域内实现的步骤为步骤1.网格用户向认证中心申请认证断言;步骤2.认证中心根据用户信息生成认证断言,并签发该断言;步骤3.认证中心将签发后的断言保存到断言库;步骤4.认证中心将签发后的断言发送给用户;步骤5.网格用户将认证断言发送到属性中心;步骤6.属性中心验证认证断言后,这里假设属性中心已经有了认证中心的数字证书,再根据认证断言的用户信息生成安全声明标记语言属性断言文件;步骤7.属性中心签发属性断言,并保存到断言库;步骤8.属性中心将属性断言发送给用户;步骤9.网格用户通过简单对象访问协议安全传输发送认证断言和用户注册信息到网格服务端;步骤10.网格服务端收到认证断言后,对断言进行验证,验证通过将用户名和密码保存到用户信息数据库中;步骤11.网格用户调用网格登陆服务的客户端程序,通过简单对象访问协议安全传输将用户名和密码发送到网格服务端;步骤12.网格服务端到数据库中验证用户名和密码,验证通过成功登陆网格服务;步骤13.网格用户发送属性断言和用XML描述的任务到网格服务端;步骤14.网格服务端验证属性断言,并保存,这里假设网格服务端已经有了属性中心的数字证书;步骤15.网格服务端提取属性断言转化为用户策略文件;步骤16.网格服务端根据策略请求文件与数据库中的策略集行匹配,得出最后可以使用的资源节点;步骤17.网格服务端启动移动总代理将作业进行分解,再将分解后的作业通过移动代理分发给匹配成功的网格资源节点运行;步骤18.各资源节点开启移动子代理,接收迁移过来的移动代理带来的子任务;步骤19.各资源节点的移动子代理自主运行作业;步骤20.各资源节将结果通过移动代理返回给网格服务端;步骤21.网格服务端将各移动代理带回来的作业结果进行汇总;步骤22.网格服务端将总的作业结果发送给用户端。
2.根据权利要求1所述的基于移动代理和断言的网格跨域安全平台的实现方法,其特征在于跨域实现的步骤为首先假设本方法实施时有两个虚拟组织,即虚拟组织1和虚拟组织2,步骤a)该步骤同上一个过程的步骤1 步骤17,步骤b)当虚拟组织l有资源节点发生中断,不能提供服务时,移动代理能够及 时地将不能分配的任务报告给网格服务端,步骤c)网格服务端将没有分配下去的任务与用户的认证断言和属性断言发送到 形成联盟的另一个虚拟组织域即虚拟组织2中的网格服务端,步骤d)虚拟组织2的网格服务端对用户的认证断言进行认证,这里假设虚拟 组织2中已经有了认证中心的数字证书,步骤e)该步骤同上一个过程的步骤18 步骤20,步骤f)虚拟组织2的网格服务端将迁移到虚拟组织2的子任务的结果通过移动 代理发送到虚拟组织1的网格服务端,步骤g)最后由虚拟组织l的网格服务端将结果汇总发送给用户。
全文摘要
基于移动代理和断言的网格跨域安全平台的实现方法是一种基于移动代理和断言的网格跨域安全平台的实现方案。主要用于解决网格计算的安全问题,应用移动代理进行作业自主迁移,应用断言实现跨域的单点登陆,该方法有域内实现或跨域实现,来构筑网格环境中的网格用户对网格服务的安全访问体系,通过使用该方法,网格用户通过认证策略、单点登陆、访问控制策略来实现网格用户对网格服务的安全访问和虚拟组织域之间通过断言的安全访问,可以达到减少网格用户与网格服务之间的交互,从而对网格计算环境提供更加可靠的安全保证。
文档编号H04L9/32GK101242272SQ20081001966
公开日2008年8月13日 申请日期2008年3月11日 优先权日2008年3月11日
发明者任勋益, 琳 张, 杨 王, 王汝传, 王海艳, 陈剑虹 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1