访问控制
访问控制的基本概念
一般概念
对越权使用资源的防御措施
基本目标
防止对任何资源的未授权访问,以保证计算机在合法的范围内使用。
决定用户(代表用户利益的计算机程序)能做什么。
未授权访问
- 非法用户对计算机的访问
- 合法用户对资源的非法访问
访问控制的组成
主体
规定需要保护的资源,也称为目标
客体
一个主动的实体,通常是用户或代表用户的应用程序,亦称为发起者
授权
规定对资源的操作(读、写、执行)
访问控制的基本模型
访问控制的实现机制
访问控制矩阵
访问控制矩阵的每一行是一个用户对所有资源的权限表
访问控制矩阵的每一列的一个资源被所有用户访问的权限表
访问控制表ACL
访问控制表采用链表结构,表示一种资源被用户访问的明细表。
访问能力表CL
访问能力表也采用链表结构,表示一个用户所能访问的所有资源的明细表
ACL与AL对比
- 二者鉴别实体不同
- 存储位置不同
- 对不同操作的响应效率不同
- 查看访问权限 ACL快
- 访问权限传递 CL快
- 权限回收 ACL容易
- ACL与CL转换 ACL -> CL 困难
- 不同操作系统
- 传统集中式操作系统中以ACL为主
- 分布式操作系统由于其主体难以完全确定,可以采用CL
授权关系表
将每个用户对每个资源的权限一一列出。
访问控制策略
基本类型
自主访问控制DAC
概念
以用户或用户组为单位规定访问权限,允许主体将访问权限授予其他主体。
特征
- 赋予客体的所有者较大权限,可以自由选择将权限授予或回收
- 通常采用ACL管理
- 灵活性高,较为普及
- 资源的安全性依赖于主体的安全意识
- 用户数量增加时管理不方便
访问类型
访问许可
一种改变访问模式和权限传递的能力
等级型
高等级用户具有改变低等级用户权限模式或向其传递权限许可的能力
有主型
一个资源分配唯一一个所有者,该所有者具有访问权限
自由型
访问模式
主体对客体的访问操作(读、写、执行)
强制访问控制MAC
概念
将主体和客体都分成响应的多个等级,并根据权限标记来确定访问模式。
特征
根据不同的需要确定权限关系
上读下写(保护完整性)
用户对高等级资源只有读权限没有写权限;对低等级资源只有写权限没有读权限,即(向)上读(向)下写
下读上写(保护机密性)
用户对高等级资源只有写权限没有读权限;对低等级资源只有读权限没有写权限,即(向)下读(向)上写
可以通过安全标签实现信息的单向传递
配置粒度大
不够灵活
基于角色的策略RBAC
概念
引入用户(成员集合+操作权限集合)概念,用户可以执行其所属角色所定义的操作。
特征
- 易于理解,易于映射到访问控制矩阵
- 既有基于身份的访问控制特征,也有基于组的访问控制的特征
- 一个用户可以属于多个组或角色
- 相较于传统的访问控制,增加了角色这一中间层增加灵活性
优势
- 便于授权管理
- 便于根据实际需求分组分级管理
- 便于赋予最小特权
使用控制UCON
略