Skip to content

比较访问控制模型

时间: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有三种环境类型:分层、分区和混合。

0

强制访问控制=安全属性=标签

6.基于风险的访问控制(Risk-BAC)

该模型通过考虑几个不同的因素来评估风险:

• 环境(environment):可以是物理位置、IP地址等因素。

• 情况(situation):可以是正在发生什么。

• 安全策略(Security policies):可以是风险计算方式。

听起来很抽象,其实简单理解就是某个场景下对风险进行评估,再授予该场景下用户符合安全策略的访问权限。