当前位置:文档之家› 基于分级角色的访问控制

基于分级角色的访问控制

V o l .32N o.112006211华东理工大学学报(自然科学版) Journal of East Ch ina U niversity of Science and T echno logy (N atural Science Editi on ) 收稿日期:2005211203作者简介:肖宝亮(19752),男,河北唐山人,硕士生,主要研究方向为信息安全。

通讯联系人:顾春华,E 2m ail:chgu@ecust .edu .cn 文章编号:100623080(2006)1121327204基于分级角色的访问控制肖宝亮, 顾春华, 高小伍, 陈德庆(华东理工大学信息科学与工程学院,上海200237) 摘要:结合RBA C 模型,提出了一种基于分级角色的访问控制模型,将系统用户依据职能的不同分为不同的角色,同一类角色又划分不同的等级。

定义了基本概念和等级2角色矩阵,进行了形式化的描述,并应用在实际系统中。

每一个实际用户通过不同等级的角色,对应于不同访问权限的资源,并可动态地进行角色转换和等级变迁,从而使访问控制机制更为灵活。

关键词:基于分级角色的访问控制;分级角色;权限;访问控制;等级角色矩阵中图分类号:T P 393.08文献标识码:AAccess Con trol Based on Graded RolesX IA O B ao 2liang , GU Chun 2hua , GA O X iao 2w u , CH EN D e 2qing(S chool of Inf or m a tion S cience and E ng ineering ,E ast Ch ina U n iversity ofS cience and T echnology ,S hang ha i 200237,Ch ina )Abstract :Com b in ing w ith RBA C m odel ,a graded ro les based access con tro l m odel is p u t fo rw ard .System u sers are divided in to differen t k inds of ro les by their functi on s ,and one k ind of ro les are divided in to differen t grades .B asic concep ts and the grade 2ro le m atrix are defined ,the m odel is described fo rm aly and app lied to p ractical system s.R eal u sers are co rresponding to differen t access au tho rizati on sou rces th rough differen t graded ro les ,the ro le conversi on and grade variance can be dynam ically com p leted ,so the access con tro l m echan is m becom es m o re flex ib le .Key words :grade ro le based access con tro l ;graded ro le ;au tho rity ;access con tro l ;graded 2ro le m a 2trix 访问控制又称权限管理,用来确保只有被授权用户才能访问敏感信息的机制。

访问控制模型是研究者抽象出来用以描述访问控制机制的一套概念和规则。

20世纪60年代的自主访问控制(DA C )模型和70年代的强制访问控制(M A C )模型的迅速发展,带动了访问控制模型的研究,先后出现了基于状态的访问控制(SBA C )、基于层的访问控制模型(LBA C )、基于任务的访问控制模型(TBA C )。

90年代后,基于角色的访问控制模型(RBA C )[1]逐渐成为访问控制模型的主流,RBA C 在用户和被访问资源之间增加了角色,根据安全策略划分出不同的角色,用户对资源访问可以被封装在角色中,不同的用户被指派到相同或不同的角色,用户通过角色间接地访问资源。

RBA C 的最大优点在于它能够灵活表达和实现安全政策,也在很大程度上提高了访问速度,并解决了因用户过多而导致的访问效率低与维护困难等问题,使管理员从访问控制底层的具体实现机制中脱离出来,十分接近日常的组织管理规则,也因此得到了广泛的实际应用。

随着企业对访问控制的需求日益变化,暴露出了RBA C 的明显缺陷:每种角色只对应一种授权资源;角色与授权资源的关系是静态不能改变的。

这使7231得角色与资源的授权划分比较死板,一旦角色与某一授权资源绑定,很难实现动态的改变。

本文提出的基于分级角色的访问控制(Graded Ro le B ased A ccess Con tro l ,GRBA C ),每种角色再分为几个等级,每个等级对应相应的授权资源,通过动态改变等级,可以改变用户对不同授权资源的访问。

其层次性和动态性可弥补RBA C 的缺陷,满足企业在访问控制上的不同要求。

1 GRBA C 模型1.1 模型描述RBA C 的模型如图1所示。

GRBA C 模型如图2所示。

在GRBA C 模型中,用户、资源和角色与RBA C 含义相同,与等级有关的部分定义如下:(1)不同类型的用户对应不同类型的角色;(2)同一类型的角色划分为不同的等级;(3)初始用户被指派为相应角色的最低等级;(4)角色的等级采用嵌套模式;(5)内层的角色等级低,外层的角色等级高;(6)高等级角色的权限包含低等级角色的权限,即低等级的角色可访问的资源高等级角色一定可以访问;(7)角色的等级可以依据用户的行为动态改变,或升级或降级。

图1 基于角色的访问控制模型F ig .1 RBA C M odel图2 基于分级角色的访问控制模型F ig .2 GRBA C M odel1.2 模型的基本定义GRBA C 模型用分层子句形式逻辑描述[2],为了描述方便先给出一些基本定义。

定义1 标准子句的形式[3]:C ←A 1,…,A m ,no t B 1,…,B n (m ≥0,n ≥0) 子句的头C 具有单一的原子性,不可再分;子句的体(A 1,…,A m ,no t B 1,…,B n )是条件的联合,A m 表示“正”,no t B n 表示“负”。

只有头没有体的子句表示一个断言。

一个GRBA C 程序是子句的集合。

定义2 基本集合: 可数集合U 表示用户集合,U ={u i ∶i ∈N };可数集合R 表示角色集合,R ={r i ∶i ∈N };可数集合S 表示资源集合,S ={s i ∶i ∈N };可数集合P 表示授权集合,P ={p i ∶i ∈N };可数集合A 表示行为集合,A ={a i ∶i ∈N };可数集合E 表示事件集合,E ={e i ∶i ∈N };可数集合G 表示等级集合,G ={g i ∶i ∈N };可数集合T 表示时间集合,T ={t i ∶i ∈N }。

其中:N 为自然数,U 、S 、P 、A 、E 和G 是不相交的集合,T 是不连续的时间点的集合。

G 与R 组成等级角色矩阵GR =g r 11g r 12…g r1n g r 21g r 22…g r 2nω g r m 1g r m 2…g r m n,每一列表示同一类角色的不同等级,每一行表示在相同级别上的不同类角色。

角色根据用户在系统中的职能不同来分类,同一类角色中的等级根据资源的访问粒度来划分。

当然,不同类型的角色可以分为不同数量的等级。

这样,矩阵中的每一个元素对应于不同资源的访问授权,从而达到访问控制的目的。

用户的角色转变表现为列之间的移动;用户的等级变化表现为行之间的升降。

定义3 访问控制事件集合:访问控制事件集合∑={Ρi ,i ∈N },Ρi 为所有与访问控制相关的事件。

定义4 归约关系:当且仅当g i <g j 时sub 2sum es G (g j ,g i )为真,g i ,g j ∈G 。

定义5 访问授权:p er m ission (g r ij ,s k )表示g r ij在s k 上有访问权[4]。

定义6 在GRBA C 模型中,一个与访问控制相关的事件由4个必要因素和若干可选因素组成。

必要因素:(1)happ ens (a i ,t i )=true 当且仅当某一事件a i ∈A 在某一时刻t i ∈T 时刻发生;8231 华东理工大学学报(自然科学版)第32卷(2)role(g r ij,a i)=true当且仅当某一行为a i∈A由某一级别的角色g r ij∈GR所引起;(3)act(e i,a i)=true当且仅当某一事件e i∈E 由某一行为a i∈A所触发;(4)sou rce(e i,s i)=true当且仅当某一事件e i∈E,某一资源s i∈S,且g r ij对s i有访问授权。

例如:Ρ={happ ens(a1,t1);role(g r11,a1);act(e1,a1);sou rce(e1,s1)}可能的意思是:一个用户对应的等级角色为g r11,他在t1时刻的行为a1,此行为触发了事件e1,事件e1访问了资源s1。

1.3 模型策略的形式化本文用形式化的方式描述一个用户从注册到对资源的访问、升级或降级行为、角色的转换等。

(1)新用户注册。

当一个新用户在系统注册时,根据此用户的性质,系统指派给他一个角色类别: asse m en t(u i,r i),由于是新用户,所以系统把他指定为此类角色的最低等级g rad e(u i,g1)。

当然,新用户在满足一定的条件下也可被指定为其他等级,比如缴纳一定的会员费等。

此时,g r ij←asse m en t(u i,r i);g rad e(u i,g1)成立,此后此用户可以访问对应于g r i1而被授权的资源。

(2)升级。

act U(e,a)←act(e i,a i),当a i∈A且是一个升级行为,则act U(e,a)是一个升级事件。

比如用户BOB在注册时被指派为r3类角色,等级为g1,即g r13,当有升级事件发生时BOB可被升级为g r23,g r23←g r13;act U(e,a)。

(3)降级。

act D(e,a)←act(e i,a i),当a i∈A且是一个降级行为,则act D(e,a)是一个降级事件。

相关主题