系统安全——访问控制
概念
什么是访问控制 access control
为用户对系统资源提供最大限度共享的基础上,对用户的访问权进行管理,防止对信息的非授权篡改和滥用
访问控制作用
保证用户在系统安全策略下正常工作
拒绝非法用户的非授权访问请求
拒绝合法用户越权的服务请求
访问控制模型
什么是访问控制模型
对一系列访问控制规则集合的描述,可以是非形式化的,也可以是形式化的。
组成
访问控制模型的分类
自主访问控制模型 (Discretionary Access Control,DAC)
强制访问控制模型 ( Mandatory Access Control,MAC)
基于角色访问控制模型(Role-based Access Control,RBAC)
自主访问控制模型
具有拥有权(或控制权)的主体能够将对该客体的一种访问权或多种访问权自主地授予其它主体
任何时刻将这些权限回收。
用户可以针对被保护对象制定自己的保护策略。
我的数据我作主
网盘分享,社交媒体分享
灵活,具有较好的易用性和可扩展性
安全性不高
授权转移无法控制
自主访问控制的实现机制
实现机制
访问控制表/矩阵
自主访问控制模型实现方式
访问控制表ACL
权限与客体关联
在客体上附加一个主体明细表的方法来表示访问控制矩阵的列
windows系统
NTFS格式
访问能力表
权限与主体关联
为每个用户维护一个表,表示主体可以访问的客体及权限
自主访问控制的特点
优点:根据主体的身份和访问权限进行决策
具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体
灵活性高,被大量采用
缺点:安全性不高
信息在传递过程中其访问权限关系会被改变
强制访问控制模型
什么是强制访问控制(MAC)
主体和客体都有一个固定的安全属性,系统用该安全属性来决定一个主体是否可以访问某个客体
特点
安全属性是强制的,任何主体都无法变更
安全性较高,应用于军事等安全要求较高的系统
强制访问控制模型-BLP
由D. Elliott Bell和Leonard J. LaPadula于 1973年提出的一种模拟军事安全策略的计算机访问控制模型,简称为BLP模型 第一个严格形式化的安全模型
多级访问控制模型,用于保证系统信息的机密性
安全级
密级:绝密、机密、秘密、公开
范畴:军事,外交,商务
安全级之间支配关系(密级高于或等于、范畴包含)
例如L=<机密,{外交,商务}>,L’=<秘密,{商务}>,则L支配 L’
安全策略
向下读、向上写
基于角色的访问控制
基于角色的访问控制(RBAC)模型
系统内置多个角色,将权限与角色进行关联
用户必须成为某个角色才能获得权限
访问控制策略根据用户所担任的角色来决定用户在系统中的访问权限
用户必须成为某个角色,且还必须激活这一角色 ,才能对一个对象进行访问或执行某种操作
动机:权限太多,授权过程太复杂
定义:权限的集合 a set of priviliges
收回角色,收回权限
非常灵活——单独、批量操作权限和用户
安全原则
RBAC支持三个著名的安全原则:最小权限原则,责任分离原则和数据抽象原则。
最小权限原则,是因为RBAC可以将其角色配置成其完成任务所需要的最小的权限集。
责任分离原则可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现
数据抽象可以通过权限的抽象来体现
RBAC0,基本模型,规定了所有RBAC的基本内容, 四种要素,用户(U)、角色(R)、会话(S)和权限(P)
RBAC1:包含RBAC0,加入安全等级及角色继承关系
RBAC2:包含RBAC0,加入约束条件,例如财务和会 计不能为同一人
RBAC3:结合了RBAC1、RBAC2