任志宇,陈性元,马军强
(1.解放军信息工程大学四院,郑州450001;2.河南省信息安全重点实验室,郑州450004; 3.数学工程与先进计算国家重点实验室,郑州450001)
基于属性的角色委派模型可达性推理方法研究
任志宇1,2,3,陈性元1,2,马军强1
(1.解放军信息工程大学四院,郑州450001;2.河南省信息安全重点实验室,郑州450004; 3.数学工程与先进计算国家重点实验室,郑州450001)
提出基于属性的角色委派模型,通过引入属性扩展授权管理策略的表达能力,并采用描述逻辑定义模型的概念及其关系。为解决分布式环境下授权管理策略检测困难的问题,对模型的用户-角色可达性问题进行定义和分析,采用SWRL描述推理规则,利用推理引擎实现用户-角色可达性的自动推理,并通过应用实例对推理方法的正确性和可行性进行验证。实验结果表明,针对某一策略进行推理时所需的时间随策略数量的增加上升平缓,因此,该推理方法适用于授权管理策略的自动检测,可有效避免因策略执行结果不直观而引发的安全隐患,为授权管理模型的安全应用提供支撑。
属性;角色委派;可达性;推理;基于角色的访问控制;描述逻辑
ARBAC[1]等模型的推出将基于角色的访问控制(Role-based Access Control,RBAC)[2]推广到大规模、分布式的环境中,但同时带来了策略检测困难等问题。在分布式环境下,授权管理策略数量巨大,策略之间存在复杂的因果关系,不同的管理操作之间可能会相互作用,通过人工的方法很难理解大量策略执行的效果,存在一定的安全隐患。因此,快速有效地检测授权管理策略的正确性与一致性,对于授权管理模型的安全应用至关重要。
授权策略的可达性问题[3]主要分析是否存在某一状态,使得不可信用户具有对指定资源的访问权限,其否定回答表示系统是安全的。针对ARBAC模型的可达性分析主要包括用户-角色可达性分析、角色-权限可达性分析、用户-权限可达性分析等。其中,用户-角色可达性(下文简称U-R可达性)分析是目前的研究热点,U-R可达性分析回答了某位管理员是否可以将某角色委派给指定用户,其他的可达性分析问题可以采用相似的分析方法。U-R可达性分析目前已有较多的研究成果。例如,文献[4-5]采用智能规划技术,文献[6-7]采用图灵机,文献[8]通过构建可达性状态图,文献[9]采用模型检测的方法,这些文献均以经典ARBAC模型作为研究对象,通过预设一些约束条件,从不同角度给出了分析的方法。
本文对ARBAC97模型的子模型URA97进行扩展,提出基于属性的角色委派模型,采用属性表达式作为授权管理策略的先决条件。属性的类型可以多种多样,用户的角色成员关系可作为其中一类属性,因此,本文所提出的模型比传统ARBAC模型更具有一般性,其策略具有更强的表达能力,而上述文献中的方法不能直接应用于基于属性的角色委派模型。
在基于属性的角色委派模型基础上,本文对模型中的U-R可达性问题展开研究,采用描述逻辑[10]对模型的概念及其关系进行定义,并对U-R可达性问题进行描述和分析,研究可达性分析问题是否可转换为对策略可达关系的分析,并给出证明。采用SWRL[11]描述可达性推理规则,利用Jess[12]推理引擎实现U-R可达性的自动推理,通过实例对推理方法的可行性进行验证,并进行性能分析。
基于属性的角色委派模型以ARBAC97模型的子模型URA97为基础,将can_assign和can_revoke策略进行扩展,以用户所具有的属性作为先决条件,并允许在执行策略之后更新用户的属性,以满足动态授权的需求。
基于属性的角色委派模型的策略表达如下:
(1)can_assign(ar,P,RT,AV),其中,ar表示管理角色;P为先决条件;RT表示能够被委派的目标角色集合;AV表示can_assign策略执行后发生变化的属性及属性值。
(2)can_revoke(ar,RT,AV),其中,ar表示管理角色;RT表示可被撤销的目标角色集合;AV表示can_revoke策略执行后发生变化的属性及属性值。
can_assign策略中的先决条件P由属性表达式的合取式组成,形如ae1∧ae2∧…∧aen,对能够授权的用户范围进行规范。属性表达式包含3部分,可表达为aθv。其中,a为属性名;v为属性值;θ为二元算子,用于对属性值进行比较。例如age≥25表示年龄不小于25岁。
属性表达式的算子具有表达肯定与否定语义的能力,如表达式(hasrole≠QE)表示用户未被授予质检工程师,因此模型中不再区分肯定先决条件和否定先决条件。
为简化U-R可达性问题,本文在分离管理约束的前提下讨论可达性问题,将角色分为管理角色和常规角色,要求管理角色只出现在 can_assign和can_revoke策略元组的第一部分。策略的执行仅关注用户与常规角色成员之间的关系变化,而不关心在操作执行时由谁来担任管理员角色,因此,策略元组的第一部分可以省略。
本文针对U-R可达性问题,采用描述逻辑表达模型中的概念及其关系,如图1所示。
图1 基于属性的角色委派模型中的概念及其关系
定义1 模型包含以下概念:
(1)USER表示用户,ROLE表示角色;
(2)AE表示属性表达式,ATT表示属性名,OPT表示属性算子,AV表示属性值;
(3)POLICY表示用户-角色委派策略,包含2个子概念,CANASG和CANREV分别表示can_assign策略和can_revoke策略;
(4)STATE表示用户的当前状态,包含用户所拥有的角色及当前属性值。
定义2 模型包含以下关系:
(1)BeIn:USER→STATE,表示用户的当前状态;
(2)StatehasRole:STATE→ROLE,表示在当前状态下用户被授予了某角色;
(3)StatehasAV:STATE→AV,表示在当前状态下用户具有某属性值;
(4)AEhasATT:AE→ATT,表示属性表达式中包含某属性名;
(5)AEhasAV:AE→AV,表示属性表达式中包含某属性值;
(6)AEhasOPT:AE→OPT,表示属性表达式中包含某算子;
(7)Satisfy:AV→AE,表示属性值满足属性表达式;
(8)CanassignhasAE:CANASG → AE,表示CANASG策略以某属性表达式作为先决条件;
(9)CanassignhasAV:CANASG → AV,表示CANASG策略中更新的属性值;
(10)CanassignhasRole:CANASG→ROLE,表示CANASG策略中的角色;
(11)CanrevokehasAV:CANREV→AV,表示CANREV策略中的更新属性值;
(12)CanrevokehasRole:CANREV→ROLE,表示CANREV策略将要撤销的角色。
定义3 模型包含以下推导关系:
(1)Reachable:POLICY→POLICY,表示某一个策略对于另一个策略可达,该关系具有传递性;
(2)TargetRoleofAV:AV→ROLE,表示从某属性值开始经若干策略后可达的所有角色。
这2类关系将在下文详细介绍。
对于某个用户,CANASG和CANREV策略将改变用户所拥有的角色及用户的属性值,称之为状态。策略执行后,将使用户从一个状态转换到另一个状态。
U-R可达性问题可描述如下:给定一个用户u,设初始状态s0∈BeIn.u,问从状态s0开始,是否存在一条策略序列p1,p2,…,pn∈POLICY,依次执行上述策略,经过状态s0,s1,…,sn∈STATE,可使用户获得目标角色rg,即rg∈StatehasRole.sn?
U-R可达性分析的状态转换图如图2所示。其中,s0为初始状态;sn为目标状态。
图2 U-R可达性分析的状态转换图
可达性分析主要关注用户是否获得目标角色,规定sn之前的状态均不包含rg,即获得rg的第一个状态即为目标状态。因此,路径中最后一个策略为CANASG策略,且rg∈CanassignhasRole.pn。
定义4 当策略序列p1,p2,…,pn∈POLICY满足以下条件,则称p1,p2,…,pn为针对初始状态s0及目标状态sn可达的策略序列:
(1)若pi∈CANASG(1≤i≤n),则Satisfy(∃Statehas-AV.si-1, ∀CanassignhasAE.pi), (∃Canass-ignhasRole.pi∈ ∀StatehasRole.si), (∃CanassignhasAV.pi∈∀StatehasAV.si)成立,即策略执行之前的状态所包含的属性值满足pi的先决条件,策略执行之后的状态包含策略所添加的角色以及更新后的属性值;
(2)若pi∈CANREV(1≤i<n),则(∃Canrevokehas-Role.pi∈∀StatehasRole.si-1), (∃CanrevokehasAV.pi∈∀StatehasAV.si)成立,即策略执行之前的状态中包含策略将要撤销的角色,策略执行之后的状态中包含策略更新后的属性值。
在可达策略序列中,为了提高分析效率,缩短序列长度,策略序列中每一条策略都应有助于后续策略的有效执行,与达到目标状态无关的策略不应添加到可达策略序列中。具体来说,前一条策略添加的角色或更新的属性值应满足下一条策略执行的条件,策略之间存在递进关系,称之为可达关系。下面分3种情况讨论CANASG策略之间的可达关系:
(1)若pi,pi+1∈CANASG,且Satisfy(∃CanassignhasAV.pi,∀CanassignhasAE.pi+1)成立,称pi,pi+1之间存在可达关系,可表达为Reachable(pi,pi+1);
(2)若pi,pi+2∈CANASG,pi+1∈CANREV,且(∃Canre-vokehasRole.pi+1∈∀CanassignhasRole. pi)),Satisfy( ∃CanrevokehasAV.pi+1,∀CanassignhasAE.pi+2)成立,则Reachable(pi,pi+2)成立;
(3)若Reachable(pi,pi+1),Reachable(pi+1,pi+2)成立,则Reachable(pi,pi+2)成立,策略之间的可达关系是可传递的。
当策略序列中存在多个连续CANREV策略时,如图3所示。
图3 策略序列示意图
若pi,pi+1,…,pi+j∈CANASG,pi+j+1,pi+j+2,…,pi+j+m∈CANREV,pi+j+m+1∈CANASG,且Reachable(pi,pi+j),((CanrevokehasRole.pi+j+1∪…∪CanrevokehasRole.pi+j+m)∈(CanassignhasRole.pi∪…∪CanassignhasRole.pi+1)),Satisfy(∃CanrevokehasAV. pi+j+m,∀CanassignhasAE.pi+j+m+1),由于CANREV策略不判断先决条件、不增加角色,因此序列中最后一个CANREV策略pi+j+m是真正“起作用”的策略,在pipi+1,…,pi+j中,一定存在一个CANASG策略pi+l,其中,l≤j,使 得 (∃CanrevokehasRole.pi+j+m∈∀CanassignhasRole.pi+l))成立。基于以上分析,在考查pi到pi+j+m+1的可达性问题时,上述策略序列与pi,pi+1,…,pi+j,pi+j+m,pi+j+m+1是等价的,因此,可得出Reachable(pi,pi+j+m+1)成立。
由于可达关系的可传递性,任意的开始于CANREV策略的可达策略序列都可以归为上述3种情况或其组合。
本文将初始状态s0进行转换,使状态中只包含初始属性值。转换公式如下:
上式在初始状态中删去角色,替换成相应的属性值,替换方法是找到这些角色所对应的CANREV策略,将这些策略包含的更新属性值添加进初始状态中,形成状态s′0。
定理 如果从s′0开始,存在CANASG策略p′1,p′m,令Reachable(p′1,p′m)成立,且满足:Satisfy(∃StatehasAV.s′0,∀CanassignhasAE.p′1),rg∈CanassignhasRole.p′m,则从s0到目标角色rg可达。
证 明:由s0到s′0的 转 换 公 式 可 知,∀CanrevokehasAV.(∃CanrevokehasRole-.∀Statehas-Role.s0)∈s′0,若Satisfy(∃StatehasAV.s′0,∀CanassignhasAE.p′1),则一定存在CANREV策略pr,满 足 ∀CanrevokehasRole.pr∈s0,并 令Satisfy(∃StatehasAV.pr,∀CanassignhasAE.p′1)成立,也就是说pr所撤销的角色包含在s0中,同时pr更新后的属性值满足p′1的属性表达式。因此,存在一条可达策略路径pr,p′1,…,p′m,可从s0开始,经过状态转换,获得目标角色rg。证毕。
根据上述定理,当考查初始状态到目标角色是否可达时,可以转换为对CANASG策略可达性的分析。
本文采用SWRL来表达推理规则。
规则1AV(?x)→Satisfy(?x,AE_null)
定义概念AE的实例AE_null,表示空属性表达式,规则1规定任意属性值均可满足AE_null。
规则 2CANASG(?x)∧CANASG(?y)∧CanassignhasAV(?x,?v)∧CanassignhasAE(?y,?e)∧Satisfy(?v,?e)→Reachable(?x,?y)
假设CANASG策略x和y,若x的属性值满足y的属性表达式,则称x到y可达。
规则 3CANASG(?x)∧CANASG(?y)∧CANREV(?z)∧CanassignhasRole(?x,?r)∧CanassignhasAE(?y,?e)∧CanrevokehasRole(?z,?r)∧CanrevokehasAV(?z,?v)∧Satisfy(?v,?e)→Reachable(?x,?y)
假设CANASG策略x和y,CANREV策略z,若策略x委派的角色,经CANREV策略撤销后,更新的属性值v满足策略y的属性表达式,则称x到y可达。
规则 4CANASG(?x)∧CANASG(?y)∧CANASG(?z)∧Reachable(?x,?y)∧Reachable(?y,?z)→Reachable(?x,?z)
假设CANASG策略x,y和z,若x到y可达,y到z可达,则x到y可达。
规则2~规则4对应于前面所分析的CANASG策略之间可达关系的3种情况。经过这3条规则的推理,可推理出所有CANASG策略的可达关系。
规则5AV(?x)∧CANASG(?y)∧CANASG(?z)∧Reachable(?y,?z)∧CanassignhasAE(?y,?e)∧Satisfy(?x,?e)∧CanassignhasRole(?z,?a)→TargetRoleofAV(?x,?a)
规则5根据规则2~规则4得出的策略可达关系,推理从属性值x开始,通过所有可能的可达策略序列可获得的所有角色。
本节首先通过应用实例,分析推理方法的可行性。之后通过性能测试,对推理方法的性能进行分析。
(1)应用实例分析
设角色的集合为{SoftEng,QuaEng,Tra},分别表示软件工程师、质量工程师、实习生。
设属性集合为{betrained,dep,hasrole,specialty},分别表示是否接受过培训、单位、已有角色和专业。
属性betrained允许的属性值集合为{true, false};dep允许的属性值集合为 {EngDep,COM,…},分别表示工程部、公司等;hasrole允许的属性值集合为角色集合;specialty允许的属性值集合为{SE,SD,…},表示软件工程、软件开发等。
设置如表1所示的策略(篇幅所限,只列出can_assign策略)。
表1 策略示例
假设工程部新员工Tom的专业为软件开发(specialty=SD),未经过工程部的培训(betrained= false)。考查Tom经过以上策略,是否可被委派为工程部的软件工程师。Tom当前的属性值不满足UA2,不可直接被委派为软件工程师,但其属性值可满足UA1,他可以先被授予实习生Tra,经过实习后,属性betrained为 true,可满足UA2,但不可满足UA3。经过对以上策略推理,Tom到角色SoftEng是可达的,到角色QuaEng不可达。
(2)性能分析
性能分析实验采用本体工具protege3.4.7和推理引擎 Jess7.1。实验用机配置为:Intel Core i5-3230M 2.6 GHz,4 GB RAM,Win7操作系统。
实验设置5种属性:a1~a5。每种属性分别对应10个表达式和10个属性值,表达式用aeij表示,属性值用vij表示,其中0≤i≤9,表示对应的属性编号, 0≤i≤9,用于区分同一属性中不同的表达式或属性值。
设属性值与属性表达式之间满足Satisfy(aeij,vij)关系,即属性值满足与其属性类型相同且编号相同的属性表达式,如Satisfy(ae11,v11),Satisfy(ae23,v23)。
实验1 设初始状态为s0=({r3}),目标角色rg=r7。表2列出实验中所用的策略实例,包含10条CANASG策略和10条CANREV策略,共20条。
表2 实验1中的策略实例
经过规则2~规则4的推理,得到CANASG策略之间的可达关系,再经过规则5的推理,得到如表3所示的结果,显示了不同属性值经过推理后可获得的角色集合。
表3 用例中targetRoleofAV关系推理结果
将s0转换为s′0={v12},通过查询表3中的结果可知,目标角色r7是可达的。可能的路径有ur(r3)→ua(r3)→ua(r4)→ua(r5)→ua(r6)→ur(r6)→ua(r7)。对表3中的其余推理结果进行验证,结果均正确。
实验2 对推理规则进行性能分析。分别以20,40,60,80,100条策略为例进行实验,记录不同策略数量条件下推理所需的时间,得到如图4所示的实验结果。
图4 不同策略数量所用推理时间
在图4中,线1是对规则2~规则4进行推理所需的时间,得到所有CANASG策略之间可达(Reachable)关系。线2是对规则5进行推理所需的时间,推理出所有属性值可达的角色(Target-RoleofAV)所需的时间。线3是对规则2~规则4进行实例化后推理所需的时间,以ua(r3)为例,实例化之后,推理得到的结果是所有从ua(r3)开始可达的策略。实例化后的策略如下:
规则2’CANASG(?x)∧CanassignhasAE(?x,?e)∧Satisfy(v12,?e)→Reachable(ua03,?x)
规则3’CANASG(?x)∧CANASG(?y)∧CANREV(?z)∧Reachable(ua03,?x)∧CanassignhasRole(?x,?r)∧CanassignhasAE(?y,?e) ∧CanrevokehasRole(?z,?r) ∧CanrevokehasAV(?z,?v)∧Satisfy(?v,?e)→Reachable(ua03,?y)
规则4’CANASG(?x)∧CANASG(?y)∧Reachable(ua03,?x)∧CanassignhasAV(?x,?v)∧CanassignhasAE(?y,?e)∧Satisfy(?v,?e)→Reachable(ua03,?y)
虽然线1随策略数量的增加上升速度较快,但针对某一策略,推理所需的时间随策略数量的增加上升平缓。因此,针对某一具体角色而进行的可达性推理是可行的,该方法对于授权策略的检测是实用的。
传统的RBAC管理模型以用户所拥有的角色作为先决条件,不能满足多样化授权管理策略的需要。本文提出基于属性的角色委派模型,通过引入属性,增强了授权管理策略的表达能力。在分布式环境下,授权管理策略数量巨大,策略之间相互关联。尤其在引入属性后,丰富的表达能力增加了策略分析的复杂度,策略执行的结果难以通过直观的方法实现推理分析,导致授权结果不可控,容易引发安全隐患。
本文对基于属性的U-R可达性问题进行深入分析,设计了基于SWRL的推理规则,利用本体工具protégé和推理引擎Jess实现了授权管理策略的自动推理。通过实例分析和性能分析验证了推理方法的正确性和可行性。本文为RBAC管理模型在分布式环境下存在的策略检测困难问题提供了一种有效的解决方法,由于属性的涵义广泛,基于属性的授权管理策略可涵盖经典ARBAC策略,因此该方法对于经典ARBAC同样适用。下一步将对模型进行扩展,增强授权管理策略的表达能力,并研究更高效的推理方法。
[1] Sandhu R,Bhamidipati V,Munawer Q.The ARBAC97 Model for Role Based Administration of Roles[J].ACM Transactions on Information and System Security,1997, 2(1):105-135.
[2] Sandhu R S,Coyne E J,Feinstein H L,et al.Role-based Access Control Models[J].Computer,1996,29(2): 38-47.
[3] Li Ninghui,Tripunitara M V.Security Analysis in Rolebased AccessControl[J].ACM Transactionson Information and System Security,2006,9(4):391-420.
[4] Sasturkar A,Yang P,Stoller S D,et al.Policy Analysis for Administrative Role Based Access Control[C]// Proceedings of the 19th IEEE Workshop on Computer Security Foundations.Washington D.C.,USA:IEEE Computer Society,2006:124-138.
[5] 刘 强,姜云飞,饶东宁.基于Graphplan的ARBAC策略安全分析方法[J].计算机学报,2009,32(5): 910-921.
[6] 杨秋伟,洪 帆,杨木祥,等.基于角色访问控制管理模型的安全性分析[J].软件学报,2006,17(8): 1804-1810.
[7] Jha S,Li Ninghui,Tripunitara M,et al.Towards Formal Verification of Role-based Access Control Policies[J]. IEEE Transactions on Dependable and Secure Computing,2008,5(2):242-255.
[8] Stoller S D,Yang P,Ramakrishnan C R,et al.Efficient Policy Analysis for Administrative Role Based Access Contro[C]//Proceedings of 2007 ACM Conference on Computer and Communication Security.[S.l.]:ACM Press,2007:445-455.
[9] Silvio R,Anh T,Alessandro A.Boosting Model Checking to Analyse Large ARBAC Policies[C]//Proceedings of the 8th International Workshop on Security and Trust Management.Pisa,Italy:ACM Press,2012:273-288.
[10] Baader F,Calvanese D,McGuinness D,etal.The Description Logic Handbook:Theory,Implementation, and Applications[M].Cambridge,UK:Cambridge University Press,2003.
[11] Horrocks I,Patel-Schneider P F,Boley H,et al.SWRL: A Semantic Web Rule Language Combining OWL and RuleML[EB/OL].(2011-11-30).http://www.w3. org/Submission/SWRL/.
[12] OWLJessKB:A Semantic Web Reasoning Tool [EB/OL].(2010-04-25).http//edge.cs.drexel.edu/ assembilies/software/owliesskb/.
编辑 金胡考
Research on Reachability Reasoning Method for Attribute-based Role Assignment Model
REN Zhi-yu1,2,3,CHEN Xing-yuan1,2,MA Jun-qiang1
(1.The 4th Institute,PLA Information Engineering University,Zhengzhou 450001,China;
2.Henan Province Key Laboratory of Information Security,Zhengzhou 450004,China;
3.State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 450001,China)
By introducing attributes to provide richer semantics for Role-based Access Control(RBAC)management policy,the attribute-based role assignment model is proposed.It is formalized by description logic,including concepts and relations.In order to resolve the difficulty of privilge management policy detection in distributed environment,the userrole reachability analysis problem is defined and analyzed.The inference rules are described by SWRL,and imported into the inference engine to realize automated reasoning.Application example shows that the reasoning method is correct and feasible.Experimental result shows that the reasoning time rises slowly by the count of policy.So the reasoning method is practical for the automatic policy detection.It can avoid potential security problems,and offer a basis for the safe application of the privilge management model.
attribute;role assignment;reachability;reasoning;Role-based Access Control(RBAC);description logic
1000-3428(2014)09-0143-06
A
TP393.08
10.3969/j.issn.1000-3428.2014.09.029
国家“973”计划基金资助项目(2011CB311801);河南省科技创新人才计划基金资助项目(114200510001)。
任志宇(1974-),女,博士研究生,主研方向:信息安全,访问控制,授权管理;陈性元,教授、博士、博士生导师;马军强,副教授。
2013-09-09
2013-10-11E-mail:zhiyu.ren@163.com