基于角和用户组的扩展访问控制模型

  收稿日期:2008-06-12;修回日期:2008-08-24  基金项目:国家科技支撑项目(2006B A J 09B 0601)
  作者简介:邢汉发(1981-),男,山东淄博人,博士研究生,主要研究方向为地理信息系统空间分析(x i n g h a n f a @163.c o m );许礼林(1973-),男,安徽舒城人,高级工程师,主要研究方向为地理信息系统与制图;雷莹(1983-),女,湖北宜昌人,工程师,主要研究方向为地理信息系统与制图.
基于角和用户组的扩展访问控制模型
邢汉发
1,2
,许礼林2,雷 莹
2
(1.中南大学测绘与国土信息工程系,长沙410083;2.国家基础地理信息中心,北京100044)
摘 要:针对传统的R B A C 模型所存在的问题,引入用户组进行了改进:除了R B A C 模型的角授权
外,增加了
用户组对数据资源进行授权,使用户所拥有的权限变成用户所属角的功能权限和用户所属部门的资源权限之和。改进后的混合授权的扩展模型(E -R B A C )不仅有效解决了角定义、用户职责、功能和资源等动态变化对系统所带来的问题,更增强了对用户授权的灵活性和可维护性,并且在实际项目中得到了应用。关键词:访问控制模型;角;用户组中图分类号:T P 393.08   文献标志码:A    文章编号:1001-3695(2009)03-1098-03
E x t e n d e d a c c e s s c o n t r o l a p p r o a c h b a s e d o n r o l e a n d g r o u p
X I N GH a n -f a 1,2,X UL i -l i n 2,L E I Y i n g
2
(1.D e p t .o f G e o m a t i c s ,C e n t r a l S o u t h U n i v e r s i t y ,C h a n g s h a 410083,C h i n a ;2.N a t i o n a l G e o m a t i c s C e n t e r o f C h i n a ,B e i j i n g 100044,C h i n a )
A b s t r a c t :D u r i n g f u r t h e r a n g l i c i z i n g R
B A
C ,t h i s p a p e r p o i n t e do u t i t s s h o r t c o m i n g .T h i s p a p e r p r o p o s e da n i m p r o v e dm o d e l
n a m e d E -R B A C .O n e w a y t o g r a n t u s e r p r i v i l e g e w a s u s i n g r o l e b a s e d o n R B A C ,a n o t h e r w a y w a s u s i n g u s e r g r o u p t h a t i n t r o -d u c e d a b o v e .T h e i m p r o v e dm i x g r a n t i n g m e t h o ds o l v e dt h e m e n t i o n e d p r o b l e ma n dw a s v e r y c o n v e n i e n t ,a s w e l l a s m a d e t h e s y s t e m 's a u t h o r i t y l i m i t a t i o nm a n a g e m e n t e a s i e r .M e a n w h i l e ,i t i m p r o v e d t h e s a f e t y o f s y s t e m .I t h a d b e e n u s e d i ns o m e p r o -j e c t s s u c c e s s f u l l y .K e y w o r d s :a c c e s s c o n t r o l m o d e l ;r o l e ;u s e r g r o u p   在信息系统安全机制中,访问控制是一项重要机制,有着许多重要应用。访问控制或权限管理系统是当前计算机应用系统重复开发率最高的模块之一。在企业中,不同的应用系统几乎都拥有一套独立的权限管理系统,不同的权限管理系统在数据存储、权限访问和访问控制机制等方面都可能不一样。近年来,访问控制的研究发展很快,有许多访问控制模型被提出
[1~3]
。建立规范的访问控制模型是实现严格访问控制策略
所必需的,因此,访问控制模型的研究具有十分重要的现实意义。
目前,基于角访问控制模型(r o l e -b a s e da c c e s s c o n t r o l ,R B A C )一直是系统安全管理的研究热点,在应用系统中也得到了很好的应用
[4~6]
。但是,笔者发现在目前大多数R B A C 的
实际应用中,属于相同角的用户对功能对象都具有相同的访问权限,而属于同一角的不同用户对数据或资源对象的访问权限却是不同的。其对资源的权限控制往往是根据实际访问控制要求,直接以用户为对象授予权限,将用户对数据或资源部分的访问权限用数据库中的某些业务数据来表示。在授权时预先将这些数据手工从相关业务表中抽取出来,以静态形式存储于资源权限表中,查权时再通过查表方法来确定用户所拥有的资源权限。但是,由于这些权限数据中包含了大量的业务数据,随着用户角或职能的变动,系统管理员必须手工更新大量对应的权限数据,这样不但增加了他们的工作负担而且极易造成数据的不一致。针对以上问题,本文在R B A C 基础上加入用户组,使用户的功能和资源权限由角和用户组共同来确定。
 基于角的访问控制模型
传统的访问控制,如自主访问控制(d i s c r e t i o n a r ya c c e s s c o n t r o l )和强制访问控制(m a n
d a t o r ya c c e s s c o n t r o l )是以用户为基本对象授予权限,这使得大型复杂系统的授权管理繁杂,且容易出错。随着对多用户、多系统的研究不断深入,角的概念逐渐形成,并逐步产生了以角为中心的访问控制模型,即R B A C 。R B A C 包含三个实体,即用户(u s e r )、角(r o l e )和权限(p r i v i l e g e )。用户是对数据对象进行操作的主体,可以是人、机器人和计算机等;权限是对某一数据对象可操作的权利。角的概念源于实际工作中的职务;一个具体职务代表了在工作中处理某些事务的权利。角管理是大型数据库管理用户的一种思想,将这个概念引入到授权管理中,则角作为中间桥梁将用户与权限联系起来。一个角与权限管理可以看做是该角拥有的一组权限集合,与用户关联又可以看做是若干具有系统身份的用户集合。基于角的访问控制技术的核心思想是将访问权限转换成角的权限,通过给用户分配不同的角,达到赋予用户不同权限的目的。它需要管理员根据情况创建角,然后将有关权限赋予给此角,最后将该角授予合适的用户,这样用户就可以获得该用户所拥有的权限。
R B A C 模型如图1所示。用户和角的关联表示若干具有相同身份的用户拥有的许可集,一个用户可被赋予若干角,一个角也可以被赋予给若干个具体用户,两者之间是多对多的关系。角和权限的关联表示角拥有的一组权限的集合,一个角可以具有多项权限,一项权限也可以被赋予给
第26卷第3期2009年3月 
计算机应用研究A p p l i c a t i o n R e s e a r c h o f C o m p u t e r s
V o l .26N o .3
M a r .2009
多个不同的角,它们之间也是多对多的关系。R B A C 使访问控制适应性更强。管理者可以通过调节用户所属的角、角相关的操作与角之间的层次关系,灵活地控制用户访问资源的方式。而且,很容易将角结构与部门内部用户结构结合起来,达到简化管理、明确责任的目的。从这些特点可以看出,引入角概念实现了用户与权限的逻辑分离,极大地方便了权限的管理,这也是本文选择基于R B A C 发展访问控制扩展模型的原因。
 引入用户组后的扩展型访问控制模型
-
. 用户组定义
在R B A C 的规范中没有提到关于用户是如何组织的,为了使系统适合于分散式权限管理,加入了用户组这一概念,它是指一用户的集合。很多系统在行业实际应用中,由于行业部门机构庞大,假如系统不引入用户组,当为部门内部用户授权时就显得比较混乱,授权也显得非常繁琐。当按树型结构方式将行业内所涉及的部门按行政或其他隶属关系进行组织,授权就会清晰得多。而且当某个组的所
有用户职能相同时,可以创建一个组角,然后将这个角授予整个组,则整个组的人员均获得了权限;当改变该组角的权限时,整个组的权限也相应地改变了,从而大大简化了授权管理。用户是系统中权限控制的访问主体,引入用户组是非常有必要的。. 用户组与角关系
既然可以直接对用户组授权,那么是否用户组就可以代替角呢?从上面的分析可知,当用户组内人员职能相同的情况下,用户组能够代替角,这也是人们常把基于用户组的访问控制模式看成基于角的访问控制模式的原因。但是,同一用户组内的用户有的职能不同,假如以组的授权模式授权,则组内职能不同的用户就会越权,整个系统显然是不安全的。再对R B A C 中的角分析得知,角和用户组虽有相似之处,却有着根本区别:组是用户的集合,而不是权限的集合;角作为中介,既是用户又是权限的集合体。因此,用户组是不能代替角的。. -模型
在大型企业系统中,由于用户众多、业务对象庞杂,使得角的定义在权限管理中比较复杂。用户的业务需求灵活多变,系统的功能和数据资源可能不断增加或更新,权限也在随之变化;同时,系统用户由于工作职责的需要,各自的权限也可能相应变化。因此,角的定义通常随时间和部门的调整发生变化;同时,多个角的权限往往相互重叠,无法区别对数据资源的访问权限。如果仅仅采用通过调整角的定义来改变授权,则难以满足复杂情况变化的需要。在目前大多数R B A C 的实际应用中,属于相同角的用户对功能对象都具有相同的访问权限,而属于同一角的不同用户对数据或资源对象的访问权限却是不同的。例如在某管理信息系统中,属于相同角但部门不同的用户对每个功
能模块的菜单、窗口和按钮等功能对象的访问操作都是相同的,但其在相同的功能操作界面中只能访问属于自己部门的数据。用户对功能对象的访问权限完全可以按照R B A C 的方法来管理,即管理员根据情况创建角,然后将有关功能权限赋予此角,最后将该角授予合适用户,
这样用户就可以获得该用户所拥有的功能权限。现在的关键
是如何灵活地解决用户对数据资源对象的个性化访问要求呢?经过观察笔者发现,系统的数据是按部门或用户组来组织的,因此可以以用户组为单位来分配数据资源权限。本文基于这种思想,在R B A C 基础上增加用户组资源权限赋予,采用对角和用户组混合授权的方法,使得权限控制更加灵活和安全。图2是采用对用户组和角混合授权的扩展型基于角的权限控制模型(e x t e n d e dr o l e -b a s e d a c c e s s c o n t r o l ,E -R B A C )。
E -R B A C 模型的描述如下:如果某个用户U 对某个对象O 具有的权限记为P (U ,O ),则有如下关系:P (U ,O )=P r (R (u ),O
F )∪P g (
G (u ),O R )。其中,P r (R (u ),O F )是通过用户U 所属的角R 对功能对象O F 的权限;P g (G (u ),O R )是通过用户所在部门授权所确定的对资源对象O R 的权限;P (U ,O )是P r 和P g 两者的并集,即用户所属角对功能对象的权限与用户所在部门对资源对象的权限之和。
E -R B A C 模型除了R B A C 模型的角授权外,增加了用户组对数据资源进行授权。其中,用户与角、角与功能权限以及用户组与资源权限之间都是多对多的关系。授权分为功能授权和资源授权两步,用户所拥有的权限为用户所属角的功能权限和用户所属部门的资源权限之和。这种采用混合授权的方法不仅有效解决了角定义、用户职责、功能和资源等动态变化对系统所带来的问题,更增强了对用户授权的灵活性和可维护性。当权限授权后,一个具体的用户要求访问系统某模块的功能时,系统同时判断该用户所属角和用户所在用户组,同时判断角所拥有的功能权限和用户组拥有的资源权限,这样用户就可得到自身全部拥有的功能和资源权限。根据上述授权方法和权限访问控制,E -R B A C 模型在企业应用中占有很大优势:
a )用户、用户组、角以及权限的设置将企业结构和岗位人员职责简单地映射到企业应用系统中,使
得对系统权限部分的设计和应用更加直观、灵活,易于管理和维护;
b )如果企业需求中某工作岗位职责变更,无须逐一更改处于该岗位的所有工作人员的权限,而只需更改执行该岗位职责的角权限;
c )若企业某些用户的职责发生变动,所在用户组或部门无变动时,只需简单地修改用户角即可;
d )当企业某些用户进行了部门调遣,而用户的职责没发生变动,只需更改用户的所属用户组,这样用户对资源的权限相应地发生了改变,而无须对用户进行资源的一一授权;
e )如果企业某些用户的职责与所属部门同时发生变动,需要同时修改用户角和用户的所属用户组,这样用户的功能和资源权限得到了相应的修改。
E -R B A C 模型的这些特点使得系统权限维护相当简单快捷、安全有效,非常适合于大型企业组织的系统开发。
 -的设计与实现
. -
基本设计
E -R B A C 的基本思想是:用户与功能、用户与资源不直接
·
1099·第3期邢汉发,等:基于角和用户组的扩展访问控制模型的研究   
发生关系,而是分别增加角和用户组,继而增加用户—角关系表和用户组—用户关系表,使用户与功能、用户与资源发生关系,如图3所示。其中,用户组通过用户组—资源关系表为用户组分配资源,用户组通过用户组—用户关系表为用户组添加用户,用户通过用户—角关系表为用户授予角,角通过角—功能关系表为角分配功能,这样用户与功能、用户与资源就产生了相应的关系
. 数据库设计
根据整个流程可将E -R B A C 系统分为不同的功能模块,并可将用户按部门分为不同权限的访问用户。根据上述设计思路,用户及权限信息均被保存在系统的数据库九张表中,即用户表、用户组表、角表、功能权限表、资源权限表、用户组与资源关系表、用户组与用户关系表、用户与角关系表、角与功能关系表。各表详细设计及其关系如图4所示
E -R B A C 的目的是建立用户与功能和资源之间的对应关系。由图4可知,用户与功能、用户与资源不直接发生关系,而是分别增加角和用户组,继而增加用户—角关系表和用户组—用户关系表,使用户与功能、用户与资源发生关系。这样处理的好处在于使得用户和角的增加和维护相对独立,不发生相互干扰,使得数据库的设计变得更加灵活,用户和角之间也可以建立动态的对应关系。角与功能之间也不直接相关,而是通过角—功能表发生关系,从而避免了角和功能之间的相互影响,使得角与功能之间也形成了动态的对应关系。而用户—用户组—资源之间的设计也是如此,这样更易于数据库的维护。. -的实现
笔者以V i s u a l C #2005为开发工具,数据库为O r a c l e 10g ,设计实现了某信息管理系统中的访问控制模块,并使用模拟数据对本文的模型进行了实验验证。与一般的信息管理系统相比,该系统具有组织机构庞大、内部人员行政隶属等关系复杂、用户职责变化频繁、用户数量多等特点。本文设计的E -R B A C 模型很好地适应了该信息管理系统的特点,有效解决了角定
义、用户职责、功能和资源等动态变化对系统所带来的问题,增强了对用户授权的灵活性和可维护性。访问控制系统在一定程度上独立于整个信息管理系统,具有很好的可重用性。
在访问控制系统中,由系统管理员动态地对各个用户组的用户设置不同的访问权限。在打开系统时,首先启动用户登录界面,当输入用户名和密码后,系统根据存储在数据库中用户与角关系表、角与功能关系表确定哪些页面或窗体能够使用,对于每一窗体的每一个按钮,根据用户的角判断按钮
是否可用,无效的设置为灰;同时根据存储在数据库中用户与用户组关系表、用户组与资源关系表确定哪些资源或数据可以使用。其基本流程如图5所示
 结束语
E -R B A C 模型通过对用户和角混合授权,有效地弥补了R B A C 角授权机制的缺陷,符合现代企业组织结构的管理特点,使得整个系统权限管理方便灵活、安全有效,在实际应用系统的用户权限
管理中取得了良好的效果。同时,该模型具有很强的通用性,可广泛应用于其他系统权限管理。参考文献:
[1]R A V I S ,E D WA R DJ ,C O Y N EK ,e t a l .R o l e -b a s e da c c e s s c o n t r o l m o d e l s [J ].I E E EC o mp u t e r ,1996,29(2):38-47.
[2]
L I NA ,B R O WNR .T h e a p p l i c a t i o no f S e c u r i t yp o l i c y t or o s e -b a s e d a c c e s s c o n t r o l a n dt h e c o m m o nd a t as e c u r i t y a r c h i t e c t u r e[J ].C o m -p u t e r C o m mu n i c a t i o n s ,2000,23(17):1584-1593.
[3]冯德民,王小明,赵宗涛.一种扩展角存取控制模型[J ].计算机工程与应用,2003,39(3):87-89.
[4]欧阳星明,张华哲.大型网络M I S 系统中基于角的权限管理
[J ].计算机工程与应用,2003,39(4):142-144.
[5]曾隽芳,温大勇,杨一平.电子政务系统基于角的权限管理研究
[J ].计算机工程与应用,2004,40(22):156-160.
[6]龙勤,刘鹏,潘爱民.基于角的扩展可管理访问控制模型研究与
实现[J ].计算机研究与发展,2005,42(5):868-876.
[7]杨柳,危韧勇,陈传波.一种扩展型基于角权限管理模型(E -R B A C )的研究[J ].计算机工程与科学,2006,28(9):126-128.[8]覃章荣,王强,欧镔进,等.基于角的权限管理方法的改进与应
用[J ].计算机工程与设计,2007,28(3):1282-1284.
[9]刘益和,沈昌祥.基于角管理的安全模型[J ].计算机应用研究,
2007,24(5):119-121.
(上接第1097页)
[4]隋爱芬,杨义先,钮心忻,等.基于椭圆曲线密码的可认证密钥
协商协议的研究[J ].北京邮电大学学报,2004,27(3):28-32.[5]张焕国,刘玉珍.密码学引论[M ].武汉:武汉大学出版社,2003.[6]
H A N K E R S O N D ,M E N E Z E SA ,V A N S T O N E S .G u i d et oe l l i p t i c c u r v e c r y p t o
g r a p h y [M ].N e wY o r k :S p r i n g e r -V e r l a g ,2004.[7]
S T A L L I N G SW.C r y p t o g r a p h ya n dn e t w o r ks e c u r i t yp r i n c i p l e sa n d
p r a c t i c e s [M ].4t he d .B e i j i n g :P u b l i s h i n gH o u s eo f E l e c t r o n i c s I n -d u s t r y ,2006.[8]
A R A K I K ,M I U R AS ,S A T O HT .O v e r v i e wo f e l l i p t i c c u r v e c r y p t o g r a -p h y [C ]//P r o co f I n t e r n a t i o n a l Wo r k s h o po nP r a c t i c e a n dT h e o r yi n P u b l i cK e y C r y p t o g r a p h y .1998:1-14.[9]
B L A K EI ,S E R O U S S I G ,S M A R TN .E l l i p t i c c u r v e s i nc r y p t o g r a p h y [M ].
C a m b r i d g e :C a m b r i d g e U n i v e r s i t y P r e s s ,2002.
·1100·计算机应用研究 第26卷

本文发布于:2024-09-23 16:22:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/368548.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   角色   权限   用户组   资源   系统   功能
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议