2.3 设计SOA的安全模型
对Web Service 安全性的探索呈现出一个特点,即通过遵循WS-Security 规范,数字签名、XML 数字加密等Web Service 安全性规范,保证了端对端的SOAP 消息安全性,但是如何有效实现Web Service 的授权和认证仍是需要解决的关键问题。SOA 架构的安全性不同于传统架构。SOA 架构的服务请求者可以来自不同的安全级别、不同的操作系统以及不同的复杂网络环境。
WS-Security 安全规范是Web Service内部安全性实现的保障,SOA 架构下的应用系统可能是多个应用的服务组合而成的,因而多个服务之间的安全访问控制是确保SOA 架构安全的关键性因素之一。
传统架构常用的访问控制模型是自主访问控制和强制访问控制。随着网络技术的发展,对传统架构访问控制提出了一系列的改进,发展出基于角色的访问控制模型、基于决策的访问控制模型、基于信任关系的访问控制模型、基于对象的访问控制模型等。但传统的访问控制模型并没有考虑访问控制主体、客体的复杂性,不能完全适合SOA 架构的开放性和安全性等特性需求,无法很好地解决SOA 架构的访问控制安全问题。为保证SOA 架构的服务资源的授权访问及信息机密性,国际组织制定了XACML(Extensible Access Control Markup Language,可扩展访问控制标记语言)安全标准规范,以对SOA 架构的访问控制提供一定的安全技术支撑。XACML 是一种基于XML 标准的访问控制策略安全规范,提供了一种标准化的SOA 架构访问控制决策模型,具有通用性和分布式特性。XACML 充分地考虑了SOA 架构的主体、资源和环境的属性,提供一种更细粒度的访问控制机制,很好地适用SOA 架构服务的异构性、动态性和复用性等特性。
本文研究了一种混合多级的访问控制安全模型。模型的设计思想归纳如下:模型以服务的方式实现,适合于分布式的动态变化的SOA 架构,能够处理主客体的异构性、动态性;能够解决SOA 架构下的访问控制策略的统一性及协商性问题;根据SOA 架构的服务资源细粒度访问控制的需求构建资源模型, 使访问控制对象划分更为明确和具有针对性。面向服务的混合的多级访问控制安全模型的实体认证技术采用混合访问控制,即采用基于角色、策略和信任关系等多种访问控制互补的混合访问控制方法。混合访问控制方法合理地拓展用户访问资源的范围和权限。访问控制根据用于用户角色和权限执行操作; 根据设定的策略阻止潜在的入侵者,防止未授权的或滥用权限的访问;采用信任度和风险度评价相结合的方法, 制定访问控制的决策,建模信任关系,支持来跨区域的可信用户的访问。面向服务的混合的多级访问控制安全模型的决策依据XACML 决策模型来实现。在SOA 架构下,XACML 决策模型定义了一种策略语言和访问决策语言,用于保护资源的访问控制,并结合基于角色的授权机制提供对资源的细粒度访问控制。混合的多级访问控制安全模型实现的是细粒度的访问控制,将SOA 架构的服务及方法对应的XML 树结构中的元素及元素属性都作为模型的客体,侧重于SOA 架构的系统保密性,在保持SOA 架构的特性的前提下有效保护系统的服务资源。模型的用户是访问控制主体,是服务的请求者。模型中的资源是访问控制的客体。可以对服务的资源建模,从而达到对资源的访问控制更加细粒度化。
3.结语
本文研究SOA 架构的安全问题,分析传统的安全措施应用于SOA 的适用性问题; 在应用WS-Security安全规范的基础上,援引构建安全服务的思想,研究了混合多级的访问控制安全模型,提出了SOA 架构下的安全服务方案。除访问控制的安全服务外,模型的安全服务应该在不同的应用环境中提供不同的安全模型和安全手段,执行相应的安全措施保护对象安全,这些问题的解决对模型的设计至关重要。
(责任编辑:)