文档介绍:第四讲基于角色的访问控制(Role-Based Access Control)
80年代末90年代初,NIST(美国国家标准技术研究所)的安全专家( Ferraiolo等)对质疑TCSEC(可信计算机系统评估准则)和MAC/DAC能否适应日益增长的安全需求,并提出了新的访问控制技术-RBAC。e Mason U的Ravi Sandhu。
1995年Ravi Sandhu等人对NIST的成员于92年提出的RBAC模型和理论进行了扩展,提出了RBAC0,并构造了RBAC96模型族。
1
第四讲基于角色的访问控制(Role-Based Access Control)
一什么是基于角色的访问控制
在一个组织机构里系统为不同的工作岗位创造对应的角色,对每一个角色分配不同的操作权限,根据用户在组织机构中的职责或任务为其指派相应的角色,用户通过所分配的角色获得相应的权限,实现对信息资源的访问.
用户-角色- 权限
2
3
用户、角色、权限的关系
如下2个图所示:
图1
权限1
权限2
权限m
……
用户1
用户2
用户n
成员资格
成员资格
角色i
……
成员资格
4
图2
由此:用户与角色-多对多
角色与权限-多对多
用户与权限-多对多
操作r1
操作11
操作21
操作12
操作r2
……
……
……
用户i
角色1
角色2
角色r
……
5
RBAC的特点
RBAC支持3个原则:
6
二 RBAC96模型
RBAC0:反应了RBAC的基本需求
RBAC1:在RBAC0的基础上加上了角色层次,反应了多级安全需求
RBAC2:在RBAC0的基础上加上了约束集合
RBAC3: RBAC1 的功能和RBAC2的功能的集合
RBAC3
RBAC1
RBAC2
RBAC0
RBAC96模型族
7
1. RBAC0的定义
(1) U:表示用户集 R:表示角色集
P:表示权限集 S:表示会话集
(2) PAP×R,是权限到角色的多对多的指派
(3) UA U×R,是用户到角色的多对多的指派
(4) user: S→U,会话和用户的单一映射,
user(si)表示创建会话si的用户;
8
(5)roles: S→2R,会话和角色子集的映射,
roles(si)表示会话si对应的角色集合;
roles(si){r| (user(si), r )∈UA}
(6)会话si具有的权限集
9
例:设U={u1,u2,u3}={张,王,李}
R={r1,r2} ={外科医生, 内科医生}
P={p1,p2,p3}={开外科药,做手术,开内科药}
P×R={(p1,r1),(p1,r2),(p2,r1),(p2,r2),(p3,r1),(p3,r2)}
PA ={(p1,r1),(p2,r1),(p3,r2)}
UA={(u1,r1),(u1,r2),(u2,r1),(u3,r2)}
u1{r1,r2} {p1,p2,p3}
u2{r1} {p1,p2}
u3{r2} {p3}
10