1. DAC 自主访问控制 Discretionary Access Control
- 自主:客体的拥有者可以自主决定给谁授权。
- 用户(资源属主)可以授予、撤销其他用户对自己资源的访问权限。
- 缺点:权限可以传递,容易发生权限泄露;无法强制统一安全策略。
- 实现:访问控制列表ACL、能力表。
关键词:属主自主授权、权限可传递
2. MAC 强制访问控制 Mandatory Access Control
- 系统强制分配安全标签(密级/完整性级别),用户不能修改标签,不能自主授权。
- 系统根据主体、客体安全标签做访问判定。
- 两个典型实现模型:BLP(机密性)、Biba(完整性)
BLP Bell‑LaPadula(机密性)
- 简单安全条件:不上读,主体不能读更高密级客体
- *‑特性:不下写,主体不能写更低密级客体
目标:防止机密信息向下泄露,不处理完整性
Biba(完整性)
- 简单完整性条件:不下读,不能读取完整性级别更低对象(避免读脏数据)
- *‑完整性特性:不上写,不能向完整性级别更高对象写入
目标:保护数据完整性,防止低可信数据污染高可信数据
BLP、Biba底层理论基础都是状态机模型:系统维持安全状态,所有状态迁移必须保持安全。
3. RBAC 基于角色的访问控制 Role‑Based Access Control
- 不直接给用户分配权限;权限分配给角色,用户分配角色。用户通过获得角色得到权限。
- 优点:权限与用户解耦;适合企业组织,人员变动只需要变更角色,不用改大量权限。
- RBAC分为4级(教材)
- RBAC0(核心):用户‑角色;角色‑权限;用户分配角色。最基础。
- RBAC1:增加角色层次,角色可以继承。
- RBAC2:增加约束:互斥角色、基数约束、先决角色等。例如:一个人不能同时拥有出纳和会计角色。
- RBAC3 = RBAC1+RBAC2:角色继承 + 约束。
高频考点:互斥角色属于RBAC2;角色继承属于RBAC1。
4. RRBAC 基于规则的角色访问控制(规则驱动)
- 在RBAC基础上加入业务规则,根据上下文条件动态分配权限。
- 例子:工作时间才允许访问;根据部门、时间、IP动态判断是否赋予角色权限。
关键词:上下文、条件、动态授权
5. Chinese‑Wall 中国墙模型
目标:防止利益冲突,多用于金融机构。
- 用户一旦访问某一个竞争数据集A,就不能再访问和A有利益冲突的数据集B。
- 不是按密级,按利益冲突类控制访问。
口诀:访问A,则不能访问A的冲突集合。
6. Clark‑Wilson 模型(完整性模型)
面向商业应用,保障业务数据完整性。 核心概念:
- CDI:受约束数据项(需要保护的业务数据)
- UDI:非受约束数据项(外部输入数据)
- TP 转换过程:只允许通过TP程序操作CDI,不允许用户直接修改数据。
- 职责分离:关键操作拆分给不同用户完成。
特点:用程序做访问控制,职责分离,面向业务完整性。Biba是简单分级完整性;Clark‑Wilson适合现实业务系统。
注意:本文归作者所有,未经作者允许,不得转载