基于Globus的网格安全机制研究及扩展

2012-08-20 05:18胡亚军董希泉熊少非
网络安全与数据管理 2012年4期
关键词:代理证书服务器

胡亚军,董希泉,熊少非

(北京航天飞行控制中心,北京100094)

作为新一代网络发展方向的网格,主要目的之一就是要在分布广泛、动态和异构的个体或社区间实现资源共享与合作。资源共享的进一步实施带来了很多安全问题,只有实现系统的安全管理,资源拥有者才会放心地提供资源,用户才有足够的可用资源,大范围的资源共享与互操作才能真正地实现。因此,安全地实施资源共享和互操作是目前需要解决的关键问题。

目 前 ,Globus Toolkit 3.0(以 下 简 称 GT3)[1]在 网 格技术方面处于领先地位。在安全机制方面,GT3的网格安全基础设施GSI(Grid Security Infrastructure)已经显现出它的重要性,它基于公钥基础设施PKI(Public Key Infrastructure),使用由 X.509证书[2]构成的鉴定证书和私钥。在GSI中使用一种临时证书的方法,称为代理证书(proxy credentials),可以实现系统的单一认证。

为了更好地管理这些资源并实现网格的各种技术,引入了虚拟组织 VO(Virtual Organizations)[3]的概念,它的出现改善了网格的管理复杂度,增加了系统的可扩展性。针对Globus的特点,结合基于角色的访问控制技术RBAC(Roles-Based Access Control)[4],各研究机构相继提出基于Globus的技术扩展,有效地增强了系统的可扩展性和灵活性。

本文将讨论网格环境下的安全问题,分析Globus安全机制,结合VO技术和RBAC方法,探讨基于Globus的扩展的安全技术-社区授权服务机制CAS(Communities Authentication Service)[5],总结网格环境下的安全技术。

1 网格安全基础设施GSI

Globus toolkit是第一代网格构建工具(本文讨论Globus Toolkit3.0,即GT3),是一组用于构建网格的组件,由Globus项目组开发,通过其中的网格安全基础设施GSI提供认证、授权和安全通信。

1.1 代理证书

GSI采用代理证书策略。由认证中心CA(Certification Authority)给用户颁发证书并签名,这个证书称为长期证书(long-term credential)。同时,产生一对密钥,其中包含一个公钥和一个私钥。其次,用户产生自己的代理证书,并用该私钥签名。这时就绑定了代理证书与用户身份。为了鉴定代理证书的有效性,用户必须提交代理证书和长期证书给认证中心。认证中心会验证以下内容:长期证书的有效性、代理证书是否有长期证书赋予的私钥签名(还包括证书格式和证书生命期等常规检验)。认证通过后,该代理证书就可以具有长期证书所拥有的所有权限。

1.2 认证

GSI基于用户的私钥创建代理证书,从而为用户提供了一种安全认证的方法。用户如果没有创建这个代理,就不能提交作业,也不能传输数据。这个代理一经创建,就可以用于授权或者对整个网格内所有资源的访问。因为这个代理可以在整个系统中使用,这就使得用户可以只登录一次,使安全应用更方便、快捷。

1.3 授权

GSI处理用户授权的方法是将用户映射为所访问系统的本地用户。即接受请求的系统从代理中读取用户的名字,然后根据一个本地文件将这个名字映射为本地用户名。在GSI中,允许用户以代理证书的方式授权给一个进程(或一项任务),代理用户完成一定的操作。例如:当用户提交一项任务Task给远端主机A,Task需要访问用户存储在第三方主机B上的文件(资源)。但是,主机A不具有访问主机B上的资源的权力。这时,用户以代理证书的形式授权给该项任务Task,主机B审查该Task用户权限,通过后,Task就可以代表用户访问主机B,完成对文件(资源)的操作。

1.4 GSI存在的主要问题

(1)可扩展性差。网格环境下用户的状态改变(用户加入或删除)多,采用访问控制列表 ACL(Access Control Lists)的方法管理用户信息,实时地更新用户状态需要占用大量管理资源。

(2)密钥管理不安全。用户对安全管理私钥的措施不一定合理,长期使用固定的私钥是个安全隐患,GSI中没有解决私钥的更换问题。

(3)政策冲突。众多的管理域执行不同的政策,彼此往往有冲突,系统没有提供政策协调机制。

针对GT3中存在的问题,Globus项目组于2002年开发出了社区授权服务机制CAS。CAS引入了虚拟组织VO的思想,结合基于角色访问控制RBAC机制,对GSI进行扩展,解决了系统的扩展性和灵活性问题,并实现了区域政策与全局政策的相对独立性。

2 虚拟组织VO

VO的定义是这样的:“flexible,secure,coordinated resource sharing among dynamic collections of individuals,institutions,and resources-what we refer to as virtual organizations”[3]。

VO是网格中一个非常重要的基础性概念,它由很多位于不同管理域的资源提供者和消费者组成,彼此间互相信任,地理上分布广泛,有着共同的合作目的。当有成员想加入VO时,必须通过VO中每个独立组织的许可,新成员拥有访问VO中每个组织的用户名和口令时,才会被VO接受。在VO中,存在一个中心认证机制,负责用户对资源访问的帐号信息,该信息通常存储于由VO维护的中心数据库中,所有VO中的成员和区域都信任这个VO数据库。各VO中的独立组织选派成员对VO进行维护和管理,VO是整体组织的可信任第三方(A Trusted Third Party)。

总之,VO的思想就是通过将时空上分散但能力和资源互补的常规组织(或个人)高效地组合起来,分散用户集中管理,提高解决问题的能力,增强对上层机构或VO外机构的统一处理能力,同时,保持它们各自原有的工作环境。将VO的概念运用到网格中,可以改善网格系统的可管理性,提高系统执行效率,实现组织间政策分级与政策的独立性。

3 基于角色的访问控制RBAC

RBAC的基本思想是用户通过角色来获得所需的操作权限[3]。用户可以对应不同的角色,每个角色对应一定的职责,权限则是角色实施操作中所分配的执行能力。

根据用户所承担的职责,用户可以被指定为多个角色。这些角色不一定同时起作用,而是根据用户在系统中的实时状态、要申请的任务,决定被激活的角色。某时刻用户激活的角色集合称为用户的当前激活角色集,用户拥有的权限是该用户的当前激活角色集所允许的所有权限的一个子集。

3.1 RBAC的定义[6]

RBAC96模型定义了四个不同层次:RBAC0、RBAC1、RBAC2和 RBAC3,本文主要介绍 RBAC0。

RBAC0模型包括四个元素:用户U(user)、角色R(role)、权限 P(permission)和会话 S(session)。

UA⊆U×R,UA是用户到角色的多对多关系;

Roles(Si):{r|(user(Si),r)∈UA},其中,user:S→U,将各个会话映射到一个用户去的函数 user(Si);roles:S→U,将各个会话Si与一个角色集合联接起来的映射,随时间变化可以变化,且会话 Si的授权 Ur∈roles(Si){P|(P,R)∈PA},且在RBAC0中隐含如下约束:每个用户至少有1个角色,每个角色至少有1个授权。

3.2 RBAC的特点

RBAC与 DAC(强制访问控制)和 MAC(直接访问控制)相比,简化了权限管理,实现了用户与权限的逻辑分离和最小权限原则。

使用RBAC机制,用角色表示用户具有的职责,给角色分配权限,代表用户执行某项任务的能力,反映特定任务中的职责与权限的分配。一旦用户的角色确定后,角色的状态相对稳定。即使用户职责改变,只需要调整相应的角色,不涉及用户权限的重新分配,减少了系统的工作量。特别是在大系统、多用户环境中,用户对资源的存取变化更频繁、复杂,应用RBAC机制,使用户集与权限集通过角色中介联系,促进了用户权限管理的非频繁变化,极大地减轻了系统的管理和维护工作量。

4 社区授权服务机制CAS

CAS构建于 Globus Toolkit的安全机制 GSI之上,引入了VO的管理,结合RBAC方法,解决 GSI的可扩展性和政策独立性问题。

4.1 社区的授权管理[5]

CAS在社区内设置一个CAS服务器作为可信任第三方,负责管理社区内的资源访问。CAS服务器管理CA、用户、服务器和资源的通行证,负责社区的安全管理,如用户和组的访问权限、资源和服务的使用权等。

用户对该社区资源的访问要经过CAS服务器的授权,如图 1所示[4]。

图1 用户向CAS服务器申请权限

用户请求CAS服务器赋予访问CAS管辖区中某资源的权力;用户的请求通常包含所在社区的政策,CAS服务器会根据本地政策(如:检查该共享资源是否给予CAS服务器访问许可权)作出回应;如果通过,则反馈给用户合适的授权证书;拥用该证书,用户就可以完成证书所享有的各项权限。执行操作时,用户还会考虑资源提供者的安全政策。

学生的评价是对带教老师教学工作直接和客观的评价,是衡量教学质量的指标之一[5]。PDCA 循环带教过程中,学生自主学习,发现问题后和带教老师,直接交流,对问题的共同探讨,缩短了师生之间的距离,增加了学生和老师之间的沟通和交流。同时增加了学生对老师的满意度。年度考核学生对老师的满意度达到89%,较前一年同期满意度提高15%。

资源服务器将根据本地的访问控制政策处理用户对资源的访问。拥有授权证书的用户对资源的访问过程如图 2所示[4]。

图2 用户向资源提供者服务器申请使用资源

用户向资源服务器出示授权证书,资源服务器根据证书所携带的权限和本地政策决定用户对资源的访问,并给予回复。即当证书本身批准用户的请求,并且资源服务器的本地政策接受证书授予者的请求时,用户才可以对资源进行访问。

4.2 可扩展性分析

CAS服务器首先建立一个角色集,每个角色对应一定的权限。对用户的认证与授权针对的是用户所在的社区,而不是用户个人。当用户个人(资源消费者)要执行一项任务时,对应一定的角色,该角色与固定的权限绑定,因此CAS面对的是角色,资源提供者面对的也是角色,不需要直接与单一消费者交互。

应用VO和RBAC前,认证与授权空间为 C×P,其中C代表消费者,P代表资源提供者;

应用VO和RBAC后,认证与授权空间为 R×P,其中R代表角色,且 R<<C。

再者,当用户状态更新时(用户加入或删除),社区将用户对应到一定的角色,不用CA直接参与操作。这样,网格系统的CA面对的用户是VO中的角色,而不是每一个用户体。

因此,应用VO与RBAC机制,减少了系统的整体管理、维护工作量,增强了可扩展性。

4.3 政策独立性分析

CAS要求VO维持自己的区域政策,以该政策与其余社区内资源本地政策交互。互操作时,VO的政策与被访问的资源提供者的本地政策合成执行,实行最小权限集合。

用户对资源的访问政策可以用如下模型表示:

定义1:PV是VO中政策的权限集合;

定义2:PP是资源提供者所在的本地政策的权限集合;

定 义 3:(UV):user→2PV,UV(u)是 PV 赋 予 用 户 u 的权限;则 UV(u)∈PV;

定义 4:(UP):user→2PP,UP(u)是 PP 赋予用户 u 的权限;则 UP(u)∈PP。

最终用户对资源的访问权限为:UV(u)∧UP(u)。即VO和资源本地赋予用户访问权限具有独立性。

经过对网格安全问题和基于Globus安全机制的分析,本文对网格环境下的安全技术归纳为以下四点:安全政策分级、实行VO管理、运用RBAC机制和高效的认证与授权。

安全分级:通过政策独立性的实现,保证高安全级的用户不被低级别访问泄密,同时,低安全级用户不因为设置高安全级而降低使用效率。

实行VO管理:网格可以看作是由一系列的VO构成。为了解决网格用户认证可扩展性差的问题,网格成员的认证可以脱离独立的个体,将个体认证集中于VO认证。这样CA处理的只是VO的认证,可以减少系统维护代价,增强可扩展性和灵活性。

运用RBAC机制:应用RBAC机制,促进了用户权限管理的非频繁变化,减轻了系统的管理和维护工作量;通过角色指派,简化用户管理;利用角色的继承性,实现用户权限的灵活配置。

认证与授权:实行有效的认证,才可授权完成操作或服务,资源提供者才可以放心地共享资源。Globus的代理证书机制开创性地实现了用户单一认证,为网格安全认证的方便和高效提供了保证。

[1]Globus online:use the grid[EB/OL].(2005-03-05).http://www.globus.org.

[2]LOCK R.Grid security and its use of X.509 certificates[EB/OL].Department of Computer Science Lancaster University.[2011-05-12].http://www.comp.lancs.ac.uk/computing/research/cseg/projects/dirc/papers/gridpaper.pdf.

[3]FOSTER I.The anatomy of the grid:enabling scalable virtual organizations[EB/OL].[2011-07-22].http://hpc.sagepub.com/content/15/3/200.short.

[4]FRAME S.Role-based access control[EB/OL].(2003-04-04).http://csrc.nist.gov/rbac/rbac-std-ncits.pdf.

[5]PEARLMAN L.A community authorization service for group collaboration[EB/OL].(2002-08-07).http://www.globus.org/security/CAS/Paper.

[6]SANDHU R,COYNE E,FEINSTEIN H,et al.Role-based access control models[EB/OL].(2005-03-07).http://csrc.nist.gov/rbac/sandhu96.pdf.

猜你喜欢
代理证书服务器
WJCI 收录证书
CSCD收录证书
收录证书
收录证书
通信控制服务器(CCS)维护终端的设计与实现
代理圣诞老人
代理手金宝 生意特别好
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御