访问控制:实现数据保密性与完整性机制的主要手段,主要为了限制访问主体对访问客体的访问权限。
自主访问控制DAC:
1. 主体对所属对象和运行的程序拥有全部的控制权;
2. 用户A执行的程序拥有与A相同的权限。
3. 权限可传递访问矩阵,能力表的方式存储用户权限。
数据库中:主体理论上拥有对其创建的数据库、数据表的所有(最高)权限。
Grant Revoke==》 授权管理:{ 集中式管理: 主体授权客体,只有主体可以执行授权
{ 分散式管理: 主体授权给客体,客体可以继续执行授权操作(传递授权)
{ 受限分散式管理: 主体可以授权给管辖范围中的下属,授权路径稳定,便于追责
强制访问控制MAC:
(1)MAC中,管理员管理访问控制,制定策略,用户无法改变。策略定义主体对对象的访问规则。
(2)"need to know basis"的工作机制,用户只能访问工作所需的对象(特权最少),主体不能写或创建低于自己级别的标记的对象(不能向下写),防止主体将秘密与低级别主体共享。
数据库(系统)使用事先确定的安全策略,对用户访问权限进行强制性控制。数据库(系统)独立于用户行为强制执行访问控制,普通用户无法改变他们的安全级别或对象的安全属性。
==》小栗子:
数据密级level:ts ≥ s ≥ c ≥ u (一般<秘密<机密<绝密) 密级是全序关系:两两可比较 数据范畴domain: B = {财务处,教务处,人事处},P_B = 2^B = {∅, {教务处}, ….., {财务处,教务处,人事处}} 假设在学校环境中: C校长 = (绝密,{财务处,教务处,人事处}) (level,{domain}) C教务处主任 = (机密,{教务处}) C教务处科长 = (秘密,{教务处}) …… |
此时教务处科长发布文件A,假设C_A = (秘密,{ 教务处}),此时只有校长和教务处主任可以查看此文件,因为校长与教务处主任的秘密级 >= 文件的秘密级 且