《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 网格安全问题综述

网格安全问题综述

2008-06-05
作者:张园林,匡兴华,张亦弛,刘 鹏

  摘 要: 分析了网格系统对于安全的特殊需求,总结了现有的网格安全" title="网格安全">网格安全技术与相应的安全标准,并展望了未来网格安全技术" title="网格安全技术">网格安全技术的发展方向。
  关键词: 网格安全 安全标准 GSI


  网格计算充分利用了现有的从个人电脑到超级计算机的计算系统,让用户可以共享位于不同地理位置和组织上的计算资源和数据程序等。这一新的计算技术可以把现有的计算基础设施转换成一个集成的无处不在的虚拟计算环境。然而,尽管商业组织和研究机构都愿意为了技术合作或是商业利益上的原因来共享他们的资源,但如果他们无法信任这种共享的安全性,如通信的保密性、数据和资源的完整性以及用户信息的隐私性等,他们是不会接受这种分布式计算基础设施的。换句话说,只有当网格用户能够充分信赖网格的安全性以后,网格才能真正大规模地开展起来。
  传统的安全措施都集中在孤立的系统上,并且采用严格的用户策略来保护资源。例如,目前的绝大多数组织都在其计算机网络周围布置网络防火墙来保护他们的重要数据。但是网格计算的核心思想就是要使得资源能够超越现存的组织以及地理上的界限,从而实现最大程度上的共享。在网格环境" title="网格环境">网格环境下,网格的参与者都是动态地来自于虚拟组织。而先于共享行为建立起来的信任关系,常常是在组织这一层面上,而非个体层面[1]。因此,在网格环境下采取面向单个用户的严格安全策略被证明是很难行得通的。通常情况下,单个用户的事务处理往往涉及到许多个网格节点,而这些网格节点是动态的且不可预知的。此外,与传统的Internet不同,网格会对外部用户提供更大程度上的访问权限,从而增加了安全方面的风险。
1 基本的安全需求
  从广义上讲,任何信息系统的安全目标都是要阻止没有被正确授权的用户来访问相应的资源和信息[2]。下面说明网格环境下安全问题的基本要素以及这些要素的重要性。
  (1)鉴定 鉴定是一个验证身份的过程。在传统的信息系统中,鉴定通常都是对客户端的身份进行验证以确保服务端的安全。而在网格环境下,除了要对客户端进行身份验证外,还要对服务端的身份进行验证,以防止有冒名顶替者提供虚假服务。
  (2)授权 授权机制决定了系统是否允许一个请求的操作活动。在网格环境下,这样的机制必须在做出决策之前,综合考虑到所有与资源相联系的分布式策略。
  (3)完整性和保密性 保持数据的完整性和保密性是非常重要的。数据在传输和存储的过程中,必须有适当的安全机制" title="安全机制">安全机制来阻止未经授权的访问,并且在有些情况下,还必须阻止未经授权的组织来获取数据是否存在的相关信息。
  (4)账号与审计 账号与审计在网格环境下扮演着非常重要的角色。随着商业部门的大规模网格的开展,商业组织会需要一种机制来控制它们并对于消费所提供的资源和服务进行收费。账号机制还可以确保所有的用户遵守资源使用协议。而执行操作的审计信息记录则可以对威胁或破坏事件进行追踪。
  (5)不可抵赖性 不可抵赖性是指即使在嫌疑人否认的情况下,也能够证明嫌疑人曾经执行过或同意过某一具体的任务。在网格这种多方参与的环境里,能够证明任务以及人员之间的相互关系是非常重要的,尤其是当有争议出现时更是如此。
2 网格中特殊的安全需求
  最先开始出现的网格主要分布在互相信任的一些安全域中,如学术组织和研究机构。而目前,Globus Alliance和其他一些研究机构和商业组织等联合开发的开放网格体系结构(OGSA)已经被广泛接受。OGSA致力于定义用来统一创建、命名和发现网格服务的行为和机制。随着OGSA逐渐成为网格的体系结构的标准,许多大公司也开始使用网格技术。这些组织越来越关心网格环境下的一些诸如知识产权、隐私性和保密性等问题。开发一个安全的网格体系结构所面临的一个主要的挑战,就是要使得网格能够支持一系列的安全需求" title="安全需求">安全需求,即从最简单的安全需求到最高保密级别的问题空间集。
  网格包含不同的安全域,每个安全域都有各自自主的安全机制。一个有效的网格安全体系结构必须能够提供在这些不同安全域鸿沟之间牵线搭桥的协议和机制,同时又能够保留每个安全域对于它自己本地资源的完全控制权。
2.1 身份
  每个组织都要通过某种形式的身份,如用户名、密码或数字证书等来与用户进行联系。在网格环境中,为了在不同的组织之间建立联系以及能够进行账号管理,每一个用户都必须拥有一个网格身份。一个本地的用户身份要和网格身份进行匹配,而网格身份又要和用户指定的远程资源上的身份进行匹配。在多组织协作的环境下,建立信任关系是非常困难的。通常,有这样的虚拟组织会采取集中身份服务的方式来实现这种信任关系的管理[3],例如社区授权服务CAS(Community Authorization Service)。每一个资源提供者都要通知CAS服务器关于虚拟组织成员对于它的资源所拥有的权限集。要访问一个资源,用户需向CAS服务器申请基于其自身权限的权限证书。用户向其想要访问的资源出示其申请的证书,由资源对证书进行验证后,才准许该用户访问。
  图1给出的是一个网格环境下的典型的安全流程。用户从证书颁布机构创建一个临时证书(步骤①)。有了临时证书后,通过X.509身份验证或是通过代理验证就可以获得站点A本地域的一个合法身份(步骤②)。站点A上的安全机制在虚拟组织的共同规则的允许下,负责递交用户需求。这其中就包括为用户签署虚拟组织身份、特征证书等,并以站点A的虚拟组织身份递交这种需求(步骤③)。用户的身份要和站点B的本地身份进行匹配。若站点B上没有用户需要的服务,包括数据、程序资源等,站点B又会代表用户获取站点C上的资源(步骤④)。


2.2 多样性
  参与到网格中的组织,通常都有各自不同的内部安全机制。理想情况下,每一个组织都应该能够使它现有的资源适应网格环境;用户亦能够使用他们的本地身份在他们自身的安全域中进行鉴定,然后再使用鉴定文本访问远程站点。因此,安全结构必须能从本地安全域中提供其他站点可以使用的鉴定文本。换句话说,当用户访问一个远程站点时,安全体系结构应该验证用户提供的鉴定资料并把它转换成远程站点所使用的协议形式。这样远程站点才可以使用其本地协议和策略来验证用户的访问权限。
2.3 分布式框架
  在任何形式的协作环境中,不同的组织都会希望采用它们各自特殊的规则。例如,一个组织也许会希望把远程用户的访问时间限制在非高峰时段内,从而确保该组织内部的本地的非网格的用户能够不受影响。为了实现这一目标,虚拟组织必须集合相关的本地策略并评估当有用户请求访问资源时的结果。不同于传统的系统,在网格环境下,有关服务的策略设置和策略决定以及强制点等都分布在不同的机器上。
  网格环境下的信任关系会很复杂。例如,实体A加入一个具有两个互为竞争关系的协作组织,而这两个竞争实体彼此都不应该知道对方有了A的参与。在这种情况下,鉴定文本必须保持独立,而且每个文本的存在这一事实也应该保持在秘密状态。另一个网格应用的场景涉及到信任证书的委托,也就是说用户A可能会把他的访问权限委托给用户B,并允许用户B代表A的身份访问网格资源。这种情况就会使得信任关系变得复杂,因为资源信任的也许只是最初始的用户A,而不是具有了委托证书的用户B。
  为了提供容错机制并提高性能,网格会在不同的资源节点之间复制数据。此外,服务或者处理过程也会在它的生存期间从一个网格资源向另一个网格资源移植。而传统的访问控制策略则适用于拥有数据的资源,而不是数据本身。利用OGSA把资源和数据都抽象成服务,可以减少这种问题[4]。网格在不同节点之间复制应用数据的同时,还可以复制策略数据。因此,网格需要一个实时的数据同步机制来保持较高的安全层次。
2.4 终端用户
  目前,许多网格通过使用公钥安全基础设施(PKI)来提供安全的鉴定和通信。然而,在基于PKI的系统中,网格用户会发现密钥管理是一项非常繁琐的工作,因为用户要负责保护好他们的个人密钥。而且,一个网格用户也许会从不同的访问节点来访问网格,而在这些不同的机器上复制这些密钥就有可能导致密钥泄露出去。目前,很多网格组织通常都采用来自于用户永久信任证书的短期信任证书。MyProxy是一个在线信任证书仓库,可以存储用户的信任证书并且在需要时可以提供短期信任证书。
  网格体系结构应该在提供网格服务的同时,给用户提供一个简单的使用环境,使用户能够保持本地的访问模式。然而,当用户有不同的访问网格的方法时,提供单点登录能力就变得非常困难。而且,网格下的应用也许还会有更具体的安全需求。网格安全中间件必须包括支持这些需求的组件。
2.5 资源管理
  资源管理者需要确保用户和资源的隐私性和保密性,不仅要保护好数据本身,还要保护好数据存在的证据。而且,安全体系结构应该严格阻止来自于其他组织的用户的恶意代码。
  网格参与者希望能够确保他们的系统不被误用,同时还要求其他的参与者按照协议提供特定质量的服务。防火墙虽然能够防止组织的系统被误用,但同时也阻止了经过鉴定的正当的安全通信。如果在严密防范之下,仍然有危险或者攻击出现,账号信息必须能够识别出入侵者的身份。因为账号信息是分布式的,所以要获得这些信息将十分繁琐,因而所有的参与者是否都能提供有效的信息就变得非常关键。
  网格信任关系的动态特性也会影响资源安全。例如,在任何特定的合作活动的终端,涉及到的组织必须能够宣布访问无效从而阻止未经授权的访问。鉴定和授权信息的变化必须通知到网格上所有的相关实体。如果能证明在PKI系统中使用的证书已撤回,就不能够很好地满足这些需求,证书的撤回必须是实时的而且是分布式的。针对成千上万个网格上的节点,资源管理策略是一个巨大难题。管理员必须配置并监视资源以监测是否被误用。
3 现有的网格安全技术与标准
  目前,网格安全研究都集中在创建一种保护模块,该模块能够对面向各种各样的网格应用提供一种分布式安全基础设施。通过定义一系列的安全协议和安全机制,在虚拟组织间建立一种安全域,从而为资源共享提供一个可靠的安全环境。下面分别分析目前网格安全研究方面的一些技术和标准。
3.1 Web服务安全标准
  IBM、微软等大公司已经联合向高级结构化信息标准组织OASIS(Organization for the Advancement of Structured Information Standards)提交了一种Web服务(WS)安全规范。该规范提供一种简单的目标访问协议SOAP(Simple Object Access Protocol)消息框架来集成并支持各种现有的安全模型,并且还建议对SOAP进行扩展以实现这种集成以及保密性。SOAP提供了一个标准的、与平台无关的、语言中立的机制,用来进行安全的消息交换。尽管WS安全规范本身并不提供一套完整的解决方案,但是它定义了构建保护模块,使得开发Web服务时可以使用该模块在更高的层次上构建安全框架。因此,网格安全体系结构把WS安全规范作为构建跨越不同安全模型的网格安全结构的基础。表1是WS安全的一些被建议的标准规范。


3.2 消息层的安全
  以往使用的传输层安全是指通过支持X.509代理证书的传输层安全TLS(Transport Layer Security)来实现身份鉴定。传输层安全主要依赖于传输机制自身的安全保障。尽管这种方法可以确保网格服务安全,但是它也被完全限制在所使用的传输机制上,从而为这种方法的使用带来诸多不便。
  随着网格与Web服务的融合,网格正逐渐向使用消息层安全转换。消息层安全支持WS安全标准以及WS安全会话规范,并为SOAP消息提供保护。因为消息层安全的工作方式是确保每一条的SOAP消息的安全,它可以和任何形式的传输层协议配套工作,并且允许根据数据的重要程度和敏感程度来执行不同级别的安全保护。
3.3 安全声明标记语言
  当不同的组织共享资源时,他们需要一种通用的语言,以便网格实体能够交换安全信息。安全声明标记语言SAML(Security Assertion Markup Language)是被OASIS认可的标准,SAML定义了一种语言和协议来交换鉴定和授权的信息。SAML声明包含关于鉴定的参考标准、授权的决策以及和某一特定主体相关联的属性等相关信息。SAML策略可以寄存于外部策略存储环境中,而这一特性就使得虚拟组织可以很容易地在本地安全域中使用各种现有的策略。
  SAML定义了一种查询-响应协议接口,以便客户端向SAML授权中心查询声明。这种由基于XML消息格式组成的协议,能够轻松地与许多不同的底层通信和传输协议绑定在一起。而且,附着在SAML声明和查询上的时间标签让虚拟组织状态和用户属性有了实时的限制,从而在网格环境中建立动态的信任关系。
3.4 网格安全基础设施
  目前,绝大部分的网格系统使用的都是网格安全基础设施[5]GSI(Grid Security Infrastructure)。GSI作为Globus Toolkit的一个组成部分,提供了基于PKI的安全鉴定和安全通信。GSI的关键就在于与网格实体相关的信任证书。系统通过标准的X.509证书来鉴别网格上每一个用户和服务。X.509证书通常由第三方证书权威组织来签发,包含用户和服务的信息,以便确认实体身份的合法性。GSI使用安全套接层SSL(Security Socket Layer)和TLS来相互鉴别网格中实体的身份。这两部分互相交换证书,在确认了彼此身份的合法性之后,就可以建立经过鉴定的安全会话。
  GSI通过执行通用安全服务标准GSS(Generic Security Services)来实现本地安全域异构性。GSS定义了一个API来给用户一个标准的安全服务接口。GSI授予网格用户单点登录和代理的能力。一个网格会话使用一个被称作代理的短期证书,该证书由用户证书签发。使用用于鉴定身份的代理证书,就意味着用户访问网格服务时不必每次都输入他们的密码。同理,网格用户也可以把他们的代理证书委托给其他的用户,让其他的用户以他们的身份来进行网格操作。因为这种代理证书的有效期限很短,所以安全风险并不大。
  Globus项目于2005年8月发布了最新版本的GSI4.0。GSI4.0既支持传输层安全又支持消息层安全。GSI4.0由四部分功能组成:消息保护、鉴定、代理以及授权。图2给出了GSI4.0与相关的安全标准和功能之间的关系。


4 网格安全展望
  学术机构和企业组织不断地对网格安全技术进行研究。全球网格论坛GGF(Global Grid Forum)也为网格研究者们提供一个讨论交流的平台,并提出和制定了一系列的网格安全方面的建议和标准。网格安全技术正在不断向前发展。
  (1)入侵检测技术
  目前的网格安全技术主要集中在开发制定各种安全协议,以防止未经授权的非法用户的访问。而网格技术要得到真正成熟的应用,还必须研究网格环境下的入侵检测技术,并努力减轻这种入侵所产生的破坏作用。网格安全要到达的最终效果,是要使得网格即使是在遭到攻击的情况下,仍然能够持续不断地提供一定的服务质量。
  (2)持续监控技术
  对网格安全体系结构的一个至关紧要的要求就是对虚拟组织的安全状态持续监控。通常,虚拟组织中某一成员的安全策略的改变,会影响到组织中的其他成员,但是这种影响只有当它产生的后果发生时才会被检测出来。因此对于虚拟组织中的安全策略的改变的持续监控就显得非常重要。开发网格时必须同时建立软件质量保障机制。只有这样,才能避免由于缺乏良好安全机制而导致整个网格框架的崩溃。
  (3)动态控制技术
  过于复杂的安全机制会对网格的运行效果产生不好的影响。虽然一些高度敏感的应用也许会需要复杂的安全机制,但对于其他的应用来说却有可能变成一种负担。因此,这就要求能根据实际运行时所掌握的状况来动态控制网格安全的级别。
  此外,网格安全不仅仅是一个技术问题,它还涉及到经济和法律层面。按需分配计算资源是网格计算的一个趋势,为资源建立账户而进行管理就变得越来越重要。资源提供者需要各种各样的经济交易方案来为用户提供各种不同的计算服务。经济报酬机制必须考虑到以下因素:网络的负载、服务质量的保证、数据的数量、任务的计算时间和优先级以及资源的预约等。从用户角度来说,账户和审计机制可以保证他们得到的服务是物有所值的。法律问题也是一个不容忽视的网格安全因素。各个国家关于隐私和保密的法律都会有所差异,而要使得网格真正得到全球范围内的应用,各国必须解决这些法律差异问题,并共同建立起有关网格使用安全方面的国际法律。
  网格就是要通过开放的网络环境向用户提供服务,这就不可避免地要涉及到网络安全问题。并且网格的目标就是要实现更大范围和更深层次的资源共享,所以它存在更重要的安全问题,并提出了更高的安全需求。随着网格安全技术的不断发展以及相关的经济和法律上的配套的完善,一定能够确保数据资源等的安全性,从而使得网格的大规模开展成为可能。
参考文献
1 Foster I,Kesselman C,Tuecke S.The anatomy of the grid:enabling scalable virtual organizations[J].International journal of Supercomputer Applications,2001;15(3)
2 Ramakrishnan L.Securing next-generation grids[J].IT Profes-sional,2004;(3)
3 Pearlman L.A community authorization service for group col-laboration[A].In:proceedings of IEEE 3rd International Workshop on Policies for Distributed Systems and Networks[C],2002
4 Foster I.The Physiology of the grid:An open grid service architecture for distributed systems integration[R].Open Grid Services Architecture Working Group of Global Grid Forum, 2002
5 Foster I.A security architecture for computational grids[A].In:Proceedings of Fifth ACM Computer and Communications Security Conf.ACM Press,1998

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。