在上一篇我已经和大家一起学习了什么是访问控制技术,今天我们来学习访问控制模型。
1.分类
访问控制模型是一种从访问控制的角度出发,描述安全系统并建立安全模型的方法。主要描述了主题访问客体的一种框架,通过访问控制技术和安全机制来实现模型的规则目标。
可信计算机系统评估准则(TCSEC)提出了访问控制在计算机安全系统中的重要作用。它要达到的一个主要目标就是:阻止非授权用户对敏感信息的访问。
访问控制在准则中被分为两类:自主访问控制(Discretionary Access Control)和强制访问控制(Mandatory Access Control)。这个准则将计算机系统的安全程度从高到低划分为A1、B3、B2、B1、C2、C1、D共七个等级,每一等级都对访问控制提出了不同的要求。例如:C级要求至少具有自住型访问控制,B级以上要求具有强制型的访问控制手段。我国在1999年颁布了计算机信息系统安全保护等级划分准则这一国家标准。
访问控制模型的分类图:
2.自主访问控制
自主访问控制(DAC)是根据自主访问控制策略建立的一种模型,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体。
DAC又称为任意访问控制。我们所熟知的操作系统例如:Linux/Unix、Windows都提供自主访问控制的功能。它是如何实现的呢?
首先对用户进行鉴别
按照访问控制列表所赋予用户的权限限制用户使用客体的资源
主体的控制权限由管理员或赋予特权的用户或用户组来进行修改。
(1)访问控制矩阵
任何访问控制策略最终可以被模型化为访问控制矩阵。下图中,行对应于用户,列对应于目标,矩阵中每一个元素都代表相应用户的访问许可。
目标X | 目标Y | 目标Z | |
用户A | 读、修改、管理 | 读、修改、管理 | |
用户B | 读、修改、管理 | ||
用户C | 读 | 读、修改 | |
用户D | 读 | 读、修改 |
为了实现完备的自主访问控制系统,由访问控制矩阵提供的信息必须以某种形式存放在系统中。访问矩阵中的每行表示一个 主体,每一列则表示一个受保护的客体,而矩阵中的元素则表示主体可以对客体的访问模式。
(2)访问能力表和访问控制表
基于矩阵的行的访问控制信息表示的是访问能力表,例:用户A对于各个目标有什么权限
基于矩阵的列的访问控制信息表示的是访问控制表,例:各个用户对于一个目标的访问权限
自主访问控制模型的实现机制是通过访问控制矩阵实施,具体的实现方法则是通过访问能力表或访问控制表来限定哪些主体针对哪些客体可以执行什么操作。
访问控制表 | 访问能力表 | |
保存的位置 | 客体 | 主体 |
浏览访问权限 | 容易 | 困难 |
访问权限传递 | 困呐 | 容易 |
访问权限回收 | 容易 | 困难 |
使用 | 集中式系统 | 分布式系统 |
多数集中式操作系统中使用访问控制表或者类似方式实施访问控制。由于分布式系统中很难确定给定客体的潜在主体集,因此在现代操作系统中访问能力表也得到广泛运用。
(3)优缺点
优点:根据主体的身份和访问权限进行决策;具有某种能力的主体能够自主地将访问权的某个子集授予其他主体;灵活性高,被大量采用。
缺点:信息在传递过程中其访问权限关系会被改变。
以上就是自主访问控制,关于强制访问控制的知识点太多,手都写麻了,单独拿出来讲估计需要一大章。