2021-4-17课程——第四章例题-数据库安全性【续】

本篇主要总结第4章数据库安全性的后续部分——强制存取控制、视图机制、审计、数据加密
一、强制存取控制

自主存取控制机制下,用户可以自由地决定将数据的存取授予任何人,以及决定是否也将“授权”的权限授予别人,这种情况下仍可能存在数据的“无意泄露”,所以需要对系统控制下的主客体实施强制存取控制策略。在强制存取控制中,全部实体被分为主体客体两部分。

主体:系统中的活动实体。既包括数据库管理系统所管理的实际用户,也包括代表用户的各进程。

客体:系统中的被动实体。受主体操控,包括文件、基本表等。

敏感度标记(label):分为若干级别,绝密TS、机密S、可信C、公开P等,密级次序依次递减。主体的敏感度标记称为许可证级别,客体的敏感度称为密级

规则:

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。
二、视图机制

为不同的用户定义不同的机制,把数据对象限制在一定范围内。视图机制间接地实现支持存取谓词的用户权限定义

例:建立计算机系学生的视图,把对该视图的select权限授予王平,把该视图上的所有操作权限授予张明
-- 建立视图 create view CS_Student as select * from Student where Sdept='CS'; -- 王平老师只能检索计算机系学生的信息 grant select on CS_Student to 王平; -- 系主任具有检索和增删改计算系学生信息的所有权限 grant all privileges on CS_Student to 张明; 
2021-4-17课程——第四章例题-数据库安全性【续】
2021-4-17课程——第四章例题-数据库安全性【续】
三、审计

审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。审计员恶意利用审计日志监控数据库中的各种行为,重现导致数据库现在状态的一系列事件,从而找出非法存取数据的人、事件和内容等。

audit语句用来设置审计功能,noaudit语句则取消审计功能。

例1:对修改SC表结构或修改SC表数据的操作进行审计
audit alter,update on SC; 
例2:取消对SC表的一切审计
noaudit alter,update on SC; 
四、数据加密

加密的基本思想是根据一定的算法将原始数据——明文变换为不可直接识别的格式——密文,从而使得不知道解密算法的人无法获知数据的内容。

数据加密主要包括存储加密和传输加密
2021-4-17课程——第四章例题-数据库安全性【续】
2021-4-17课程——第四章例题-数据库安全性【续】
五、拓展与感悟
课上老师还讲了