首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

RBAC在门户平台中的设计与实现

作者:刘 洋 王 普 李亚芬 来源:现代电子技术


  摘 要:门户集成了网络中大量的信息和应用资源,它为用户提供统一的入口访问不同Web应用,并为每个用户提供个性化的服务。访问控制是门户的重要功能,如何建立一个高效的门户访问控制模块成为研究热点。在分析portal,RBAC访问控制模型、SAML和XACML后,提出一个扩展的RBAC访问控制模型并将其应用到门户中。该模型引入资源、动作分类概念,并结合上下文,能够更好地适应动态网络,具有更高的灵活性。
  关键词:门户平台;访问控制;RBAC;SAML;XACML
  中图分类号:TP39308文献标识码:B
  文章编号:1004-373X(2008)22-128-03
  
  Design and Realization of RBAC in Portal System
  LIU Yang,WANG Pu,LI Yafen
  (College of Electronic Information and Control Engineering,Beijing University of Technology,Beijing,100022,China)
  Abstract:Portal integrates a large amount of information and Web services,provides users a single entrance to access different Web services.A safe access control system becomes necessity.After analysing the portal,RBAC model,SAML and XACML,a new RBAC profile which is fit for the portal system and dynamic Web environment.
  Keywords:portal platform;access control;RBAC;SAML;XACML
  
  1 引 言
  
  随着网络信息技术的发展,越来越多的企业、学校和个人采用门户技术集成自己的各项业务功能模块、数据资源以及互联网资源。门户可以为用户提供统一的访问渠道,强大的资源应用集成和个性化的服务,单一性、集成性、个性化是门户的基本特点[1]
  单点登录技术是门户实现信息、应用集成和统一的访问入口的重要手段。选择合适的方式实现访问控制功能,成为构建门户的一个重要步骤。考虑到门户在集成本地和远程应用的同时,本身也是一个基于Web的应用程序。在实现门户访问控制时,应该结合Web服务的访问控制,使其更适应Web环境。
  RBAC基于角色的访问控制模型在近几年得到快速的发展,它将权限与角色绑定,具备最小权限特点,可以作为实现Web服务访问控制的基本模型。访问控制语言SAML,XACML与Web服务通讯协议SOAP协议一样都是基于XML,SAML可以嵌入SOAP[2]消息,选用SAML和XACML作为访问控制模块最终的实现语言,是合适的选择。
  在门户系统背景下,对门户的特点、访问控制模型和控制策略语言进行分析,最后提出一个基于门户系统的访问控制模型。在设计过程中对现有的基于角色的访问控制模型进行改善,使其更适应门户的特点。
  
  2 背景介绍
  
  2.1 基于角色的访问控制系统
  访问控制模型是用于规定如何做出访问授权决定的模型,大致可分为3种:自主访问控制、强制访问控制和基于角色的访问控制[3]。自主访问控制基于用户,拥有资源的用户可以随时授予、收回资源的访问权,灵活性高,但安全性差;强制访问控制以主体的安全等级和客体敏感度为判断依据,因此比自主访问控制安全性有了提高,但灵活性差;基于角色的访问控制[3]将用户、角色、权限分层控制,为用户赋予角色,角色拥有权限。用户、角色、权限间可以是多对多的关系。角色管理系统相比前2个模型,更适合分级管理,具有良好的灵活性,适合大规模实现。
  
  因此,现在的RBAC模型已经被大多数访问控制系统所采用。上面的图1表示基于角色的访问控制的基本控制思想。
  2.2 SAML和XACML介绍
  SAML(安全声明标记语言)[4]是一种基于 OASIS 标准的可扩展 XML 框架,用于交换身份验证和授权信息,如前所述,它可以绑定在SOAP协议(Web服务通讯协议)中。SAML并不是一种身份认证模式,它是一种基于XML的描述语言,目的是允许不同安全系统产生的信息进行交换,提供进行验证和授权断言以及传递断言的机制。而XACML[5] 则提供了定义进行必要的授权决策所需规则的语言,在特定的XML 文档环境中,XACML将ACL扩展为<对象、主体、动作、条件>。SAML和XACML都是由OASIS制定,并且基于XML,可以同时被机器和人读懂。基于上面的这些特性和优点,本模型采用SAML和XACML结合实现访问控制。
  在SAML的定义中提供了策略执行点PEP和策略决策点PDP两个功能模块,XACML已经被广泛的应用,PEP,PDP和策略是XACML的重要组件[6],可见SAML和XACML在访问实体的定义上有相互重叠的部分,为它们的结合使用提供了前提。图2是一个XACML的访问控制模型。
  
  在图2中,用户请求以SAML形式发送到策略执行点PEP后,PEP将请求转交给上下文处理器,上下文处理器收到请求后,将SAML请求转换为XACML请求并发送到策略决策点PDP。PDP根据策略管理点提供的策略,评估请求并返回一个响应。这个响应经上下文处理器返回给策略执行点PEP,PEP根据响应执行决策结果。
  
  3 门户系统访问控制模型设计
  
  门户系统具有集成性特点,它将大量的应用和资源整合在一起,为用户提供统一的个性化的服务。所以,对门户中的应用和资源进行的访问控制与仅对少数应用进行访问控制是有区别的。首先,门户中的信息和内容资源数量众多,为门户中的每个资源建立一套角色、权限以及控制策略是不现实的。其次,考虑门户集成的Web服务的可移植性和通用性,在设计访问控制模型时应尽量回避在Web服务中存放和角色、资源有关的信息。基于上面的考虑,对XACML模型进行扩展使其更适应门户系统。门户系统访问控制模型如图3所示。
  3.1 扩展模型
  整个模型基于RBAC基本思想,包括认证和授权2部分。认证模块完成用户身份信息的确认,授权模块根据用户请求中包含的信息,完成用户到角色的映射,并根据资源、动作及上下文等信息依据一定的策略,完成角色到权限的分配。下面对模型中各功能模块做详细介绍:
  认证服务器 对用户提供的用户名/密码进行认证,为通过认证的用户返回一段artifact信息,该artifact信息和存放在认证服务器中的用户信息如全局ID相关联。
  策略执行点PEP 根据策略决策点PDP的决策信息,决定允许或拒绝用户的操作请求;
  策略决策点PDP 根据策略管理点PAP的策略信息,对请求做出裁断;
  策略管理点PAP 管理授权策略;
  
  上下文处理器 负责SAML和XACML间信息的提取和格式转换;
  角色确认权威 根据用户请求中的用户全局ID和被访问资源信息,确认用户在具体资源中的角色;
  资源确认权威 根据用户请求中的被访问资源信息,确认被访问资源的等级;
  动作确认权威 根据用户请求中的操作信息,确认用户请求动作;
  上下文确认权威 根据整个系统环境状态、系统时间、用户历史行为等信息,对上下文做确认。
  
  可以看到整个模型是建立在基于角色访问控制模型基础上,除了上面的几个模块外,模型中还有几个重要的概念:角色确认、资源确认、动作确认、上下文确认。下面对这4个概念做具体描述:
  (1) 角色确认:在门户系统中,用户在每个资源中的角色是不同,有些甚至是互斥的。比如在某资源中用户的角色是雇主,而在另一资源中的角色是雇员,这样基本的角色控制模型是不能适应门户环境的。本模型将角色和资源关联,根据请求中用户的信息和被访问资源判断用户在该资源的惟一角色信息。
  (2) 资源确认:门户中集成的资源数目庞大,如果为每个资源中的各个角色编写控制策略,工作量将不可想象。 将门户中的资源分类,对不同类别的资源创建访问控制策略,是简化门户系统控制策略管理的办法。在门户中,有信息资源和业务系统。信息资源又可以分为内部和网络资源,对信息资源的操作一般是查看,查找操作。虽然,每个业务系统中的用户角色不尽相同,但每个相似等级的角色拥有的操作权限有时是相同的。如,某高校门户系统集成了毕业生就业信息管理平台和新闻网后台管理平台,两个管理系统中后台的最高级别管理员,都拥有对资源的全部操作权限,而最低级别维护员只拥有文章添加、修改、删除、提交功能的操作权限。
  (3) 动作确认:用户请求的具体操作可以被分类,概括成抽象操作。如上面提到的阅读、查找操作可以抽象为查看操作。
  (4) 上下文确认:上下文的引入是考虑到系统的动态环境下,用户的历史动作记录和系统状态对授权决策的影响。
  3.2 访问过程
  用户访问门户资源的整个过程是一个会话周期,用户首先登录或被重定向到身份认证服务器,根据服务器提示向认证服务器提交身份信息(用户名/密码形式),认证服务器做出身份判断,如果用户通过验证,返回用户一个SAML身份认证声明,表明用户通过验证,并同时在URL中插入一个叫作artifact的固定长度的信息一起返回给用户。
  当用户访问某个具体应用时,访问请求被发送到授权服务器。用户的artifact被提交回认证服务器,认证服务器将查找到的用户信息返回给授权服务器,用户信息中包含着用户的全局ID等信息。授权服务器接收到该信息后和用户的请求信息一起发送到策略执行点PEP。
  PEP先将包含着用户请求和用户全局ID的信息依次发送到角色确认权威、资源确认权威、动作确认权威、上下文确认权威。对请求信息中的用户角色、被访问资源、动作和上下文信息进行确认。经过这步处理的请求信息被返回到上下文处理器,上下文处理器将它转发给PDP。PDP依据请求中的信息做出最后的授权决策,并返回给PEP,PEP执行授权决策的决定。
  
  4 模型应用
  
  本门户访问控制模型是为了整合高校信息和应用资源设计的,为了验证该模型,将它应用到实际项目中。设计的用户基本信息表p_userInfo,主要存放用户的全局ID用于访问控制认证模块的查询。p_user_right表存放用户的角色、资源信息,用户角色确认权威的访问查询。p_action_abact存放用户可能的操作和抽象操作名称,用于动作确认权威的访问。p_session存放用户访问门户session信息,其中包括用户的行为信息等,为上下文确认全文查询。
  就业信息发布管理系统是该高校门户平台中的一个应用系统,用户根据职责对就业信息文章进行查看(view)、添加(add)、编辑(edit)、删除(delete)、提交(submit)、发布(public)、退回(reject)、审核(audit)、取消(cancel)等操作。系统中用户的角色分为3个等级:系统管理员(administrator)、院部审核员(auditor)、院部维护员。
  权限指派如下:
  Administrator:{view,add,edit,delete,public,cancel }
  Auditor::{ view,add,edit,delete,public,reject,audit }
  Maintainer:{ view,add,edit,delete,submit }
  当用户请求对资源操作时,访问控制模块根据用户自身的全局ID查找用户在就业信息发布管理系统中被分配的角色,赋予用户该角色拥有的权限。门户系统中除就业信息发布管理系统外的另一个应用资源为校园内网管理系统,它对用户角色的划分和操作权限的委派与就业信息发布系统类似。因此,两个应用系统在资源等级划分中属于一类,控制策略可以共享,这样起到了简化控制策略的目的。
  
  5 结 语
  
  在文中,首先对门户系统的特点进行分析,提出一种基于RBAC的访问控制模型,选用SAML和XACML访问控制语言实现。模型对基本RBAC进行扩展,提出在授权模块进行用户/角色转换的概念,并同时增加了资源、动作和上下文的确认权威机构,并在实际项目中应用,证明能够简化控制策略的创建和管理,更适应大量的动态、分布的网络环境。但本文考虑的情况没有包括对系统中原有旧系统的改造,对于这方面的研究将在后面的工作中完成。
  
  参考文献
  [1]Clarke S.Standards for Second-generation Portals.IEEE Internet Computing,2004,8(2):54-60.
  [2]Bilal Siddiqui,WAP Monster.开发Web服务.http://www.ibm.com/developerworks/cn/Webservices/ws-intwsdl/part2/index.html,2002.
  [3]Sandhu R,Coyne E,Feinstein H,et al.Role-based Access Control Mode[J].IEEE Computer,1996,29(2):38-47.
  [4]SAML 2.0 Profile of XACML v2.0 Standard,OASIS,2005.
  [5]XACML v3.0 Administrative Policy.Work draft 10,OASIS,2005.
  [6]Diala Abi Haidar Nora Cuppens-Boulahia,Frederic Cuppens,et al.An Extended RBAC Profile of XACML.SWS′06,Alexandria,Virginia,USA.2006.
  [7]方蔚涛,杨丹,李珩,等.数字化校园信息门户的设计研究.计算机科学,2007,34(3):135-138。