一种RBAC的描述逻辑表示方法
2020-04-19
来源:筏尚旅游网
第37卷第3期 2010年3月 一计算机科学 Vo1.37 No.3 Mar 2010 Computer Science 种RBAC的描述逻辑表示方法 马丽 马世龙 眭跃飞 伊胜伟 (北京航空航天大学计算机学院 北京100191) (中国科学院计算技术研究所智能信息处理国家重点实验室 北京100190) 摘 要 基于角色的访问控制(RBAC)通过角色来控制用户对资源的访问,极大地简化了安全管理。虽然对RBAC 的研究比较成熟,但由于RBAC目前缺乏形式化的表示,使得RBAC中的一些概念和性质存在不同的理解。描述逻 辑(DL)是一种基于对象的知识表示的形式化系统,它是一阶逻辑的一个可判定的子集,具有合适定义的语义,并且具 有很强的表示能力。为了给出RBAC的形式化方法,以描述逻辑为工具,RBAC96模型为基础,提出了RBAC的描述 逻辑DLRBAc。用描述逻辑的符号给出了RBAC中主要的元素和关系的形式化定义,并证明了这种描述逻辑表示对于 RBAC模型的忠实性。所提出的RBAC形式化模型可以作为进一步研究RBAC的理论基础。 关键词访问控制,角色,权限,描述逻辑,角色继承 中图法分类号TP309 文献标识码A Representation for RBAC Model in Description Logic MA Li MA Shi-long SUI Yue-fei YI Sheng-wei (Department of Computer Science,Beijing University of Aeronautics and Astronautics,Beijing 100191,China) (Key Laboratory of Intelligent Information Processing Institute of omputiCng Technology。Chinese Academy of Sciences,Beijing 100190,China) Abstract Role-Based Access Control(RBAC)controls the user’s access to resources by indirectly using roles,which simplifies the security management greatly.Although the research of RBAC model is a mature area,the lack of formali— zation of RBAC results in uncertainty and confusion about the concepts and meaning of RBAC.Description Logic(DL) is a kind of object—based knowledge representation formalism,and also a decidable fragment of first-order predicate lo- gic,with well—defined semantics and powerful representation capability.To give a formal description of RBAC,this pa— per took RBAC96 as a reference model and proposed a new fclrmalized method to RBAC with description logic,called D【琅BAc,which gives formal definitions to the concepts and relations of RBAC.This paper also proved that the formal representation is faithful to RBAC mode1.Based on the formalized model。we can further study RBAC. Keywords Access control,Role,Permission,Description logic,Role inheritance 基于角色的访问控制(Role-ased AccesBs Control, RBAC)E 。]通过角色控制用户对资源的访问,从而简化安全 看成是用户继承和权限继承,而Li等认为角色继承应该是激 活继承、用户继承和权限继承三者的有机结合¨5]。由于这些 管理。RBAC还可以支持多种安全策略,如自主型(DAC)和 强制型访问控制(MAC)c 。尽管现有的RBAC模型,如 RBAC96E ,NIST RBAC模型l_2](及后来的ANSI RBAC标 模型对角色继承都没有给出形式化的定义,所有的继承关系 都是隐含表示的,因此在讨论继承的含义时没有统一的解释, 只有在形式化表示的基础上讨论这些问题才有意义。并且, 准[3])等都对RBAC进行了系统的分析和描述,但由于缺乏 对RBAC形式化的表示,使得RBAC中的一些概念和性质描 述存在很多争议_5 ]。例如RBAC中角色层次是对组织机构 权力分配的一种自然的模型,RBAC96模型、NIST RBAC模 型和ANSI RBAC标准都把角色层次看成是一种偏序关系, 对RBAC进行形式化的分析有助于验证RBAC的说明是否 能够满足系统的安全需求,还可以比较不同的访问控制模型 和预测不同安全策略下的系统行为_7]。 描述逻辑(Description Logic,DL)Ⅲ8 是一种基于对象的 知识表示的形式化系统,它是一阶逻辑的一个可判定的子集, 但角色层次的含义却没有统一。在RBAC96模型中角色继 承与会话有关,所以角色继承可以解释为激活继承和权限继 承。NIST RBAC模型_2]和ANSI RBAC标准E。]把角色层次 到稿日期:2009—04—09返修日期:2009—06—16 发展规划(973)(No.2OO5CB3219O2)资助。 具有合适定义的语义,并且具有很强的表示能力。为了给出 一种RBAC的形式化表示方法,本文以描述逻辑为理论基 础,以RBAC96模型为参考模型,提出了一种基于描述逻辑 本文受国家自然科学基金(60273019,60496326,60573063和60573064)和国家重点基础研究 马 ̄(1974--),女,博士生,主要研究方向为信息安全、服务计算,E-mail:mali@nlsde.buaa.edu.cn;马世龙(1953一),男,博士生导师,主要研 究方向为信息安全、服务计算、网格;眭跃飞(1963一),男,研究员,主要研究方向为本体、服务计算、信息安全;伊胜伟(1977一),男,博士生,主要 研究方向为信息安全、集群计算 ・ 29 ・ 的RBAC形式化方法。 2 RBAC模型 定义5一个RBAC模型,S为1l元组,S一(U,R,P,S, UA,PA,RH,user,roles,permissions,Constraints)。其中, (1)U,R,P和S分别为用户、角色、权限和会话的集合; (2)UA U×R,用户一角色分配关系; (3)PA P×R,权限到角色的分配关系; (4)RHC__R×R,角色层次的偏序关系(也可以用≥表 示); 1描述逻辑介绍 描述逻辑(Description Logics,DLs)是一类通过定义一个 应用领域(世界)的相关概念(concepts),即领域的术语,并用 这些概念说明领域中对象(objects)和个体(individuals)的性 质(properties),即世界的描述,来表示该领域知识的知识表 示形式化语言。它是一阶谓词逻辑的一个可判定子集。但与 一阶逻辑不同的是,描述逻辑系统能提供可判定的推理服务。 描述逻辑的重要特征是它具有很强的表达能力和可判定性, (5)user,roles和pemirssions为函数,其中 它保证推理算法总能停止,并返回正确的结果。本节接下来 简单介绍基本描述逻辑的语法和语义。 基本的描述逻辑语言ALC[。]包含如下基本符号:个体常 元ao,a ”;原子概念名Ao,A ・・;概念名C。,C ・・;角色 r0,r ..;顶概念T,底概念上;概念构造子一,n,U,j;断言 算子[;逻辑连接词:一,一。 定义1概念C定义如下: (5.1)user:S—U将每个会话s映射为一个用户(在会话 的生命周期中不会改变); (5.2)roles:S一2 将每个会话S映射到集合roles(s) {r: /≥r((user(s),/)∈UA)}(会随时间变化); (5.3)每个会话S都有权限permissions(s)”一U ∈ ∽ { : ≤r((P, )∈PA)}; (6)Constraints为约束的集合。 注:1)本文只考虑互斥角色关系,用mutuallyexclusive C::一A IT l_L I—ClC r]C2 l jR.C 定义2断言 定义如下: 表示;2)这里的RBAC模型简化了RBAC96模型,不包含管 理组件。 ::一C(n){R(a,6)IC1[ I一 l 一 其中,c为概念,R为角色,a,b为个体常元。 定义3 在一定领域中,一个知识库KB一(TBox, ABox)由两个部分组成。其中TBox是一个关于包含断言的 有限集合,亦称为术语公理的集合;ABox是概念断言和角色 为了和下面的描述逻辑模型区别开,本文接下来用 RBAC状态来对应RBAC模型。 3 RBAC的描述逻辑表示 为了描述RBAC,我们提出RBAC的描述逻辑DLRBAc。 令L为描述逻辑DLpa ̄c的语言,包含如下符号: ・断言的有限集合。 ALC语义将概念解释为一个非空的论域的子集,角色是 该论域上的二元关系。形式上,一个解释 一(A ,・ )由一 个非空集合△ 和一个解释函数・ 组成,使得对每个原子概 念A,都有A C_A ,对每个原子角色r,都有 TI—A ;上 一D; (— C) 一I--CI; 顶概念和底概念:T,上; ・原子概念名:U,R,P,S; 原子角色名:PA,U_A,RH,roles,user,permissions, 概念构造子:一,r],V; 角色构造子:,。,~。 △ ×A 。 ・解释函数通过如下归纳定义扩展概念描述: ・mutuallyexclusive; ・・・・(CnD) 一C n19I;(CUD) 一C UD ; 其中,一,~为一元构造子,分别表示角色的逆和否;。为二元 构造子,表示角色的复合。 给定一个RBAC状态,我们可以扩充语言L使得L包含 如下符号: (1)对每个uEU,存在常量符号uEL; (2)每个rER,存在常量符号rEL; (3)对每个PE P,存在常量符号PE L; (4)对每个sES,存在常量符号sEL。 本文接下来用M表示DLRBAc模型,KB表示DLR ̄c的知 识库。 3.1 DI- ̄c语法 ・(V r.C) 一{xEA I VY.(z, )∈,』一 ∈CI}; (j r.C) 一{xEA { Y.(z, )∈r』^yEC }。 ・定义4在解释rF,一个断言 解释为真,记为I} , 如果 ・C Df,如果 一CU_D; ・n ∈CI,女Ⅱ果 一C(n); ・(n ,6 )∈r』,女口果 一r(a,6); ・j 一I,fI,如果 一一 ,其中 为断言; J} 蕴涵J} ,如果 = 一 ,其中 和 为 ・断言。 解释 是知识库KB的模型,记为I}KB。如果I是 KB中每个包含断言和实例断言的模型,则有1)若KB有模 型,则称KB是可满足的;2)若断言 对于KB的每个模型 都是可满足的,则称KB逻辑蕴含 ,记为KB} ;3)对概念 定义6在知识库KB中,概念C定义如下: C::一UlRlslPl—ClC几DI VR.Cl R.C 其中角色R定义如下: R::一尺H l UA J PA I user I roles I permissions J mu— tuallyexclusive l R—I~RlR。R C,若KB有一个模型J使得C ≠D,则称C是可满足的。 本文将在ALC及其扩展的语言嘲基础上提出RBAC的 描述逻辑。 定义7 KB中的断言 定义如下: ::一U(“)1R(r)IP(p)lS(s)lUA( ,r)1PA(p,r)Iuser 在RBAC96模型中没有函数permissions,本文为了表示权限和会话之间的关系,将这种关系用permissions表示。 ・30・ (s,“)I roles(s,r)l permissions(s,户)IRH(r ,r)I mutuallyex— clusive( 4)对角色构造子的解释J可以定义为:对任意R 和 R2,有 J(~R1)一(△×△)一J(R1)一△2一I(R1); j j PA.REP(公理1)l PA一.PE.R(公理1 ) I了UA.R[U(公理2)I UA一.U[R(公理2 ) l(一1)user.UES(公理3)I j user-.SEU(公理3 ) l roles.R (公理4)I j roles一.SER(公理4 ) I(R1。R2)一{(z, )∈A。: z(( , )∈Rl&( , )∈ R2)}。 定义10概念C的解释C 定义如下: 1)CI—A ,如果C=A(A为原子概念); l j permissions.P (公理5)I j permissions一.sEP(公 理5 ) l jRH.RER(公理6)I了RH一.R[R(公理6 ) l RH.Ti R H.R(公理7) l RH.(jR H.R)[V了R H.R(公理8) f了R H.(了UA一.U)r了UA一.【,(公理9) I roles一.Sr-了RH.( UA一.(juser-.S))(公理1O) I rolesC ̄(…(usm2er ))。RH一(公理11) I RH一.( PA一.P)[ PA一.P(公理12) l permissions ̄_~(roles—一(RH一。PA一))(公理13) l mutuallyexclusive.R U—R(公理14)I|mutuallyex— clusive一.RU_R(公理14 ) l UA一.un mutuallyexclusive.(jUA一.“)i上(公 理15) lj roles一.s厂] mutuallyexclusive.( roles一.s)i上 (公理16) I ̄7 l 一伫。 注:1)公理l1是对RBAC状态S的条件5.2的形式表 示;2)公理13是对条件5.3的形式表示。 定义8 DLm ̄c的知识库KB=(TBox,ABox),其中: (1)TBox包含了公理1一公理16; (2).ABosc{U(“):“∈【,)U{R(r):,.∈R)U{P(户):pE P}U{S(s).sE S)U{UA(u,r):(u,r)∈UA)U fPA(p,r): (p,r)∈PA)U{user(s,“):u∈user(s)}U{roles(s,,.):rE roles(s))U{permissions(s, ):P∈permissions(s))U{RH (/,r): r ≤r}U{m“ zzj, cz“s (r,,r):j(r,,r)∈ — tuallyexclusive}。 3.2 DI 语义 定义9 c的模型M为序对(△,D,满足: (1)△为非空集合;且 (2)J为解释,使得对原子概念A,I(A) △;对原子角色 P, (P) △x△,且,满足如下的条件: 1)对任意的原子概念A 且A2,A ≠A iff J(A )n I (A2)一0; 2)对角色,J满足如下条件: dora(J(UlA))一J(U),range(J(UA))一J(R); dora(f(PA))一I(P),range(J(PA))一I(R); dom(I(RH))一f(R),range(J(RH))一I(R); dora(I(mutuallyexclusive))=f(R),range(I(mutually— exclusive))一I(R); 3)I(user),I(roles),I(permissions)为函数,满足如下条 件: dom(I(user))一I(S),range(I(user))一f(【,); dom(J(roles))一I(S),range(f(roles))一f(R); dom(I(permissions))一 (S),range(I(permissions))一I (P): 2)Cr一△一D,,如果C—_7D; 3)C1一D{nD{,如果C=D1 nDz; 4)CI一{z∈△:Vy(( , )∈R 一yED )},如果C— VR.D。 定义l1断言 在M中是可满足的,记为M}= ,如果 1)CJ D,,如果 ̄o=C ED _;2)M ,如果 =一 ; 3)M} M} ,如果 一 。 命题1在模型M中公理1一公理16都是可满足的。 证明:(1)对公理1:若要证M}jPA.Rf-p即证J (3 PA.R) J(P)。由z∈I(j PA.R),可得 ∈J(R)^ (x, )∈J(PA),又根据I(PA) I(P)×J(R),可知X∈I (P),所以I( PA.R) I(P)成立,即M} PA.R[P; 若要证M}了PA一.PER,即证J(jPA一.P) J(R)。 由xff J(刍PA一.P)可得j yE I(P)A(z, )∈j(PA一),根 据PA和PA一的关系可知j(PA一) (R)×I(P),也就是说 ∈J(R),即I( PA一.P) J(R)成立,即M} PA一.P[ R。 同理可证公理2一公理5在M中是可满足的。 (4)对公理6:了R H.R[R,公理6 尺H一.R[R和公 理7:jR H.T R H.R: 1)若要证M1} R H.R[R即证,(jR H.R) I(R)。 由z∈J(jRH R),可得j yE J(R)^( , )∈J(RH),又根 据j(RH) J(R)×I(R),可知 ∈J(R),所以I( R H.R) J(R)成立,即M RH.RER; 2)对公理6 :若要证M}]RH一.RER,即证J( R . R) 三J(R)。由z∈ (jR .R)可得jyE J(R)^( , )∈J (R旷),根据RH和R旷的关系可知I(R矿) J(R)×J(R),也就是说 ∈ (R),即J( RH一.R) f(R)成 立,即M} RH一.RUR。 3)对公理7:若证M}=(jRH T一了RH R),即证 (了RH.T)一J(jR H.R)。 z∈J(jR H.T)iff j y(x, )∈J(RH),这里 ∈△J,显 然Y可以∈f(R),即 ∈( RH.R),即有M1 ( RH T[ 了RHR)。另要证M】}(jR H.R[ R H.T),即证 } ( RH.Rn](jR H.T)[上)。 z∈f(jRI4.R r]一( RH T)).ff x∈I(jRH R)Ax∈ J(_7(jR H.T)) iff jyE J(R)A(-z, )∈ (RH)AxE J(VRH上) iff j yff J(R)^( , )∈J(RH)A Vy∈0^( , )∈I (RH) 显然, ∈0,这样M}( RH.RE R H.T),由此可证 }(jR H.Ti了R H.R)。证毕。 (5)对公理8: RH.(jRH.R)r- RH.R: 在模型M中有RH—J(RH),R—J(R),则:rEI(R H. ・31 ・ ( R H.R))iff rE{r 1 r ((r,/)ERH&r ∈J(了RH. R))} )) iff]/((r,,r)∈RH&(s,/)EI(--(user。~UA))) iff rE{rl /((r,r )∈RH&( ∈R)))} ((r, )∈RH& iff(s,r)∈J((~(user。~ ))。RH一) (9)对公理12: RH一.‘(了PA一.P)[jPA一.P if r6{r{j/了 ((r,rt)∈RH&(/, )∈RH& ∈R)} 在M中RH—J(RH),尸.A—J(PA),P: (P),则 r∈J( RH一.(了PA一.P)) 显然{rl / ((r,/)ERH&(/, )∈RH& ∈ iff rE{rl rt((,,,r)∈RH&r ∈J(jPA一.P))) iff r∈{r『j rt((rt,r)ERH&3 (( ,/)∈PA&P∈ P))} R)} {rl了/(r,rt)ERH&r ER},也就是说在模型M中, J(jRH( R H.R)) J(jRH.R),即M} RH.(jRH. R)[jRH.R。 iff rE{rf j r,j P((r,,r)∈RH&(p,/)∈PA&P E P)) 注:公理8也称为RH的传递性,也可以直接用角色的复 合形式表示:RH。RHURH。 (6)对公理9:3RH.(3UA一.U)[ 一.U 在模型M中,有UA—I(UrA),U—I(U),RH=J(RH)。 rE( RH.( UA一.U)) iff rE{rI j rt((r,r )ERH &r E(jUA一.U) )) iff rE{rI j rt((r,r )∈RH&(j“((/,“)EI(LrA一) &u∈U)))) if r6{rI j r,了“((r,/)∈RH&(“,/)EUA&uE U)} 显然{rf了r 了“((r,r )∈RH&(“,r )EUA&“E U)} {rI j“((r,“)∈J( 一)&u∈(U)},由此可知r6{rl “((r,“)EI(UA一)&uEU)},所以有j( RH.( UA一. U)) I( UA一.U),即M} (R H-(|UA—u)r-j UA一. 一U。 注:公理9也称为UA一继承性,可以表示为UA。RH[ UA。 (7)对公理1O: roles一.S[了R H.(jUA一.( user一. S)) 在M中,UA—J(UA),U—J(U),RH—J(RH),“ er—J (user),S=I(S),roles—f(roles)。 r6 J(了roles一.S)iff rE{rI j s((r,s)E I(roles一)&s6 S)} iff rE{rl 5((s,r)Eroles&s∈S)} 根据roles(s){rI /≥r((user(s),rt)EUA)),则由r ∈{rl s((s,r)∈roles&s∈S)},可知 r{rl rt≥r((user(s),r )∈UA)}iff r6{rI j/j u s ((r,rt)∈RH&( ,rt)EUA&(s, )Euser&s∈S)} iff rE{j r,((r,r )6RH&( “((“,rI)∈LrA& s ((“,s)∈I(user一)&s(S))))} iff r∈{ rt((r,r )ERH&( “(/,“)E I(UA一)& E( user一.S)))} iff rE{3 r ((r,r/∈RH&r ∈J( UA一.(juser一. S)))) iff rE I(jRH.(jUA一.(|user-.S))) 这样,可证M1#j roles一.S[ R H.( UA一.( user一. S))。 (8)对公理11:roles_ ̄_(~(user—一UA))。RH一: 证明:对任意s6S和r∈R, (s,r)∈roles iff rt≥r((user(s),rt)∈UA) iff j r ((r ,r)ERH&(user(s),rt)∈UrA) iff j rt((r ,r)ERH&Vu(“E user(s)一(“,rt)E ・ 32 ・ 显然,.∈{r j P((P,r)∈PA&P∈P)),这样J (jRH一.(j PA一.P)) 三I(3 PA.P),即 RH一. ( PA一.P)[ PA一.P在M 中是可满足的。 注:公理12表示了PA-继承性.PA-继承性是指低角色 的权限可以被高角色的权限包含。 (1O)对公理13:permissions ̄C(roles。~ H一。fA一)) 证明:对任意sES和PEP,条件表明 permissions(s,夕)iff V rE roles(s)]r ≤r((夕,rt)E PA) iff Vr((s,r)E roles 一j r (r,r )ERH&(P,r )∈ PA) iff Vr((s,r)E 一了/(/,r)EI(RH-)&(rr, )∈ I(PA一)) iff V r((s,r)∈roles — (r, )∈J(RH一。PA一)) iff(s, )∈I(~(roles。~(RH一。PA一))) 注:公理13也称为权限激活公理,反映了权限与激活的 角色之间的对应关系。 (11)对公理14:j mutuallyexclusive.R U_R和公理14 : mutuallyexclusive一.RUR,公理15: UA一.un mutual- lyexclusive.(jUA一.“)E上,公理16:j roles一.sn3mutu— allyexclusive.( roles一.s)j上。 1)若要证ME(mutuallyexclusive.R 即证f(3 mutu— allyexclusive.R) 三J(R)。由xE I(]mutuallyexclusive.R), 可得 yE f(R)^( , )∈I(mutuallyexclusive),又根据I (mutuallyexclusive) ̄_I(R)×J(R),可知zE I(R),所以J (jmutuallyexclusive.R)GJ(R)成立,即M#(mutuallyex— clusive.RCR; 同理可证2)M}3 mutuallyexclusive一.RC-R。 3)若要证明M} UA.u几jmutuallyexclusive. (jUA一.“)三三三上,即要证J( UA一.u厂] mutuallyexclusive. (jUA一.“))一0,假设J( L 一.“几j mutuallyexclusive. (j UA一.“))≠0,贝0了xE A,使得-zE,( UA一.u厂] mu— tuallyexclusive.(了UA一.“)),即xE J(3UA一.“)且x∈I (mutuallyexclusive.( UA一.“)): ・对z E j( UA一.“),可知对u—I(u),(u,z)E I ( rA); ・对z∈I( mutuallyexclusive.( UA一.“)),可知jyE I( UA一.“),即(“, )∈I(LrA),使得( , )∈I(mutuallyex— clusive)。 显然根据M的定义,对u,如果(M,z)∈I(UA),则(“, ) I(UrA),显然(“, )∈J( )与之矛盾,所以J(]UA一.“r] jmutuallyexclusive.(jUA一.“))一0,即证M#]UA一.un j(mutuallyexclusive.( UA一.“) 上; ・d(P)一P; ・d(UA)一UA; ・ 4)若要证明M}=j roles一.5门3mutuallyexclusive. (roles一.s)i上,即证J( roles一.s[-7jmutuallyexclusive. (PA)一PA; ・ (RH)一RH; (了roles一.s))一0,假设I( roles一.5厂]3 mutuallyexclu— sire.(j roles一.s))≠0,即了.717E A,使得st7E J((roles一.s)且 zEI(了mutuallyexclusive.( roles一.s)): ・・a(user) user; ・ (roles)一roles; ・a(permissions)=permissions ・a(mutuallyexclusive)=mutuallyexclusive。 对zE J( roles一.s),可知对s—J(s),(user(s), )EI 对xE J( mutuallyexclusive.(j roles一.s)),可知jyE (roles); ・2)对断言 ,如果满足S} ,则有: ・如果 一(uEU),则a(uEU)一L,( ); 如果 一(sES),则a(sES)一S(s); I(j roles一.s),即(user(s), )EI(roles),使得(z, )EI(mu— ・tuallyexclusive)。 显然根据M的定义,对任意s,如果(user(s), )E I (roles),则(user(s), ) I(roles),显然(user(s), )E I(roles) 与之矛盾,所以I(3 roles一.s厂1 mutuallyexclusive. ( roles一.s))一0,即证M} roles一.sn了mutuallyexclu— size.(j roles一.s) 上。证毕。 3.3 Js,M和KB之间的关系 为了说明用描述逻辑表示Ⅺ C的模型与一个RBAC 状态之间的关系,本节提出两种转换 和r,其中 表示 RBAC的描述逻辑模型到RBAC状态的转换,用r表示 RBAC状态到RBAC的描述逻辑模型的转换。 RBAC状态S可以用断言 表示元素之间以及元素与集 合之间的关系及约束: ::一 I 其中, 1) ::=uEUf sE Sl rERI PEPl( ,r)EUA l( ,r)∈ PAl(/,r)Emutuallyexclusivel( ,r)ERHIuser(s,“)I r_ missions(s,声){roles(s,r)I_7 l Oz; 2) ::一roles(s) 三{r: r ≥r((user(s),r,)EUA))l permissions(s)一{p:V rEroles(s) rt≤r((夕,r )EPA)}。 定义12如果断言 在S中为真,则称 是可满足的, 记为S} 这样,我们可以把M,S和KB之间的关系表示出来。这 里把S到KB的转换称为 ,将每个M到RBAC的状态S称 为r,变化过程如图1所示。 图1 S,KB和M之间的转换关系 其中, 将S中的每个符号和断言转换为KB中的符号和断 言,r将M中的每个关系转换为S中的关系,r一为r的逆转 换,则 ,r和r一分别定义如下: (a)令S为RBAC的状态,S一(U,R,S,尸,UA,PA, RH,user,roles,permissions,mutuallyexclusive),存在一个描 述逻辑语言L,使得: 1)对S中的每个符号,有 ・ (“)一 对每个uEU且uEL; ・ (r)一r对每个r∈R且r∈L; ・ (s)一s对每个sES且sL; ・ (U)一L厂; ・ (R)一R; ・如果 一(rER),贝0 a(rER)一R(r); ・如果 一(pEP),则a(pEP)一P(户); ・女Ⅱ果 一((“,,.)ELrA),贝0 ((“,r)∈L )=UA(“,r); ・女Ⅱ果 一((户,r)E ),贝Ⅱd((户,r)∈PA)=PA(p,r); ・如果 一((r,,r)ERH),则 ((r ,r)ERH)一RH(/, r); ・女口果 一(rEroles(s)),贝0 a(rEroles(s))一roles(s,r); ・如果 一(uEuser(s)),则a(uEuser(s)):user(s,“); ・如果 一(户Epemrissions(s)),贝Ⅱd( ∈permissions (s))=permissions(s, ); ・女口果 一((r,,r)Emutuallyexclusive),贝0 ((r ,r)E mutuallyexclusive)一m“£拍 Z幻, cZ ( ,r); ・如果 一一 ,则 (一 ):一 ( ); ・如果0=01一 ,则a(01一 )=a(01)一 ( )。 3)对约束断言 , ・如果 一(roles(s) {r:|/≥r((user(s),rt)∈ U-A)}),则根据命题1定义a(roles(s) ̄_{r:了/≥r((user(s), r,)EUA)})一roles ̄(~(user。~UA))。RH一; ・如果 一(permissions(s)一{P:VrE roles(5) /≤r (( ,rt)EPA))),根据命题1定义a(permissions(s)一{P:V rEroles(s) rt≤r((p,rt)EPA)})=pemrissionsC_(roles 。~(RH一。PA一)) (b)给定模型M,我们可以定义RBAC的状态S为r (M),其中r为M到S的转换,使得 ・r(j(“))一“对每个uEL; ・r(J(r))一r对每个r∈L; ・r(J( ))一户对每个PEL; ・r(J(s))一s对每个5EL; ・r(J(U))一U; ・r(J(R))一R; ・r(J(P))一P; ・r(I(S))一St ・r(J( ))一UA; ・r(J(PA))一PA: ・r(I(user))一user; ・r(I(roles))一roles ̄ ・r(I(permissions))=permissions; 且对S中的任意元素ot和口,r还满足如下的关系: ・如果 ∈卢,r(aE —r(口)E r( ; ・对任意口 ,r(a —r(a) r( ; ・对任意序对(a, ,有r((a, )一(r(a),r( )。 ・ 33 ・ 这样在M中,有j(“)E J(U),则r(I(“)∈j(U))一r(I(“))E r(j(U))一(uEU)为S满足的断言,同理有: ・r(I(r)∈J(R))一(rER); (尸lA)),r~(user)=I(a(user)),r~(roles)一j( (roles)),f (permissions)一J( (permissions)) 且,对断言 ,满足S}0,则有: ・・r(J( )EI(P))一(pEP); ・r(j(s)E J(S))一(sES); 如果 :(“EU),根据r一的定义,有r-(uEU)=(I (“)E J(U)),而对I(a(uEU))一f(U(“)),对断言U( )要成 立,必须f( )E J(U),这样显然有r-(uEU)一I( (uEU)), 且r((J(“),j(r))∈J(L,A))一r((J(“),J(r)))E r(I(UA))一 (r( (“)),r( (r)))Er( (己五4))一( ,r)EUA,同理有: ・r((J(“),I(s))Ej(user))一(“Euser(s)); ・f((J( ),jr(,.))EJ(roles))一(r∈roles(s)); ・r((I(s),J( ))E I(permissions))=( E permissions (s))。 (c)定义r一为:给定RBAC状态S和KB的模型M一 (△,D,有: ・r一(“)一J(“)对每个uEU; ・r一(r)一J(r)对每个rER; ・r一(户)一,(p)对每个pEP; ・r-(s)一f(s)对每个sES; 且 ・r一(U)一 (U); ・r一(R)一J(R); ・r一(P)一J(P); ・r一(S)一,(S); ・r(UA)一I(UA); ・r一(PA)一I(PA); ・r一(user)一I(user); ・r一(roles)= (roles); ・r-(permissions)一I(permissions): 且对S中的任意元素a和口,r-还满足如下的关系: ・女Ⅱ果aEfl,r一(aEfi)一r一(口)Er一( ; 这样,对断言0,如果S} ,则有 ・如果 一(uEU),贝0 r-(uEU)一(,(“)Ef(U)); ・如果 一(rER),贝0 r一(r∈R)一(I(r)E J(R)); ・如果 一(pEP),则r一(夕∈P)一(j( )EI(P)); ・如果 一(sES),贝0 r一(s∈S)一(j(s)EI(S)); ・血口果 一(“Euser(s)),贝0 r_(“Euser(s))一((J(“),I ( ))EI(user)); ・女日果 一(rEroles(s)),贝0 r一(rEroles(s))=((I(5),I (r))E J(roles)); ・女口果 一(P E permissions(s)),贝0 r一(permissions(s, ))一((f(s),J( ))EI(permissions)); ・如果 一70l,则r~(一 ):一r(01); ・如果0=01一 ,则r一( 1一 )=r一( )一r一( )。 其中u,r,P和s为KB中的个体,U,P,S和R为概念,user, roles和permissions为KB中的角色。 命题2 r一一I。r,即对任意RBAC状态S,有 r一(S)一 (d(S)) 证明:对任意RBAC状态S---( ,R,S,P, ,PA,兄 , user,roles,permissions,mutuallyexclusive),有,对每个u E U,uEL,r一(“)一j(“)且 (“)一“,可得r-( )一Ha(u)); 类似地,有r~(r)一Ha(r)),r一(s)一Ha(s)),r一( )一I ( ( )),r一(U)一j( (U)),r一(S)一I( (S)),r-(R)一I(d (R)),r一(P)一J(d(P)),r一(UrA)一J( (UA)),r一(PA)一I(a ・34・ 同理可证: ・如果 一(rER),则r一(r∈R)一I(a(rER)); ・如果 一( ES),则 ( ∈S)一I(a(s∈S)); ・如果 一(PEP),则r一(PCP)一I(a(pEP)); ・女口果 一(“Euser(s)),贝0 r一(uEuser(s))一I(a(u∈ user(s))); ・女口果 一(rEroles(s)),贝0 r一(rE roles(s))一J( (rE roles(s))); ・如果 一( Epermissions(s)),贝0 r-(pCpermissions (s))一 ( (PE permissions(s))); ・如果 一一 ,且r一( 1)一I(a(O1),则r一(_7 )一一r一 (01),对J( (一 ))一I(_-7 ( ))=-71( (01)),则有r一 (一O1)一f( (— O1)); ・如果 一01一 ,且r-( )一I(口( ),r一( )一I( ( ),则对r一(01一Oz)一r一(01)一r(a2),J( ( 一 ))一I(a (01)一 (02))一I(a(01))一j( (02))一r一(01)一r一( )。 这样对S,r-(S)一Ha(S))。证毕。 命题3给定DLRB^c模型M=(△,D,则r(M)为RBAC 状态。 根据r的定义,该命题成立。 命题4 给定RBAC的状态S,则M—r一(S)为DLR队C 的模型。 根据命题2和r一的定义,该命题显然成立。 定理1(1)给定模型M一(△,J),存在状态S—r( , 使得对每个断言 ,ME 当且仅当存在断言 ,使得S# ; (2)对任意状态S,存在模型M=r一(S)使得对任意断言 ,S} 当且仅当存在断言 ,使得M# 。 证明:(1)给定模型M一(A,D,存在状态S—r( 使得 对每个断言 ,M} 表示断言 在M中是可满足的,S E 表示断言 在S中成立,则: (a)对ABox中的断言,如UA(“,r),M}UA(“,r),则(j ( ),j-(,.))∈J( ),根据M的定义,如果 (“)一U,J(r)一,., J(UA)=UA,显然(J(“),I(r))Ej(UA)iff(“,r)EuA在S 中成立,即S}(“,r)EUA。又根据r的定义,有r((j(“),I (r))EI(UA)):( ,r)EUA,所以有M}UA(u,r)iff S# (“,r)∈UA。同理可证: M}PA(p,r)iff S}( ,r)∈PA; M#user(¥,“)iff S}(s, )∈user; ME roles(s,r)iff S}(s,r)Eroles; M#permissions(s, )iff S}(s,p)∈pemrissions; MERH(r ,r)iff S (rt,r)ERH; M}mutuallyexclusive(/ ̄,r)iff S}( ,,-)E mutually— exclusive。 (b)对TB衄中的断言roles (~(user。~UA))。RH一 和permissions ̄_~(roles。~(RH一。PA一))。 对断言roles(s) {r:j r,≥r((user(s),rt)EUA)},则 根据命题1可知:M}roles ̄_(~(user。~UA))。RH—if S} 还将RBAC中与角色继承有关的RH继承性、UA继承性和 roles(s) 三(r:j r ≥r((user(s),r )∈UA)}; PA继承性等都定义出来,从而弥补了RBAC模型对这些关 对断言permissions(s)={p:Vrffroles(s) /≤r((户,/)∈ 系只有隐含说明,没有明确表示的缺陷。在表示了RBAC中 PA)},则根据命题1可知:M}permissions ̄(roles。~(RH一。 的关系和约束基础上,还通过定义RBAC状态和DLR ̄c模型 PA一))iffS permissions(5)一{P:V r∈roles(s) rt≤ r 之间的转换关系,得出DLI c模型是忠实对应一个RBAC状 ((P,r )∈PA)}。 态的表示方法,从而为进一步研究RBAC的性质打下基础。 同理可证(2)。这里省略证明过程。证毕。 定理1说明了DLR队c可以忠实地表示RBAC中的各种 参考文献 关系。 rl_Sandhu R,Coyne E,Feinstein H,et a1.Role-based access control models[J].IEEE computer,1996,29(2):38—47 4相关研究比较 r2]Ferraiolo D,Sandhu R,Gavrila S,et a1.Proposed NIST standard for role-based access control[J].ACM Transactions on InforlTla— 目前已有的用描述逻辑来研究RBAC建模的有Zhao等 tion and System Security,2001,4(3):224—274 提出的表示口 ,还有用描述逻辑对RBAC的扩充模型进行的 [3]ANSI INCITS 359—2004.Role Based Access Control[S].Ameri— 形式化描述[11,12],这些表示在基本RBAC建模方面都有类似 can National Standards Institute,2004 [4]Osbom S,Sandhu R,Munawer Q Configuring role-based access 的表达。 control to enforce mandatory and discretionary access control 本文与它们的主要区别如下: policies[J].ACM Transactions on Information and System Be— (1)DLRHAc和Zhao的DL方法都包含了RBAC96模型 curity(TISSEC),2000,3(2):85—106 的组件中的U,R,P,S,UA,PA等。由于Zhao的方法中没有 [5]Li N,Byun J W,Bertino E.A critique of the ANsI standard on 对角色层次RH的表示,直接利用子概念RR 和RR 之间的 role-based access control[J].IEEE Security and Privacy,2007,5 (6):41—49 包含关系来表示它们实例之间的优势关系。这样做显然存在 [6]Ferraiolo D,Kuhn R,Sandhu R RBAC standard rationale:Com— 缺陷。首先找不到语义模型来解释这种关系,其次对RBAc ments on“A critique of the ANSI standard on role-based access 模型中隐含的角色继承无法表示;(2)对于用户和权限的关 control”_J].IEEE Security and Privacy,2007,5(6):51—53 系,在RBAC96模型中,用户是通过角色的激活来获得权限 [7]KochM,ManciniLV,Parisi-PresicceF Agraph-basedformali— 的,如果表示了roles和permissions,就不需要再用author— sm for RBAC[J].ACM Transactions on Information and Sys~ tern Security,2002,5(3):332—365 ized来表示用户和权限之间的联系,这样Zhao的表示违背了 [8]Baader F,Calvanese D,McGuinness D L,et a1.Description Logic RBAC96的本意。而在DLRBAc表示中没有对用户的直接授 Handbook[M].Cambridge University Press,2002 权,而是用权限激活约束公理(公理13)来表示角色间接授 [9]Baader F,Kfisters R,Woher F.Extensions to Description Logics 权,这样更忠实于RBAC96模型的本意。 [M].Cambridge University Press,2002:226—268 [1O]Zhao C,Heilili N,Liu S,et a1.Representation and reasoning on 从以上分析可以看出,本文对基本RBAC模型的形式化 RBAC:a description logic approach[C]∥Hung D V,Wirsing 表示体现了RBAC模型的特点,即用户不是直接被授予权 M,edS.I(TAc2oo5,I N 3722.Berlin:Springer,2005:381—393 限,而是通过激活他所在的角色,间接获得该角色所分配的权 [11]Ji G,Tang Y,Jiang Y,et a1.A description logic approach to re~ 限,并且补充了RBAC模型中的继承性定义。 present and extend RBAC model[C]?,1st International Sympo~ 结束语根据RBAC的特点,结合基本描述逻辑语言 slum on Pervasive Computing and Applications.2006:151—156 [12]Yu H,Xie Q,Che H.Description Logic Based oCnflict Detection ALC及其扩展语言,对基本的RBAC模型进行了形式化描 Methods for RB-RBAC Model[J].International Journal of Com- 述。这种描述不但表示出了基本RBAC模型中的各种关系, puter Science and Network Security,2006,6(1A):120-125 (上接第28页) curity,2006,9(4):391 420 L36j Seamons K E,Winslett M,Yu T,et a1.Requirements for Policy [42]Sun Y,Han z,Liu K J R.Defense of Trust Management Vul~ Languages for Trust Negotiation[c]∥Proe.of the 3rd IEEE nerabilities in Distributed Networks|J1.IEEE Communications Int’1 Workshop on Policies for Distrihuted Systems and Net— Magazine,2008,46(2):l12—119 works.2002:68—79 [43]廖振松,金海,李赤松,等.自动信任协商及其发展趋势[J].软件 [37]Bertino E,Ferrari E,Squieciarini A C.Trust Negotiations:Con— 学报,2006,l7(9):1933—1948 cepts,Systems and Languages[J].Computing in Science 8L En— l44}Liimatainen S Usability of Decentralized Authorization Sys~ gineering,2004,6(4):27—34 tenrs A oCmparative Study[c]∥Proe.of the 38th Hawaii In~ L38J Herzberg A,Mass Y,Mihaeli J,et a1.Access Contro1 Meets ternationa1 Conference on System Sciences(HlCSS’05).2005: Public Key Infrastructure,or:Assigning Roles to Strangers[C]∥ 186 186b Proc.of the 21th IEEE Symposium on Security and Privacy [45]Kinateder M,Baschny E,Rothermel K.Towards a Generic (SP’00).2000 2-14 Trust Model Comparison of Various Trust Update Algorithms [39]Viljanen L.Towards an Ontology of Trust[C]∥LNC ̄S 3592. [C]∥Proc.of the iTrust 2005.LNCS 3477.2005:177—192 2005:l75—184 [46]Fullam K K,Sabater-Mir J,Barber K S A Design Foundation [4O]Li N,Mitchell J C Beyond Proof-of-Compliance:Security Analy— for a Trust—Modeling Experimental Test Bed[c]∥LNAI 3577. sis in Trust Management[J].Journal of the ACM,2005,52(3): 2005:95-109 474—514 r47]Hassan J,Sirisena H,Landfeldt珏Trust—based Fast Authentica— [41]Li N,Tripunitara M V.Security Analysis in Role-based Access tion for Multiowner Wireless Networks[J].IEEE Transactions oCntrol lJ].ACM Transactions on Information and System Se— on Mobile Computing,2008,7(2):247—261 ・ 35 ・