基于角色访问控制对象建模及实现
第23卷 第10期2000年10月
计 算 机 学 报CHINESEJ1COMPUTERS
Vol.23No.10
Oct.2000
基于角色访问控制对象建模及实现
严 悍 张 宏 许满武
1)
2)
1)1)2)
(南京理工大学计算机技术与工程系 南京210094)(南京大学计算机科学与技术系 南京)
摘 要.已有的基,但仍缺乏一种通用的访问控制机制.,提出角色登台(Ro).针对分布式交互式应用的控制效率问题,给.关键词,模型,角色,面向对象,安全管理中图法分类号:TP301
ObjectModelingandImplementationofAccessControlBasedonRole
112
YANHan ZHANGHong XUMan2Wu
1)
)))
(DepartmentofComputerTechnologyandEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094)
2)
(DepartmentofComputerScienceandTechnology,NanjingUniversity,Nanjing210093)
Abstract Majorityofaccesscontrolmodelsmainlydealwithdata2protectionattheback2endofapplicationsatpresent.However,theywerenotapplicableforlargeandcomplexmulti2userdis2tributedapplications.TheexistingmodelsofRole2basedAccessControlneglectthedynamicfea2turesofactivatedroles.Thoughobjecttechnologyhasturnedintomainstreamapproachesforap2plicationdevelopment,itstilllacksageneralaccesscontrolmechanism.Thispaperproposesageneralobjectmodelofaccesscontrolbasedonroleforlargeapplicationsecuritydesign.Role2Playingisintroducedtoimplementthedynamicfeaturesofactivatedrolesinparticularcontext.Toim
provecontrolefficiencyofdistributedandinteractiveapplications,animplementationmethodofthemodelispresentedandpracticedinapplicationsystemsdevelopment.Keywords accesscontrol,model,role,object2oriented,securitymanagement
1 引 言
大型多用户应用系统的访问控制和安全管理的复
杂性表现在:(1)内部结构和功能复杂,分布离散;(2)外部用户量大,职责多样;(3)权限管理复杂,权限验
证效率低下,难以实施有效的监控和审计.应该说,安全性设计在大型应用系统开发中具有相当的重要性.
建模是对象技术中对大型复杂系统进行分析和设计的有效手段.访问控制是大型应用中的重要组成部分.采用对象技术对访问控制进行设计应是系统建模中的重要内容.目前这方面的研究未得到足
收稿日期:1999207222;修改稿收到日期:2000206215.本课题得到国家“八六三”高技术研究发展计划(86323062ZD210229)和国家自然科学基金(69973020)资助.严 悍,男,1967年生,博士研究生,从事对象技术和软件方法及应用方面的研究.张 宏,男,1956年生,教授,从事软件工程与开发环境的研究.许满武,男,1944年生,教授,从事可视化对象建模和Internet应用软件平台的研究.
10期严 悍等:基于角色访问控制对象建模及实现
1065
够重视,原因可能在于多数应用仍依赖后台系统提供的访问控制.
传统的访问控制在应用后台提供系统级的数据保护,如典型的Subject2Object模型、LBAC模型等.它们保护应用中的物理实体,如数据库表或文件等,且以物理权限来控制访问,如对数据库表的SE2
.而且多数应用系统LECT,INSERT等权力的控制
针对用户个人建立权限规范.对于大型复杂应用,此类方法带来巨大负担且易出错[2].为减轻管理负担,Sandhu等提出基于角色访问控制(RBAC)模型[3],.(1);象,;,以便于设计与实现;(3)模型中忽视了激活角色的动态性质;(4)模型中授权隐含着无条件有权,而不考虑运行时语境对权力的制约;(5)安全管理通常应包括授权、验证、监控和审计,该模型着重于角色授权,而其它活动则基于对话期,而非基于角色进行.此外,访问控制不仅要控制用户可使用的权力,而且控制用户履行其义务也同样重要.
针对大型应用的访问控制和安全管理,本文采用对象技术,建立一个一般化且易用的模型,以尽可能地适用于种类多样的多用户应用.该模型通过一个接口保护用户服务,可屏蔽其内部实现的复杂性,以简化设计;角色用于组织大量用户的权限规范,以减轻
管理负担;提出Role2Playing(角色登台)表示在特定语境中被用户激活的角色,并建模为一个主动类,其每个对象运行在特定语境中,语境动态地制约权力的使用,以防止滥用权力;用户可使用权力,也可履行义务,以提高控制效率.Role2Playing对象的监控和审对于分布式应用,.
,之后是基于角色的授权;再提出Role2Playing概念,指出其语境对权力的制约作用,并实现动态管理.该模型的基础是统一建模语言(UnifiedModelingL
anguage,UML)的有关概念(角色、作用者、接口、类、关联类、线程、主动对象和主动类)和建模规范[1].2.1 工作原理
图1是该模型静态结构;图2是一个财务系统简例.模型包括一个接口、五个类及其间关系:
・服务Service:业务对象实现的用户服务接口;・作用者Actor:合法用户或外部子系统;・角色Role:应用中作用者的角色;
・权限授权PA:角色对服务的权限规范;・身份授权SA:作用者与角色间的身份授权;・Ro
le2Playing(简称RP):被作用者激活运行的角色.
模型中Role位于中心,一方面通过权限授权
PA与一组用户服务关联,表示角色的权限规范,另一方面通过身份授权SA与一组作用者关联,表示角色的用户成员.基于角色的授权原理是,先确定角色对服务的权限规范,作用者被授予适当角色,从而获得调用相应服务的权力.
一个角色被某作用者激活,表示该作用者正在履行此角色的职责.一个角色可被多个作用者激活,一个作用者也可激活多个角色.我们引入role2play2ing(简称rp)表示一个角色被一个作用者激活的性质.一个rp具有特定的状态、行为和生命期,是
.一个rp对象运行在特Role2Playing类的一个对象
定语境中,如时间、终端、协作环境、业务对象等;语境在用户履行职责时动态制约权力的使用.一个rp作为一个动态管理的对象,其状态、行为和生命期可
被监控或审计
.
对于一个应用系统,该模型可作为系统模型的
一个部分.系统建模时先确定系统的用例,以确定外部作用者在履行其角色职责的权限规范[1].我们建立Service接口,内含需保护的服务,即需控制的操作,由业务对象类提供操作的具体实现.故Service接口是访问控制与业务对象衔接之所在,运行时
.不同应Role2Playing对象由此接口访问业务对象
用之间的差别主要在于,为不同角色提供不同的服务,且由不同的业务对象类提供服务的实现.该模型独立于具体的业务对象,而角色和服务的差别不影响模型中的类、接口及其间关系,故该模型具有一般性.
2.2 基于角色的授权
分布式C S系统通常具有三层结构:底层数据服务、中间业务逻辑和外层用户服务[1].我们把外层的用户服务作为保护对象,目的是屏蔽其内部实现的复杂性,以简化设计.
模型中建立一个Service接口,作为一个操作集合,其中每个操作表示应用中需保护的一项用户服务,该接口具有三个特征:
1.业务对象类实现的接口.它说明了一组操作表示应用中业务对象提供的一组服务.
2.用户权限规范的接口.管理员依据此接口中的操作,基于角色建立不同用户的权限规范.
3.用户调用服务的接口.运行时用户激活角色,调用该接口中的特定操作,作用于特定对象.
一个作用者(actor)是在系统之外参与交互的一个实体,可以是一个用户或子系统.Actor类的一
个对象是系统中的一个作用者,一般具有用户名、口令等属性,用于合法性验证.文中提到用户或作用者皆指该类的对象.
一个角色(role)是作用者在特定语境中的状态和行为的抽象,反映作用者的职责.Role类的一个对象是一个角色;该类的实例化表示增加新角色;文中所提角色均为该类的对象.角色间可能存在关系,如层次或职责划分,对此另文讨论.
不同于传统角色模型,该模型建立约束规范时考虑语境对权力的制约,故约束规范中包含语境参量.语境参量在2.4节介绍.
.下面给Role类的设计需满足具体应用的需要
出其一般性特征以讨论有关约束和算法:
属性:StringRolename; 角色名
能被授予的成员最大数量intauthorized-cardinality;
能被同时激活的最大数量intactivated-cardinality;
被激活的约束表达式Stringactivate-constraint;
运行时语境约束表达式Stringcontext-constraint;
操作:booleanactivateConstraint(context-paracp);
当前语境cp中是否可激活该角色,false表示不能激活
booleancontextConstraint(context-paracp);
运行时当前语境cp是否满足约束,false表示无权运行
Privilege-Authorize(PA)类是Role与Service之间的一个关联类,其一个实例为一个二元组(r,s),
表示角色r对于一个服务s的授权关系,表示为
.pa(r,s).类中每个二元组(r,s)不重复
权限包括权力和限制.对pa(r,s)来说,角色r对服务s的权力在一定约束条件下存在.如图2中,会计角色对查看(lookup)的权力被限制在自己制作
的凭证或帐目范围内.约束条件表示为对象pa(r,s)的属性,运行时通过操作进行验证.PA类一般特征设计如下:
属性:StringPrivilege-Constraint; 约束表达式操作:booleanconstraint(context-paracp); 运行时当前语境cp是否满足约束,false表示无权
Satus-Authorize(SA)类是Actor与Role之间的一个关联类,其一个实例为一个二元组(a,r),表
示某作用者a被授予某角色r.类中每个二元组(a,r)不重复.SA类一般特征如下:
属性:StringStatus-Constraint; 操作:booleanconstraint(-);
当前语境cp,r,记为PA(r):PA(r)={pa,si pa(r,si)∈PA,i=1,2,…,n}
(1)
由PA(r),角色r被授予一组服务,记为S(r):S(r)={si si∈Service,pa(r,si)∈PA(r),
i=1,2,…,n}
(2)
角色r被授予一组用户授权规范,记为SA(r):SA(r)={sa(ai,r) sa(ai,r)∈SA,i=1,2,…,m}
(3)
由SA(r),角色r被授予一组用户,记为A(r):A(r)={ai ai∈Actor,sa(ai,r)∈SA(r),
i=1,2,…,m}
(4)
基于角色的授权是指一个作用者a对一个服务s有授权,当且仅当存在一个角色r,a是r的成员,且r对s有授权,表示为约束1:
P(a,s)∴ϖr∈Role(a∈A(r)∧s∈S(r))(5)其中,P(a,s)表示a对s有授权;A(r)表示r的成员(式(4));S(r)表示r被授予的服务(式(2)).大型系统中安全性约束数量多,且约束间具有不同的语义和作用期(授权、激活、运行及消亡等).文献[3]把所有约束不加区分地封装在一起,如此难以设计和实现,并导致权限管理效率低下.该模型采用对象方法,将授权和相关约束封装在对象中(如PA,SA,Role),在运行时调用操作以验证约束,可简化权限管理,并易于实现.2.3 角色登台
在某个时刻一个角色被激活,表示至少有一个作用者正在履行此角色的职责.被激活的角色是正在履行角色职责的人机系统,能响应特定事件、处理特定业务.从管理角度来看,被激活的角色也是被管理的对象,其状态、行为和生命期应能被监控或审计.Role类的对象表示角色在系统中的存在,而不
能表示角色被多个作用者激活运行的特征.为此,我
们提出role2playing表示被激活的角色,并建模为一个主动类Role2Playing.
一个role2playing(角色登台)是某角色r在特定语境中被某作用者a激活的一次执行或登台,作为一个实例记为rp{a,r}或rp.le2Playing(简称
.RP)a,r.,,a正在履.(1)其行为表现为履行角色r职责,其行为规范由角色r有关的权限规范决定;(2)其当前状态是被处理的业务对象、可使用的权力及协作环境等;(3)其生命期是从开始履行角色职责,到停止履行的一段时间.
从人机交互来看,rp{a,r}存在表示了一个正在履行角色r职责的人机系统.(1)其行为表现为作用者a通过用户界面请求服务得到结果的一系列活动;(2)其当前状态通过用户界面反映了当前业务对象状态及有权调用的操作等;(3)其生命期从a以角色r登录系统开始,到注销退出系统为止,或被人为或意外因素终止.
从计算机对象建模来看,RP类被建模为一个主动类,其每个实例是一个主动对象,即持有自己的线程,可启动控制活动,可与其它主动对象并发运行.理由如下:
1.rp{a,r}生命期中需启动多种控制活动:(1)需与作用者a交互,接受其服务请求;(2)调用服务并返回结果;(3)与其他rp保持通信以协调工作,并接受动态管理.唯有主动对象可启动控制活动[1].
2.一个用户可激活多个角色,与多个并发运行的rp交互.每个主动对象持有自己的线程,可并发运行,故主动对象适合于rp特征.
一个角色r对应一组RP对象,记为RP(r):RP(r)={rp{ai,r} rp{ai,r}∈RP,i=1,2,…,n}
(6)
在某时刻,若RP(r)为空集,表示角色r未被激活;若RP(r)不为空,表示r被激活.
某用户a在语境cp中激活角色r的一般性验证方法如下(以类Java语言表示,返回true表示可激活,false则不可激活):
booleanactivateRole(Usera,Roler,context-paracp){
用户验证是否有效ifActor.hasObject(a)
身份验证是否有效ifSA.hasObject(sa(a,r))
ifsa(a,r).constraint(cp)
语境cp是否符合sa的授权约束?
1068
ifr.activateConstraint(cp)
计 算 机 学 报 2000
年
cp是否符合r的激活约束?
可激活returntrue;
returnfalse;returnfalse;returnfalse;returnfalse;}
}
角色r是否对s有权?
ifpa(r,s).constraint(rp{a,r}.cp) 语境cp是否满足pa(r,s)的约束?
可调用returntrue;
returnfalse;returnfalse;returnfalse;
激活角色不仅需验证用户身份,而且扩展了语
境约束,以增强安全性.已有的角色模型忽视了角色被激活运行时的动态性质.我们提出Role2P表示激活角色的动态特征,)制的动态约束;(2)制约作用;)RP.2.4一个RP.语境反映对象在时间和空间上的限定性.RP的语境包括环境参量与关联对象.
环境参量表示一个rp{a,r}对象运行的系统环境特征,记为EP:
(7)EP={Te,Ne,Da,Ti,…}其中,Te为终端;Ne为网络;Da为日期;Ti为时间.
由图1,rp{a,r}与一组对象相关联,记为AO:AO={a,sa(a,r),r,PA(r),S(r),CRP,BO}
(8)
其中,a∈Actor表示当前交互的一个作用者;sa(a,r)∈SA表示对应的一个身份授权;r∈Role表示被激活的一个角色;PA(r)∈PA表示角色r的权限规范(式(1));S(r)∈Service表示角色r被授权的服务(式(2));CRP∈RP表示有消息关联的一组RP对象;BO表示被处理的一组业务对象(模型中未表示).
在rp{a,r}生命期中,环境参量EP和关联对象AO有确定的值或对象,共同构成了rp{a,r}的语境参量,表示rp{a,r}在履行角色职责时,对其行为的制约因素,记为CP.
(9)CP=EP∪AO可使用语境参量建立约束规范,运行时进行验
证.如图2中,sa中对日期和终端的约束,pa中对业务对象的约束.rp{a,r}在语境参量cp(表示为rp{a,r}.cp)中,调用服务s的一般验证方法如下(返回true表示可调用,false则不符合约束):
booleanvalidateCall(Services){
ifr.contextConstraint(rp{a,r}.cp)
,.;“应做”或“必须及时.,即作用者a在当cp中对服务s有权或有义务,当且仅当存在一个角色r,a是r的成员,r对s有权,且a激活r,cp满足有关约束,表示为约束2:
U(cp,a,s)∴ϖr∈Role(a∈A(r)∧s∈S(r)
∧ϖrp{a,r}∈RP(r)(C(rp{a,r}.cp)))
(10)
其中,U(cp,a,s)表示a在语境cp中对s有权(义务);A(r)表示r的成员(式(4));S(r)表示r被授予权力的一组服务(式(2));RP(r)表示r对应的一组RP对象(式(7));C(rp{a,r}.cp)表示rp{a,r}当前语境cp满足有关约束,其实现依赖于具体应用.例如在validateCall方法中验证角色r和pa(r,s)的约束.
约束1(式(5))在不考虑语境作用时,被授权就意味着无条件有权,这是以往多数模型的做法.约束2扩展了RP语境约束,以控制角色被激活的条件,并在运行过程中动态制约权力的使用.
访问控制是应用系统的组成部分,RP对象设计需与业务逻辑相结合,以支持业务处理.语境参量中的CRP和BO就反映了这种结合.
CRP表示多个RP对象以消息关联构成的协作环境.(1)通常多用户应用中的不同角色构成协作环境以处理工作流.图2有一个工作流:会计制作某凭证后,审核员进行审核,之后财务经理签发,发票员按签发后的凭证制作发票.相关的RP对象间需保持通信,以协调工作.(2)多用户系统中存在共享对象,当不同RP对象同时作用于同一对象时,若不加协调会发生冲突而出错.RP对象间的通信有助于避免冲突以保持协调.这种协调工作的关系被抽象为RP对象间的消息关联.
BO表示当前处理的业务对象,其当前状态制约用户的行为.例如审核员可将待审核的凭证转变为已审核状态;而对已审核的凭证则不能被再审核,也不能再修改.故(1)BO的当前状态决定了权力是否在当前有效,以防止权力滥用;(2)BO状态变化可
当前语境cp是否满足角色r的约束?
ifPA.hasObject(pa(r,s))
10期严 悍等:基于角色访问控制对象建模及实现
.stop();audit
1069
引发须及时履行的义务.例如财务系统中若新建待审
核的凭证,且此时审核员角色被激活,将引发事件以引导或强制审核员履行其义务.这种响应事件履行义务的方式可提高工作效率,也可防止滥用权力.
RP的设计与业务逻辑相结合,可满足各种业务处理的需要,使用户能安全高效地履行其职责.2.5 动态管理
动态管理包括监控和审计.传统方法是基于对话期(session)进行.对话期用于客户端与应用后台系统间的数据通信.一个对话期对应一个用户,激活多个角色,.Role2Playing,级动态管理.
RP,并控制其生命期.RP监控的一般性操作如下:
列举当前所有rp对象RP.rplist();
跟踪某rp的当前语境状态rp.trace();
消除或暂停某rp的当前活动rp.deactivate();
重新激活某rp的当前活动rp.activate();
终止并消除某rp的生命期rp.remove();
停止某个审计
.lookup(); 查看某个审计记录audit
.destroy(); 消除某个审计记录audit
RP监控与审计相对于对话期有如下特点:
1.事务一致性.管理员若终止用户的对话期,
对用户来说无异于通信故障,.每
个RP.
.例如对某凭证进行一次审核,对话期提供的信息是对某个记录执行了一次UPDATE操作,不能反映该操作的语义.
不同于对话期管理,RP对象的监控和审计是采用对象技术实现应用级的安全管理,也可控制业务活动,是一种简单有效的动态管理方法.
3 实 现
我们针对分布式交互式应用,给出该模型的一种实现.实现中难点在于RP设计,目的是在保证安全的前提下提高权限验证和控制效率.
该模型的实现包含一个角色控制系统RCS(RoleControlSystem),其中除了RP对象外的其它对象均为存储对象,运行在特定服务器上.RP对象要与用户交互,运行在客户端,并在RCS服务器上注册以便于动态管理(如图3).
RP审计是针对某作用者a或某角色r或某项
服务s,在rp{a,r}生命期中对语境状态、调用服务事件的自动记录,以供查阅或恢复系统.这需要建立一个Audit类,每个对象作为一种审计方式,且包含一组审计记录.RP审计的一般性操作:
newAudit(Actora,Roler);
针对某用户a和某角色r创建一个审计;
.start(); 启动某个审计audit
1070
计 算 机 学 报 2000
年
一个rp{a,r}与一组权限规范PA(r)(式(1))关联.rp{a,r}运行在客户端,而PA(r)对象位于RCS服务器,每次操作调用都需经网络验证其合法性,导致通信开销大,验证效率低.若客户端没有PA(r)也就无法得知被授权的服务S(r)(式(2)),用户请求服务时无限制的盲目请求,导致控制效率低下.此问题源于权限规范的集中式存储和分布式使用,具有普遍性.不失一般性,我们介绍RP设计要点:权限转接、界面控制和语境约束.
1.权限转接.在作用者a激活角色rrp{a,r}时,把RCSrPA(r)ar,3.语境约束.RP对象作为主动对象,可启动通
信以跟踪其权限规范所涉及的语境状态,以保证每
个服务请求和操作调用都符合当前权限规范中的语境约束,且通过界面控制用户及时履行其义务.设服务si的界面控制为si.requestEnable(true表示可请求;false不可请求),由PA(r)cp设置服务S(r)idiceE(){
S(r)中每个服务(ii
当前语境cp是否符合角色r的约束
ifpa(r,si).constraint(rp{a,r}.cp)
语境cp是否符合pa(r,si)的约束 可请求si.requestEnable=true; 对重要任务可引发一项义务
elsesi.requestEnable=false;elsesi.requestEnable=false;}
用S(r).又因
激活角色r,可把角色激活PA(r)作为一个登录过程,如此并不增加额外开销.登录logon方法如下(返回null表示登录失败,非null表示成功):
PAlogon(Usera,Roler,context-paracp){
ifactivateRole(a,r,cp)
用户a在语境cp中是否可激活角色r? activateRole方法见2.3节
服务器注册ServerRegister(a,r,cp);
returnPA.getObject(r);
该方法在用户请求服务之前或语境改变之后,
在客户端自动进行,避免了每次调用服务的网络验证,提高验证和控制效率.在具体设计中还需要某种远程通信机制,如RPC,Socket或Java的RMI,以实现RP对象之间的通信.
该模型已应用于外贸财务系统和进出口业务管理系统等几个典型的多用户应用.实践证明,该模型安全高效并易于使用.
返回与角色r关联的权限规范PA(r)
elsereturnnull;}
转接方法的依据是,权限规范PA(r)反映了角色r的用例所规范的性质,相对稳定.即使管理员在
(r),也有角色r处于激活态时需修改PA(r)为PA′
以下几种转接实施策略:(1)实时更新.通过RMI或
(r),使权限更改得RPC使rp重新配置新权限PA′
以立即实施,这适用于权限更改意义重大的情形;若权限更改与用户当前事务相关,该事务会被中断.(2)人工干预.管理员调用动态管理操作deactivate或remove终止当前RP(r)(式(6))的生命期,使旧权限规范PA(r)停止实施,使用户当前事务保持完
(r)在角色r下一次激活时起整.(3)滞后更新.PA′作用;在给角色r扩展权力且角色激活有时间规律
时,该方法简单有效.总之,策略的选择取决于权限更改的意义、当前事务的完整性和实现的复杂性等因素的折衷.
2.界面控制.rp{a,r}在被转接PA(r)后,可通过用户界面控制用户对服务S(r)(式(2))的请求.通常GUI设计菜单或按钮使权限规范可视化,使有权的服务可请求,无权的服务不可请求.
4 讨论及相关工作
1.实践表明,基于角色实现访问控制极大地减
轻了管理维护负担.这与文献[3]的结论一致;不同
之处在于我们采用对象技术提出Role2Playing(RP)表示被激活角色,进而提出RP语境对权力的动态制约,扩展了访问控制的动态约束,增强了系统安全性,提高了工作效率.这是以往研究与应用中被忽视的内容.
2.我们建立一个通用的对象式访问控制模型,以指导大型多用户应用的访问控制设计.文献[5]在协同系统中实现多用户界面的控制.文献[4,5]针对工作流实现授权控制和管理.我们的模型以角色Role为中心进行授权管理,工作流可作为业务对象,由RP对象构成协作环境来处理工作流.RP对象是主动对象,能控制用户界面,使用户既能履行其义务,又防止滥用权力.
3.安全管理包含几个相关活动:授权、验证、监
10期严 悍等:基于角色访问控制对象建模及实现
1071
控和审计.文献[3]等着重于角色授权,而验证、监控和审计仍沿用传统对话期方法.我们的模型基于
监控和审计,完整地实现应用级的安RP实现验证、
全管理,并提供对业务活动的动态管理.
4.权限验证效率在大型分布式应用中是普遍问题.该模型的实现改变了传统的网络权限验证方式,采用转接权限和界面控制方法,主动控制用户交互,既保证安全,又提高验证和控制效率[6].
参
12
考文献
.TheUnifiedModelingLan2BoochG,RumbaughJ,JacobsonI
guageUserGuide.MA:AddisonWesley,1999
DewanD,ShenH.Controllingaccessinmultiuserinterface.ACMTransactionsonHInteraction.(1):34-1998,5
34
RJ,Role2basedaccess.,1996,29(2):38-47E,AtluriV.Aflexiblemodelsupportingtheonandenforcementofrole2basedauthorizationsinworkflowmanagementsystems.1997.1-12
In:ProceedingsoftheSecond
ACMWorkshoponRole2BasedAccessControl,Fairfax,VA,
5 结 语
.,全管理方法.(Role2Playing)实现被激活角色的动态性质,扩展了访问控制的动态约束,并支持一种新型的动态管理机制.针对分布式交互式应用的控制效率问题,该模型的实现可提高权限验证和控制效率.该模型是对传统安全管理的一个重要发展和完善,适用于种类多样的多用户分布式计算和信息处理系统.
5ThomasRK,SandhuRS.Task2BasedAuthrizationControl(TBAC):Modelsforactiveandenterprise2orientedauthoriza2ti
onmanagement.In:ProceedingsoftheIFIPWg11.3Work2shoponDatabaseSecurity,LakeTahoe,California,1997.23-34
6YanHan,LiuFeng2Yu,ZhangHong.Anobject2orientedmodelofaccesscontrolbasedonrole.ACMSIGSOFTSoftwareEngi2neeringNotes,2000,25(2):64-68