访问控制
访问控制模型
访问控制
概念:针对越权使用资源的防御措施
目标:防止对任何资源未进行授权的访问(1.非法用户使用系统资源;2.合法用户非法使用系统资源),决定用户能做什么,代表一定用户利益的程序能做什么
作用:机密性、完整性、可用性
访问:三元组(S,A,O)(主体、客体、访问操作)
标识:实体身份的一种计算机表达,每个实体与计算机内部的一个身份表达绑定;作用是访问控制
与审计
模型
访问控制的两个重要过程:鉴别,授权
访问控制模型:对一系列访问控制规则集合的描述,可以是非形式化的,也可以是形式化的
组成
基本概念
访问控制信息ACI的表示:
- 主体访问控制属性
- 客体访问控制属性
- 访问控制政策规则
授权:如何分配访问控制属性信息,如何浏览、修改、回收访问控制权限
一般实现机制和方法
机制:
- 基于访问控制属性:访问控制表/矩阵
- 基于用户和资源分级:多级访问控制
方法:
- 访问控制表-ACL:每个客体附加一个可以访问它的主体的明细表
- ACL与客体关联
- 主体数量比客体少得多且容易分组,授权管理相对简单
- 得到一个客体所有的访问权限,容易
- 浏览一个主体的所有访问权限,困难
缺点
- 访问控制粒度为用户:当用户数量多、管理资源多时,ACL会很庞大
- 缺省策略:默认
- 组织内人员、工作职能变化时,ACL修改异常困难
- 访问能力表:每个主体附加一个该主体可访问的客体的明细表
- 能力表与主体关联
- 表现形式:用户Profile,授权证书
- 得到一个主体所有的访问权限,容易
- 浏览一个客体所允许的访问控制权限,困难
- 访问控制矩阵:M=S×O→2A,上面的能力表和访问控制表其实就是访问控制矩阵的特殊形式(行与列)
- 授权关系表
- 访问控制安全标签
- 其他
访问控制与其他安全机制关系
分类
DAC:自主访问控制
允许客体的属主(创建者)决定主体对该客体的访问权限:分布式授权管理模式
- 灵活调整安全策略
- 具有较好易用性和可扩展性
- 常用于商业系统
- 安全性不高
优点
- 根据主体身份和访问权限进行决策
- 具有某种访问能力的主体能够自主地将访问权的某个子集授予其他主体
- 灵活性高,被大量采用:Linux、Windows
缺点:信息传递过程中访问权限被改变
MAC:强制访问控制
客体的属主无权控制客体的访问权限,以防止对信息的非法和越权访问
- 主体和客体分配有一个安全属性
- 应用于军事等安全要求较高的系统
- 可与自主访问控制结合使用
每个主体和客体分配一个固定的安全级别,只有系统管理员才可以修改
只有在主体和客体的安全级别满足一定规则时,才允许访问
特点
- 将主体和客体分级,根据主体和客体的级别标记来决定访问模式
- 访问控制关系分为:上读/下写,下读/上写
- 通过梯度安全标签实现单向信息流通模式
四种策略
- 下读:主体高于客体时允许读;低级别用户不能读高敏感信息【机密性】
- 上写:主体低于客体时允许写;不允许高敏感信息写入低敏感信息区域【机密性】
- 上读:主体低于客体时允许读;低级别用户能够读高敏感信息【完整性】
- 下写:主体高于客体时允许写;允许高敏感信息写入低敏感信息区域【完整性】
常见MAC模型
- BLP模型:下读/上写,保证机密性;
应用:防火墙
- 安全级别:内部网络机密,外部internet公开
单向访问机制:
- 不上读:阻止internet访问内部网络,仅允许由内向外发起的数据流通过
- 不下写:不允许敏感数据从内部网络流向Internet
- Biba模型:上读/下写,保证完整性;
应用:web服务器
- 安全级别:web服务器上资源级别为秘密;Internet用户级别为公开
- 上读/不上写,保障web数据完整性:internet用户只能读取服务器数据而不能更改它
- Clark-Wilson模型
- Chinese Wall模型
- Lattice模型:主体安全级别高于客体才能访问;下读/下写:
MAC和DAC区别:
DAC | MAC |
---|---|
细粒度 | 控制粒度大 |
灵活性高 | 灵活性不高 |
配置效率低 | 安全性强 |
RBAC:基于角色的访问控制
基本思想:根据用户所担任的角色来决定用户在系统中的访问权限
- 一个用户必须扮演某种角色,而且还必须激活这一角色,才能对一个对象进行访问或执行某种操作
组成:
- 用户:访问计算机资源的主体,用户集合为U
- 角色:一种岗位,代表一种资格、权利和责任,角色集合为R
- 权限:对客体的操作权力,权限集合为P
- 用户分配:将用户与角色关联;关联后u将拥有r的权限
- 权限分配:将角色与权限关联;关联后r将拥有权限p
- 激活角色:角色只有激活才起作用;通过会话激活角色
- 会话:用户访问系统资源,必须先建立一个会话;一次会话仅对应一个用户,但可以激活多个角色
eg:
用户、角色、许可关系
- 用户、角色多对多
- 角色、许可多对多
- 许可=操作+客体,操作、客体多对多
实例:银行
RBAC特点
- 便于授权管理
- 便于处理工作分级:如文件等资源分级管理
- 利用安全约束:容易实现各种安全策略
- 便于任务分担:不同角色完成不同任务
访问控制技术
Windows(DAC)
组成部件:
- 安全标识:账号的唯一对应
- 访问令牌:LSA为用户构造的,包括用户名、所在组名、安全标识等
- 主体:操作和令牌
- 对象、资源、共享资源
- 安全描述符:为共享资源创建的一组安全属性
登录过程:
- 服务器为工作站返回安全标识,服务器为本次登录生成访问令牌
- 用户创建进程P时,用户的访问令牌复制为进程的访问令牌
- P进程访问对象时,SRM将进程访问令牌与对象的自主访问控制表进行比较,决定是否有权访问对象
NTFS(文件系统)访问控制
- 从文件中得到安全描述符(包含自主访问控制表)
- 与访问令牌一起由SRM进行访问检查
Linux(DAC)
- 设备和目录同样看作文件
- 三种权限:rwx
- 权限表示:字母rwx(不具有权限位置-),8进制111(不具有权限位置0)
- 四类用户:root(超级用户)、所有者、所属组、其他用户
文件属性:
- 安全属性:drwdxr-x--x
- 所有者,所属组
访问控制的管理方法
分类
- 集中访问控制:归一个管
- 非集中访问控制(分布式):分成很多个小的域控制
域:一个信任范围,或者是共享沟通安全策略的主体和客体的集合
- 每个域的访问控制与其他域保持独立
- 跨域访问必须建立信任关系,用户可以从一个域访问另一个域中的资源
- 信任可以单双向
扩展:零信任
零信任网络访问(Zero-Trust Network Access,ZTNA):不能信任出入网络的任何内容,应创建一种以数据为中心的全新边界,通过强身份验证技术保护数据
理念:假定泄露,将每个请求视为源自开放网络,坚持“永不信任,始终验证”原则
零信任既不是技术也不是产品,而是一种安全理念