基于XACML的分布式系统访问控制

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:maiapink
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:分析了传统访问控制中的授权管理策略:强制访问控制,自主访问控制和基于角色的访问控制。然后提出分布式环境下访问控制的特点,并详细介绍了XACML,得出XACML适合于分布式系统的结论。结合XACML研究实现分布式系统的访问控制模型,并通过Sun提供的XACML2.0工具包实现访问控制。
  关键词:分布式系统;访问控制;XACML
  中图分类号:TP393.08 文献标识码:A文章编号:1009-3044(2009)36-10562-03
  Access Control in Distributed System Based on XACML
  HUO Lin
  (Capital University of Economics and Business, Beijing 100070, China)
  Abstract: Analyzed the policies of authorization in traditional access control: discretionary access control, mandatory access control and role-based access control. Then raised the characteristics of access control in distributed system, and specified XACML, reached the conclusion that XACML is suitable to distributed system. Did researches on the access control models of distributed system and realized access control using XACML2.0 tool kit provided by Sun.
  Key words: distributed system; access control; XACML
  在分布式系统中,用户共享资源,交换信息,以达到更高效或降低成本的目的。为了更好地发挥分布式的优势,保护资源和信息的完整性,也即防止未授权用户进入系统和授权用户对系统资源的非法使用是很重要的。这就涉及到了分布式系统的安全性。分布式系统安全机制主要分为三部分:安全通道、访问控制和安全管理。其中,访问控制是指分布式系统中的实体允许谁使用,允许如何使用以及谁来定义使用规则。[1]具体来讲,就是通过某种途径显示准许或限制主体的访问能力及范围,从而限制对目标资源的访问,防止非法用户的侵入或合法用户的不慎操作所造成的破坏。
  传统的方法中,访问控制由一个可信任的服务器来统一管理。但是随着网络规模日渐扩大,分布式系统访问人数逐渐增加,访问速度会明显降低,甚至发生网络堵塞。并且,开发人员必须自己编写代码来控制访问的权限,在应用程序中嵌入授权的检验,这导致了不能重用、易出错,而且增加了复杂性。可扩展访问控制标记语言(eXtensible Access Control Markup Language, XACML)[2]是一种基于XML的适用于描述分布式系统访问控制的语言,它提供了创建策略来控制信息访问的机制。利用XACML进行分布式系统访问控制的管理,将授权检查由程序驱动转为数据驱动,其语法和语义可以容易地扩展到所有主流平台,并且为大多数应用程序厂商所支持,在灵活性、可扩展性和可移植性方面都具有不可忽略的优势。[11]
  1 传统的访问控制技术
  典型的访问控制和授权场景包括三个主要实体:主体、资源和行为以及它们的属性。主体通过请求得到对资源执行相应行为的权限。例如,“允许系统管理员删除数据库中的用户信息”中,主体是“系统管理员”,资源是“数据库中的用户信息”,行为是“删除信息”。
  在访问控制的一般模型中,还包含一个策略执行模块和策略决策模块。其中,策略执行模块执行访问控制机制,策略决策模块表示一组访问控制规则和策略。主体的请求首先到达策略执行模块,该模块创建一个请求,将其发送给策略决策模块,策略决策模块评估该请求,并返回一个允许访问或拒绝访问的响应。访问控制模型如图1所示。
  访问控制中,授权即决定谁来修改访问的权限,授权的管理决定谁能修改访问的权限。传统的授权管理主要有以下三种:强制访问控制,自主访问控制,基于角色的访问控制。
  1.1 强制访问控制和自主访问控制
  强制访问控制中,主体和资源都被授予一个安全属性,访问的允许与否则根据主体和资源的安全级别来确定。自主访问控制中,资源的所有者或创建者有权控制和定义资源被其他主体访问的权限。也就是说,资源拥有者能够自主地将访问权限授予其他主体。相比强制访问控制来说,这种策略更灵活,但也正是由于这种灵活,信息的安全性降低了。
  1.2 基于角色的访问控制
  基于角色的访问控制是在前者种基础上提出来的。由于强制访问控制的安全性太高,而自主访问控制的安全性又弱,因此基于角色的访问控制被提出。基于角色访问控制的思想是:访问控制与访问者的身份密切相关,通过确定该合法访问者的身份来确定访问者在系统中对哪类信息有什么样的访问权限。一个访问者可以充当多个角色,一个角色也可以由多个访问者担任。
  基于角色的访问控制最重要的特色是管理权限的委托代理。在大规模的分布式系统中,对资源的权限管理可以交由一些管理员委托代理授权。例如,可以以行政区划为单位,由各地区的管理员代理执行对该地区资源的授权管理。
  2 分布式环境下的访问控制
  20世纪90年代起,分布式系统开始大范围应用,同时对分布式访问控制的研究开始兴起。分布式系统的授权需要各个不同的管理域之间合作。从访问控制的角度来看,与传统的环境相比,分布式网络环境具有以下这些特点:
  2.1 用户数量大
  分布式系统的用户数量通常很大,而且来自不同的组织机构,分属不同层次,结构复杂。
  2.2 数据量大
  分布式系统需要处理海量的数据,并且要分配给不同的用户处理,涉及的流程复杂,动态性强,数据的安全受到威胁。
  2.3 权限分配不统一
  用户不是集中的,而是分布在各个子域中,其权限由子域中的管理员进行分配。
  2.4 系统异构
  一个大的分布式系统由多个小系统共同组成,各小系统间很可能是异构的。
  因此,分布式环境下,访问控制问题面临更多的挑战。如果解决这些问题,保证分布式环境下的系统安全,成为一个关键问题。由以上分析我们得出,分布式环境下的访问控制应满足:
  1) 分布式环境中,访问控制模型应该能够适应大量的用户访问大量的资源。因此,在访问权限的分配上,授权的设计应该足够简单。
  2) 普通用户不能任意更改安全属性。如对于资源的访问权限 ,改变其安全属性可能导致信息的泄漏。所以只有管理员能够做变更。
  3) 应用业务逻辑和访问控制逻辑的实现相分离,从而实现访问控制统一管理以及访问控制策略统一配置。
  3 基于XACML 的访问控制
  自2003年结构化信息标准发展组织(OASIS)批准了XACML v1.0,使得访问控制策略管理标准化,为大多数商业公司所支持,并于2005年2月1日将XACML v2.0[2]及其所有相关文档发布为标准规范集。
  3.1 XACML体系结构
  XACML是OASIS提出的参考模型,它通过创建策略和规则,提供控制信息访问的机制。在此机制下,对不同的安全需求可以定义不同的访问策略。XACML的体系结构如图2所示。其中,资源相当于分布式系统。
  在XACML中,策略访问点为策略目录编写策略和策略集,供策略决策点使用。上下文处理器在XACML各组件间交换格式,将收到的访问请求转换为XACML格式的请求。在XACML的控制下,当一个请求者请求访问一项资源时,策略执行点决定是允许还是拒绝该请求。在决定的过程中,策略信息点控制属性值。收集到的属性包括资源名字等资源信息属性,请求者的角色等决策者属性,系统时间等环境信息,以及诸如操作类型这些行动信息。属性接下来供策略决策点调用,它通过检查属性是否与相对的系统符来做决策。最终的决策返回给策略执行点。如果请求被允许 ,请求者可以访问资源;否则不可以访问。
  3.2 XACML访问控制策略
  XACML的请求、策略和响应是这样描述的:
  1) 一个XACML请求描述“谁要对哪个资源做什么”,包括主体、动作和资源组成的目标元素。请求的目标元素被用于提取相应的策略或规则,从而对请求进行决策。其格式如下:
  
  
  
   做什么
   对哪个资源
  
  

  2) 接收到访问请求后,策略决策点检索与XACML请求中目标相匹配的策略。一个典型的XACML策略包括目标、规则和责任。其中,规则包括了目标、执行条件和结果,责任是对访问请求进行决策之后,访问者必须要执行的动作。其格式如下:
  
   目标
  
   目标
   执行条件
  

  
  
  

  

  3) 策略决策点将授权决策返回给策略执行点,XACML响应的格式如下:
  
  
   Permit/Deny
  
  

  

  3.3 XACML的优点
  与其他访问控制策略语言相比,使用XACML实现系统的访问控制,有以下优点:[2]
  1) 一个标准的访问控制策略语言可以替代许多特定应用的语言。
  2) 管理者的时间和成本节约了,因为他们不需要用各种不同的语言重写策略。
  3) 开发者的时间和成本节约了,因为他们不需要发明新的策略语言然后写代码来支持这些语言。他们可以重用现有的代码。
  4) 用来编写和管理XACML策略的优秀工具将会得以开发,因为他们可以在许多地方得以应用。
  5) XACML足够灵活,可以适应大多数访问控制策略的需要,并且是可扩展的,因此它可以用来支持新的需求。
  6) 一个XACML策略可以覆盖许多资源。这可以避免不同资源中的策略不一致。
  7) 在XACML中,策略之间可以互相参考。这对大型组织很重要。例如,一个特定站点的策略可以参考一个公司范围的策略和一个特定城市的策略。
  4 基于XACML的访问控制授权场景
  Sun公司通过Java语言提供了OASIS XACML标准的开源实现,同时提供一些API,以供开发者写进查找策略和属性的新机制。此开源工具包[11]目前的版本是xacml2.0,本文即通过该工具包实现一个具体应用,用来控制对分布式资源的访问。图3所示的序列图描述了该应用中组件之间的交互。
  在这个应用场景中,一个用户名为hl@cueb.edu.cn的用户主体发出请求读取http://localhost:8080/cueb/index.htm下的文件,被部署在服务器上的策略执行点重新组装成请求信息,并转发给策略决策点。策略决策点从策略信息点中取得策略信息文件,进行授权评估,判定用户有权访问所请求的文件,并向策略执行点发回响应。该应用中的策略文件如下:
  
  
  
  hl@cueb.edu.cn
  

  
  http://localhost:8080/cueb/index.htm
  

  

  
  
  
   read
  

  

  

  

  5 结论
  XACML具备可移植、可扩展、支持参数化的特性。使用XACML使访问控制表达灵活,易于在分布式环境下执行访问控制策略。该文对基于XACML的访问控制做了详细的分析,并用XACML实现一个访问控制的授权场景。
  参考文献:
  [1] 朱贤,邢光林,洪帆.分布式环境下的访问控制综述[J].微型机与应用,2005,24(3).
  [2] OASIS.Extensible Access Control Markup Language Version 2.0[S].2005.
  [3] OASIS.XACML Profile for Role Based Access Control.[EB/OL].http://docs.oasis-open.org/xacml/cd-xacml-rbac-profile-01.
  [4] Qatawna.Overriding of Access Control In XACML[D].Sweden: Information and Communication Systems Security At the Royal Institute of Technology.2006.
  [5] Rissanen E,Babak Sadighi Firozabadi.Access-Control Policy Administration in XACML[N].ERCIM News.No.63,October 2005.
  [6] Brachman B.Rule-based Access Control[EB/OL].(2006-12)[2009-08].http://www.ibm.com/developerworks/webservices/library/ws-soa-access.html? S_TACT=105AGX52&S_CMP=cn-a-ws.
  [7] Verma.XML M Security:Control information access with XACML[EB/OL].(2004-11)[2009-09].http://www.ibm.com/developerworks/xml/library/x-xacml/?S_TACT=105AGX52&S_CMP=cn-a-x.
  [8] 赵强,汪厚祥,李卉.XML访问控制模型研究[J].舰船电子工程,2007(3).
  [9] 姜炜超,夏阳,黄潇.基于SAML和XACML的Web服务访问控制模型[J].计算机工程与设计,2005(6).
  [10] 黄刚,王汝传.基于XACML的网格访问控制研究[J].计算机系统应用,2007(8).
  [11] SUN.Introduction to XACML[EB/OL].[2003-06].http://sunxacml.sourceforge.net.
其他文献
本文对CALMAX材料热处理后的开裂原因进行了详尽的分析,通过大量的工艺试验,改变零件加工工艺和热处理工艺流程,解决了CALMAX材料热处理过程中的开裂问题.
本文介绍了锌铬涂层涂覆的工艺过程和特点,详细叙述了其与镀锌工艺性能的对比、涂层特点、局限性,以及在军工产品上的应用情况。
论述了一个使用Delphi 7.0开发的以Microsoft SQL Server 2000企业版作为后台数据库的航空人身保险计算机管理系统的需求分析、软硬件平台及实现过程,重点描述了安全性和可靠
本文简要介绍了数控机床在加工零件时容易产生的几种误差现象,分析了误差产生的原因,即超程、欠程和传动误差等,并针对这些影响加工精度的因素提出了解决方案。
为了能够解决学生网络实验的可操作性和实验室安全管理的稳定性之间的矛盾,引入VMware,从而在单机上实现虚拟网络实验平台,提高网络实验教学的课堂效果。
教学网格门户能有效地改善网络教学环境,提高校园网资源的利用率。一个有效满足最小特权原则的访问控制机制必不可少。坚持最小特权原则,要不断调整用户权限,适应当前情况。
管理创新是实现企业信息化的基础,企业信息化是提高管理水平的重要措施。
新兴产业对高质量的专业技术技能人才极度渴望,对我国职业院校的师资力量逐渐提出了更高的要求,促使建设教学创新团队成为必然趋势,从而源源不断地为社会各个企业输送复合型
摘要:在《电子商务安全》教学过程中,如何让学生理解好抽象概念,实训手段显得尤为重要。文章分析了高职高专、技工学校类电子商务专业《电子商务安全》课程内容和实训设置,提出了该课程实训设置的建议,通过案例分析了实训设置的要点。  关键词:实训设置;实训探讨;商务安全  中图分类号:G424文献标识码:A 文章编号:1009-3044(2008)32-1260-02    1引言    随着电子商务应用的
本文介绍了一种基于TI公司TMS320C6000系列芯片与异步FIFO的接口关系,阐述了设计的方法,并给出了接口的硬件组成和软件设计。