数据库第16讲数据库保护

上传人:san****019 文档编号:70371021 上传时间:2019-01-16 格式:PPT 页数:43 大小:394.81KB
返回 下载 相关 举报
数据库第16讲数据库保护_第1页
第1页 / 共43页
数据库第16讲数据库保护_第2页
第2页 / 共43页
数据库第16讲数据库保护_第3页
第3页 / 共43页
数据库第16讲数据库保护_第4页
第4页 / 共43页
数据库第16讲数据库保护_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《数据库第16讲数据库保护》由会员分享,可在线阅读,更多相关《数据库第16讲数据库保护(43页珍藏版)》请在金锄头文库上搜索。

1、1,第16讲 数据库保护,教学目标:使学生了解和掌握数据库的安全和完整控制的重要性和和可行性 教学内容:安全性控制的一般方法、完整性约束条件和控制机制 教学重点:存取控制 动态完整性约束 参照完整性条件 教学难点:动态完整性约束 参照完整性条件 教学方法:多媒体演示 举例法 教学时间:2学时 教学过程:,2,随着社会信息化的不断深化,各种数据库的使用也越来越广泛。例如,一个企业管理信息系统的全部数据、国家机构的事务管理信息、国防情报机密信息、基于WEB动态发布的网上购物信息等等,它们都集中或分布地存放在大大小小的数据库中。我们知道数据库系统中的数据是由DBMS统一进行管理和控制的。为了适应和满

2、足数据共享的环境和要求,DBMS要保证数据库及整个系统的正常运转,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正常,这就是数据库的安全保护。 DBMS对数据库的安全保护功能是通过四方面来实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。,3,数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。 安全性问题有许多方面,其中包括: (1)法律、社会和伦理方面,例如请求查询信息的人是不有合法的权力; (2)物理控制方面,例如计算机机房或终端是否应该加锁或用其他方法加以保护; (3)政策方面,确定存取原则,允许哪些用户存取哪些数据; (4)运行与

3、技术方面,使用口令时,如何使口令保持秘密;,4,(5)硬件控制方面,CPU是否提供任何安全性方面的功能,诸如存储保护键或特权工作方式; (6)操作系统安全性方面,在主存储器和数据文件用过以后,操作系统是否把它们的内容清除掉; (7)数据库系统本身安全性方面。,5,16.1.2 安全性控制的一般方法,安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。用户非法使用数据库可以有很多种情况。例如,编写合法的程序绕过DBMS授权机制,通过操作系统直接存取、修改或备份有关数据。用户访问非法数据,无论它们是有意的还是无意的,都应该加以严格控制,因此,系统还要考虑数据信息的流动问题并加以控制,否则有潜在的

4、危险性。因为数据的流动可能使无权访问的用户获得访问权利。,例如,甲用户可以访问表T1,但无权访问表T2,如果乙用户把表T2的所有记录添加到表T1中之后,则由于乙用户的操作,使甲用户获得了对表T2中记录的访问。此外,用户可以多次利用允许的访问结果,经过逻辑推理得到他无权访问的数据。 为防止这一点,访问的许可权还要结合过去访问的情况而定。可见安全性的实施是要花费一定代价,并需缜密考虑的。安全保护策略就是要以最小的代价来最大程度防止对数据的非法访问,通常需要层层设置安全措施。 实际上,数据库系统的安全性问题,类似于整个计算机系统一级级层层设置安全的情况,其安全控制模型一般如图16.1所示。,16.1

5、.2 安全性控制的一般方法,7,16.1.2 安全性控制的一般方法,根据图16.1的安全模型,当用户进入计算机系统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才准许进入系统。 对已进入系统的用户,DBMS还要进行存取控制,只允许用户进行合法的操作,8,DBMS是建立在操作系统之上的,安全的操作系统是数据库安全的前提。操作系统应能保证数据库中的数据必须由DBMS访问,而不允许用户越过DBMS,直接通过操作系统或其它方式访问。 数据最后可以通过密码的形式存储到数据库中。能做到非法者即使得到了加密数据,也无法识别它的安全效果。 下面,本书就同数据库有关的用户标识和鉴定、存取控制、定义

6、视图、数据加密和审计等几类安全性措施作一讨论。,16.1.2 安全性控制的一般方法,9,1、用户标识和鉴别 用户标识和鉴定是系统提供的最外层的安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器的使用权。 用户标识和鉴定的方法有 : (1)单用户名鉴别法 :用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性 .,16.1.2 安全性控制的一般方法,10,16.1.2 安全性控制的一般方法,(2)用户名与口令联合鉴别法 :用户标识符是用户公开的标识,它不足以成为鉴别用

7、户身份的凭证。 (3)透明公式鉴别法:每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果辨别用户身份的合法性。,11,2、用户存取权限控制 用户存取权限指的是不同的用户对于不同的数据对象允许执行的操作权限。 存取权限由两个要素组成,数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。 在数据库系统中,定义用户存取权限称为授权. 授权有两种: (1)系统权限:由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户 .,12,16.1.2 安全性控制的一

8、般方法,(2)对象权限 :可以由DBA授予,也可以由数据对象的创建者授予,使数据库用户具有对某些数据对象进行某些操作的权限. 这些授权定义经过编译后以一张授权表的形式存放在数据字典中。授权表主要有三个属性,用户标识、数据对象和操作类型。,13,16.1.2 安全性控制的一般方法,3、视图机制 为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4、数据加密 数据加密是防止数据库中数据在存储和传输中失密的有效手段.加密的基本思想是根据一定的算法将原始数据加密成为不可直接识别的格式,数据以密码

9、的形式存储和传输 .,14,16.1.2 安全性控制的一般方法,加密方法有两种: (1)替换方法:该方法使用密钥将明文中的每一个字符转换为密文中的一个字符. (2)转换方法:该方法将明文中的字符按不同的顺序重新排列. 用密码存储数据,在存入时需加密,在查询时需解密,这个过程会占用较多的系统资源,降低了数据库的性能。 5、审计 实际上任何系统的安全性措施都不是绝对可靠的,窃密者总有办法打破这些控制.审计功能是一种监视措施,跟踪记录有关数据的访问活动.,15,16.1.3 安全性控制的其它方法,1、强制存取控制(MAC) 有些数据库系统的数据要求很高的保密性,通常具有静态的严格的分层结构,强制存取

10、控制能实现这种高保密性要求.这种方法的基本思想在于每个数据对象(文件、记录记录或宇段等)赋予一定的密级,级别从高到低有:绝密级、机密级、秘密级和公用级.每个用户也具有相应的级别,称为许可证级别. 在系统运行时,采用如下两条简单规则: (1)用户U只能查看比它级别低或同级的数据. (2)用户U只能修改和它同级的数据. 强制存取控制是一种独立于值的控制方法.它的优点是系统能执行“信息流控制”.,16,2、统计数据库的安全性 查询仅仅是某些记录的统计值,例如求记录数、和、平均值等。在统计数据库中,虽然不允许用户查询单个记录的信息,但是用户可以通过处理足够多的汇总信息来分析出单个记录的信息. 在统计数

11、据库中,对查询应作下列限制: 一个查询查到的记录个数至少是n; 两个查询查到的记录的“交”数目至多是m. 保证数据库安全性的另一个方法是“数据污染”,也就是在回答查询时,提供一些偏离正确值的数据,以免数据泄露.,17,16.1.4 SQL Server 2000安全性概述,SQL Server 2000安全系统的构架建立在用户和用户组的基础上 .SQL Server提供了3种安全管理模式,即标准模式、集成模式和混合模式,数据库设计者和数据库管理员可以根据实际情况进行选择 . 1、两个安全性阶段 :身份验证和授权 . 2、用户权限 :登录创建在Windows中,而非 SQL Server中.,1

12、8,16.1.4 SQL Server 2000安全性概述,当用户连接到SQL Server 2000实例后,他们可以执行的活动由授予以下帐户的权限确定: (1)用户的安全帐户; (2)用户的安全帐户所属Windows组或角色层次结; (3)用户若要进行任何涉及更改数据库定义或访问数据的活动,则必须有相应的权限.,19,16.1.4 SQL Server 2000安全性概述,3、视图安全机制 SQL Server 2000通过限制可由用户使用的数据,可以将视图作为安全机制。用户可以访问某些数据,进行查询和修改,但是表或数据库的其余部分是不可见的,也不能进行访问。 4、加密方法 SQL Serv

13、er 2000支持加密或可以加密的内容为:SQL Server 中存储的登录和应用程序角色密码;作为网络数据包而在客户端和服务器端之间发送的数据;SQL Server 2000中如下对象的定义内容:存储过程、用户定义函数、视图、触发器、默认值、规则等。,20,16.1.4 SQL Server 2000安全性概述,5、审核活动 SQL Server 2000提供审核功能,用以跟踪和记录每个 SQL Server 实例上已发生的活动(如成功和失败的记录)。SQL Server 2000 还提供管理审核记录的接口,即 SQL 事件探查器。只有 sysadmin 固定安全角色的成员才能启用或修改审核

14、,而且审核的每次修改都是可审核的事件。,21,16.2.1 数据库完整性概述,数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 显然,维护数据库的完整性非常重要,数据库中的数据是否具备完整性关系到数据能否真实地反映现实世界。 数据库的完整性和安全性是数据库保护的两个不同的方面。 安全性是保护数据库,以防止非法使用所造成数据的泄露、更改或破坏,安全性措施的防范对象是非法用户和非法操作;完整性是防止合法用户使用数据库时向数据库中加入不符合语义的数据,完整性措施的防范对象是不合语义的数据。,22,16.2.2 完整性规则的组成,完整性规则主要由以下三

15、部分构成: (1)触发条件:规定系统什么时候使用规则检查数据; (2)约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件; (3)违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。 完整性规则从执行时间上可分为立即执行约束(Immediate Constraints)和延迟执行约束(Deferred Constraints)。 立即执行约束是指在执行用户事务过程中,某一条语句执行完成后,系统立即对此数据进行完整性约束条件检查;延迟执行约束是指在整个事务执行结束后,再对约束条件进行完整性检查,结果正确后才能提

16、交。,23,16.2.2 完整性规则的组成,一条完整性规则可以用一个五元组(D,O,A,C,P)来形式化地表示。其中: D(data):代表约束作用的数据对象; O(operation):代表触发完整性检查的数据库操作,即当用户发出什么操作请求时需要检查该完整性规则; A(assertion):代表数据对象必须满足的语义约束,这是规则的主体; C(condition):代表选择A作用的数据对象值的谓词; P(procedure):代表违反完整性规则时触发执行的操作过程。,24,16.2.2 完整性规则的组成,例如,对于“学号不能为空”的这条完整性约束, D:代表约束作用的数据对象为SNO属性; O(operation):当用户插入或修改数据时需要检查该完整性规则; A(assertion):SNO不能为空; C(condition):A可作用于所有记录的SNO属性; P(procedure):拒绝执行用户请求。,25,16.2.3 完整性约束条件的分类,在数据库领域中,有四种最常用的数据模型,它们是:被称为非关系模型的层次模型、网状模型、关系模型和面向对象模型。本章简要介绍层

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

当前位置:首页 > 高等教育 > 大学课件

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