比较访问控制模型
时间:2023年2月21日 星期二
作者:小王
一、比较权限、权力和特权
1.权限(permission)
技术层面用户能够访问资源的权限,如可读取、可读可写、可执行等。
2.权利(right)
现实层面的权利,你有权利查看数据库的数据,前提是有读取的权限。
3.特权(privilege)
权限+权利就是特权。
4.权利(Entitlement)
权利是指授予用户特权的数量,通常在首次分配账户时指定。
二、理解授权机制
1.隐式拒绝
基本原则,白名单机制,如不特定声明允许访问的全部按拒绝。(例如防火墙)
2.能力表
关注主体,主体能够访问哪些客体以及执行什么操作。
3.访问控制列表(ACL)
关注客体,客体能够被哪些用户访问以及执行什么操作。
4.访问控制矩阵(ACM)
能力表和访问控制列表组成访问控制矩阵,如防火墙的访问控制即防火墙访问控制策略。
5.约束接口
限制用户能够执行或查看的内容,如Windows菜单。
6.依赖内容的控制
根据客体内容限制用户,如数据库视图。
7.依赖上下文的控制
根据主体动作或时间进行权限控制,如上班时间才能访问文件服务器。
8.知其所需
主体只能访问工作所需的内容。
9.最小特权
主体仅被授予执行工作所需的权限,与知其所需的区别在于执行动作的权利。(基本不选,兜底,常用在新用户注册)
10.职责分离
敏感任务流程拆分由多人执行。
11.纵深防御
多层机制保护资产,大维度上采用物理、技术、管理控制保护,小维度上边界防火墙、数据中心防火墙保护。
三、使用安全策略定义需求
组织的安全策略宏观上指导访问控制的实现。
四、自主访问控制(DAC)
允许客体的所有者、创建者或数据托管员控制和定义对该客体的访问,即关注客体,典型代表ACL。DAC属于分散式访问控制,灵活但不易管理。
五、非自主访问控制(Non-DAC)
常考
Non-DAC属于集中式访问控制,不够灵活但易于管理。
1.基于角色的访问控制(RBAC)
通过使用组来实现控制,如安全设备的三权分立。RBAC有助于解决特权蠕变,强制执行最新特权原则,适合人员更迭频繁的环境。
2.基于任务的访问控制(TBAC)
与RBAC的区别在于不基于用户身份,而是基于工作任务来控制。
3.基于规则的访问控制(Rule-BAC)
也就是访问控制矩阵,即防火墙,包含隐式拒绝。
4.基于属性的访问控制(ABAC)
属性是围绕主题的描述信息
Rule-BAC的高级实现,可以细粒度的控制条件(不限于五元组),如用户的身份、部门、设备、时间等。
5.强制访问控制(MAC)
MAC依赖分类标签的使用,也通常被称为基于格子的模型,每一个安全级别都可以使用标签继续细分权限,称为隔间或隔离专区。想要访问隔离专区的数据,必须先拥有级别标签,还需要拥有隔间标签才能进行访问。
由此MAC有三种环境类型:分层、分区和混合。
强制访问控制=安全属性=标签
6.基于风险的访问控制(Risk-BAC)
该模型通过考虑几个不同的因素来评估风险:
• 环境(environment):可以是物理位置、IP地址等因素。
• 情况(situation):可以是正在发生什么。
• 安全策略(Security policies):可以是风险计算方式。
听起来很抽象,其实简单理解就是某个场景下对风险进行评估,再授予该场景下用户符合安全策略的访问权限。