网格环境下的安全探讨庞彦广计算中心2004/6/11内容1、网格安全概述2、网格的认证3、网格的授权4、网格体系的其他安全部件5、网格安全的展望内容1、网格安全概述2、网格的认证3、网格的授权4、网格体系的其他安全部件5、网格安全的展望1、网格安全概述什么是网格计算?Iforst的话及基本概念IanFoster,美国Globus网格项目的领导人之一,“网格是构筑在互联网上的一组新兴技术,它将高速互联网、计算机、大型数据库、传感器、远程设备等融为一体,为科技人员和老百姓提供更多的资源、功能和服务。传统的互联网技术主要为人们提供电子邮件、网页浏览等通讯功能,而网格的功能则更多更强,它能让人们共享计算、存储和其他资源。”通俗的说,就是像人们日常生活中从电网中获取电能一样获取高性能的计算能力。几乎没有人在打开电灯时考虑电是从哪个电站来的。但是,我们在传统的internet获取信息时,必须告诉计算机去访问某一个网站,好比在打开电灯时,告诉它我们需要某一电站的电一样笨拙。本质上说,网格计算需要解决的问题是如何在动态的、异构的虚拟组织间实现资源共享以及协同的解决某一问题。一个物理学家的计算实例一个物理学家站点A站点B站点C站点Dfarm站点Efarm站点F用户B1用户B2datadatadata公钥证书用户c1、c2ssL用户d1、d2….data用户F1、F2ssH用户d1、d2….plaintext用户代理程序-物理数据分析程序数据存储系统物理模拟程序资源代理物理模拟相关的计算物理模拟相关的计算参数值一个物理学家的计算实例假设一个物理学家在一个国际合作组织团体中进行科学研究。它收到同事的一封关于新的实验数据讨论的邮件,然后她登陆到自己所在的站点A中的一台工作站并启动一个用户代理程序,该用户代理程序代表他运行一个物理分析程序,而这个物理分析程序需要访问存储在远程站点B中的数据存储系统中的一些数据。在物理分析程序运行过程中,为了比较试验结果与预期的结果,它可能需要启动另一个用于物理模拟的程序。于是,站点A中的用户代理与合作站点C中的资源代理联系,以查找网格中能够用来进行物理模拟的闲散计算资源。通过查找分析,站点C中的资源代理找到了站点D和站点E上的闲散计算资源,于是资源代理分别在两个站点(D和E)中的主机上同时启动了与物理模拟相关的计算,而这些计算都需要访问存放在另一个站点F上的一些参数值。网格计算的关键特点上述给出的示例,虽然不能全面反映网格计算的一用特征,但基本上说明了网格计算的以下关键特点:1、用户数量巨大,并且是动态变化的。2、资源数量巨大,并且也是动态变化的。3、一个计算可能在他的运行期间动态的要求使用或释放资源,并可能需要创建许多不同的进程。4、不同的信任域可能要求不同的安全策略(认证和授权机制),例:kerberos,公钥证书、ssH等。5、网格环境下的资源和用户可能分布在不同的国家里,因而可能受到不同法律和政策的管制。6、一个计算所涉及的各个站点之间需要高速的网络技术互联。与传统网络环境相比,网格环境的安全要求在开放系统互联(OSI)安全体系结构模型中,它定义了5组安全服务:认证服务、访问控制服务、数据的完整性、数据保密性、非否认服务。网格技术也属于开放体系互联的技术范畴,因此,也需要提供上述5种标准安全服务。不过针对网格环境的特殊关键特点它还应具备:1、网格认证要求单一登录、委托、兼容不同的本地安全方案2、网格通信保护要求灵活的消息保护机制、支持不同的可靠通信协议3、网格授权要求有资源所有者或资源所有者代理决定授权受限委托(减少风险)网格安全的一种具体解决方案-GSI美国网格研究项目Globus提出的GSI(网格安全基础设施)和PKI技术相结合提供了满足网格安全要求的框架。GSI引入用户代理、资源代理的概念,并定义了四种安全操作协议。创建用户代理、代理分配资源、进程分配资源、映射权限。网格安全GSI体系结构网格安全体系结构2代理分配资源3进程分配资源4映射权限1创建用户代理网格安全GSI体系结构对用户来说:全局命名(证书DN)和代理证书使得用户对所有的访问资源只进行一次认证。代理证书和委托技术允许一个进程来代表用户访问资源。X.509,sslv3和GSI-api标准使得支持GSI的工具和应用程序的开发更加容易实现。对站点来说:这个体系结构不需要改变本地的安全体系,站点只需简单的安装GSI-enabled服务,这些服务都是用众所周知的标准。GSS—API在GSI的核心框架GSI采用GSS-API作为其安全编程接口,对协议和机制进行隔离,GSS-API定义提供了通用的安全服务,支持各种安全机制和技术。GSS-API主要面向主体之间的安全鉴别和安全通信操作,它提供的功能包括:获得证书、执行安全鉴别、签署消息和加密消息等。Globus项目的GSI是解决网格计算中安全问题的一个集成方案,已经成功应用于一个连接4个国家近20家机构的实验网。下面就GSI和PKI的认证和授权解决方案谈一谈内容1、网格安全概述2、网格的认证3、网格的授权4、网格体系的其他安全部件5、网格安全的展望2、网格的认证GSI网格的认证主要是基于PKI的公钥认证机制-X.509证书的相关机制。下面从:1、证书的获取2、认证过程3、委托过程三方面介绍GSI的认证。证书的获取介绍网格环境下的两种类型的证书1、User--做为一个网格用户user证书用来标示你在网格中的用户名。不是你的服务器的名字或工作站的名字。如证书的唯一名(DN):“/o=gird/o=gridtest/ou=test.domain.com/CN=pyg”2、Server--提供资源服务提供资源服务机器的整个域名DNS必须匹配server证书的唯一名(DN),如:“/CN=service/Darkstart.domain.com”证书的获取获取证书过程认证过程简单的说,GSI的认证过程就是安全的共享公钥的过程,授权就是将证书的DN(唯一名)映射到远程主机的本地用户/组。主机B认证主机A的过程委托过程一个用户能够授予一个程序代表自己身份的权利,以便该程序能够访问用户被授权的资源。另外,如果需要的话,该程序也可以进一步委托另一个程序。GSI是通过创建用户的代理证书,来实现委托授权的。下面介绍一下关键概念—代理证书代理证书代理证书是一种会话证书,它的生命周期很短(一般几个小时)或是有限的,代理证书是由用户证书所签发的,代表所签用户的全部或部分权利。两个动机:单一登录(在本地机器上创建代理证书)远程委托(在远程主机上创建代理证书,形成证书授权链)代理证书CA签的证书Alice签的证书远程委托过程网格的安全通信网格的安全通信是建立在以下两个基础之的:1、数字证书的互认证2、SSL/TLS握手通信的基本原理:服务器的证书通过用户认证后,用户用服务器的公钥加密一个对称密钥给服务器,服务器用私钥解密得到那个对称密钥,完成密钥的协商,然后,他们用这个对称密钥加密要传输的数据。内容1、网格安全概述2、网格的认证3、网格的授权4、网格体系的其他安全部件5、网格安全的展望3、网格的授权--VO网格安全中的授权问题是当前研究的一个热点:GSI-Gridmap不足Vo的挑战介绍vo举例CAS和VOMSGSI授权的不足GSI授权是通过对一个文件(通常是/etc/grid-security/grid-mapfile)的操作来实现的,这个文件提供了证书标识(全局用户)到本地账号的映射关系。下面给出一个网格节点上的gridmap文件的内容:/O=Grid/O=IHEP/OU=ph.ihep.ac.cn/CN=BalintJoobj/O=Grid/O=IHEP/OU=amtp.ihep.ac.cn/CN=CraigMcNeilemcneile/O=Grid/O=IHEP/OU=epcc.ihep.ac.cn/CN=JamesPerryjamesp/O=Grid/O=IHEP/OU=epcc.ihep.ac.cn/CN=AndrewN.Jacksonanj/O=Grid/O=IHEP/OU=ph.ihep.ac.cn/CN=DavidGalletlygalletly/O=Grid/O=IHEP/OU=ihep.ac.cn/CN=wespywes/O=Grid/O=IHEP/OU=ihep.ac.cn/CN=ChrisAlltoncraGSI授权的不足GSI要求每一个访问资源的全局用户都需要在本地资源服务器上拥有一个自己的账号,每一个资源服务器都需要维护一个庞大笨拙的全局/本地映射表,这种授权机制难以扩展到拥有大量资源和大量用户的大规模环境中。GSI缺乏基于全局策略的具有良好扩展性的访问控制机制。针对目前大规模网格环境中授权机制存在的问题,我们提出了虚拟组织中的社区授权策略。VO概念及实现的关键点虚拟组织是多个组织中具有某些共同特征的某些实体的集合,他们在共享和使用各种资源时具有一致的模式。虚拟组织中的成员和资源有他们共同遵守的规则和策略。一个组织中的任何一个实体,可以自己决定信任任何一个CA,而不用涉及的他所在的整个组织。domain1domain2ABCAvoVo信任域多个资源或者组织将他们一定的控制策略授予一个第三方—VO,由VO统一管理这些控制策略,来允许同等的资源共享和使用。VO中信任域的特点传统意义上安全策略的管理是手工编辑策略数据库或者签发证书,但它不能满足动态性的需求。1、VO安全技术必须能和不同域的本地安全技术兼容。2、VO中的用户可以动态的创建和撤销资源,为了使VO中的资源保持一致,信任域必须能够动态的建立,这种信任不仅需要在用户和资源中建立,也需要在资源和资源之间建立。Vo中信任域的动态创建和管理可以通过GSI的代理证书和中心策略服务完成。Vo信任域Vo中信任域的动态创建ABCA建立代理domain1domain2建立代理策略应用资源服务所采用的策略是VO的策略和本地策略的交集。社区授权服务CAS它是由ESG(地球系统网格)组织提出的,得到了Globus项目的支持,现已发布了第二个版本,CAS提出了在一个VO内实行策略管理和对服务实行强制性策略的方案,在每一个VO内部建立一个CAS服务器来维护社区的策略,在用户的代理证书中加入CAS的授权声明(既策略声明)来实现授权的访问控制。请求普通的用户代理Cas-proxy-init代理和CAS的策略声明策略声明Gridftp客户端CAS服务CASDB用户、对象、权限CAS服务器应答查询GridftpServer(被修改来进行CAS授权)授权库策略声明Gridftp服务策略声明用户社区授权服务CAS社区授权服务CAS一个典型的用户访问gridftp服务的交互过程。这个Gridftp服务器是经过修改的,来承担CAS的授权。CAS用户首先得到一个标准的网格代理证书,然后向CAS服务器请求信任,CAS服务器根据CAS数据库中所授予这个用户的权限策略,用CAS的私钥签署一个授权策略声明返回给CAS用户,最后用户将这个声明和代理证书提交给要使用的gridftp资源。被修改过的Gridftp服务通过验证用户的策略声明来决定是否提供服务。授权声明(Dn+组属性)Login+dn组属性服务资源LCAS+LCMAPSVOMS组权限策略VOMS(虚拟组织管理服务)虚拟组织成员服务(VOMS)和CAS在体系结构上是很相似的,他们都由服务中心发布策略声明给用户,由用户提供给资源来获得虚拟组织授予的权限。他们的不同主要是在于他们操作的授权级别不同,CAS的策略声明直接包含了权限,并不需要由资源提供者来解释权限;而VOMS的策略声明包含一个角色或组成员的列表,用户将这个组关系策略声明发送给资源提供者,由资源提供者基于本地的组策略来授予用户权限。LCAS(本地中心授权服务)LCMAPS(本地信任映射服务)一些弊病虽然它们的设计解决了在虚拟组织中,对资源和数据访问控制的灵活性、可扩展