访问控制原理
• then delete r+ from A[p, f] • enter r+ into A[q,f]
•
create object f
•
enter own into A[p, f]
•
enter r into A[p, f]
•
enter w into A[p, f]
• end
31
31
• 2、对文件f有所有权的进程p,可以把对f 的任何权利(除所有权外)转授给其他 进程。
• 例如,进程p可以用以下命令授予进程q 以r-访问权。
4
4
3.1 基本任务与实现方法
基本任务:是保证对客体的所有直接访问 都是被认可的。它通过对程序与数据的读 、写、更改和删除的控制,保证系统的安 全性和有效性,以免受偶然的和蓄意的侵 犯。 实现:由支持安全策略的执行机制实现
5
5
访问控制的有效性
建立在两个前提上
• 第一是用户鉴别与确证,保证每个用户 只能行使自己的访问权,没有一个用户 能够获得另一个用户的访问权。这一前 提是在用户进入系统时登录过程中对用 户进行确认之后完成的。
21
21
访问监控器的不足
• 1、访问监控器主要还是作为单级安全模 型使用的,受监视的目标要么允许被访 问,要么不允许被访问。
• 受监控的目标只有简单的安全性,要么 安全,要么不。监视器模型不适应更复 杂的安全要求。
22
22
• 2)系统中所有对受监控目标的访问要求 都由监控器检查核实,监控程序将被频 繁调用,这将使监控器可能成为整个系 统的瓶颈,影响系统效率。
20
20
访问监控器实现为安全核
• 在首次提出访问监控器的概念时,不少人 认为能够构造一个足够小的安全核来穷尽 测试验证。
• 认为模型与实现之间的一致性可以通过测 试由模型所定义的系统的所有安全状态来 证明,至少可以使足够多的状态满足测试 要求,使得安全漏洞几乎不可能出现。
• 从实际中看,除非安全核具有简单功能, 否则要想进行全面彻底的测试是不可能的。
6
6
• 第二是“说明每一用户或程序的 访问权信息是受保护的,是不会 被非法修改的”,该前提是通过 对系统客体与用户客体的访问控 制获得的。
7
7
3.1.1 访问矩阵模型
• 操作系统的访问矩阵模型是由Lampson和 Denning在70年代初提出的,后经Graham 和Denning相继改进的。数据库系统的访 问 矩 阵 模 型 是 Coway 在 Cornell 大 学 提 出 的。
访问矩阵模ห้องสมุดไป่ตู้中包括三类要素: 1、系统中的客体集O,是系统中被访问的
对象,如文件、程序、存储区等。每一 个客体oO可由它们的名字唯一地标识 与识别。
10
10
2、系统中的主体集S,是系统中访问 操作的主动发起者,如用户、进程、 执行域等。执行域是进程运行期间 的保护环境,一个进程在运行期间 可以改变执行域。
• Q Q0 Q1 …… Qn Q’ • 我们将写成Q * Q’。
30
30
• 例2: 以下是一些利用命令实现访问权限管理 的例子。
• 1、任何进程都可以创建一个文件,自动地给 所创建的文件赋予所有权和对文件的r-访问权、 w-访问权。这可以用以下命令表达:
• command create file (p, f)
• Commad confer read (p, q, f)
•
If own in A[p, f]
•
then enter r into A[q, f]
• end
32
32
权利缩减原则
• 为了防止一个进程的权利被恶意扩大, 普遍采用一个称为“权利缩减”原则。 该原则规定,一个进程永不能为自己增 加权利或向别的进程转授它所没有的权 利。
第3章 访问控制原理 3.1节 访问控制
1
1
第3章 访问控制原理
计算机信息系统中,对信息的安全控制 技术有3种: • 访问控制:访问矩阵模型 • 信息流控制:格式模型(BLP模型、 Biba模型、军用安全模型) • 推理控制:解决数据库应用系统中的信 息泄漏问题
2
2
一、访问控制
•主体:信息系统中用户或进程,系统所 有的用户与进程形成主体集合,
• Q c (a1,a2,……,ak) Q’ 或简写为 Q c Q’
• 但需要注意命令要么被完整地执行,要 么不被执行,只要有一个条件没有满足, 命令就不被执行。
29
29
• 因此,有以下规定:
• 1、如果C中有一个或多个条件不满足, 那么Q’=Q;
• 2Q、1、否…则…,、QQn’,=Q使n,得这 里 存 在 状 态 Q0、 Q=o个Qp1o0,p…i中o..p,的o1Qp形n1是式命o参p令2…数c…x中i已.的代o运p之n算Q以n序实列际,其参但数每中ai。 • 如 如果果命存令在c长使为得nQ≥0的命c Q令’则序写列成使Q得 Q’。
主、客体的增加与删除以及访问权限与 安全属性的改变而变化。 • 访问监控器的关键作用是要对主体对客 体的每一次访问都要实施控制,并对每 一次访问活动进行审计记录。
18
18
访问监控器的三原则
• 完备性原则。该原则要求不通过访问监控器, 主体就不能对客体进行任何访问操作。完备性 原则还要求硬件支持基于安全核的系统。硬件 上必须保证任何程序必须经过安全核的控制进 行访问。
12
12
O、S和R三者之间的关系是以矩阵A 的形式表示的 • 它的行对应与某个主体, • 列对应于某个客体。 • 集合R是矩阵的项(元素)的集合, 每个项用A[s,o]表示,其中存放着主 体s对客体o的访问权或某些特权。
13
13
• 某些权利是通用的,可以应用到多 种类型的客体上,如r、w、e都是通 用的;有些客体是属于某人或某团 体专有的,对这类客体需要具有own (拥有权)。
每个主体sS也是可以由它们的名字 唯一地标识与识别。我们假定主体 也 是 一 种 类 型 的 客 体 , 因 此 有 SO。
11
11
• 3、系统中主体对客体的访问权限集 合R,访问权说明在不同客体上可以 执行的访问操作的种类。对存储区 段和文件的访问权通常包括r(读)、 w(写)和e(执行),append(附 加),own(拥有)等权利。
• Command transfer read (p,q,f) If r* in A[p,f] Then enter r into A[q, f]
End
35
35
• 一个进程可以转授一个访问权,但需要 没收转授者自己的这个权利,这可用唯 转授标记(+)表示。下述命令描述了这 一功能:
• command transfer-only read (p,q,f) • if r+ in A[p,f]
• QopQ’ (读做:Q在执行op后进入Q’状态) • 如果状态Q是安全的,且操作op本身的
执行也是安全的,那么新状态Q’也是安 全的。
28
28
• 设c (a1,a2,……,ak) 是具有实际参数a1, a2,……,ak的一个命令,那么在c (a1, a2,……,ak) 的作用下,从状态Q转换 为Q’写成
• 但大多数系统又规定,此原则仅对非拥 有者(own权)应用。我们遵照这两个规 定,所以上面命令中的q也可以是p自身。 换言之,拥有者可以给自己增加权利。 33
33
权利的撤消
• 3、访问权的撤消。我们将假定一个客体的拥有者 可以在任何时刻撤消对该客体的访问权。例如, 进程p可以用以下命令撤消进程q对f的r-访问权。
{r}矩阵其他入口项内容不变。
S’=S{s’},O’=O{s’}A’[s,o]
=A[s,o], 当sS, oO,A’[s,o’]=,
当oO’A’[s,s’]=, 当sS’
S’=S,
O’=O{o’}A’[s,o]=A[s,o], 当 sS,
oOSA’’=[Ss-,o{’s’]=},, 当O’s=SO’-{s’}
•
then
•
op1
•
op2
•
……
•
opn
• end.
27
27
状态转换的描述
设op是一个本原操作(或本原运算),Q= (S,O,A) 是 系 统 的 保 护 状 态 , A 表 示 访问矩阵,在状态Q中op的执行导致从状 态 Q 转 换 到 状 态 Q’=(S’,O’,A’)。 这一转换用符号表示为:
23
23
• 3)监控器只能控制直接访问,不能控制 间接访问。例如:
• IF file_A is empty THEN a:=1
•
ELSE a:=0;
• 可以通过a的结果判断file_A 有无内容
• 监控器模型无法控制获得这种间接信息。 这是一种信息流控制问题,将在下一章 (信息流控制原理)中深入研究。
• 当A[s,o]中不包含所需权利时,客体o的 监控器就阻止主体s对其的访问。
• 监控器可以用硬件、软件或软硬件的组 合实现。
• 访问监控器对应操作系统中的安全核。
16
16
访问矩阵 用户账户/口令
安全数据基
主体
访问监控器
客体
审计日志 系统访问控制模型
17
17
• 访问控制数据基。实际上就是访问矩阵。 • 访问控制数据基是动态变化的,它随着
• 模型是用状态和状态转换的概念定义的。 这里的状态是用访问矩阵表示的,状态 转换是用命令描述的。
8
8
这个模型有以下优点:
• 1、简明——易懂、易理解、易证明。 • 2、通用——有能力综合不同策略和应用
于多种实现。 • 3、精确——有能力忠实地反映策略和系
统形态。 • 4、与数据式样无关。