APP下载

基于PBDM划分权限的授权代理模型

2012-12-04张秉阁刘淑芬

吉林大学学报(理学版) 2012年5期
关键词:代理分配常规

张秉阁, 刘淑芬, 韩 啸,2

(1. 吉林大学 计算机科学与技术学院, 长春 130012; 2. 吉林大学 学报编辑部, 长春 130012)

在计算机系统安全方面, 基于角色的访问控制(role-based access control, RBAC)[1]是一种限制用户访问的方法, 作为一种有效的访问策略得到了广泛认可. 基于角色的授权代理模型[2-7]是在RBAC的基础上提出的一种委托模型, 该模型在分布环境中应用广泛. 如果采用集中授权的方法, 系统对用户的权限分配会非常繁重, 而授权代理可解决该问题, 授权代理的基本思想是将自己的权限或角色委托给其他用户, 让接受委托的用户代理执行某些任务.

目前, 基于角色[8-9]的授权代理模型主要有RBDM0[4], RDM2000[5], PBDM0[3], PBDM1[3]和PBDM2[3]等. RDM2000是RBDM0模型的一种扩展, 支持角色层次和多步代理. PBDM模型体系是支持角色间基于许可细粒度的委托, 其中PBDM0是一种粗粒度的支持用户-用户的授权代理模型. PBDM2 是一种支持角色-角色的授权代理模型, 但PBDM2将角色划分为4类, 使角色名成倍增加, 并使角色间的继承关系变得更复杂. 本文在PBDM的基础上提出PBDM-P模型, 引入了私有角色解决角色-角色授权问题, 并划分权限[8]解决PBDM0中的缺陷.

1 PBDM模型

PBDM0是基于RBAC96提出的一种用户-用户授权代理模型, PBDM0将角色分为常规角色和代理角色, 用户可将需要代理的角色或权限先授权给代理角色, 再将代理角色授权给其他用户. PBDM0存在两个问题: 1) 用户可将任意角色或权限代理给其他用户, 但系统可能不想让用户把一些权限委托出去; 2) PBDM不支持角色-角色授权, 与实际情况不符. 为了解决第一个问题, 文献[3]提出了PBDM1模型. PBDM1模型在PBDM0的基础上将角色分为常规角色、 可代理角色和代理角色. 其中常规角色不可以代理给其他用户, 可代理角色可代理给其他用户, 代理角色作为用户想代理给其他用户的权限集合, 这样系统即可限制用户代理权限的范围. PBDM1也不支持角色-角色授权. PBDM2将可代理角色分为固定可代理角色和临时可代理角色, 临时可代理角色用于接受其他用户代理给本用户的角色, 临时可代理角色不支持角色层次, 而常规角色和固定可代理角色支持角色继承层次.

虽然PBDM模型体系解决了代理权限的范围和角色-角色授权问题, 但存在严重的角色名空间爆炸问题, 如一个用户大部分权限都是可代理的或不可代理的, 导致常规角色或可代理角色都是空角色. 另一方面, 由系统管理员将可代理权限和不可代理权限对用户的分配又加重了系统管理员的负担. 为了解决上述问题, 本文在PBDM的基础上做出改进, 提出私有角色(在角色层次中不支持继承关系)和划分权限为可代理权限与不可代理权限. 划分权限的优点是对可代理权限和不可代理权限进行集中管理, 增加了代理的安全性.

2 PBDM-P模型

图1 PBDM-P模型的体系结构Fig.1 Architecture of PBDM-P model

PBDM-P模型的体系结构如图1所示.

2.1 模型的基本元素 用户(U): 用户的集合; 常规角色(RR): 一组权限的集合, 代表一种职责, 在角色层次中存在继承关系; 临时代理角色(DTR): 一组可代理权限的集合, 当用户产生授权需求时, 建立DTR, 将需要授权的权限授予临时DTR; 私有角色(PR): 私有角色不存在继承关系, 因此可把临时代理角色代理给私有角色, 从而消除无效的权限流问题, 私有角色与常规角色一一对应, 私有角色的用户集和常规角色的用户集相同; 可代理权限(DP): 权限中可代理给其他用户或角色的权限集; 不可代理权限(UDP): 权限中不可以代理给其他用户或角色的权限集. 各元素关系如下:

R=RR∪PR∪DTR, P=DP∪UDP, RR∩PR=Ø, RR∩DTR=Ø, PR∩DTR=Ø, DP∩UDP=Ø, UAR⊆U×RR, UAP⊆U×PR, UAD⊆U×DTR, UA⊆UAR∪UAP∪UAD, PAR⊆P×RR, PAP⊆P×PR, PAD⊆DP×DTR, PA⊆PAR∪PAP∪PAD, RRH⊆RR×RR, DH⊆DTR×DTR(临时代理角色上的继承属于单用户), RH⊆RRH∪DH.

2.2 模型函数

user_r(r): RR→2U, 表示常规角色r对应的用户集合;

user_p(r): PR→2U, 表示私有角色对应的用户集合;

own_p(r): PR→RR, 表示与私有角色一一对应的常规角色;

∀rr∈RR ⟹∃pr∈PR,pr=own_p(rr)⟹user_p(pr)=user_r(rr), 表示对于所有用户都要分配一个与常规角色相对应的私有角色, 即私有角色的用户集与常规角色的用户集一一对应;

permissions_r(r): RR→2P, permissions_r(r)={p: P∃r′≤r·(r′,p)∈PAR}表示一个常规角色对应权限的集合;

permissions_p(r): PR→2P, permissions_p(r)={p: P∃r′≤r·(r′,p)∈PAP}表示一个私有角色对应权限的集合;

permissions_d(r): DTR→2DP, permissions_d(r)={p: P∃r′≤r·(r′,p)∈PAD}表示一个临时代理角色具有的权限集合;

permissions(u)= (∀r)(r∈DTR→permissions_d(r))∪(∀r)(r∈RR→permissions_r(r))∪

(∀r)(r∈PR→permissions_p(r))表示一个用户所有权限的集合;

permissions_cand(u)=permissions(u)∩DP表示一个用户拥有权限中能代理出去的权限集合;

permissions_cannotd(u)=permissions(u)∩UDP表示一个用户拥有权限中不能代理出去的权限集合;

(∀r)(r∈DTR→permissions_d(r)∩UDP)=Ø, DTR表示用户建立的临时代理角色, 其中的权限与不可代理权限的交集一定是空集;

(∀r)(r∈DTR→permissions_d(r))⊆DP, 表示用户能够代理的权限集合是可代理权限集合的一个子集;

代理执行的判定: can_delegate⊆DBR×Pre_condition×P_range×M. 其中: DBR=permissions_cand(u)表示可代理权限的集合; Pre_condition表示委托的先决条件, 用户想要委托出去的权限必须是系统中可代理权限的一个子集; P_range⊆R表示委托范围;M表示最大代理深度(在代理过程中允许向其他用户代理的路径深度).

2.3 模型的实施和撤销

2.3.1 用户-用户权限代理 假设用户UA想代理其权限p1, 并将其下层角色RB代理给用户UD, 其中RA继承于RD和RB, RD和RB继承于RC, 如图2所示. 用户、 角色及其权限关系列于表1.

图2 角色继承层次Fig.2 Role and role hierarchy

用户角色可代理权限不可代理权限UARA,RA′p1,p2p3UBRB,RB′p4,p5UCRC,RC′p6p3,p4UDRD,RD′p7,p8

授权过程如下:

1) 用户UA创建临时代理角色D1;

2) 因为p1是可代理权限, 因此可通过权限-角色分配将p1授予D1, 再通过角色-角色分配将RB授予D1; 系统可通过代理判定自动判断用户所要代理的权限是否属于可代理权限集合, 若不属于则代理失败;

3) 用户UA通过角色-用户分配将D1分配给UD.

2.3.2 角色-角色权限代理 为了保证系统安全性, 角色-角色的授权代理需要在管理员监督下完成. 假设常规角色RA想要将其权限p1和下层角色RB代理给角色RD, 则授权代理过程如下:

1) 创建临时代理角色D2;

2) 通过权限-角色分配将p1授予给D2, 再通过角色-角色分配将RB授予D2, D2获得权限p1,p4,p5;

3) 通过角色-角色代理将D2分配给RD′, 因为RD′没有在角色的继承关系中, 所以不会将D2代理给下层角色.

2.3.3 代理撤销 代理撤销是授权代理的重要过程. 本文考虑以下几种撤销方式.

1) 用户可撤销代理角色中一种或几种权限;

2) 用户也可随时撤销代理给某个用户的角色;

3) 超时撤销: 可为每次授权设置一个生命周期, 生命周期结束时代理自动撤销;

4) 管理员撤销: 如果管理员发现权限的代理违法, 则有权撤销代理.

综上可见, PBDM-P与PBDM的主要区别如下:

1) PBDM通过划分角色实现授权代理, 而PBDM-P在PBDM的基础上引入了私有角色的概念, 并划分权限实现授权代理;

2) PBDM存在角色名爆炸问题, PBDM将角色划分为4类, 使角色名是原来的3倍, 而PBDM-P将角色分为3层, 角色名比PBDM少;

3) PBDM中可能存在大量的空角色, 为解决该问题, PBDM-P将权限划分为可代理权限和不可代理权限两类, 使权限的代理集中管理.

权限的代理具有一致性, 即对于某个权限不会因为用户的不同而代理性不同. 虽然PBDM-P减少了角色冗余但也存在缺点, 即权限代理性的确定减弱了其灵活性. PBDM-P与PBDM的比较结果列于表2.

表2 PBDM与PBDM-P特征比较

PBDM-P模型在PBDM模型的基础上进一步将权限划分, 有效避免了PBDM模型的缺点, 使该模型更符合实际系统中对访问控制的要求, 在授权代理方面也更合理, 可应用于对访问控制要求较高的系统中.

[1] Sandhu R S, Coyne E J, Feinstein H L, et al. Role-Based Access Control Models [J]. IEEE Computer, 1996, 29(2): 38-47.

[2] Barka E S, Sandhu R. Framework for Role-Based Delegation Model [C]//Proceedings of the 16th Annual Computer Security Applications Conference. Washington DC: IEEE Computer Society, 2000: 168-176.

[3] ZHANG Xin-wen, Oh S, Sandhu R. PBDM: A Flexible Delegation Model in RBAC [C]//Proceeding of the 8th Symposium on Access Control Models and Technologies. New York: ACM Press, 2003: 149-157.

[4] Barka E, Sandhu R. A Role-Based Delegation Model and Some Extensions [C]//Proceeding of 23rd National Information Systems Security Conference. Baltimore: [s.n.], 2000: 101-114.

[5] ZHANG Long-hua, Ahn G J, Chu B T. A Rule-Based Framework for Role-Based Delegation [C]//Proceedings of the 6th ACM Symposium on Access Control Models and Technologies. New York: ACM Press, 2001: 153-162.

[6] Sandhu R, Ferraiolo D, Kuhn R. The NIST Model for Role-Based Access Control: Towards a Unified Standard [C]//Proceedings of 5th ACM Workshop on Role-Based Access Control. New York: ACM, 2000: 47-63.

[7] ZHANG Jian, SUN Ji-gui, LI Ni-ya, et al. Weighted-Role Based Privilege Delegation Model for Workflow [J]. Journal of Jilin University: Engineering and Technology Edition, 2009, 39(4): 1057-1063. (张健, 孙吉贵, 李妮娅, 等. 工作流中一个基于加权角色的权限代理模型 [J]. 吉林大学学报: 工学版, 2009, 39(4): 1057-1063.)

[8] SUN Wei-qun, SHAN Bao-hua, ZHANG Cheng, et al. A Role-Based Delegation Access Control Model for Virtual Organization in Service Grid [J]. Chinese Journal of Computers, 2006, 29(7): 1199-1208. (孙为群, 单保华, 张程, 等. 一种基于角色代理的服务网格虚拟组织访问控制模型 [J]. 计算机学报, 2006, 29(7): 1199-1208.)

[9] DONG Guang-yu, QING Si-han, LIU Ke-long. Role-Based Authorization Constraint with Time Character [J]. Journal of Software, 2002, 13(8): 1521-1527. (董光宇, 卿斯汉, 刘克龙. 带时间特性的角色授权约束 [J]. 软件学报, 2002, 13(8): 1521-1527.)

猜你喜欢

代理分配常规
常规之外
应答器THR和TFFR分配及SIL等级探讨
紧急避孕不是常规避孕
遗产的分配
一种分配十分不均的财富
代理圣诞老人
绩效考核分配的实践与思考
代理手金宝 生意特别好
别受限于常规
复仇代理乌龟君