分类:
2008-09-09 15:21:11
编者按:文章首先分析了网格涉及的问题,阐述了对其机制的考虑和基础技术。经过剖析当今典型系统Globus实现的网格安全架构解决方案GSI(Grid Security Infrastructure),在借鉴其长处的基础上,以资源映射与管理为切入点提出了较为灵活全面的网格安全体系结构模型。然后基于该安全体系结构模型在Globus环境下设计和实现了一个安全方案。
网格就是将地理分布、系统异构、性能各异的各种资源,通过高速互连网络连接并集成起来,形成的广域范围的无缝集成和协同计算环境[1-3]。这些资源可以是高性能计算机、计算机机群、大型、贵重科研设备、大型通信设备、可视化设备等。网格给最终用户提供的是与具体地理位置、具体计算设施无关的通用的计算能力。它的核心就是突破了过去强加在计算资源上的种种限制,使人们能够以一种全新的、更自由、更方便的方式使用计算资源[4]。但缺乏有效的安全机制将会限制网格技术的进一步发展和网格应用的进一步推广,因此网格的安全问题是网格的基本问题,网格的安全研究成为网格研究中的热点和难点。
2 网格安全体系结构模型的提出
2.1 网格涉及的安全问题
从本质上说,Internet的安全保障一般提供下面两方面的安全服务:一方面是访问控制服务,用来保护各种资源不被非法用户使用或者合法用户越权使用;另一方面是通信安全服务,用来提供通信端的双向认证、通信数据的保密性和完整性(防止对通信数据的窃听和篡改)以及通信端的不可否认性服务。但是这两个方面的安全服务只能部分解决网格的安全问题。网格涉及的安全问题可以分为三个管理层次:
(1)远程访问安全管理:主要是保证用户与系统之间的数据安全,包括防止伪装用户、防止伪装、防止对用户数据的窃听和篡改、防止用户否认、防止远程攻击和入侵。
(2)用户权利安全管理:主要是保证合法用户使用授权的资源,包括防止非法用户使用资源、防止合法用户越权使用资源。
(3)作业和任务安全管理:主要是保证作业和任务的安全运行,包括保证进程间的通信安全、防止恶意程序的运行、保证系统的完整性。
对于网格涉及的大部分安全问题,可以采用目前已有的安全技术加以解决。为了防止非法用户使用资源和防止合法用户越权使用资源,需要对用户进行限制性授权,但是在网格这样一个复杂的、动态的、广域的范围内,对用户进行限制性授权无法使用目前已有的安全技术加以解决,这是网格的安全研究领域一个具有挑战性的研究方向。网格的安全集中于解决如何将网格资源安全地分配给网格用户,以及如何保证网格用户安全地使用分配的网格资源。
2.2 网格的安全机制的考虑
网格的安全保证是网格正常运行的保证。网格的安全机制必须考虑网格的如下特性:
(1)网格中的用户和资源量非常庞大,可以属于多个不同的组织、用户和资源动态可变。
(2)网格中的同一个用户可以在不同的资源上有不同的用户标识。
(3)网格中的资源可以支持不同的认证和授权机制,可以有不同的访问控制策略。
(4)网格中的计算可以在执行过程中动态地申请和启动进程,可以动态地申请和释放资源。
(5)网格中的进程数量非常庞大,而且进程动态可变。一个计算过程可以由大量进程组成,这些进程之间可能存在不同的通信机制,底层的通信连接可在进程的执行过程中动态地创建并执行。
传统的传输层安全机制无法满足网格特有的用户单一登录要求,分布式系统采用的安全机制无法满足与本地的安全方案协同工作要求,特别是在跨多个管理域的资源访问方面。我们无法完全使用现有的安全技术解决网格的安全问题,这就需要研究新的安全技术和新的安全机制。
2.3网格安全的基础技术
网格安全技术是指解决网格安全问题的具体方法, 网格安全技术较多,其中PKI 和SSL 技术是网格安全关键技术的基础。
PKI(Public Key Infracture , 公开密钥基础设施) 技术是目前应用最广泛的网格安全认证技术。它是建立在公钥密码学基础上,主要包括加密、数字签名和数字证书等技术。在PKI 系统中,CA (Certificate Authority) 是一个域中的认证中心,是可信认证的第三方机构。用户之间的通信和验证都要依赖CA 所颁发的证书。其主要组成部分和操作流程如图1 所示。
图1 PKI 的主要组成部分和操作流程
美国密歇根大学开发的KX.509试图将Kerberos 基础设施与X.509 证书相融合来回避PKI/ X.509 与Kerberos 认证机制的不兼容问题, 其设计目标就是在Kerberos 和PKI 之间建立起一座桥梁。
SSL (Secure Socket Layer) 是进行网格安全通信的基本保障。IETF 机构又将SSL做了标准化,并将其称为TLS( Transport Layer Security)。SSL建立在TCP/IP标准套接字(Socket)之上,采用的是RSA算法,是一种安全通信技术。SSL 的主要思想是:发送方先生成一个密钥,然后将该信息传送给接受方,接受方可以用自己的私钥解密来得到密钥。此后双方就可以进行加密的通信。但加密的信息可能被第三方破坏, 所以在SSL 中又引入了一种消息认证码(MAC) 。MAC 是根据密钥和传输的数据计算出来的。这样通信双方在收到带有MAC 的加密信息后都可以计算出其摘要并和MAC 相比较,如果一致则证明消息是没有被篡改的。攻击者很难猜测出正确的MAC 值。
2.4 网格安全架构的GSI解决方案及其不足之处
Globus[5-6]中的网格安全架构GSI(Grid Security Infrastructure)[7-8]是一个解决网格的安全问题的一个集成方案,它结合目前成熟的分布式安全技术,并对这些技术进行一定的扩展,以适合网格的特点。GSI的特点在于保证网格的安全性的同时,尽量方便用户和各种服务的交互,而且GSI充分利用现有的网络安全技术,并对某些部分进行扩充,使得在网格下GSI具有一个一致的安全性界面,极大地方便了网格的开发和使用。
GSI中的主要安全技术手段包括:认证证书、双向认证、保密通信、安全私钥、授权委托和用户单一登录。GSI认证证书采用了X.509的证书格式,可被其它基于公钥的软件共享;GSI采用SSL作为它的双向认证,实体之间通过认证证书证明彼此的身份;GSI采用公钥技术与对称加密技术结合的加密方式,在保证通信安全性的同时尽量减少加解密的开销;GSI将用户的私钥以文件的形式加密在用户计算机上,以此来保护用户的认证证书;GSI对标准的SSL协议进行了扩展,使得GSI具有授权委托能力,减少用户必须输入口令来得到私钥的次数;GSI使用用户代理解决用户单一登录问题。
但是GSI也存在一些不足之处如实体之间的认证频繁且复杂、执行开销较大,适应性和扩展性比较局限,尤其对系统改变较频繁和规模不断增大的环境。尽管如此,GSI提出的思想和解决问题的方法,对我们进行网格安全研究具有很好的参考价值。
2.5 网格的安全体系结构模型
我们从网格安全设计和实现的角度,对网格提出一个安全体系结构模型。我们考虑以下几点,这几点应该成为安全体系结构模型具有的特点和优点。
(1)硬件的物理安全和具体的安全技术应该划分在不同的层次。
(2)所有的安全技术应该划分在同一个层次。
(3)不同的安全技术采用不同的协议和实现方法,不同的安全技术彼此不兼容,解决办法是对这些安全技术进行概括和抽象,这种概括和抽象能够“包容”不同的安全技术。
(4)应该定义一些网格安全协议,这些协议不同于已有的安全协议。
(5)网格应该架构在网格安全协议的基础上。
我们提出的安全体系结构模型如图2所示,安全体系结构模型的层次从下到上依次为:
(1)节点和互联层(Node and Interconnection Layer):包括各种各样的硬件,这一层的安全主要是硬件的物理安全。
(2)系统和网络安全技术层(System and Network Security Technology Layer):包括各种各样的系统安全技术和网络安全技术,涵盖、虚拟专用网、SSL、SSH、加密解密、数字签名、入侵检测系统、完整性检查、Kerberos等。
(3)网格安全基础层(Grid Security Basic Layer):提供支撑网格安全协议的基础技术,这些基础技术包括证书的获得和管理以及用户和资源的映射。
(4)网格安全协议层(Grid Security Protocol Layer):提供一系列的网格安全协议,这些协议描述网格如何将网格资源安全地分配给网格用户以及如何保证网格用户安全地使用分配的网格资源。
(5)网格安全应用层(Grid Security Application Layer):基于网格安全协议的各种各样的网格。
图2 网格的安全体系结构模型
安全体系结构模型具有良好的扩展性、能够适应动态的环境、是研究很多网格问题的良好框架。
[1]