目录
1. 视图机制
■ 把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护
■ 授予用户查询整个表的权限
■ 授予用户查询某些列的权限
■ 授予用户查询某些行的权限
• 需要用存取谓词来定义用户权限
• 无法直接用GRANT语句实现
• 可以用视图机制间接地实现
【例4.14】授权王平老师能查询计算机系学生的情况,授权系主任张明能对计算机系学生的信息 进行所有操作
(1)先建计算机系学生的视图CS_Student
(2)在视图上进一步定义存取权限
2. 审计(Audit)
(1)审计
数据库安全性控制措施
① 什么是审计
■ 启用一个专门的审计日志(Audit Log)将用户对数据库的所有操作记录在上面 ■
■ 审计员利用审计日志
监控数据库中的各种行为
发现非法存取,发现潜在威胁
■ C2以上安全级别的DBMMS必须具有审计功能
② 可以被审计的事件
■ 服务器事件
• 审计数据库服务器发生的事件
■ 系统权限
• 对系统拥有的结构或者
• 要求该操作的权限时通过系统权限获得的
■ 语句事件
• 对SQL语句,如DDL、DML、DQL及DCL语句的审计
■ 模式对象事件
• 对特定模式对象上进行的SELECT或DML操作的审计
③ 审计日志管理
■ 基本功能:提供多种审计查阅方式
■ 多套审计规则:一般在初始化设定
■ 提供审计分析和报表功能
■ 审计日志管理功能
• 防止审计员删审计记录,审计日志必须先转储后删除
• 对转储的审计记录文件提供完整性和保密性保护
• 只允许审计员查阅和转储审计记录,不允许任何用户新增和修改审计记录等
■ 题供查询审计设置及审计记录信息的专门视图
④ 审计功能的可选性
■ 审计很费时间和空间
■ DBA可以根据应用对安全性的药品求,灵活地打开或关闭审计功能
■ 审计功能主要用于安全性要求较高的部门
⑤ 审计功能设置
■ AUDIT语句:设置审计功能
■ NOAUDIT语句:取消审计功能
(2)设置审计功能
① 用户级审计
• 任何用户可设置的审计
• 主要是用户针对自己创建的数据库表和视图进行审计
② 系统级审计
• 只能由数据库管理员设置
• 检测成功或失败登录要求、检测授权和收回操作以及其他数据库权限下操作
【例4.15】对修改SC表结构或修改SC表数据的操作进行审计
【例4.16】取消对SC表的一切审计
3. 数据加密
■ 防止数据库中数据在存储和传输中失密的有效手段
■ 加密的基本思想
• 根据一定的算法将原始数据 — 明文(Plain text)变法为不可直接识别的格式 — 密文(Cipher text)
■ 加密方法
● 存储加密
① 透明存储加密
❶ 内核级加密保护方式,对用户完全透明
❷ 将数据在写到磁盘时对数据进行加密,授权用户读取数据再对其进行解密
❸ 数据库的应用程序不需要做任何修改,只需要在创建表语句中说明需要加密的字段即可
内核级加密方法:性能较好,安全完备性较高
② 非透明存储加密
❶ 透过多个加密函数实现
● 传输加密
① 链路加密
❶ 传输信息由报头和报文两部分组成
❷ 报文和报头均加密
② 端到端加密
❶ 在发送端加密,接受端解密
❷ 只加密报文不加密报头
❸ 所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息
4. 其他安全性保护
■ 推理控制
• 处理强制存取控制未解决的问题,避免用户利用能够访问的数据推知更高密级的数据
• 常用方法
❶ 基于函数依赖的推理控制
❷ 基于敏感关联的推理控制
■ 隐蔽信道
• 处理强制存取控制未解决的问题
• 高安全登记用户按事先约定方法式主动向低安全等级用户传输信息,从而导致高安全等级敏感信 息泄露