1 引言
网格(grid)是近年来逐渐兴起的全新研究领域,当前的互联网技术实现了计算机硬件之间的连通、Web技术实现了网页之间的连通。网格是把分布在因特网上的资源整合起来,提供大规模的分布式计算,在多个单位参与的、动态的虚拟组织之间协同资源共享和解决问题。
信息网格是利用网格技术实现信息的共享、管理以及提供信息服务的系统。信息网格技术要解决的一个关键问题是对共享信息的安全控制。信息网格具有如下特性:资源、用户和服务提供者数目庞大、变化多端;通信协议也不尽相同,安全策略和机制不尽相同。因此,必须为网格计算系统及其构件提供新的安全措施来解决认证、授权、记账问题。本文主要解决网格计算中的授权问题(即访问控制问题)。
随着分布式对象技术和面向对象技术的不断发展,面向服务体系结构(Service Oriented Architecture,简称SOA)正在逐渐成为分布式计算解决方案的主流。
SOA是一种关注服务的易于集成、互操作,可扩展和安全访问特性的分布式体系结构,而网格是一种协同工作、资源共享的分布式系统,Web服务成为连接二者的纽带,它们之间正在相互融合,作为网格技术的主流代表。
2 访问控制技术和模型
2.1 传统访问控制技术
传统的访问控制技术主要分为三种。
(1)自主访问控制(DAC)
其实现思想是:系统中的主体(用户或进程)可以自主地将其拥有的对客体的访问权限(部分或全部)授予给其他主体。其实现方法是建立系统访问控制矩阵,矩阵的行对应系统的主体,列对应系统的客体,元素表示主体对客体的访问权限。为了提高系统的运算性能,在实际的应用中常常是建立基于主题或客体的访问控制方法。
缺点是效率低下,难以满足大型应用,特别是网格应用的需要。
(2)强制访问控制(MAC)
其实现原理是:系统中的主/客体被分配一个固定的安全属性,安全属性决定主体是否可以访问某个客体。安全属性是强制的,由安全管理员分配,用户或进程不能改变自身或其他的安全属性。MAC的本质是基于网格的非循环单项信息流政策系统中每个主体都被授予一个安全证书,而每个客体都被指定为一定敏感级别。
访问控制两个关键规则是:不向下写和不向上读,即信息流从低安全级向高安全级流动。因为MAC增加了不能回避的访问限制,所以可能影响系统的灵活性。
另一方面,MAC虽然增加了信息的机密行,但是不能实施完整行控制,而一些完整性的控制策略却可以实现机密行的功能。
(3)基于角色的访问控制(RBAC)
随着网络的发展,特别是Internet的广泛使用使信息的完整性要求超过了机密性,而传统的DAC/MAC策略难以满足这方面的需求。RBAC的基本思想是将访问权限分配给角色,系统的用户担任指定的角色,角色实际上是与特定工作岗位相关的一个权限集,当用户改变时只需进行角色的撤销和重新分配即可。
2.2 分布式访问控制模型
分布式环境中,对权限的控制不仅能够保护资源,而且还能够使资源有效地利用。在授权模型中,有三种普遍使用的模型。
(1)“推”模型
资源请求者需要首先向授权中心请求权限访问,从授权中心获取权限证书,然后持权限证书访问资源,资源根据用户的权限证书返回相应的资源。
(2)“拉”模型
资源请求者直接向资源提出访问请求,资源根据用户的访问请求向授权中心查询用户的请求是否合法,如果合法则允许用户访问资源,否则拒绝用户访问。
(3)“代理”模型
资源请求者直接把请求转发给授权代理,授权代理根据用户的请求访问资源。
3 SOA的信息网格体系
3.1 SOA在信息网格中的优势
SOA在信息网格应用中的优势主要体现在几个部分。
(1)支持多种客户端类型
借助精确定义的服务接口和XML、Web服务标准的支持,可以支持多种客户端类型,包括PDA、手机终端等,这也符合网格作为全球资源化的要求。
(2)编码的灵活性
通过对模块化的低层服务采用不同组合方式来创建高层的网格服务,从而实现系统的重用。
(3)更好的伸缩性
依靠很好的服务设计、开发和部署所采用的架构模型实现伸缩性,达到网格互操作的目的。
(4)更高的可用性
网格服务使用者和提供者的松散耦合关系允许使用者不需要了解提供者的具体实现细节,从服务的位置上对网格客户保持透明,只有在运行时才需要确定具体的位置。
3.2 基于SOA的信息网格调用
基于SOA的信息网格调度模型,主要定义了对资源服务映射创建、服务发现与绑定,身份认证授权三个方面的调用流程,并针对信息网格环境中大量临时性的短暂服务,通过定义其接口来解决动态服务实例创建、服务发现、事件通知、生命周期管理、安全性和引用管理等问题。
用户调用服务主要过程分为几步。
(1)信息网格用户向信息网格门户提出服务请求,门户提供用户身份的认证,然后将服务的请求和证书提交给GSP(Grid Service Proxy),GSP根据WSDL定义生成用户代理(Proxy)。
(2)用户代理在虚拟组织所维护的注册中心UDDI中查找满足要求的用户服务,查找过程中用户可以对服务提供地点、性能等各个方面提出相应的要求。
(3)信息网格注册服务根据用户的要求,在众多的服务提供者中进行筛选,返回满足要求的服务提供者,获取信息网格服务句柄(Grid Service Handle,GSH)。
(4)GSP通过得到GSH的WSDL选项向资源映射器(Resource Mapper)提出使用相应资源的请求。
(5)资源映射器根据提供的资源GSH在资源集成池(Resource Integration Pool,RIP)中调用该资源返回。
在身份认证过程中,信息网格门户根据用户的资源请求信息进行认证。首先,门户通过授权服务(Authorization Service)判断此用户的注册信息是否已经在认证中心(AuthorizationCenter)注册授权过,如果有便直接返回该用户的授权证书;如果没有历史注册记录,便会生成临时用户的安全证书。这种认证证书会通知网格服务代理GSP查找,绑定服务的权限范围,保证分布式资源的合理使用。
4 基于SOA的信任访问控制模型
每个SOA信任域都有全局和局部信任度的计算值,这些信任值就体现了该信任域成功地提供服务的能力,如何使用信任值呢?信任限制了在服务协作时有失败的风险。现在考虑一个用户请求某种服务。假设每个用户都想使自己获得的服务是最好的,如果针对这个用户来说,能够提供的服务有很多,那么他必然选择信任度高的提供者来为其服务。这样,就需要找到一个合适的基于SOA信任度的访问控制策略,这种策略既能够给信任度高的域带来更多的利益,又能够刺激其他域提高自己的服务质量。
信息网格计算中,在访问控制方面包括两个方面:资源请求者请求服务;资源提供者提供服务。
前者主要关心所选择的提供服务者能否很好地提供服务,后者主要关心对服务请求者是否合理使用资源,为其运行的程序是否有恶意代码。
SOA信任度的访问控制策略主要分为两类。
(1)选择服务的策略,包括最高信任度策略和信任度相近的策略。
(2)请求竞争的策略,包括最高信任度策略和与信任度一致的概率公平策略。
5 结论
信息网格技术与SOA技术发展紧密相连,SOA促进了信息网格系统的发展,而信息网格系统又丰富了SOA的内涵。信息网格系统还在不断地研究和发展中,最新的架构和技术思想也必将被融入进来。网格系统的安全性和可靠性问题中的信任计算和访问控制都是崭新的课题。