网格计算
取消
显示结果 
搜索替代 
您的意思是: 

分享我的技巧 : 网格计算的安全性分析

mybabys
本科生

分享我的技巧 : 网格计算的安全性分析





实现网格计算需要各种动态的资源和有效的通信,因此,对安全提出了更高的需求,网格安全问题是网格计算中的一个核心。本文讨论了网格对安全需求的特殊性、网格安全定义以及一种典型的网格计算项目中实际使用的安全策略,相信对正在研究网格计算的朋友们会有所帮助。



形成网格计算环境的要求是不影响各节点本地的管理和自主性,不改变原有的操作系统、网络协议和服务,但同时要保证远程节点的安全性,允许远程节点选择加入或退出,尽量使用已存在的标准以便和已有应用兼容并能提供可靠的容错机制。一个理想的网格计算应类似于目前的Web服务,可以构建在当前所有的硬件和软件平台上,给访问者提供完全透明的计算环境。对用户而言,它是把众多异构的资源变成了同构的虚拟计算环境。



一、网格的特殊性



我们将通过一个例子分析网格的特殊性。设想一个科学家,在一个合作团体中进行科学研究,他从同事那里收到一封关于新数据集的电子邮件,然后启动一个分析程序(站点A),该分析程序分配代码到远端数据存储的位置(站点C)。开始后,分析程序决定要运行一个仿真程序,以便将实际结果和期望的结果相比较。因此,它与一个通过合作维持的资源代理服务器相联系(站点D),用以查找能够用于仿真的空闲资源。然后,资源代理在两个站点(E和G)初始化计算,这些计算机(E和G)访问存放在另一个站点(F)的文件系统中的参数值,进行彼此之间,或与代理、原始站点及用户之间进行通信(可能使用特定的协议,例如多播)。



这个例子显示了网格计算环境具有许多特殊属性:



● 用户数量庞大且为动态,参与者变化的频率较高;



● 资源池庞大,且动态可变;



● 一个计算(由计算创建的过程)可能要求在执行期间动态地使用或释放资源;



● 组成计算的进程可以用不同的机制进行通信,包括单播和多播,程序执行期间,低级别的通信连接(例如TCP/IP套接字)可能被动态地创建或撤销;



● 资源可支持不同的认证和授权机制,这包括Kerberos、明文口令、安全套接协议(SSL)、Secure Shell(SSH);



● 用户在不同的资源上可有不同的标识;



● 资源和用户可属于多个组织。



正是由于网格计算环境的特殊性,所以在设计网格安全机制中特别要考虑网格计算环境的动态主体特性,并要保证网格计算环境中不同主体间的相互鉴别和各主体间通信的保密性和完整性。



网格计算面临的问题是提供安全解决方案,以使如上面的计算能调整不同的访问控制策略并能在不同性质的环境中安全运行。



二、网格安全需求



网格系统及其应用需要全部的标准安全功能,包括认证、访问控制、完整性、保密性和抗抵赖性。这里着重叙述认证和访问控制问题。它致力于解决:(1)提供认证解决方案,允许用户、组成计算的进程和这些进程使用的资源之间彼此相互验证;(2)在任何时候都尽可能地不改变访问控制机制。认证形成了安全政策的基础,使得各个局部安全策略被集成为一个全局框架。



要开发一个满足这些要求的安全体系结构,需要满足以下的限制条件:



● 单点登录:用户只需认证一次就可获取、利用和释放资源;



● 认证保护:用户认证(密码、密钥等)受到保护;



● 本地安全解决方案的互用性:当安全解决方案能提供域间访问控制机制时,对局部资源的访问应由本地安全机制决定。但是,改变每个局部资源来适应域间访问是不现实的,这要求有一个或多个实体作为局部资源的远程客户/用户代理;



● 可输出性:希望代码能在多国试验平台上输出和执行;



● 统一的认证机构:域间访问用最小的、通用的方法表示安全主体, 如用X.509v3作为标准;



● 支持安全组通信:通信可能包含许多需要作为一组协调活动的进程,当前还没有安全解决方案支持该性质,即使是GSS-API也一样;



● 对多项实施方案的支持:安全策略不能专为一项特殊的应用技术而制定。







三、网格安全定义



首先要定义安全术语。



● 主体(Subject): 它是安全操作中的一个参与者,在网格系统中,一个主体通常是一个用户、一个代表用户的过程操作、一个资源(例如:一台计算机或一个文件),或者是一个代表资源的过程执行;



● 凭证(Credential): 它是用于证明主体身份的一条信息,口令和认证就是凭证的实例;



● 鉴别(Authentication): 是主体向请求者证