信息安全工程师每年必考核心考点:访问控制模型DAC与MAC与RBAC与ABAC深度辨析,四种模型到底怎么区分?

分类: 信息安全工程师、 软考中级 发表时间:2026年07月09日 11:06

信息安全工程师每年必考核心考点:访问控制模型DAC与MAC与RBAC与ABAC深度辨析,四种模型到底怎么区分?

什么是访问控制模型:从一扇门的权限说起

访问控制模型是信息安全领域最基础也最核心的防御机制之一,本质上它回答的是同一个问题:谁在什么条件下可以对什么资源执行什么操作。如果把信息系统比作一栋大楼,那么访问控制模型就是这栋楼的通行证管理体系——决定哪些人能进哪个房间、能打开哪个柜子、能翻阅哪份文件。

国际标准化组织在ISO/IEC 10181-3标准中对访问控制给出了正式定义:访问控制是防止对资源进行未授权使用的一种安全机制,包括防止以未授权方式使用某一资源。这一机制由三大要素构成:主体、客体和访问策略。主体是发起访问请求的主动实体,通常是用户、进程或应用程序;客体是被访问的被动实体,可以是文件、数据库记录、网络端口或硬件设备;访问策略则是决定主体能否访问客体的一组规则和约束。

在信息安全工程师考试的知识体系中,访问控制模型居于基础架构核心位置。信息安全三元组机密性、完整性和可用性,每一项都离不开访问控制。没有访问控制,机密性无从保障,完整性会被破坏,可用性也会被恶意占用摧毁。访问控制既是第一道门禁,也是最后一道防线。

软考命题人之所以年年将其作为必考点,不仅因为实用性强,更因为四种模型概念边界清晰、容易设计选择题干扰项。DAC和MAC仅一字之差,底层逻辑截然不同;RBAC和ABAC命名对称,适用场景却是两条路线。不深入理解每种模型的设计哲学,仅靠字面意思推测,考场上必定掉进干扰项的陷阱。

四种访问控制模型的原理机制深度拆解

访问控制模型的发展不是一蹴而就的,而是随着计算环境从单机到网络、从封闭到开放、从静态到动态的演进逐步深化。最早出现的是自主访问控制,它解决的是单用户系统中文件共享的基本需求;随后军事和安全机构对信息密级的严格要求催生了强制访问控制;企业信息化管理中对组织架构和权限管理的渴求又推动了基于角色访问控制的诞生;而云计算和物联网时代的动态授权需求则最终促成了基于属性访问控制的兴起。这四种模型并非简单的替代关系,而是按安全需求层次递进叠加的演化路径。

自主访问控制DAC的授权矩阵与访问控制列表

自主访问控制的核心理念可以用一句话概括:资源的所有者有权决定谁可以访问自己的资源。在DAC模型中,每个客体都拥有一个明确的所有者,所有者可以自主地将其拥有的客体的访问权限授予其他主体,也可以随时收回已经授予的权限。这种授权模式最接近现实世界中个人财产权的逻辑——你的东西,你说了算。

从技术实现角度看,DAC依赖两种基本数据结构来表达权限关系:访问控制矩阵和访问控制列表。访问控制矩阵是一个以主体为行、以客体为列的二维表格,矩阵中的每个单元格记录了对应主体对对应客体的操作权限集合,例如读、写、执行、删除等。但在实际系统实现中,完整的访问控制矩阵过于庞大且稀疏度极高,因此工程上通常将其拆解为两种存储视图:一种是按列存储的访问控制列表,即每个客体附带一份可访问自己的主体清单及对应权限;另一种是按行存储的能力表,即每个主体持有一份自己能访问的客体清单及对应权限。

绝大多数现代操作系统的文件权限采用访问控制列表方案实现DAC。Linux文件系统中,每个文件的索引节点存储三组权限位:所有者、同组用户和其他用户,每组细分为读、写、执行三个比特。进程打开文件时,内核将进程的有效用户标识与文件所有者比对,逐级匹配确定应用的权限组。Windows的NTFS文件系统则使用更精细的自主访问控制列表,每条访问控制项区分允许和拒绝两种语义,还支持权限继承。

DAC的灵活性是最大优势,也恰恰带来了严重隐患。由于所有者可以随意授权,权限扩散无法有效控制。拥有读取权限的用户可将文件复制到自己目录下,再以所有者身份开放给更多人,原始访问意图被完全绕过。更危险的是,恶意程序获取用户执行权限后,就能以该用户身份访问其有权访问的全部资源,即特洛伊木马攻击。DAC无法防范这种权限滥用,因为安全决策只基于主体身份,不考虑操作上下文。

强制访问控制MAC的安全标签与Bell-LaPadula模型

强制访问控制与DAC的根本区别:访问决策不由资源所有者做出,而是系统依据预设全局安全策略强制执行。MAC模型中每个主体和客体被分配安全标签,标签包含密级和范畴两个维度。密级是线性层级关系,绝密高于机密高于秘密高于公开;范畴是非线性分组标记,一个文件可能同时标记为人事和财务。所有访问请求发生时系统自动比对标签,只有满足规则才放行,任何人无法绕过或修改判定逻辑。

MAC的理论基础来自1973年Bell和LaPadula的形式化安全模型。Bell-LaPadula定义了两条核心规则:上读规则规定低密级主体不能读取高密级客体内容,确保机密性不会从高到低泄露;下写规则规定高密级主体不能向低密级客体写入信息,防止高密级内容通过写入操作被降级泄露。两条规则构成了MAC的完整约束体系,因为约束是系统强制实施而非用户自选,故称强制访问控制。

值得深入理解的是Bell-LaPadula模型只关注机密性,对完整性没有约束。在其规则下低密级主体可向高密级客体写入任意内容,机密虽不泄露但高密级数据可能被低完整性数据污染。Biba在1977年提出针对完整性的MAC模型,规则与Bell-LaPadula恰好相反:上写规则禁止低完整性主体向高完整性客体写入,防止脏数据污染干净数据;下读规则禁止高完整性主体读取低完整性客体内容,防止高完整性进程被低完整性数据影响。Bell-LaPadula和Biba分别从机密性和完整性定义MAC,规则看似对称实则矛盾对立,两条线无法同时满足,这正是安全策略设计中最经典的一对张力关系。

SE Linux是MAC在真实操作系统中最具代表性的实现。启用强制模式后,内核安全服务器组件拦截每个系统调用,提取主体和客体的安全上下文,调用访问向量缓存中预加载的策略规则裁决。策略不允许时内核直接返回权限拒绝,应用层完全无法绕过。这种内核级强制执行使SE Linux成为高安全服务器环境的标准配置。

随着企业信息系统规模增长,传统基于单个用户的权限管理迅速暴露瓶颈。上万人企业中每来新员工都要逐个配置数百个文件权限,管理成本不可承受。基于角色访问控制应运而生,核心思想是将权限不直接授予用户,而是先定义角色,将权限授给角色,再将用户分配至角色。用户通过角色间接获得权限,角色成为中间抽象层。

RBAC在1992年由Ferraiolo和Kuhn首次系统化提出,随后在2004年被美国国家标准与技术研究院发布为ANSI/INCITS 359-2004标准。该标准定义了RBAC的三个核心组件:角色、权限和会话。用户通过会话激活某个角色子集来获得对应的权限集合。引入会话的概念非常关键,因为在现实场景中一个用户的身份通常是多重的,例如一个人可能同时是部门经理和项目组成员,但这并不意味着他在处理项目事务时需要使用部门经理的全部权限。会话机制允许用户在不同上下文中激活不同的角色子集,从而实现了最小权限原则的动态落地。

RBAC还定义了角色之间的继承关系。高级角色自动拥有低级角色的全部权限,这种层级结构与企业的组织架构天然对应。例如部门总监角色可以继承部门经理角色的全部权限,再加上总监特有的审批和预算权限。在大型信息系统的权限管理体系设计中,RBAC通过角色分层实现了权限的聚合一复用,将权限管理的复杂度从用户数量级别降到了角色数量级别,这是工业界大规模采用RBAC的根本原因。

而基于属性的访问控制ABAC则代表了访问控制技术的最新发展方向。ABAC的基本思想是访问决策应当基于主体、客体、操作和环境四个维度的任意属性组合来进行动态判断,而不是简单地依赖角色标签。在ABAC的决策框架中,一个访问请求会触发策略引擎从属性存储库中拉取所有相关属性值,将这些属性代入预定义的策略规则进行布尔逻辑运算,最终返回允许或拒绝的判定结果。

举一个ABAC策略的典型实例来理解其表达能力:一个医生能否查看病人的电子病历,取决于医生是否属于该病人的治疗团队、医生的执业资格是否在有效期内、医生当前是否在医院的安全网络环境中、访问发生在工作时间还是非工作时间、访问的是常规病历还是敏感诊疗记录。这个决策逻辑涉及角色、时间、位置、资源类型四个维度的属性,RBAC无法用单一角色表达出这么精细的判断,而ABAC的策略规则可以一次性覆盖这全部维度。ABAC的强大之处正在于这种多属性融合决策的能力,但代价是策

本篇完!

本文为付费内容,请输入 VIP 码查解锁本站全部文章!
点击此处获得 VIP 码
你可能也喜欢这些文章
 

《论应用服务器基础软件》考点详解?
01-18
操作系统中断处理与系统调用核心机制详解
07-19
《论数据湖技术及其应用》审题技巧
09-28
深度解析《论分布式存储系统架构设计》知识点
11-15
深度解析《论软件系统架构风格》知识点
10-17
《论面向对象的建模及应用》审题技巧
08-02
《论软件维护方法及其应用》审题技巧
06-25
DHCP协议DORA四步交互与中继代理原理深度解析
07-11
从包过滤到下一代防火墙:防火墙技术四代演进与部署模式全解析
07-31
《论软件可靠性设计技术的应用》审题技巧
09-20
软考系统架构设计师考点深度解析:McCabe度量法与环形复杂度计算,命题人最爱挖坑的五个细节
07-01
数据库封锁协议到底有几级?并发控制三道防线一次讲清
07-30
软考论文《论模型驱动架构设计方法及其应用》精选试读
08-18
《论NoSQL数据库技术及其应用》审题技巧
11-07
软考系统架构师架构风格选择题总丢分?五大分类底层原理与历年真题陷阱一篇搞懂
06-28
《论基于架构的软件开发方法及应用》考点详解?
01-20
热门标签
扫码获取 VIP 码
添加管理员微信获取 VIP 码
微信二维码