1 / 54

UNIT three 安全性与目录

UNIT three 安全性与目录. 武汉大学计算机学院. 思考几个问题. 为什么在数据库应用系统中安全性问题非常的突出? 你用什么方法来控制用户对系统的使用以及对数据的存取权限?你希望你的安全性检测系统达到什么效果? 你对数据库应用系统中的数据字典内容感兴趣吗? DBMS 中的数据字典通常包括哪些信息?你知道如何查询这些信息吗?. 本 讲 主 要 目 标. 学完本讲后,你应该能够了解: 数据库的安全性措施是 层层设置 的,包括用户标识和鉴定、 DBMS 存取控制、视图机制、数据加密和审计追踪等;

marlo
Download Presentation

UNIT three 安全性与目录

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIT three安全性与目录 武汉大学计算机学院

  2. 思考几个问题 • 为什么在数据库应用系统中安全性问题非常的突出? • 你用什么方法来控制用户对系统的使用以及对数据的存取权限?你希望你的安全性检测系统达到什么效果? • 你对数据库应用系统中的数据字典内容感兴趣吗?DBMS中的数据字典通常包括哪些信息?你知道如何查询这些信息吗?

  3. 本 讲 主 要 目 标 学完本讲后,你应该能够了解: • 数据库的安全性措施是层层设置的,包括用户标识和鉴定、DBMS存取控制、视图机制、数据加密和审计追踪等; • DBMS的安全子系统由用户权限定义和合法权检查机制组成,其中授权规则放在数据字典中,合法权的检查也只检查数据字典; • 两种存取控制方法:自主存取控制方法的灵活性和强制存取控制方法的严格性; • 审计日志的作用及与恢复机制中日志的区别; • 统计数据库中可能存在着隐蔽的信息通道; • 所有的关系数据库系统都有系统目录,即由系统维护的,包含数据库中定义的对象的信息的表,这些对象包括表、列、索引、视图、权限、约束等

  4. 一.数据库系统的安全模型 二.身份验证 三. DBMS的存取控制子系统 四. 审计 五. 数据加密与统计数据库的安全 六. 角色 七. 数据库产品间的不同 八. 系统目录 内容提纲

  5. 数据库系统的 安全模型

  6. 数据库系统的安全模型 • 数据库安全性定义 数据库安全性 ——保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 不合法的使用的操作包括了对数据库的查询与修改。 因此,对数据库的任何操作都要进行安全性检查。

  7. 数据库系统的安全模型 • 数据库安全的基本概念与内容 • 可信计算基(trusted computing base,TCB) TCB是实现数据库安全的所有实施策略与机制的集合,它是实施,检查,监督数据库安全的机构 • 主体,客体 • 身份标识与鉴别 • 自主访问控制 • 强制访问控制

  8. 数据库系统的安全模型 • 数据库安全的基本概念与内容 • 隐蔽通道 在主体访问客体时一般均通过正常路径访问,因此可能使用TCB在访问路径中作检查,但实际上在实施时,往往存在着多种非正常的访问路径 • 数据库安全的形式化模型 • 审计 • 访问监控器

  9. 数据库系统的安全模型 • 数据库的安全标准 • TCSEC (trusted computer system evaluation criteria, 可信计算机系统评估标准) • TDI (trusted database interpretation, 可信数据库系统解释) • TCSEC(TDI)标准 目前国际上广泛采用的美国标准,此标准将数据安全划分为四组七级 • 我国1999年颁布了”计算机信息系统评估准则”,将数据安全划分为五个级别

  10. 数据库系统的安全模型 • 数据库的安全标准 • TCSEC(TDI)标准 • D级标准 -- 无安全保护的系统 • C1级标准 –具有自主访问控制 • C2级标准 –满足C1级标准,并有审计功能 • B1级标准 –满足C2级标准,并有强制访问控制 • B2级标准 –满足B1级标准,并解决隐蔽通道问题和具有数据库安全的形式化 • B3级标准 –满足B2级标准,并具有访问监控器 • A级标准 –满足B3级标准,并具有较高的形式化

  11. 数据库系统的安全模型 • 数据库的安全标准 • TCSEC(TDI)标准的国内和国际实现现状 • D级标准 • C1级标准 –目前国内使用的大都符合该标准 • C2级标准 –目前国内使用的一部分符合该标准 • B1级标准 –目前国内使用的系统基本不符合该标准,在国际上有部分系统符合此标准 • B2级标准 –国内外均尚无符合此类标准的系统,主要难点是数据库安全的形式化表示困难 • B3级标准 –国内外均尚无符合此类标准的系统 • A级标准 –目前尚无法实现,仅是一种理想化等级

  12. 数据库系统的安全模型 • 数据库的安全标准 • TCSEC标准与国标比较

  13. 操作 请求 用户标识 与鉴别 数据 加密 审计 追踪 DBMS 存取控制 数据库系统的安全模型 • 数据库系统的安全模型 层层设防: DB

  14. 数据库系统的安全模型 • SQL对数据库安全的支持 • 视图 • 自主访问控制与授权功能 在SQL中提供了自主访问控制的功能,它包括了操作、数据域与用户三个部分 • 操作:六种操作权限 – SELECT, INSERT, DELETE, UPDATE, REFERENCE, USAGE • 数据域:用户访问的数据对象的粒度 –表,属性,视图 • 用户:数据库中登录的用户 • 授权与回收语句 GRANT, REVOKE

  15. 身份验证

  16. 身份验证 AUTHENTICATION SQL ServerVerifies Trusted Connection Windows 2000 Group or User Windows 2000 SQL Server Or SQL Server Verifies Name and Password SQL ServerLogin Account

  17. DBMS的存取 控制子系统

  18. 授权规则 用户 权限 登记 DD 定义 用户权限 授权规则 合法 权限 检查 用户发出 操作请求 DBMS的存取控制子系统 DBMS的存取控制子系统 • DBMS的存取控制子系统

  19. DBMS的存取控制子系统 • 自主存取控制 • 定义 用户对于不同的数据对象有相应的存取权限,而且用户还可以将其拥有的存取权限转授给其他用户。 • 三个要素 -- (用户,数据对象,存取权限) • 灵活性 -- 转授权限

  20. DBMS的存取控制子系统 • 自主存取控制 • 存取权限 DBA授权 数据对象的创建者授权 没有元组级, 不支持存取谓词

  21. DBMS的存取控制子系统 • 自主存取控制 • 授权粒度 授权粒度可能是: • 数据库 • 表 • 字段 • 元组 授权粒度越细,授权子系统越灵活,但系统定义与检查权限的开销越大

  22. DBMS的存取控制子系统 • 自主存取控制 • 与数据值有关的授权 -- 若授权依赖于数据对象的内容,则称为是与数据值有关的授权。 与数据值有关的授权的实现难点? 难以判断存取谓词之间的语义关系

  23. DBMS的存取控制子系统 • 自主存取控制 • 自主存取控制存在的问题 “无意泄露”问题 原因:数据本身并无安全性标志

  24. DBMS的存取控制子系统 • 强制存取控制 • 强制存取控制的定义 每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。 对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体。

  25. DBMS的存取控制子系统 • 强制存取控制 • 主体、客体与敏感度标记 • 主体 -- 系统中的活动实体,即包括DBMS所管理的实际用户,也包括代表用户的各进程。 • 客体 -- 系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。 • 敏感度标记 -- 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记。主体的敏感度标记称为许可证级别;客体的敏感度标记称为密级。

  26. 主体 客体 绝密 绝密 读取 机密 机密 可信 可信 写 公开 公开 DBMS的存取控制子系统 • 强制存取控制 • 强制存取控制规则 (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; (2)仅当主体的许可证级别(小于或)等于客体的密级时,该主体才能写相应的客体。

  27. 安全性控制 • 操作权限 2 3 1 Permissions OK; Performs Command Database UserExecutes Command SQL Server Checks Permissions SELECT * FROM Members Permissions not OK; Returns Error

  28. 数据对象 对象类型 操作权限 属性列 TABLE SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES 视图 TABLE SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES 基本表 TABLE SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES,ALTER,INDEX 数据库 DATABASE CREATETAB 安全性控制 • 操作权限 • 不同数据对象允许的操作权限

  29. 安全性控制 • 操作权限 • 授权语句的语法 GRANT命令为一个或多个用户授予一个或多个特权。其语法形式为: GRANT 〈权力〉[,〈权力〉] … ON 〈表名〉| 〈视图名〉 TO 〈用户名〉[,〈用户名〉] … [WITH GRANT OPTION];

  30. 安全性控制 • 操作权限 • 语句说明 • 每条GRANT命令只能针对一个对象授权 例.把查询S表的权限授予用户U1。 GRANT SELECT ON TABLE S TO U1; • 可同时向多个用户授予对同一对象的多种权力 例.把查询S表的权限授予用户U1和U2。 GRANT SELECT ON TABLE S TO U1,U2;

  31. 安全性控制 • 操作权限 • 语句说明 • WITH GRANT OPTION选项 使用WITH GRANT OPTION时,被授权的用户不仅具有对指定对象的指定的操作特权,而且,也可以将这个对象特权授予其他用户。 例.把查询S表的权限授予用户U1,并允许U1将此权限再授予其它用户。 GRANT SELECT ON TABLE S TO U1 WITH GRANT OPTION;

  32. 安全性控制 • 操作权限 • 收回权限语句的语法 REVOKE命令用于收回已授予给用户的特权。 其语法形式为: REVOKE 〈权力〉[,〈权力〉] … ON 〈表名〉| 〈视图名〉 FROM 〈用户名〉[,〈用户名〉] …; 用法与GRANT相同,是GRANT的反操作。

  33. 审 计

  34. 审 计 审计功能是把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,找出非法存取数据的人、时间和内容等。 记录的内容不同:恢复日志只记录更新操作 审计日志与恢复机制中的日志有什么区别? 记录的组织方式不同:恢复日志严格按操作的时间顺序,审计日志按操作的对象

  35. 数据加密与 统计数据库的安全

  36. 数据加密与统计数据库安全 • 数据加密 数据加密是防止数据库中数据在存储和传输中失密的有效手段,基本思想是将明文变换为密文。 主要的两种加密方法: • 替换方法 -- 将明文中的每一个字符转换为密文中的一个字符 • 置换方法 -- 将明文的字符按不同的顺序重新排列

  37. 数据加密与统计数据库安全 • 统计数据库的安全性 统计数据库---- 允许用户查询聚集类型的信息(例如合计、平均值等),但是不允许查询单个记录信息。 统计数据库中的安全性问题:可能存在着隐蔽的信息通道,使得可以从合法的查询中推导出不合法的信息。 解决办法: • 规定任何查询至少涉及N个以上的记录 • 规定两个查询的相交数据项不能超过M个

  38. 角 色

  39. 操作对象 角色 操作对象 用户 用户 角 色 • 角色 ——就是操作权限的集合

  40. 数据库产品间 的不同

  41. 数据库产品间的不同 • 基本的Grant语句形式(与X/Open等价) GRANT 〈权力〉[,〈权力〉] … ON 〈表名〉| 〈视图名〉 TO 〈 PUBLIC〉|〈用户名〉[,〈用户名〉] … [WITH GRANT OPTION]; • 用户必须能够连上包含表的数据库,这项权限(connect)是由DBA授予的 • 表的所有者自动拥有表的所有权限,而且不能被取消

  42. 数据库产品间的不同 • X/Open的Revoke语句形式(基本SQL目前不支持{CASCADE|RESTRICT}子句) REVOKE 〈权力〉[,〈权力〉] … ON 〈表名〉| 〈视图名〉 FROM 〈 PUBLIC〉|〈用户名〉[,〈用户名〉] … [CASCADE | RESTRICT] ; • CASCADE的作用是删除与当前被撤消的权限有依赖关系的视图或删除依赖于REFERENCES权限的外键约束;如果有这样的依赖关系,RESTRICT将不允许执行REVOKE语句

  43. 数据库产品间的不同 • 数据库产品间的不同 • 都支持X/Open SQL标准的Grant和Revoke语句的语法,只是在CASCADE|RESTRICT子句等细节方面不同 • 三种产品都有很多附加权限

  44. 数据库产品间的不同 • ORACLE的安全性特征 • ORACLE支持角色的概念. • CONNECT –允许进入数据库 • RESOURCE –允许创建数据库对象 • DBA –除拥有CONNECT和RESOURCE权限外,还能对表的数据作操纵,并具有控制权限与数据库管理权限 • 自主访问控制 • 通过角色授权 • 通过正常方式授权 • 审计 • AUDIT语句 • NOAUDIT语句

  45. 数据库产品间的不同 • DB2 UDB的安全性特征 • DB2为用户赋予不同级别的权限(authorities)级和特权或权力(Privileges) • 数据库的4级权限 • SYSADM –系统管理 • SYSCTRL –系统控制 • SYSMAINT –系统维护 • DBADM –数据库管理 • 数据库特权 • 只有具有系统管理或数据库管理权限的用户才可以向其他用户授予或收回特权

  46. 数据库产品间的不同 • SQL Server 2000中的角色: • 固定的服务器角色 系统预先定义了一些服务器固有角色,这些角色各自具有某种或某些操作SQL Server服务器的权限。用户不能删除也不能创建新的服务器固有角色。 • 固定的数据库角色 系统为每一个数据库预先定义数据库固有的角色,用户不能删除数据库固有角色,但用户可以在具体的数据库中再创建新的数据库安全角色 • 用户定义的数据库角色

  47. 系统目录

  48. 系统目录 • 什么是系统目录 由系统维护的,包含数据库中定义的对象的信息的表,这些对象包括基本表、视图、列、索引、视图、权限、约束等; 系统目录也称为数据字典,或目录表、或系统目录、或系统视图。 目录表中的信息有时称为元数据。

  49. 系统目录 • 系统目录的作用 • DBA用普通的 SQL SELECT语句来获取这些信息; • 执行动态SQL的应用程序时,为了作出某个决定可能需要访问目录表; • 数据库系统本身也根据目录表来转化视图上的查询,对运行期间的更新语句加上约束

  50. 系统目录 • 系统目录的获取 每个商用数据库都有一套不同结构的目录表名

More Related