数据库第讲数据库保护

上传人:宝路 文档编号:47641392 上传时间:2018-07-03 格式:PPT 页数:43 大小:199.64KB
返回 下载 相关 举报
数据库第讲数据库保护_第1页
第1页 / 共43页
数据库第讲数据库保护_第2页
第2页 / 共43页
数据库第讲数据库保护_第3页
第3页 / 共43页
数据库第讲数据库保护_第4页
第4页 / 共43页
数据库第讲数据库保护_第5页
第5页 / 共43页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、在整个事务执行结束后,再对约束条件进行完整性 检查,结果正确后才能提交。 22返回16.2.2 完整性规则的组成一条完整性规则可以用一个五元组(D,O,A,C,P)来形式化 地表示。其中:D(data):代表约束作用的数据对象;O(operation):代表触发完整性检查的数据库操作,即当用户发 出什么操作请求时需要检查该完整性规则;A(assertion):代表数据对象必须满足的语义约束,这是规则的 主体;C(condition):代表选择A作用的数据对象值的谓词;P(procedure):代表违反完整性规则时触发执行的操作过程。 23返回16.2.2 完整性规则的组成例如,对于“学号不能为空”的这条完整性约束, D:代表约束作用的数据对象为SNO属性; O(operation):当用户插入或修改数据时需要检查该完整性规则 ; A(assertion):SNO不能为空; C(condition):A可作用于所有记录的SNO属性; P(procedure):拒绝执行用户请求。24返回16.2.3 完整性约束条件

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

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

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