数据库安全性
计算机安全性概述
计算机系统的三类安全性问题 计算机系统的安全性,是指为计算机系统建立和采取的各种安全保障措施,以保护计算机系统的硬件、软件、数据,防止因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄漏 计算机系统的安全可分为三大类,技术安全类、管理安全类和政策法律类
数据库安全性控制 用户标识与鉴别 存取控制 用户和密码 主要包括两个部分 定义用户权限,并写入数据字典 合法权限检查,每当用户发出存取数据库的操作请求后,DBMS检查数据字典,检查用户是否符合操作权限
自主存取控制(DAC)方法 C2级 SQL标准中的DCL语句支持DAC方法 用户权限的两个要素 数据对象 操作类型 DDL的数据对象为三种模式,DML为表、视图,有时可以是列 操作类型
授权灵活尺度之一 授权粒度指用户权限定义中的数据对象范围的大小 授权粒度越小,授权子系统就越灵活,但系统开销也会增加
授权灵活尺度之二 授权子系统能否提供与数据值有关的授权 即权限是否与存取谓词(操作数据值)有关 存取谓词还可以包括系统变量
强制存取控制(MAC)方法 B1级 适用于有严格而固定密级分类的部门 在MAC中,DBMS管理的实体分为两类 主体:活动实体,包括用户、进程 客体:被动实体,受主体操纵,包括文件和表、视图等数据库对象
敏感度标记(label) DBMS为每个主体和客体指派一个敏感度标记 敏感度标记可分为若干等级 如绝密、机密、可信、公开等 主体的敏感度标记称为许可证级别(clearance level);客体的敏感度标记称为密级(classification level)
规则 当用户以某一label注册入系统时,其对客体的存取必须满足: 仅当主体的clearance level大于等于客体的classification level时,该主体才能读取相应的客体 当主体的clearance level等于客体的classification level时,才能写相应的客体
MAC必须包含DAC 较高安全级别提供的安全保护必须包含较低安全级别的所有安全保护
视图机制 视图机制间接地实现了支持谓词的用户权限定义 通过视图机制可以把要保护的数据对无权存取的用户隐藏起来
审计(audit) 审计是DBMS达到C2以上安全级别必不可少的一项指标 审计是指把用户对数据库的所有操作自动纪录下来放入审计日志 审计很浪费时间和空间
数据加密 加密指根据一定的算法把原始数据(明文)变化为不可直接识别的格式(密文) 加密算法必须可逆 加密的两种主要方法 替换方式 置换方式
统计数据的安全性 统计数据(聚集函数)的允许查询和单个数据的不允许查询存在隐含的问题 规定统计数据的查询记录数必须足够大 规定任何两个统计查询的交集不能超过一定的百分比
DB2的权限问题
特殊权限 Sysadm、Sysctrl、Sysmaint dbadm
一般权限 Control权限 独立权限 隐含权限
Grant语句 Grant all|control|… on obj_name to public|user name|group name [with grant option] 权限情况:Y/N/G Syscat.tabauth表中可以察看 组成员的权限不能用于静态SQL和视图建立——public组除外