强制存取控制方法
自主存取控制可能存在数据的“无意泄露”,因这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记,故我们可以对系统控制下的所有主客体实施强制存取控制策略
强制存取控制作用:
1.保证更高程度的安全性
2.用户不能直接感知或进行控制
3.适用于对数据有严格而固定密级分类的部门(军事部门、政府部门)
在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类。
①主体是系统中的活动实体,数据库管理系统所管理的实际用户
②客体是系统中的被动实体,文件、基本表、索引、视图
敏感度标记
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记
敏感度标记分成若干级别
绝密(Top Secret,TS)
机密(Secret,S)
可信(Confidential,C)
公开(Public,P)
TS>=S>=C>=P
主体的敏感度标记称为许可证级别(Clearance Level)
客体的敏感度标记称为密级(Classification Level)
强制存取控制规则
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读相应的客体
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
视图机制
把要保密的数据 对无权存取这些数据的用户 隐藏起来,对数据提供一定程度的安全保护
对视图也可以设置权限 [例4.14] 建立计算机系学生的视图,把对该视图的SELECT权限授于U1
grant select
on CS_Student
to U1
审计
审计就是把对应表或者数据库别的元素的所进行的操作保存下来,然后人或者机器通过这个文件,观察这些操作,找出是否存在可疑行为。
AUDIT语句和NOAUDIT语句
例4.15:对修改SC表结构或修改SC表数据的操作进行审计
audit alter ,update
on sc
但是T-sql不支持这种写法