第16章 · 播客 第11集
安全性和保密性设计 · 访问控制:DAC、MAC 与 RBAC
🎙️ 本集播客:第11集:主体、客体、访问规则三要素;自主访问控制「用户自主授权但系统易失控」、Windows/UNIX 都用它;强制访问控制按安全级别划分、军事领域专用但管理麻烦;RBAC 权限随角色走、非自主型、在设计中最受欢迎;访问许可授权的等级型、拥有型、自由型三种。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
访问控制这一节,先分清主客体吧?
雅
小雅
三要素原文定义:发出访问、存取请求的一方,例如用户、程序、进程等,叫主体;被访问的对象和资源,例如文件、数据库、设备、内存区域等,叫客体;另外还有一套定义主体与客体之间相互关系、确定不同主体对不同客体的访问能力与权限的规则,叫访问规则。一个完整的访问控制体系就由这三方面共同构成。多选题「主体可以是哪些」——用户、程序、进程都算,文件和设备是客体,别混。
雅
小雅
再补一句总纲:身份认证关心的是「你是谁,你是否拥有你所声明的身份」;而访问控制则关心「你能做什么,不能做什么」。这句对仗本身就是考题。
明
阿明
三类策略的名字我知道:DAC、MAC、RBAC。
雅
小雅
访问控制策略一般划分为三类:自主访问控制 DAC、强制访问控制 MAC、基于角色的访问控制 RBAC。其中 DAC、MAC 属于传统的访问控制策略,而 RBAC 是后来出现的一种访问控制策略,被认为具有很大的优势、很好的发展前景。「传统的是前两个、后起之秀是 RBAC」这个分组会考。
雅
小雅
先说 DAC。自主访问控制是目前计算机系统中实现最多的访问控制机制,它使主体可以自主地进行配置以决定其他的主体可以采取什么样的方式来访问其所拥有的资源,即一个拥有一定权限范围的主体可以直接或者间接地把权限授予其他的主体。常见的操作系统如 Windows、UNIX 等都是采用自主访问控制策略。常见方式:由某个用户——一般为资源的拥有者或超级管理员——指定不同类型、不同分组的其他用户对其名下资源的访问许可和访问方式。
明
阿明
「实现最多」和「Windows/UNIX 都用它」,这两句都是考点。它的毛病呢?
雅
小雅
原文数了四条:首先,用户往往不知道或者难以确定其他用户是否适合具有对某些资源的访问权限;其次,如果不是所有用户都有很强的安全意识,可能随意授权,这对系统安全是潜在的威胁;再次,由用户自己决定访问权限的分配,不利于系统管理员实施统一的全局访问控制;另外,许多组织往往希望对信息系统的授权与控制结构能够与该组织的行政结构一致。结论定性:自主访问控制策略容易使系统失控,容易给非法入侵者留下可乘之机,安全性不是很高——随着网络规模扩大,已很难满足安全性要求比较高的系统的需要。
雅
小雅
再说 MAC。强制访问控制是系统统一采用某种访问权限的授予和撤销的策略,而且强制所有主体都必须服从这种权限分配。应用领域原文点名:一般用在安全级别层次比较多的军事、安全等特殊应用领域中。
雅
小雅
机制:预先为系统中接受的所有主体、客体根据可以信任的程度、所处的岗位和承担的任务、信息的敏感程度、时间发展的阶段等划分成若干级别,例如信息可以分为绝密、机密、秘密和无密级等不同的级别;然后再根据主体和客体的级别标记来决定访问模式,任何用户对任何客体的访问请求都由安全级别的划分及相应的权限配置来控制。「绝密、机密、秘密、无密级」这串词可能出现。
明
阿明
MAC 的评价呢?听着很强硬。
雅
小雅
原文的评价是:强制访问控制由于过于强调系统的安全性能,虽然能够很好地控制系统的安全,但是它管理起来比较麻烦,工作量很大,也不够灵活。定位:军事、安全等特殊领域专用,日常系统不用。
雅
小雅
然后是 RBAC。先记原文的推荐语,这句话本身就是考题答案:DAC 和 MAC 各有其特点但各有不足,而基于角色的访问控制可以在克服以上两者缺点的同时提供一个良好的安全的系统环境,因而是面向企业的系统中一种十分有效的访问控制策略。
明
阿明
RBAC 的「角色」到底怎么运作?
雅
小雅
引子是 DAC 里的一种常见情况:组织中最终用户能使用某些资源,但并不是该资源的拥有者——拥有者是组织或组织中的所有用户。这时就应该基于用户的职务来进行访问权限的设置和分配,而不应该基于资源的拥有者来进行。原文的图书馆例子:应根据用户是流通人员、文献编目人员还是分馆管理员等不同角色来分配权限——文献编目人员对流通的图书只有查看权限,对未典藏的图书有较高访问权限;分馆管理员对本分馆的读者、文献资源有较高访问权限。
雅
小雅
核心结论一句话:用户具有什么样的访问权限,不直接取决于用户自己,而是取决于他所属的角色,有什么样的角色就有什么样的权限。管理上:角色的种类和访问权限由系统管理员来定义,每一个成员属于哪种类型的角色也由系统管理员来规定,只有系统管理员才有权定义和分配角色,用户只能服从而不能自主配置——因此这是一种非自主型访问控制策略。「非自主型」三个字是判断题眼。
明
阿明
还有那句「在设计中最受欢迎」?
雅
小雅
那句在 16.7 OSI 安全架构的访问控制服务里再出现一次,原话:由于 DAC、MAC 固有的弱点,以及 RBAC 的突出优势,所以 RBAC 一出现就成为在设计中最受欢迎的一种访问控制方法。考题问「目前在设计中最受欢迎的访问控制策略是哪个」,答 RBAC——不是最常用的 DAC,「实现最多」和「最受欢迎」是两顶不同的帽子:DAC 实现最多,RBAC 在设计中最受欢迎。
明
阿明
这个对比太阴了:最常见的是 DAC,最受欢迎的是 RBAC。后面授权类型还有三种?
雅
小雅
对访问许可的授权有三种类型。第一种,等级型:把对客体的存取控制权限的修改能力划分成不同的等级,拥有高级别修改能力的主体可以把这种权限分配给比其级别低的主体,依此类推,授权关系组成一个树型结构。例子:超级管理员作为等级树的根,具有修改所有客体的存取控制表的能力;系统管理员把用户按部门划分并对部门领导授予修改权和分配权,部门领导再往下授权。优点:树型结构与实际组织机构类似;缺点:对同一个客体可能存在多个主体有能力修改其存取控制权限。
雅
小雅
第二种,拥有型:对每一个客体都有一个拥有者,一般情况下就是该客体的创建者;拥有者具有对所拥有客体的全部控制权,可以任意修改其访问控制表,并可对其他主体授予或撤销任何一种访问权限——但注意限制:拥有者无权将其对客体的访问控制权的分配权授予其他主体。UNIX 系统中就是用这种方式来进行授权控制的。
明
阿明
「拥有型配 UNIX」,这个搭配记下了。第三种自由型?
雅
小雅
自由型的特点:客体的拥有者可以对任何主体授予访问权限,同时还可以把这种分配权授予其他主体而不受任何限制;获得授权的主体又可以把分配权授予更多主体。原文的评价很直白:一旦访问控制的分配权被授予出去,就很难控制对客体的访问了,这样做安全性比较差,一般的系统中很少采用这种方式。三型的分水岭就在「分配权能不能给出去」:等级型按级别下放、拥有型有权给权限无权给分配权、自由型分配权随便给、系统很少用。
雅
小雅
本集必背:三要素——主体发出请求、客体被访问、访问规则定关系;身份认证管你是谁、访问控制管你能做什么;三类策略——DAC、MAC 传统、RBAC 后起;DAC 目前实现最多、Windows 和 UNIX 采用、主体可自主授权、容易失控给入侵者留可乘之机;MAC 系统统一强制分配、用于安全级别层次多的军事安全领域、信息分绝密机密秘密无密级、管理麻烦工作量大不灵活;
明
阿明
接着背。
雅
小雅
RBAC 权限取决于角色不取决于用户本人、由系统管理员定义和分配、用户只能服从、非自主型、面向企业十分有效;DAC 实现最多而 RBAC 在设计中最受欢迎,两个「最」别对调;授权三型——等级型树状下放且同一客体可能多主体可改、拥有型创建者全控且无权转授分配权配 UNIX、自由型分配权不受限导致安全性差很少采用。
明
阿明
「实现最多」和「最受欢迎」这回分家了。下一集 OSI 安全架构?
雅
小雅
对,五类安全服务、八种安全机制,外加 VPN 的两个平面——数量多但全是背功分。