安全生产_数据库安全性讲义

上传人:F****n 文档编号:91278264 上传时间:2019-06-27 格式:PPT 页数:63 大小:128KB
返回 下载 相关 举报
安全生产_数据库安全性讲义_第1页
第1页 / 共63页
安全生产_数据库安全性讲义_第2页
第2页 / 共63页
安全生产_数据库安全性讲义_第3页
第3页 / 共63页
安全生产_数据库安全性讲义_第4页
第4页 / 共63页
安全生产_数据库安全性讲义_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《安全生产_数据库安全性讲义》由会员分享,可在线阅读,更多相关《安全生产_数据库安全性讲义(63页珍藏版)》请在金锄头文库上搜索。

1、回顾, 基础篇 第一章:绪论 第二章:数据模型 第三章:关系数据库 第四章:关系数据库标准语言SQL,系统篇,数据库系统中的数据是由DBMS统一管理和控制的,为了适应数据共享的环境,DBMS必须提供数据保护能力,以保证数据库中数据的安全可靠和正确有效。 数据保护 安全性 完整性 数据库恢复 并发控制,系统篇,第5章 数据库安全性 第6章 数据库完整性 第7章 数据库恢复技术 第8章 并发控制,第五章 数据库安全性,问题的提出 数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析

2、、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据,数据库安全性(续),数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据 数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,第五章 数据库安全性,5.1 计算机安全性概论 5.2 数据库安全性控制 5.3 数据库存取控制方法 5.4 数据库角色 5.5 视图机制 5.6 审计 5.7 数据加密 5.8 统计数据库安全性,5.1 计算机系统的安全性概论,什么是数据库的安全性 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。 数据库系

3、统的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。,什么是计算机系统安全性 为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。,计算机系统的3类安全性问题(续),三类计算机系统安全性问题 技术安全类 管理安全类 政策法律类,计算机系统的三类安全性问题(续),技术安全 指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。,计算机系统的三类安全

4、性问题(续),管理安全 软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题。,计算机系统的三类安全性问题(续),政策法律类 政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。,实际上,安全性问题并不是数据库系统所独有的,所有计算机系统中都存在这个问题。 在计算机系统中,安全措施是一级一级层层设置的,安全控制模型如图5.1所示。 图5.1 安全控制模型,5.2 数据库安全性控制,根据图5.1的安全模型,当用户进入计算机系统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才准许进入系统。 对已进入系统的用户,DBMS还要

5、进行存取控制,只允许用户进行合法的操作。 DBMS是建立在操作系统之上的,安全的操作系统是数据库安全的前提。操作系统应能保证数据库中的数据必须由DBMS访问,而不允许用户越过DBMS,直接通过操作系统访问。 数据最后可以通过密码的形式存储到数据库中。,5.2.1 用户标识和鉴定 (Identification and Authentication) 数据库系统是不允许一个未经授权的用户对数据库进行操作的。 用户标识和鉴定是系统提供的最外层的安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才

6、提供机器的使用权。,用户标识和鉴定的方法有多种,为了获得更强的安全性,往往是多种方法并举,常用的方法有以下几种: 1用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。 2为了进一步核实用户身份,常采用用户名与口令(Password)相结合的方法,系统通过核对口令判别用户身份的真伪。 3通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。,例如,每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果辨别用户身

7、份的合法性。 例如,让用户记住一个表达式,如T=X+2Y,系统告诉用户X=1,Y=2,如果用户回答T=5,则证实了该用户的身份。 还可设计复杂的表达式,以使安全性更好。 系统每次提供不同的X,Y值,其他人可能看到的是X、Y的值,但不能推算出确切的变换公式T。,5.2.2 存取控制,存取控制机制的功能 存取控制机制的组成 定义存取权限 检查存取权限 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,存取控制(续),定义存取权限 在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。 检查存取权限 对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存

8、取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。,存取控制(续),常用存取控制方法 自主存取控制(Discretionary Access Control ,简称DAC) 灵活 强制存取控制(Mandatory Access Control,简称 MAC) 严格,自主存取控制方法,同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户,强制存取控制方法,每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取,5.3 数据库存取控制方法,5.3.1 用

9、户权限 用户权限由两个要素组成 数据对象 操作类型,关系数据库系统中存取控制的对象不仅有数据本身,还有数据库模式。如表5.1所示:,表5.1 类型 数据对象 操作类型 模 式 模 式 建立、修改、删除、检索 外模式 建立、修改、删除、检索 内模式 建立、删除、检索 数 据 表 查找、插入、修改、删除 属性列 查找、插入、修改、删除,用户或DBA把授权决定告知系统 SQL的GRANT和REVOKE DBMS把授权的结果存入数据字典 当用户提出操作请求时,DBMS根据授权定义进行检查,以决定是否执行操作请求,5.3.2 授权及收权,GRANT语句的一般格式: GRANT ,. ON TO ,. W

10、ITH GRANT OPTION; 谁定义?DBA和表的建立者(即表的属主) GRANT功能:将对指定操作对象的指定操作权限授予指定的用户。,(1) 操作权限,(2) 用户的权限,建表(CREATE TABLE)的权限:属于DBA DBA授予普通用户 基本表或视图的属主拥有对该表或视图的一切操作权限 接受权限的用户: 一个或多个具体用户 PUBLIC(全体用户),(3) WITH GRANT OPTION子句,指定了WITH GRANT OPTION子句: 获得某种权限的用户还可以把这种权限再授予别的用户。 没有指定WITH GRANT OPTION子句: 获得某种权限的用户只能使用该权限,不

11、能传播该权限,例题,例1 把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;,11-9 34班,exec sp_addrole r_test /添加角色r_test grant all on student to r_test /为角色r_test授权 exec sp_addlogin l_test,123,学生_教学,Simplified chinese /添加登陆用户名l_test exec sp_grantdbaccess l_test,U1 /为登录 l_test 在数据库”学生_教学”中添加安全账户U1 exec sp_a

12、ddrolemember r_test,U1 /添加 U1 为角色 r_test 的成员,grant select,update on course to u1 with grant option EXEC sp_revokedbaccess u_test -从数据库 pubs 中删除安全账户 EXEC sp_droplogin l_test -删除登录 l_test EXEC sp_droprole r_test -删除角色 r_test,例题(续),例2 把对Student表的全部权限授予用户U2和U3 GRANT ALL PRIVILEGES ON TABLE Student TO U2

13、, U3;,例4,例题(续),例3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC;,例题(续),例4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;,例题(续),例5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;,传播权限,执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限: GRAN

14、T INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。 U5 U6 U7,SQL收回权限的功能,REVOKE语句的一般格式为: REVOKE ,. ON FROM ,.; 功能:从指定用户那里收回对指定对象的指定权限,例题,例7 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4;,例题(续),例8 收回所有用户对表SC的查询权限 REVOKE SELECT ON

15、TABLE SC FROM PUBLIC;,例题(续),例9 把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON TABLE SC FROM U5;,5 . 4 数据库角色,数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。 使用角色来管理数据库权限可以简化授权的过程。 在SQL 语言中首先用CREATE ROLE 语句创建角色,然后用GRANT 语句给角色授权。,1 角色的创建 创建角色的SQL 语句格式是: exec sp_addrole r_test 2 给角色授权 GRANT , ON 对象名 TO , 3 将一个角色授予其他角色或用户exec

16、sp_addrolemember , 或 ,例11.通过角色来实现将一组权限授予一个用户。步骤: l、首先创建一个角色Rl exec sp_addrole R1; 2、然后使用GRANT语句给角色R1授权: GRANT SELECT , UPDATE , INSERT ON TABLE Student TO R1 ; 3、将这个角色授予U1。使他们具有角色R1所包含的全部权限。 exec sp_addrolemember R1,U1,5.5 视图机制,视图机制把要保密的数据对无权存取这些数据的用户隐藏起来, 视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。,视图机制(续),视图机制与授权机制配合使用: 首先用视图机制屏蔽掉一部分保密数据 视图上

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号