罗 钧 赵传智 汪 飞
(光电技术及系统教育部重点实验室(重庆大学) 重庆 400030)(luojun@cqu.edu.cn)
基于RBAC模型的权限高效管理方法
罗钧赵传智汪飞
(光电技术及系统教育部重点实验室(重庆大学)重庆400030)(luojun@cqu.edu.cn)
摘要针对现有基于角色的访问控制模型(role-based access control,RBAC)服务请求中缺乏关键权限管理办法及其算法的指数级复杂度,设计了一种高效的管理方法.该方法是在简化的系统模型(simplify system model, SSM)上通过建立基于权限的访问控制列表(privilege-based access control list, PBACL)来管理关键权限;通过自定义的角色关系结构体将系统角色横向和纵向划分.该方法针对不同的外部服务请求,通过自定义的角色加法(role plus, RP)可以简单快速地查找出最佳角色集,其复杂度仅为多项式级;能够解决关键权限被赋予多个用户从而导致的安全冲突问题;支持系统模型在“不稳定型”系统中的快速重构.该方法同样适用于多域环境下的访问控制,能够有效地避免多域环境下关键权限多分配的问题,能够快速检测出由于域间映射带来安全冲突问题例如:循环继承冲突和角色互斥约束冲突等.
关键词角色模型;访问控制;角色管理;关键权限;安全冲突
近年来,随着计算机技术的迅速发展,信息系统的规模得到不断壮大,采用更加高效和安全的访问控制技术变得越来越重要.同时,Web服务技术以及近年来越来越受关注的物联网(Internet of things, IoT)技术与云技术在信息处理与交流的过程中,常常会遇到域间操作,如何实现更安全的跨域访问控制是一个极为重要的问题[1-3].基于角色的访问控制(role-base access control, RBAC)克服了传统访问控制技术中存在的不足,不仅易于管理而且在一定程度提高了安全性和可靠性,得到了广泛的关注与应用[4],特别是在拥有大量用户单元的系统中,RBAC能够更好地解决安全访问控制的问题[5].
在角色访问控制模型中,用户提出权限分配请求时,系统如何才能安全、高效地分配给用户恰当的权限集是急待解决的问题.近年来,人们尝试能够根据系统运行环境的变化来快速调整访问控制策略,同时保持访问控制机制不变[6-8].Ye等人[9]在角色访问控制模型中,采用密码技术对服务请求进行验证并授权,此方法虽然安全性较高,但是不能快速响应外部的服务请求.He等人[10]提出唯一可映射集(unique mapping set, UMS)的概念来求取满足外部服务请求的最合适可映射角色集,但它并没有关注关键权限的保护问题,在面对角色变化或者服务权限改变时,特别是含有大量服务项的系统中,UMS面临着全部重新计算的复杂性,所以UMS方法的应用具有很大的局限性.
针对以上问题,本文提出在简化的系统模型(simplify system model, SSM)上建立基于权限的访问控制列表(privilege-based access control list,PBACL),制定角色关系结构体以及自定义角色加法规则,在保护关键角色的同时,快速计算出满足外部请求的最佳角色集的方案.针对外部服务请求先查找PBACL,判断对应权限是否为关键权限,对于拥有关键权限的角色进行用户数量的限制,对于非关键权限通过定义的规则,可以快速计算出满足请求权限的最佳角色集.
1基本概念
为了便于描述,本节对一些基本概念及约定进行形式化定义和说明.
定义1. 权限集.权限集是表示角色或用户有权访问的服务集合,本文中用符号PS表示.
例如在图1(a)的简单角色层次模型中,角色r1的权限集可以表示为PS(r1)={s2,s3},即拥有角色r1的用户可以访问系统服务s2,s3.
定义2. 关键权限.即某些对整个系统具有重要作用,如果被多个角色占有可能会导致系统运行混乱甚至整个系统崩溃的权限.例如打印机的使用权限同时被多个电脑进程占有会导致打印出来的内容混乱.
定义3. 权限根角色.权限根角色是表示拥有某个权限且包含额外权限最少的角色,由符号PR表示.例如图1(a)中PR(s2)=r2,PR(s3)=r3,而不能够用PR(s2)=r1,因为r1和r2相比还多包含额外权限s3.
Fig. 1 Role model.图1 角色层次
定义4. 角色加法(role plus, RP).本文用符号⊕表示.角色加法是以角色的继承关系为基础,满足相同角色相加保持不变,即rx⊕rx=rx;任何角色rx与0相加还是角色rx,即rx⊕0=rx.角色rx与角色集RS相加,rx应优先与RS中同层相邻角色相加,自下而上求出最佳角色集;若某一个角色rx不含额外权限,则其子角色之和为rx,如图1(a)简单角色层次1,有r2⊕r3=r1;若rx对应额外服务sx,则其子角色之和为求并的关系,如图1(b)简单角色层次2,有r2⊕r3={r2,r3}.
Fig. 2 Simple role model after SSM.图2 SSM简化角色层次
定义5. SSM.文献[10]提出对于求得的角色集,若有角色含有额外服务项,可以增加临时角色来直接继承每一个额外的服务项,如图2所示.s3,s4,s5是角色r3拥有的服务权限,而s4是它的子角色r4唯一拥有的权限,权限s3和s5没有映射到单独的角色,可以说权限s3和s5是角色r3的额外权限,则增加角色r5和r6来独立管理权限s3和s5.而本文提出在系统初始化时对整个系统角色模型预先进行上述处理,即通过增加权限根角色来管理每一项服务权限,完成对系统RBAC模型的简化即SSM化.
定义6. PBACL.本文使用符号P[n][q]来表示PBACL,其中n是用来标记区分系统服务,q表示系统服务的名称、权限标志、用户和对应根角色.PBACL创建规则如下:
1)P[n][0]为服务项,表示用户权限;
2)P[n][1]为权限标志项,表示系统权限是否为关键权限标志位,0为非关键权限,1为关键权限但未被占用,2为关键权限且被第3列中登记的用户占用;
3)P[n][2]为用户项,表示占用关键权限的用户名或ID;
4)P[n][3]为对应角色项,表示系统服务权限对应的根角色.
定义7. 角色关系结构体.角色关系结构体表示角色亲属关系的一种结构体(不包含其子角色).具体定义为
structRn{intLong;
intRole;
structRn*Br[];
structRn*Parent;}
其中,Long表示Rn兄弟角色个数,Role表示哪一个角色的角色关系结构体,*Br[]为角色Rn兄弟角色结构体组成的指针数组,*Parent指向角色Rn父角色.注意最上层角色的父角色为NULL.
由于角色rn所拥有的结构体structRrn中包含其父角色Parent,如果父角色不是最上层角色,那么父角色所拥有的角色关系结构体中还有它自己的父角色,这样就可以由角色关系结构体形成一个Parent链表,可以用这个链表将所有角色纵向划分.Br数组表示角色的兄弟关系,可以用这个数组将所有角色横向划分.
2PBACL的建立
由于混合角色层次可在几何时间内分解为几个只包含I层次关系的子角色层[11],因此为了便于说明PBACL在服务请求的过程中的重要作用,设定本文中的角色层次只包含I层次关系,并在此基础上对应求角色集的求解规则进行说明.
图3为SSM化后的一简单的示例系统模型.
Fig. 3 Role model in a simple system.图3 系统中角色层次
在图3的基础上根据创建PBACL规则建立基于权限的访问控制列表1,并假设服务s4为被用户U1占用的关键服务项,则将s4对应行的第2列P[3][1]标记位置为2,第3列P[3][2]标明为用户U1.
Table 1 PBACL Correspond to the System of Fig. 4
3最佳角色集的求解
本节将阐述最佳角色集的求解过程以及对不稳定系统的快速重构.
3.1外部服务请求
当用户向系统请求服务授权时(以SRQ={s1,s2,…,sn}表示),系统应该分配给用户最为合适的角色集.而最为合适的角色集应包含2个含义:1)角色集能够满足外部服务请求并且包含的额外权限最少;2)角色集最小,这样才能减少角色的映射关系以及安全冲突的可能性.
假设某一时刻,用户U向系统发出服务授权请求SRQ={s1,s2,s3,s6},则系统将在PBACL中查询相关信息,根据自定义的角色加法,系统能够在保证关键权限得到保护的同时,快速算出满足要求的最佳角色集.
3.2求解最佳角色集的算法
求解最佳角色集SUM的算法流程如算法1,并假设系统服务请求为SRQ={s1,s2,…,sn}.
算法1. 求解满足服务请求的最佳角色集.
ComputeRS(I){*I为系统模型角色层次*
① 初始化:P[n][q]←0,SUM←∅;
② 按定义5将角色层次SSM化;
③ 根据SSM化后系统模型填写PBACL和构建角色关系结构体;
④forifrom1ton′
⑤switchP[i-1][1]
⑥case0:gotoT2;
⑦case1:gotoT1;
⑧case2:returnERROR;
⑨endswitch
⑩ T1:将U的ID赋值给P[i][2];*U为请求授权的用户*
算法1的基本思想是:先对整个系统角色模型进行SSM处理,然后填写PBACL表格,建立系统服务与角色之间的联系,确立哪些权限是系统关键服务权限以及关键权限授权情况,并且构建角色关系结构体,确定角色与角色之间的关系.对于用户服务授权请求,将先对每一项所请求服务的标志位进行判断,若为0则将其对应的根角色通过角色加法添加到SUM(具体过程见算法2);若为1则表示该项服务为系统关键服务,将用户ID进行注明后,继续标志位为0的步骤;若为2,则表示该项服务为系统关键服务且已经被占用,所以不能对用户U授权,返回错误信息.
以图3模型为例,假设系统服务授权请求SRQ={s1,s2,s3,s6},查询PBACL的过程中(以表1为例)发现,所请求的服务项s2为系统关键服务项,则有:PR=r4⊕r10⊕r11⊕r14={r2,r14},并将P[1][1]赋值为2,将请求服务授权的用户ID赋值给P[1][2].
对于如何由角色加法得到最佳角色集本文提出的算法流程如算法2.
算法2. 由角色加法得到最佳角色集.
SUM←PR(si)+SUM:
①SUM(i)←RPR(si).Role;
②flag←1;*有新角色加入SUM,flag置1*
③ (struct)Rn←(struct)R(RP(si));
④ ifflag=1
⑤flag←0;
⑥ formfromRn.Longto 0
⑦ forjfromi-1 to 0
⑧ ifSUM(j)=(Rn.Br[m-1])->Role
⑨ 标记该项为SUM(i)兄弟角色项;
算法2的基本思想是:首先将PR(si)赋值给SUM(i),然后SUM(i)和SUM已有的其他角色项依次相加,如果可以相加合并为SUM(i)父角色,SUM(i)的位置放置其父角色,其他被合并的角色位置置0.注意如果SUM(i)有多个兄弟角色,要找出它所有的兄弟角色才能够得到其父角色,在没有全部找到之前不能够将已找到的角色位置置0.例如r1,r2,r3,r4,r5和PR(si)=r6相加,如果r1,r5,r6相加得到角色r7,只有在全部找到角色r1和r5之后SUM才能变为0,r2,r3,r4,0,r7.
如果相加合并成功,用相加后的父角色即新的SUM(i)依次和SUM其他角色相加,重复上述过程,直到SUM(i)到SUM最后一项都没有找到其兄弟角色或者没有找到所有的兄弟角色为止.例如图3中求PR=r4⊕r10⊕r11,r10和r4不可合并第1次加法结束,此时SUM=r4⊕r10;将新角色r11加入SUM,根据角色继承关系r11和r10可合并得到父角色r5,可以得到SUM=r4⊕0⊕r5;SUM新加入角色r5,再根据角色继承关系可以知道r5和r4可合并得到角色r2,此时得到SUM=0⊕0⊕r2;r2再进行查找,查找到最后一项都没有可合并的项,而且此时再无新角色加入SUM,加法结束.由于每加入一个PR(si)到SUM都将运行算法2,所以SUM从加入第1个角色起就是所有已加入的PR(si)的最佳角色集.
因为在相加的过程中如果遇到其兄弟角色(Rn.Br[m-1])->Role则该次查找终止,并且在进行本次角色加法过程中SUM的长度不会改变,所以算法最复杂的情况是SUM中所有角色都相加合并成功,此时算法2所进行的查询比较次数最多,为i+(i-1)+(i-2)+…+1,角色加法的复杂度为O(i2);算法最好的情况就是PR(si)不能能够和已有的任意角色相加合并,其复杂度仅为O(i).
3.3系统快速重构
对于“不稳定型”系统,角色间继承关系的变化、角色和系统服务权限的增加与消除,现在很少有研究人员研究,如果从新执行一次算法,这对系统的消耗是极大的.而本文所提出方法只需根据系统结构的变化,对应增加与删除PBACL和角色关系结构体信息即可.例如在系统中删除某个系统权限si可以用算法3进行系统快速重构.
算法3. 系统删除权限si的快速重构.
① forifrom 1 ton′
② ifP[i-1][0]=si
③P[i-1][0]←P[n′-1][0];
④P[i-1][1]←P[n′-1][1];
⑤P[i-1][2]←P[n′-1][2];
⑥P[i-1][3]←P[n′-1][3];
⑦n′←n′-1;
⑧ gotoT1;
⑨ end if
⑩ end for
PR(si)
算法3可以分为2个步骤:
1) 删除PBACL.先是在PBACL列表中找到服务项,然后用最后一项服务项覆盖该项,最后将项数减1,如果该项为最后一项因为项数减1而删除该服务项.复杂度最多为O(n′).
2) 删除角色关系结构体.先找到系统权限si所对应的根角色PR(si),再找到它所拥有的结构体(struct)RPR(si),根据结构体中Br数组找到其兄弟角色所拥有的结构体(struct)RPR(si).Br [m],删除所有兄弟角色结构体中的PR(si)项,然后删除(struct)RPR(si),这样就可以实现系统快速重构.本算法复杂度主要集中在对兄弟角色结构体中的PR(si)项进行查找,因为有新增加m个角色,所以系统总的角色数为(m+n),所以复杂度最多为O((m+n)2).考虑到一般系统中角色数n大于权限数n′,综上所述,复杂度为O(n2).
4算法分析
本节将从求解效果、复杂度、安全性等方面对各算法进行详细的比较,来验证说明本文所提算法具有更加优异的性能.
4.1相关研究分析
He等人[10]提出根据局部域角色层次计算UMS的算法,其中UMS中的每个元素是一组唯一的最小角色集,在求解效果方面该模型如果非最底层角色rx不包含额外服务,则UMS中角色集存在冗余项;在复杂度方面是将处于同一层次的角色集的幂集加入到 UMS中,该算法最好情况是角色层次只包含一个子角色,算法的时间和空间复杂度都为O(n2),最坏情况是角色层次中除根角色外,其他角色都是根角色的直接子角色,算法的时间和空间复杂度都为O(2n-1).Du等人[12]提出唯一活动集(uniquely activable set, UAS)算法,采用权限继承和激活关系的混杂角色层次查找算法,在求解效果方面该方法有可能将包含请求权限的角色集排除掉,从而得出外部请求无法满足的错误结论;在复杂度方面该算法最好情况是混合层次结构中不包含激活关系,算法的复杂度为O(n2),最坏情况是混合层次结构中不包含继承关系,算法的复杂度为O(2n).Li等人[13]提出最小唯一集(minimal unique set, MUS)算法,先求出角色层次所对应的幂集,然后将密集中包含角色继承关系的元素去除,在求解效果方面该模型中当有外部权限请求时,在所得角色集的集合中进行查找,无法避免包含额外权限;在复杂度方面该算法显然该算法的复杂度最少为O(2n).以上3种算法均未考虑系统关键角色的保护问题,所以当角色或服务调整时将全部重新计算角色集查找源,不具有安全性与高效性.Fan等人[14]提出使用角色移交来对关键角色进行保护,但角色移交本身就存在风险性.
4.2本算法分析
在本角色系统中,根据系统信息建立的PBACL,加上每一个角色自己的角色关系结构体,经过算法2的角色加法规则,使得通过权限来确定角色、角色继承关系来得到最佳角色集是完全可行的.通过对系统角色模型的SSM化,使得角色与角色、角色与权限之间的关系变得十分简单,直接管理权限的角色总是在角色模型的最外层,从而让角色集的简化(角色加法)更加高效,不会存在额外权限等情况.所以当有外部服务授权请求时,系统能够高效得到满足需求的更加安全的最佳角色集.
本文空间复杂度可分为2部分:1)PBACL的创建;2)角色关系结构体(struct)Rn的创建.其中创建PBACL是根据系统服务的个数来得到一个二维数组P[n′-1][q](q最大为3),所以SSM化前后其空间复杂度为都是O(n′).角色关系结构体(struct)Rn所占空间大小起主导作用的是兄弟角色数组Rn.Br[]的大小.在SSM化之前,最坏的情况是除了根角色外,其他角色都是根角色的子角色,导致每个非根角色都有(n-2)个兄弟角色,此时的空间复杂度为O(n2);最好的情况是每个角色都只有0个、1个或者2个子角色,此时每个角色的兄弟角色最多为1,所以空间复杂度为O(n).SSM时,当在原有的系统中增加1个角色,最坏情况是新增角色是所有角色的兄弟角色,这将占用空间增大2n,最好情况是新增角色和其他角色都不是兄弟角色或者和其他某一个是,这将占用空间2;再增加1个新角色将又会在前面的基础上增加2~2(n+1),直到新增加完所有m个角色为止,这时所新增加的空间为2m~2n+2(n+1)+…+2(n+m).考虑到一般系统中角色数n是大于权限数n′的,所以新增加的空间复杂度为O(n)~O(n2).综上所述,本文空间复杂度为O(n)~O(n2).
本文时间复杂度也可分为2部分:1)填写PBACL;2)实现算法1中的for循环.其中填写PBACL就是填写一个二维数组P[n′-1][q] (q最大为3),其时间复杂度仅和权限数n′有关,为O(n′).实现for循环的时间复杂度主要集中在算法1中的角色加法.角色加法由算法2可知其复杂度只和权限请求数相关,为O(n′)~O((n′)2),所以本文算法的时间复杂度为O(n2)~O(n3).
显而易见的是,相比于其他算法的指数级空间复杂度,本文所提算法复杂度仅为多项式级,具有明显优势.
对于“不稳定型”系统,角色间的关系变化、角色或者权限的增加与消除,UMS[10],UAS[12],MUS[13]都没有做相应的处理,而本文提出了快速重构算法.
表2为本方案与参考文献中关于求解最佳角色集计算方案的性能比较.
Table 2 Comparison of Various Algorithms in Performance
5算法在云计算环境中的运用
典型的云环境下,最终用户的数据访问权限一般由数据拥有者指派,具体表现为2种形式:1)数据拥有者直接对用户指派资源的操作权限;2)通过角色将权限指派给用户.其中基于角色的授权是数据拥有者对访问者权限控制最为普遍的方式.
在云计算环境尤其是公有云环境中,有着海量的资源权限、角色和用户.因为数据拥有者拥有许多资源权限,而这些权限在云环境中授权给不同的角色,使得数据拥有者可以将许多种不同的角色组合指派给数据访问者.云计算环境中拥有海量的用户及资源,在实际授权过程中将会消耗大量的计算和存储资源去维持其角色与用户间的指派关系.有必要用一种基于权限集的角色查找算法,使得在云环境中可以根据用户的实际需求,选择出针对该用户会话中所访问资源权限的最优集合指派给用户,以达到安全高效的目的.
本文在云计算环境访问控制系统上对本文算法进行实验,并与UMS,UAS,MUS进行对比,对比结果如表3所示.
表3给出了当用户请求一定权限数时系统中角色指派完成时间.实验结果表明本文算法在处理权限请求数量一定时,角色指派的效率优于UMS,UAS,MUS算法.
Table 3Relationship of the Number of Privilege Request with the Time to Complete the Role Assignment
表3 权限请求数与角色指派完成时间
6多域环境下的访问控制
对于多域间的冲突消解与检测,科研人员已经做了大量的工作.He等人[10]提出了改变域间角色映射方式的方法来消除职责分离(separation of duty, SoD)冲突与循环继承冲突.Chae等人[15]通过对角色的特征描述来解决多域环境下的访问控制问题.本文采用的为系统SSM化后创建PBACL和角色关系结构体来对各个域的服务进行管理,能够很有效地避免多域环境下关键权限多分配问题,能够快速检测出由于域间映射带来安全冲突问题,例如循环继承冲突和角色互斥约束冲突等.
6.1多域环境下的关键权限控制
在多域的情况下,假设服务si为系统关键服务项,有多个用户想通过D2域这个跳板来控制D1域的关键服务,由于所有服务项的特性都已经记录在了PBACL中,无论是从那一域来的授权请求,都必须走算法1,即关键权限不会授权给多用户.如图4所示在多域情况下对关键权限s2的控制.
Fig. 4 The control of key privilege.图4 关键权限控制
Table 4 PBACL Correspond to the System of Fig. 4
6.2多域环境下循环继承冲突的检测
循环继承冲突是指某个域的角色拥有了比它更高级的角色而导致的冲突.如图5所示,D1域的角色r3通过D2域的角色rb映射而拥有了其父角色r1的权限.算法4就是用SSM化后建立的角色关系结构体来检测这种安全冲突.
Fig. 5 Cyclic inheritance conflict.图5 循环继承冲突
算法4. 域间循环继承冲突的检测.
① for eachrD1∈D1域do
③ 在D2域中找到rD1的映射角色rD2;
⑧ return发现循环继承冲突;
⑨ end if
图6为算法4中所用到的角色关系图.
Fig. 6 Role relationship of the algorithm 4.图6 算法4角色关系图
6.3多域环境下角色互斥冲突的检测
角色互斥冲突即是用户不能够同时拥有互斥角色集中任意2个角色的权限.角色互斥是实现跨域访问职责分离的重要手段.
Fig. 7 Role conflict.图7 角色互斥冲突
如图7所示,在D1域中角色r4和角色r5具有角色互斥约束关系,显然用户不能同时拥有两者.假如用户U拥有角色r3,显然它拥有角色r5的权限,他可能在一次域间会话中通过D2域角色rc的映射而拥有角色r4的权限,则违背了角色互斥原则.为了检测这个冲突,本文提出了算法5.
算法5. 域间角色互斥冲突的检测.
① whilerD1!=NULL
③ whilerD2!=NULL
⑦ return发现角色互斥冲突;
⑧ end if
⑩ end while
图8为算法5所用到的角色关系图.
Fig. 8 Role relationship of algorithm 5.图8 算法5角色关系图
7结语
对于RBAC模型下权限快速有效地授权给用户的同时如何保证关键权限的唯一授权性,本文提出了对系统RBAC模型SSM化后建立PBACL控制表,制定角色关系结构体的方案.通过将传统系统RBAC模型进行以权限为基础的简化处理(SSM),能够更好地管控系统服务权限,并以此为基础建立系统权限管理表,通过自定义的角色关系结构体和角色加法能够快速有效地响应用户的权限分配请求,给予最合适的角色集,与此同时可以保证关键权限不被多个用户占用.该模型同样可以实现“不稳定”系统的快速重构,适用于多域环境下的访问控制,能够很有效地避免多域环境下关键角色多分配的问题,能够快速检测出由于域间映射带来安全冲突问题,例如循环继承冲突和角色互斥冲突等.该模型经过复杂度分析并在云计算环境访问控制系统下进行实验,结果表明系统消耗小、效率高,能够为现有的Web服务技术、物联网、云计算等新兴技术安全的实现跨域访问提供理论与实践基础.
参考文献
[1]Antonios G, Ioannis M, Vincent C. Security policy verification for multi-domains in cloud systems[J]. International Journal of Information Security, 2014, 13 (2): 97-111
[2]Su Mang, Li Fenghua, Shi Guozhen. Action-based multi-level access coltrol model[J]. Journal of Computer Research and Development, 2014, 51(7): 1604-1613 (in Chinese)(苏铓, 李凤华, 史国振. 基于行为的多级访问控制模型[J]. 计算机研究与发展, 2014, 51(7): 1604-1613)
[3]Bartoletti M, Degano P, Ferrari G, et a1. Semanticsbased design for secure Web services[J]. IEEE Trans on Software Engineering, 2008, 34(1): 33-49
[4]Lu Jianfeng, Han Jiamin, Chen Wei, et al. Safety and availability checking for user authorization queries in RBAC[J]. International Journal of Computational Intelligence Systems, 2012, 5(5): 860-867
[5]Wang Wenhui, Han Jing, Song Meina, et al. The design of a trust and role based sccess control model in cloud computing[C]Proc of the 6th Int Conf on Pervasive Computing and Applications. Piscataway, NJ: IEEE, 2011: 330-334
[6]Moon S S, Heung S J, Yong W J. Constructing RBAC based security model in u-healthcare service platform[JOL]. The Scientific World Journal, 2015[2015-01-27]. http:dx.doi.org10.11552015937914
[7]Sadhana J, Shamik S, Jaideep V, et al. Security analysis of temporal RBAC under an administrative model[J]. Computers & Security, 2014, 46(4): 154-172
[8]Michael G, Jorge L. Authorization and obligation policies in dynamic systems[C]Proc of the 24th Int Conf on Logic Programming. Berlin: Springer, 2008: 22-36
[9]Ye Xinfeng, Gao Mingyu. Access control with hidden policies and credentials for service computing[C]Proc of the 9th IEEE Int Conf on Service Computing. Piscataway, NJ: IEEE, 2012: 242-249
[10]He Zhengqiu, Wu Lifa, Li Huabo, et al. Request-driven access control for service composition[J]. Journal of Southeast University: Natural Science, 2011, 41(3): 443- 448 (in Chinese)(贺正求, 吴礼发, 李华波, 等. 请求驱动的服务组合访问控制[J].东南大学学报: 自然科学版, 2011, 41(3): 443-448)
[11]Menzel M, Wolter C, Meinel C. Access control for cross-organizational Web service composition[C]Proc of the Int Conf on Computer Science and Information Technology. Piscataway, NJ: IEEE, 2007: 701-711
[12]Du S, Joshi J B D. Supporting authorization query and inter-domain role mapping in presence of hybrid role hierarchy[C]Proc of the 11th ACM Symp on Access Control, Models and Technologies. New York: ACM, 2006: 228-236
[13]Li Ruixuan, Tang Zhuo, Lu Zhengding. Request-driven role mapping framework for secure interoperation in multi-domain environments [J]. International Journal of Computer Systems Science and Engineering, 2008, 23(3): 193-206
[14]Fan Xiaokang, He Lianyue, Wang Xiaochuan, et al. A role man-agement method based on RBAC model[J]. Journal of Computer Research and Development, 2012, 49(SuppⅡ): 211-215 (in Chinese)(范小康, 何连跃, 王晓川, 等. 一种基于RBAC模型的角色管理方法[J]. 计算机研究与发展, 2012, 49(增刊Ⅱ): 211-215)
[15]Chae H, Jung J, Lee J H, et al. An efficient access control based on role attributes in service oriented environments[C]Proc of the 6th Int Conf on Ubiquitons Information Management and Communication. New York: ACM, 2012: 73-79
Luo Jun, born in 1963. Professor and PhD supervisor in Chongqing University. His main research interests include intelligent instrument system, information acquisition and information processing and development.
Zhao Chuanzhi, born in 1991. Master candidate. His main research interests include information security and embedded development.
Wang Fei, born in 1989. Master. His main research interests include information security and embedded development.
An Efficient Privilege Manage Method Based on RBAC
Luo Jun, Zhao Chuanzhi, and Wang Fei
(KeyLaboratoryofOptoelectronicsTechnologyandSystem(ChongqingUniversity),MinistryofEducation,Chongqing400030)
AbstractAccording to the exponential complexity and exile management measures of the most role-based access control model and algorithm when some services are requested, an efficient privilege manage method is put forward. After simplify system model (SSM) sets up, this paper proposes the privilege-based access control list (PBACL) and role plus(RP) aiming at managing the service authority effectively and more safely, then set up the structure of role relationship which divides the roles into transverse and longitudinal aiming at fast finding out the relationship of the roles. In view of different service request, the system can manage key privilege and correlated role by using PBACL; seek out the most appropriate roles set that satisfy the external service request by the user-defined RP algorithm, whose complexity is polynomial; resolve the conflict effectively because the key privilege is assigned to multiple users; support privilege fast reconstructed in the unstable systems. The scheme also adapts to access control in multi-domain. It can effectively avoid the problem that the key privilege is distributed to more than one user in multi-domain, and can also fast check out the security conflicts brought out by the roles mapped to other domains such as the cyclic inheritance conflict, the separation of duty, and so on.
Key wordsrole model; access control; role management; key privilege; security conflict
收稿日期:2014-11-22;修回日期:2015-11-10
基金项目:重庆市经济和信息化委员会科技攻关计划项目(10-cxy-02)
中图法分类号TP393
This work was supported by the Science and Technology Project of Chongqing Municipal Commission of Economy and Information Technology (10-cxy-02).