访问控制
访问控制是在对系统资源提供最大限度共享的基础上。
对用户的访问权限进行管理,防止对信息的窃取和破坏。
1、 身份鉴别
——是访问控制的一种,对系统外部的一种控制,阻止非法用户进入系统。
1、 借助口令验证
2、 通过提问验证
3、 通过磁卡验证
4、 通过生物特征进行验证
5、 通过用户下意识的动作(签名)
2、 自主访问控制
——对某个客体就有拥有权的主题可以将该客体的一种或多种权限自主的授予其他主体,可以在随后的任何时刻予以撤销。
1、 主体和客体
a) 客体:包含有数据的实体
b) 主体:能够访问或使用客体的活动实体
*:主体是一种客体。
c) 主体对客体的权限:
读(r),写(w),添加(a),删除(d),执行(e),拥有(o),控制(c)。
主体对客体有控制权,
就说明主体可以将权限授予给其他主体或者收回。
2、 访问控制矩阵模型
a) 其状态可以用一个三元组(S, O, A)
【主体集合,客体集合,访问矩阵】 称它为系统的保护状态。
b) P1,P2表示主体“S”;矩阵中的每个元素就是“A”
当某一主体(Si)要对某一客体(Oi)进行访问时,
系统中的监控程序检查矩阵A中的元素{…}。
c) 改变(S, O, A)的状态。
i. Enter r into A[s, o] 将权限r添加到A[s, o]中;
ii. Delete r into A[s, o] 在A[s, o]中删除访问权r;
iii. Create subject s’ 生成一个主体s ’创建主体时,不仅要在主体的集合中加s ’ 还要在客体中加s ’
iv. Create object o ’ 生成一个客体o ’
v. Destroy subject s ’ 删除主体 s ’
*: 删除主体时,也要在客体中予以删除。
vi. Destroy object o ’ 删除客体 o ’
3、 在系统中实现自主访问控制时,将整个稀疏矩阵保存起来效率很低,实际上利用 能力表 和 授权表。
a) 能力表:罗列出每一个主体对所有“客体”的所有的访问”权限” 每一个主体都对应着一张表
客体(X) | 权限(Y) |
---|---|
X2 | y2 |
… | … |
Xn | yn |
b) 授权表:与能力表类似,只是将“客体”换成了“主体”。 若权限的值为“n”,则说明不具有任何访问权限
用户 | 权限 |
---|---|
小王 | {r,e} |
… | … |
小李 | {r,w} |
4、 授权的管理 |
a) 集中型管理模型
i. 权限不能被传递
ii. 拥有者是唯一能够删除客体的主体
iii. 非拥有者的主体要想修改对客体的访问权,必须请求该客体的拥有者为他改变相应的授权表
b) 分散型管理模型
拥有者可以授予控制权,即允许传递
c) 受限的分散型管理模型
在传递的过程中进行了限制,防止一旦将控制权分配出去后,拥有者想要控制客体就很困难了。