数据库系统概论第四章

数据库安全性

1.1计算机安全性概述
三类计算机系统安全性:技术安全类,管理安全类,政策法律类
TCSEC/TDI安全级别划分

安全级别 定义
A1 验证设计
B3 安全域
B2 结构化保护
B1 标记安全保护
C2 受控的存取保护
C1 自主安全保护
D 最小保护
(由D到A逐渐增强,向下兼容)

数据库安全性控制
非法使用数据库的情况:
编写合法程序绕过DBMS及其授权机制的检查
直接或编写程序执行非授权的操作
通过多次合法查询数据库从中推导出一些保密数据

用户标识与鉴别

由系统提供的最外层的安全保护措施
基本方法:
系统提供一定的方式让用户标识自己的名字或身份
系统内部记录着所有合法用户的表示
每次用户要进入系统时,由系统核对用户提供的身份标识
通过鉴定后才提供机器使用权
用户表示和鉴定可以重复多次

口令:
系统核对口令以鉴别用户身份
用户名和口令易被窃取:
每个用户预先约定好一个计算过程或函数,或由系统提供一个数据数。用户根据预先约定好的计算过程或函数进行计算。
系统再根据用户计算结果来鉴定用户身份。
有些DBMS除了访问DBMS账号外,为了访问指定的数据库,还需要另外的账号。

存取控制:

存取控制机制组成
定义用户权限(操作数据库对象权限)

合法权限的检查(检查用户权限是否合法,不合法就收回)
用户权限定义和合法检查机制一起组成了DBMS的安全子系统

存取控制方法

自主存取控制(DAC):
属于C2级策略(灵活)
用户对不同的数据对象由不同的存取权限,不同的用户对同一对象有不同的权限,可转授用户存取权限。
自主存取控制的方法
存取权限,存取权限由两个要素组成:
数据对象:在数据库上操作,或者模式上,表上
操作类型:增删查改
通过SQL的GRANT语句和REVOKE实现,定义用户可以在那些数据库对象上进行哪些类型的操作
授权与回收:
数据库系统概论第四章_第1张图片
语义:将对指定操作对象的指定操作权授予指定用户。
发出GRANT权限的人:
DBA
数据库对象创建者,拥有该权限的人,接受权限的用户(一个或多个具体用户)。
数据库系统概论第四章_第2张图片
例如 把查询Student表权限授给用户U1:
GRANT SELECT ON TABLE Student TO U1;

把对Student表和COURSE表的全部权限授权给U2 U3:
GRANT ALL PRIVILIGES ON TABLE Student,Course TO U2,U3;

把对表SC的查询权限授予所有用户:
GRANT SELECT ON TABLE SC TO PUBLIC;

把查询Student表和修改学生学号的权限授给用户U4:
GRANT UPDATE(Sno),SELECT ON TABLE Student TO U4;
对属性列的授权时必须明确指出相应属性列名。
GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;

授权与回收
REVOKE
授予的权限可以由DBA或其它授权者REVOKE语句收回
数据库系统概论第四章_第3张图片
数据库系统概论第四章_第4张图片
数据库系统概论第四章_第5张图片

强制存取控制(MAC):
B1级(严格)
每一数据对象标以一定密级, 每一个用户对应某一级别的许可证,只有具有合法许可证的用户才可以存取某一对象。

你可能感兴趣的:(数据库系统概论第四章)