基于双层角色和组织的可扩展访问控制模型
2015-12-13熊厚仁陈性元杜学绘
熊厚仁 陈性元 张 斌 杜学绘
1 引言
通过引入角色的概念,基于角色的访问控制模型(Role-Based Access Control, RBAC)[1]中用户不是直接与权限相关联,而是将权限赋予角色,通过为用户分配合适的角色从而获得指定权限,极大地降低了授权管理复杂度,并具有策略中立、强扩展性、易于管理等特点,更适用于现代信息系统。自提出以来,RBAC得到了广泛的研究和应用,包括RBAC管理模型ARBAC研究[2]、基于时间和空间的RBAC研究[3,4]、RBAC中的职责分离约束研究[5]及结合其它约束研究[6]、基于工作流的 RBAC研究[7]、基于 RBAC的委托研究[8]、RBAC与信任管理结合的研究[9],跨域访问控制研究[10],角色工程研究[11]及围绕RBAC展开安全性分析研究[12,13]等。以上研究根据实际应用需要对经典RBAC进行改进或扩展,从而满足不同应用环境的特定需求。
现有针对 RBAC模型的应用及研究继承了RBAC的诸多优点,但仍存在一些适应性、安全性及复杂度等方面的问题,具体表现为:
(1)传统角色概念不能同时满足组织层面和应用层面的访问控制需求。RBAC模型中的授权管理包括用户授权(user-role assignment)和角色授权(role-permission assignment)。在实际系统中,人员信息和资源信息往往交给不同人员管理,分别由人事部门和信息管理部门负责。在较大规模的组织或企业中,很难找到既熟知人员的职责分工,又熟悉应用系统业务流程的管理人员。现有研究中,RBAC模型单一的角色设置不符合现实世界的真实情况,其适用性较低。文献[14]提出将角色划分为职能角色和任务角色的思想以解决以上问题,但该方案用于具有多个相似组织的大型分布式系统时易带来角色和权限数量过多等问题。
(2)在由多个相似组织组成的大型分布式网络中,现有研究存在角色、权限数量过大和冗余等不足,易导致权限分配繁琐、管理复杂等问题。分布式网络呈现多域、动态等特点,由多个具有组织结构特点的域构成,且每个域都采用RBAC模型时,需要为每个域定义相应的角色及权限,不仅容易造成角色和权限冗余,也带来了较大的管理复杂度,特别是增加了跨域访问控制的难度和复杂性。文献[15]在 RBAC的基础上引入组织的概念以解决该问题,但存在单一角色设置及私有权限得不到有效保护的问题。
(3)现有研究大多将权限视为一个整体,主要集中于用户权限分配、权限约束的管理,忽视了资源的重要性,或者未对面向RBAC的授权管理中的资源、资源操作及权限分配的管理进行深入具体的描述,或者其资源管理不具有通用性和可扩展性。
针对以上问题,本文对文献[14]提出的双层角色进行延伸,在文献[15]引入的基于组织和角色的访问控制的基础上,将双层角色与组织相结合,提出支持资源管理的基于双层角色和组织的可扩展访问控制模型(Scalable Access Control Model Based on Double-Tier Role and Organization, SDTROBAC),解决现有研究中存在的角色设置单一使得适应性差、存在角色或权限冗余、资源管理得不到足够重视等问题。
2 基于角色区分的双层角色架构
RBAC中用户授权和角色授权部分的管理由不同管理员完成。若角色与组织架构中的职能分工对应,用户授权工作比较直观方便,但角色授权工作就非常复杂;若角色按照应用系统内的业务划分制定,则角色授权工作可以由应用系统管理员完成,但用户授权则会变得比较繁琐。将授权管理工作按照组织层面和应用层面进行区分,可以极大地降低管理负担和复杂度。通过将角色概念进行拆分,提出基于角色区分的双层角色架构:在组织层面,按照组织架构中用户的职责分工情况,设置职能角色;在应用层面,按照应用系统内的业务划分和资源属性,设置任务角色,如图1所示。
图1 基于职能角色和任务角色的双层角色架构
与RBAC中的角色层次类似,两种角色均具有角色层次结构及与之对应的角色树。其中任务角色直接与权限相关联,是权限的集合,其层次结构能够体现权限的继承关系;职能角色树中上下级节点之间是部门间的层次关系和岗位对部门的隶属关系,没有权限继承关系。
3 基于双层角色和组织的可扩展访问控制模型SDTR-OBAC
3.1 模型主要思想
通过引入组织的概念,将双层角色和组织相结合,并对权限概念加以扩展,改进经典RBAC模型,提出支持资源管理的基于双层角色和组织的可扩展访问控制模型SDTR-OBAC,如图2所示。
SDTR-OBAC模型的主要思想是:将传统的角色概念划分为职能角色和任务角色,解决传统角色概念不能同时满足组织层面和应用层面需求及适应性差的问题;引入组织的概念,代表进行协作的各个域,并将分配给用户的角色扩展为组织-职能角色二元组,将与权限关联的角色扩展为组织-任务角色二元组,通过组织-职能角色和组织-任务角色间的映射关系建立用户与权限之间的关联,解决由大量相似组织或域构成的分布式环境下角色、权限过多或冗余问题;经典RBAC模型中由操作和资源构成的权限扩展为由操作和资源类型构成的二元组,提高角色授权管理效率;对职能角色、任务角色分别定义不同的继承关系,解决下层角色的敏感权限得不到有效保护的问题;分析描述了针对资源、操作和权限等的管理,解决现有研究缺乏面向授权管理的资源管理的问题;引入职责分离约束、势约束等授权管理安全约束,对权限继承、用户角色分配、角色权限分配和角色映射关系等问题进行限制,提高授权管理的安全性。
图2 基于双层角色和组织的可扩展访问控制模型SDTR-OBAC
3.2 形式化描述
本文采用集合论和一阶逻辑分别对模型的元素、关系、函数和约束进行形式化定义。
3.2.1 模型元素与关系
定义1 模型元素
(1)U, S, Op, Res:与经典RBAC定义相同,分别表示用户、会话、操作和资源的集合。
(2)O:组织集合,代表构成分布式系统的各个域;R:角色集合,包含职能角色FR和任务角色TR,即R = F R ∪ T R ; ResT:资源类型集合。
(3)OFR, OTR:分别表示组织-职能角色集合和组织-任务角色集合,ofr∈OFR和otr∈OTR是由组织分别与职能角色和任务角色构成的二元组,即ofr=(o,fr),otr=(o,tr),其中fr∈FR, tr∈TR。
(4)P:权限,对经典RBAC中权限的概念进行扩展,权限 p ∈ P 是由操作和资源类型构成的二元组,即 p =(op,rt),其中op∈Op, rt∈ResT。
(5)C:约束,对用户与组织-职能角色分配、组织-职能角色与组织-任务角色映射、组织-任务角色的权限分配、组织层次关系、角色层次关系等进行限制,主要包括职责分离约束SoD,势约束Cardinality等。
定义2 模型关系
(1)UOFR ⊆ U × O × F R :多对多的用户与组织-职能角色分配关系,类似于经典RBAC中的UA;US⊆U×S:用户与会话关系,用户可激活多个会话,但一个会话只能属于一个用户;SOFR⊆S×O×F R:会话与组织-职能角色对之间的多对多映射关系;OTRP ⊆ O × T R× P :组织-任务角色与权限映射关系,类似于经典RBAC中的PA。
(2)OFR ⊆ O× F R,OTR⊆O×TR,ORes⊆O×R es:分别表示多对多的组织与职能角色、组织与任务角色、组织与资源之间的关联关系。
(3)FRTR ⊆ FR× T R,OFROTR⊆ OFR× O TR:分别表示多对多的职能角色与任务角色映射关系和多对多的组织-职能角色与组织-任务角色映射关系。OFROTR主要由组织之间的信任关系和FRTR决定,若两个组织 o1,o2间的信任关系表示为 o1↔o2,则 OFROTR={ ((o1,fr), (o2,tr))|(o1,fr)∈ O FR ∧(o2,tr)∈ O TR ∧ o1↔o2∧(fr, tr)∈FRTR }。
(4)OpResT ⊆ Op× R esT , PResT⊆ P × R esT,POp⊆P× O p, ResTRes⊆ R esT× R es:分别表示操作与资源类型关联关系、权限和资源类型的关联关系、权限和操作的关联关系和资源与资源类型的隶属关系。
(5)OH⊆O×O:组织层次关系,指组织之间的上下级隶属关系和管理关系,具有自反性、反对称性和可传递性,是偏序关系,两个组织 o1∈ O ,o2∈ O 间的层次关系定义为 ( o1, o2)∈ O H ,表示o1≤o2。
(6)RH⊆R×R:角色层次关系,与经典RBAC相同,包含职能角色层次关系FRH ⊆ F R × F R和任务角色层次关系TRH ⊆ T R × T R,即RH = FRH∪ T RH。与组织层次关系OH类似,角色层次关系RH也具有自反性、反对称性和传递性,是偏序关系。为了保护下层角色的敏感权限,两类角色采取不同的继承策略,即职能角色层次中不存在权限继承和用户继承关系,上下级角色间只存在管理关系,即 ( fr1, fr2)∈FRH表示为fr1≤fr2;而任务角色层次中存在权限继承但不存在职能角色继承,即(tr1, tr2)∈TRH表示为tr1≤tr2。
(7)OFRH ⊆ O FR× O FR:组织-职能角色层次关系,依赖于组织层次关系和职能角色层次关系,是偏序关系,即 (o fr1, ofr2)∈ O FRH或 o fr1≤ofr2当且仅当 o1≤o2∧fr1≤fr2,其中ofr1=(o1, fr1), ofr2=(o2, fr2) 。
(8)OTRH ⊆ O TR× O TR:组织-任务角色层次关系,依赖于组织层次关系和任务角色层次关系,是偏序关系,即 (o tr1, otr2)∈ O TRH或 o tr1≤otr2当且 仅 当 o1≤o2∧tr1≤tr2, 其 中otr1=(o1,tr1),ofr2= ( o2, tr2) 。
(9)ResH ⊆ R es× R es:资源层次关系,主要指资源间的包含关系,是偏序关系, (r e1, re2)∈ResH表示 r e1≤re2;ResTH⊆ R esT× R esT:资源类型层次关系,是资源类型间的包含关系,是偏序关系,(rt1, rt2)∈ R esTH 表示 r t1≤rt2; OpH⊆Op×Op:操作层次关系,主要指操作间的蕴含关系,如读写操作蕴含只读操作,是偏序关系, (o p1, op2)∈OpH表示 o p1≤op2。
(10)PH⊆P×P:权限层次关系,由操作蕴含关系和资源类型包含关系决定,是偏序关系,即(p1, p2)∈ P H 或p1≤p2当且仅 当op1≤op2∧rt1≤ r t2,其中 p1= ( op1,rt1), p2= ( op2,rt2)。
其中,“≤”和“≤”的区别为前者不存在权限继承和用户继承关系,而后者存在权限继承关系。
3.2.2 模型函数
定义 3 模型函数 模型包含与以上关系对应的相关函数,限于篇幅,主要给出以下关键函数。
(1)user: S→U:会话到用户的映射,通过该函数查找与会话s关联的用户u。
(2)re s types: Res→2ResT:资源到其所属资源类型集合的映射,某具体资源可属于多种资源类型。
(3)re s orgs: Res→2O:资源到其所隶属的组织集合的映射,资源可隶属于多个组织。
(4)assigned_orgs-trole: OFR→2OTR:组织-职能角色到组织-任务角色集合的映射,可为某组织-职能角色对映射多个组织-任务角色对。
(5)a ss igned_orgs-frole:U→2OFR:用户到为其分配的组织-职能角色集合的映射,形式化表示为
(6)a ss igned_users: OFR→2U:组织-职能角色到用户集合的映射,形式化表示为:assigned_users(o,fr))= {u |(u,( o, fr))∈ U OFR}。
(7)a ct ive_orgs-frole: S→2OFR:会话到其可用的组织-职能角色集合的映射,形式化表示为:active_orgs-role(s)⊆ assigned_orgs-frole(user(s))。
(8)a ss igned_privilege: OTR→2P:组织-任务角色到权限集合的映射,包含直接分配的权限和继承而来的权限,形式化描述为:assigned_privilege(o, tr)={p ∈ P |∃t r' ≤ tr ∧ ∃o' ≤ o ∧ ((o', t r' ),p)∈ O TRP}。
(9)can_access(U,S,Op,Res):用于判断某用户是否可通过激活会话对资源执行特定的操作。can_access(u, s, op,re)= t rue表示用户u可通过激活会话s对资源re执行op操作。can_access(u,s,op,re)=true成立当且仅当下式成立:u=user(s) ∧ ( o, fr)∈ a ctive_orgs-frole(s) ∧ (∃ o ' ≤ o , o'∈resorgs(re))∧ (∃( o ' ', t r)≤ assigned_orgs-trole(o',fr) ∧(∃op', o p ≤op ') ∧ (∃ r t,restype(re)≤ rt)∧ ( op',rt) ∈assigned_privilege(o'',tr)) 。
3.2.3 安全约束
定义 4 模型约束 约束是模型中用于限制UOFR,OFROTR, OTRP和RH等关系的重要内容,本文主要给出UOFR和OFROTR的约束,其他如OTRP,RH等的约束可类似定义,主要考虑职责分离约束SoD和势约束Cardinality。
为了职责分离约束和势约束进行定义,引入通配符“?”和“*”表示组织O中任意一个组织o和O中不同的两个或多个组织,则可对职责分离约束和势约束进行如下形式化定义。
职责分离约束SoD:S o D⊆ ( 2RO+× N)。其中,RO+⊆R×O+; O+=O∪{?,*},N是一个自然数集且满足 ∀(ro,n)∈ SoD, |ro|≥n≥2, n∈N。
职责分离约束(ro,n)∈ S oD表示不能将n个或更多存在互斥关系的组织-角色对ro指派给某用户。
通配符“?”和“*”的区别是:“?”指组织 O中的相同组织,而“*”则指组织 O中的任意不同取值。当只有一种取值时,“?”和“*”具有相同的含义。
势约束Cardinality:cardinality:RO+→ N ,其中RO+⊆R× O+, O+=O∪ { ?, *},N是一个自然数 集 合 , ∀( r, o ) ∈ R O+,|assigned_users((r, o ))|≤cardinality((r, o))。
势约束 n =cardinality((r, o )) 表示能被指派组织o中角色r的用户数量是 n =cardinality((r, o))。
当(o, r)∈ OTR时,assigned_users((r, o))指经组织-职能角色映射获得组织-任务角色的用户。通配符“?”和“*”与职责分离约束SoD中定义相同。因为势约束中只有一种取值,因此在势约束中,“?”和“*”没有区别。例如,cardinality((r, ?))= 1 0与cardinality((r, *))= 1 0的含义是相同的,表示能够获得任意组织o中角色r的最大用户数量是10。
3.2.4 授权管理操作
定义5 授权管理操作 模型包含3类32种授权管理操作,分别为添加、删除用户,添加、删除职能角色,添加、删除任务角色,添加、删除组织,添加、删除操作,添加、删除资源类型,添加、删除资源,创建、删除静态互斥组织-职能角色集,创建动态互斥组织-职能角色集,创建静态互斥组织-任务角色集,创建动态互斥组织-任务角色集,添加、删除约束等24种系统要素管理操作;为用户分配、撤销组织-职能角色,创建、撤销组织-职能角色与组织-任务角色的映射关系,为组织-任务角色分配、撤销权限等6种权限授予与撤销操作;创建、结束会话2种用户访问行为管理操作。
限于篇幅,本文不对授权管理操作展开详细描述。
4 模型分析
本节主要对 SDTR-OBAC模型的表达能力和复杂度进行分析。
4.1 表达能力分析
表达能力是评价访问控制模型优劣的一个重要指标,通过采用构造模型系统的方法及以下定理分析模型的表达能力,证明模型具有与经典RBAC相同的表达能力。
引理1 任何基于经典RBAC的系统均可采用基于SDTR-OBAC的系统实现。
证明 给定任一经典RBAC (U,S,R,RH,Op,=Res,P,UA,PA,user),构造一个SDTR - O BAC =(U',S', R ', R H',FR,FRH,TR,TRH,O,OH,OFR,OFRH,OTR,OTRH,OFROTF,Op',OpH,ResT,ResTH,Res',ResH,P',PH,UOFR,OTRP,user',restypes,resorgs),其中:
(1)U',S',R',RH',Op',Res'和user'与 RBAC中的U,S,R,RH,Op,Res和user相同。
(2)对于组织 O ,定义O = { o| o =resorgs(rsi),i = 1 ,2,… , n },即RBAC中的所有资源属于同一个组织。
(3)对于FR和TR,定义R = F R = T R且RH=FRH = T RH,与 RBAC相同;对于OFR,OTR,定义OFR = O TR = O R = { (o, r) |o ∈ O ,r∈R};对于 ∀( o, r )∈ O R,定义((o, r) ,(o, r) )∈ O RH且ORH = OFRH=OTRH;对于OFROTF及 ∀(o, r)∈ O R ,由于OFR = O TR = O R,定义((o, r ) ,(o, r ))∈OFROTF。
(4)对于资源类型ResT,定义ResT = {rti|rti=restypes(rei),i = 1 ,2,… , n };对于 ∀rei∈ R es 和∀r ti∈ R esT ,分别定义 (rei, rei)∈ R esH和 (rti, rti)∈ R esTH 。
(5)对 于 ∀ o pi∈ O p, 定 义 (opi, opi)∈ O pH ;P' ⊆ O p× R esT,对于 RBAC 中的任一(op,rei)∈ P ,定义(op,rti)∈ P',其中rti=restypes(rei);对于 ∀( op,rti) ∈ P ',定义 ((op,rti),(op,rti) )∈ P H 。
(6)UOFR⊆U'×OFR,对于RBAC中的∀(u,r)∈ U A, 定 义 (u,( o, r))∈ UOFR;OTRP⊆OTR×P ',对于RBAC中的 ∀(r, p) = ( r ,(op,rei))∈ PA,定义((o, r ) ,(op,rti))∈ O TRP。
由此可见,基于经典RBAC的系统可通过构造基于SDTR-OABC的系统实现。 证毕
引理2 基于SDTR-OBAC的系统可通过基于经典RBAC的系统实现。
证明 对于任一SDTR - O BAC = (U,S,R,RH,FR,FRH,TR,TRH,O,OH,OFR,OFRH,OTR,OTRH,OFROTF,Op,OpH,ResT,ResTH,Res,ResH, P, PH,UOFR,OTRP,user,restypes,resorgs), 构 造 经 典RBAC = (U',S', R ', R H', O p', R es', P ', U A', P A', u ser'),其中:
(1)U',S',Op',Res'和user'与 SDTR-OBAC 中的U,S,Op,Res和user相同。
(2)对于 SDTR-OBAC 中的 ∀ oi∈O, ∀ oj∈O ,∀ f rk∈F R,∀ t rl∈T R和 ∀ ((oi, frk) ,(oj, trl))∈OFROTF,定义角色rik∈R',即SDTR-OBAC模型中的每个组织-角色对映射关系根据组织-职能角色对(oi, frk)定义成RBAC模型中单独的角色。
(3)对于OH⊆O×O,RH⊆R×R和OFRH⊆OFR×OFR, 定 义RH' = {(rik,rjl)|(rk, rl)∈ R H ∧(oi, oj)∈ O H∧((oi, frk) ,(oj, frl))∈ O FRH}。
(4)对于 P ⊆ O p× R esT 及 ∀ ( opi, rtj)∈ P ,定义P' = P ' ∪ { (opi, rej) |restypes(rej) = r tj}。
(5)对 于 UOFR ⊆ U × O FR 及 ∀(u,( oi, frk)) ∈UOFR, ∀ ((oi, frk) ,(oj, trl))∈ OFROTF,定义 (u, rik)∈ U A。
(6)对 于 OTRP ⊆ O TR× P 及 ∀ ((oj, trl) ,(opm,rtn))∈ O TRP ,∀ ((oi, frk) ,(oj, trl))∈ OFROTF ,定义PA' = P A' ∪ { (rik,(opm, ren) |restypes(ren) =rtn)}。
可见,基于经典SDTR-OBAC的系统可通过构造基于RBAC的系统实现。 证毕
定理1 SDTR-OBAC模型具有与RBAC相同的表达能力。
证明 引理1说明SDTR-OBAC模型的表达能力比RBAC强;引理2说明RBAC的表达能力比SDTR-OBAC强。因此,根据引理1和引理2可知,SDTR-OBAC模型与 RBAC模型具有相同的表达能力。 证毕
4.2 复杂度分析
RBAC通过在用户和权限之间引入角色极大地降低了授权管理的负担和操作复杂度,但在由多个组织或域构成的大型分布式网络环境下,其优势就不再明显。SDTR-OBAC通过引入组织的概念并将其与角色相结合,可在RBAC的基础上进一步降低复杂度,特别适合用于具有多个相似组织或域的分布式环境。
在分析SDTR-OBAC模型的操作复杂度之前,先定义以下同构度的概念。
定义 6 同构度 给定一个 SDTR-OBAC 模型,定义以下概念。
(1)对于 oi,oj∈ O ,r ∈ R ,R = F R ∪ T R ,当且仅当 (oi, r) ∈ O R ∧ ( oj, r )∈ O R时,oi与 oj对于r是同构的,记为: oi≡roj;对于oi,oj∈O ,Rc⊆R,R = FR∪TR,当且仅当 ∀r∈Rc,(oi, r)∈OR∧( oj, r )∈ O R时, oi与 oj对于集合Rc是同构的,即对于任意 r ∈ R c,oi与 oj是同构的,记为:oi≡Rcoj。
(2)c o mpatible_O*:2Rc→2O该函数将某个角色集Rc映射到对于该角色集同构的所有组织的集合,形式化表示为:对于Rc⊆R,R= F R∪TR且 Rc≠ ∅ ,compatible_O*(Rc)={o | ∀ r ∈Rc,(o, r )∈OR},特别地,定义compatible_O*(∅)=∅;若 1<|compatible_O*(Rc)|< | O|, 则 称SDTROBAC模型对于Rc是部分同构的,记为Rc-部分同构;若compatible_O*(Rc)= O ,则称SDTR-OBAC模型对于Rc是完全同构的,记为Rc-完全同构;若|compatible_O*(Rc)|= 1 ,则称 SDTR-OBAC 模型对于Rc是异构的,记为Rc-异构。
(3)同构度 h index: 2Rc→[0,1]将角色集映射到区间[0,1]中某个实数的函数,形式化表示为:hindex(Rc)= |compatible_O*(Rc)|/|O|。
同构度函数hindex(Rc)用于衡量SDTR-OBAC模型系统中多个组织对于某特定角色集的同构程度,即该角色集在这些组织中的相似程度。若SDTR-OBAC模型是Rc-完全同构的,则hindex(Rc)= 1;若 SDTR-OBAC 模型是Rc-异构的,则hindex(Rc)= 1 /|O|;若SDTR-OBAC模型是Rc-部分同构的,则1/|O|< hindex(Rc)< 1 。
根据以上同构度的定义,可得出hindex(R)的以下两个性质。
定理 2 对于角色集R中任意两个非空子集Rc1, R c2,若 R c1⊆Rc2,则hindex(Rc1)≥ hindex(Rc2)。
证明 给定条件 R c1≠∅, R c1⊆Rc2, ∀r∈Rc1⇒r∈Rc2。
对 于 ∀o ∈ c ompatible_O*(Rc2) ⇒ ∀r∈ R c2,(o, r) ∈ O R ⇒ ∀r ∈ R c1,(o, r) ∈ O R ⇒ o ∈compatible_O*(Rc1)。即 c ompatible_O*(Rc2)中的任一组织o也 是 c ompatible_O*(Rc1)中 的 元 素 , 因 此|compatible_O*(Rc2)|≤ | compatible_O*(Rc1)|,从 而 hindex(Rc1)= |compatible_O*(Rc1)|/|O|≥|compatible_O*(Rc2)|/|O|=index(Rc2)。 证毕
定理3 若SDTR-OBAC模型是Rc-完全同构的,则对于Rc中的所有非空子集,SDTR-OBAC模型也是完全同构的。
证明 根据同构度的定义,模型是Rc-完全同构的,则compatible_O*(Rc)= O ,从而hindex(Rc)=|compatible_O*(Rc)|/|O|= 1 。
从 定 理 2可 知 , ∀ R c' ⊆ R c ∧ R c'≠ ∅ , 则hindex(Rc' )≥ h index(Rc)= 1 成 立 , 根 据 定 义 ,hindex(Rc')≤ 1 。
从而可得hindex(Rc')= 1 ,则compatible_O*(Rc')= O ,即模型是Rc-完全同构的。 证毕
基于以上定义,将SDTR-OBAC与经典RBAC进行对比分析。SDTR-OBAC与RBAC中角色数量的关系可描述为 | Rc|RBAC=O |×[1 + (|Rc|SDTR-OBAC- 1 )× h index(Rc)],则对于完全同构的系统,由于hindex(R)= 1 , 从 而 |R|RBAC= | O|×[1+(|R|SDTR-OBAC-1 )× 1 ]=| O|× | R|SDTR-OBAC,即经典RBAC中所需的角色数量是完全同构的 SDTROBAC模型中角色数量的|O|倍;对于异构系统,由于 hindex(R)= 1 /|O|,|O|= 1 ,从而 | R|RBAC=|O|×[ 1 + ( |R|SDTR-OBAC- 1 )× 1 ]= | R|SDTR-OBAC,即异构系统中RBAC和SDTR-OBAC所需角色数量相同。
因此,应用于同构系统中,与RBAC相比,在保持其灵活、易于管理等优点的同时,SDTR-OBAC模型所需角色数量将明显减少,特别是在由多个具有相似业务功能的组织构成的大型分布式系统中,SDTR-OBAC模型的优势是显而易见的。但当系统中所有组织均没有相似的业务功能时,由于引入了组织的概念且角色被划分成职能角色和任务角色,使用SDTR-OBAC将增加额外的管理负担。
5 实例分析
下面通过实例说明本文模型的合理性和有效性。假设有一公司com,其包含 3个子公司 c om1,com2, c om3; 6类职能角色:总经理 fr1,业务经理fr2,主管 fr3,会计 fr4,出纳 fr5及其他普通职员 fr6;4个任务角色:系统管理员 t r1,普通管理员 t r2,高级用户 t r3,普通用户 t r4;公司向所有人员提供了一个公司业务处理系统,包含3种类型资源:数据库类资源DB, Web服务类资源WS,网站类资源WB,相应类型的资源分别包括 d b11, d b12, d b13, w s21,ws22, w s23, w b31, w b32, w b33, w b34; 5类操作:更新u,下载d,浏览b,查询q,调用i。讨论该公司用户li, wang, liu, zhang, zhao进行授权和访问控制的过程。
该实例中,部分关键的元素,关系和函数定义
如下:资源 R es={db11, db12, db13, ws21, ws22, ws23, wb31,wb32,wb33,wb34};权限 P ={ p1, p2, p3, p4, p5, p6, p7, p8,p9,p10} ={(u, D B),(u, WS),(u, W B),(d , WB),(b,WS),(b, W B),(q, DB),(q, WS),(q, WB),(i, W S)};用户-角色关 系 UOFR={(li,com,fr1),(wang,com,fr2) ,(liu,com1,fr3),(zhang,com3, fr6),(zhao, c om2,fr5)};角色-权限关系OTRP={(com1, tr1, p1) ,(com3, tr1, p3) ,(com2, tr1, p2),(com1, tr2, p7) ,(com3, t r2, p8) ,(com2, tr2, p9) ,(com2, tr3,
p4),(com3, tr3, p5) ,(com3, tr3, p10) ,(com2, tr4, p6)};职能角色-任务角色关系: F RTR={(fr1, tr1) ,(fr2, tr2) ,(fr3,tr3) ,(fr4, tr4) ,(fr5, tr4) ,(fr6, tr4); 组 织 层 次 关 系 OH={(com,com1),(com,com2),(com,com3)};职能角色层次 关 系 FRH={(fr1,fr2) ,(fr2,fr3) ,(fr3,fr4) ,(fr3,fr5) ,(fr3,fr6)};任务角色层次关系 T RH={(tr1, tr2) ,(tr2, tr3),(tr3, tr4)} ;资源层次关系 R esH={(db11, db12) (db12,db13) ,(ws21, ws22) ,(ws22, ws23) ,(wb31, wb32) ,(wb32, wb33),(wb33, wb34)};权限层次关系 P H = {(p1, p7) ,(p2, p8),(p8, p10) ,(p10, p5) ,(p3, p4) ,(p4, p9) ,(p9, p6)};资源类型与 组 织 关 系 r esorgs(DB)={com1},resorgs(WS)={com3}, resorgs(WB)={com2} ; 职 责 分 离 约 束SoD = {({(fr4, *),(fr5,*)},2)};势约束:cardinality((fr1,*))= 1 ,c ardinality(tr1,*))= 1 。
该 5个用户分别提出以下访问请求: q1=can_access(li,s1, u, db13),q2=can_access(wang,s2, d,wb33),q3= can_access(liu,s3, i, w s23),q4=can_access(zhang,s4, i, w s21) , q5=can_access(zhao,s5, b,wb32) ,对这些访问请求进行判决。根据模型定义可分析得出 q1= t rue,q2= t rue , q3= f alse , q4= f alse,q5= t rue,即li, wang, zhao的访问合法,允许访问;liu和zhang的请求非法,拒绝访问。
以上实例可以看出,本文提出的SDTR-OBAC模型是合理的,可行的,可有效应用于多个组织中用户请求访问特定资源的授权管理和访问控制。以上实例涉及4个具有相似业务需求的组织,每个组织包含6个职能角色,4个任务角色和3类资源。为满足访问控制需求,应用本文所提模型时,以上实例仅需10个角色,10个权限即可实现。然而,若采用经典RBAC,所需的角色数为24,权限总数为34。可见,经典RBAC所需的角色数和权限数比SDTR-OBAC模型多。
6 结束语
授权与访问控制是继身份认证后兴起的又一重要信息安全技术。RBAC以其灵活、便于管理和策略中立等优点成为解决授权与访问控制问题的研究热点并取得了很多研究成果,但仍存在传统角色设置单一使得适应性较差、下级角色的私有权限难以得到有效保护、易带来角色或权限冗余及对资源管理关注不够等问题。针对这些问题,本文提出支持资源管理的基于双层角色和组织的访问控制模型并进行形式化定义。将传统角色划分为职能角色和任务角色,提出基于角色区分的双层角色架构,提高模型的适应性,并对两种角色分别定义不同的继承策略,解决下级角色的私有权限难以得到有效保护问题;引入具有域思想的组织的概念并与双层角色相结合,解决由大型分布式系统中易存在的角色、权限冗余问题;对资源、资源操作和权限等进行分析,将授权管理和资源管理相结合,解决现有研究缺乏面向授权管理的资源管理的问题;将经典RBAC中权限的概念扩展为操作和资源类型构成的二元组,提高授权管理效率。从表达能力、复杂度两个方面分析了模型的特点,表明该模型不仅保留了RBAC的特点与优势,且比RBAC具有较低的复杂度和较高的效率和适应性。下一步的工作是对模型的安全性进行分析证明。
[1] ANSI. 2004. American national standard for information technology-role based access control[S]. ANSI INCITS 359,2004.
[2] Gofman M I and Yang Ping. Effecient policy analysis for evolving administrative role based access control[J].International Journal of Software Informatics, 2014, 8(1):95-131.
[3] Liu Meng and Wang Xuan. Alternative representation of periodic constraint on role enabling in TRBAC and GTRBAC[J]. Journal of Computational Information Systems,2013, 9(24): 9909-9918.
[4] Abdunabi R, Al-Lail M, Ray I, et al.. Specification, validation,and enforcement of a generalized spatio-temporal role-based access control model[J]. IEEE Systems Journal, 2013, 7(3):501-515.
[5] Muhammad Asif-habib. Mutually exclusive permissions in RBAC[J]. International Journal of Internet Technology and Secured Transactions, 2012, 4: 207-220.
[6] Ma Li, Zhou Yan-jie, and Duan Wei. Extended RBAC model with task-constraint rules[C]. Proceedings of 8th Future Information Technology: Lecture Notes in Electrical Engineering, Gwangju, Korea, 2014, 276: 245-250.
[7] Zu Xiang-rong, Liu Lian-zhong, and Bai Yan. A role and task-based workflow dynamic authorization modeling and enforcement mechanism[C]. The 1st International Conference on Information Science and Engineering (ICISE2009),Nanjing, China, 2009: 1593-1596.
[8] Sohr K, Kuhlmann M, and Gogolla M. Comprehensive two-level analysis of role-based delegation and revocation policies with UML and OCL[J]. Information and Software Technology, 2012, 54(12): 1396-1417.
[9] Liu Xin-xin and Tang Shao-hua. Analysis of role-based trust management policy using description logics[J]. Journal of Computational Information Systems, 2012, 8(13): 5445-5452.
[10] Unal D and Caglayan M U. A formal role-based access control model for security policies in multi-domain mobile networks[J]. Computer Networks, 2013, 57(1): 330-350.
[11] Zhang Da-na, Ramamohanarao K, Zhang Rui, et al.. Efficient graph based approach to large scale role engineering[J].Transactions on Data Privacy, 2014, 7(1): 1-26.
[12] Ranise S, Truong A, and Armando A. Scalable and precise automated analysis of administrative temporal role-based access control[C]. SACMAT’14, London, Ontario, Canada,2014: 103-114.
[13] 崔鸿飞. ARBAC 权限泄漏分析及改进[D]. [硕士论文], 天津大学, 2012.Cui Hong-fei. Analysis of permission leakage in ARBAC and improvement[D]. [Master dissertation], Tianjin University,2012.
[14] 任志宇, 陈性元, 单棣斌. 基于双层角色映射的跨域授权管理模型[J]. 计算机应用, 2013, 33(9): 2511-2515.Ren Zhi-yu, Chen Xing-yuan, and Shan Di-bin. Cross-domain authorization management model based on two-tier role mapping[J]. Joumal of Computer Applications, 2013, 33(9):2511-2515.
[15] Zhang Zhi-xiong. Scalable role & organization based control and its administration[D]. [Ph.D. dissertation], George Mason University, 2008.