欢迎来到天天文库
浏览记录
ID:43516990
大小:402.50 KB
页数:95页
时间:2019-10-09
《数据库原理 第5章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章数据库安全保护1本章概要随着计算机的普及,数据库的使用也越来越广泛。例如,一个企业的全部信息,国家机构的事务管理信息,国防情报等机密信息,都集中地存放在数据库中。在前面我们已经讲到,数据库系统中的数据是由DBMS统一进行管理和控制的。为了适应和满足数据共享的环境和要求,DBMS要保证整个系统的正常运转,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正常,这就是数据库的安全保护。DBMS对数据库的安全保护功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢复。本章就是从这四方面来介绍数据库的安全保护功能:要求掌握安全性、完整性、并发性和数据库恢复
2、的含义,掌握这四方面分别实现安全保护功能的方法。25.1.1数据库安全性的含义数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。安全性问题有许多方面,其中包括:(1)法律、社会和伦理方面,例如请求查询信息的人是不有合法的权力。(2)物理控制方面,例如计算机机房或终端是否应该加锁或用其他方法加以保护。(3)政策方面,确定存取原则,允许哪些用户存取哪些数据。(4)运行方面,使用口令时,如何使口令保持秘密。(5)硬件控制方面,CPU是否提供任何安全性方面的功能,诸如存储保护键或特权工作方式。5.1数据库的安全性3(6)操作系统安全性方面,在主存储器和数据文件用过以后,操作系
3、统是否把它们的内容清除掉。(7)数据库系统本身安全性方面。这里讨论的是数据库本身的安全性问题,即主要考虑安全保护的策略,尤其是控制访问的策略。5.1.2安全性控制的一般方法安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。用户非法使用数据库可以有很多种情况。例如,编写合法的程序绕过DBMS授权机制,通过操作系统直接存取、修改或备份有关数据。用户访问非法数据,无论它们是有意的还是无意的,都应该加以严格控制,因此,系统还要考虑数据信息的流动问题并加以控制,否则有隐蔽的危险性。4因为数据的流动可能使无权访问的用户获得访问权利。例如,甲用户可以访问文件F1,但无权访问文件F2,如果乙用户把文件F
4、2移至文件F1中之后,则由于乙用户的操作,使甲用户获得了对文件F2的访问权。此外,用户可以多次利用允许的访问结果,经过逻辑推理得到他无权访问的数据。为防止这一点,访问的许可权还要结合过去访问的情况而定。可见安全性的实施是要花费一定代价的,安全保护策略就是要以最小的代价来防止对数据的非法访问,层层设置安全措施。5实际上,安全性问题并不是数据库系统所独有的,所有计算机系统中都存在这个问题。在计算机系统中,安全措施是一级一级层层设置的,安全控制模型如图5.1所示。图5.1安全控制模型用户标识和鉴定用户用户存取权限控制DBMSMMS操作系统安全保护OS密码存储DB6根据图5.1的安全模型,当用户进入
5、计算机系统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才准许进入系统。对已进入系统的用户,DBMS还要进行存取控制,只允许用户进行合法的操作。DBMS是建立在操作系统之上的,安全的操作系统是数据库安全的前提。操作系统应能保证数据库中的数据必须由DBMS访问,而不允许用户越过DBMS,直接通过操作系统访问。数据最后可以通过密码的形式存储到数据库中。75.1.2.1用户标识和鉴定(IdentificationandAuthentication)数据库系统是不允许一个未经授权的用户对数据库进行操作的。用户标识和鉴定是系统提供的最外层的安全保护措施,其方法是由系统提供一定的方式让用户
6、标识自己的名字或身份,系统内部矛盾记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器的使用权。用户标识和鉴定的方法有多种,为了获得更强的安全性,往往是多种方法并举,常用的方法有以下几种:81.用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。如果正确,则可进入下一步的核实,否则,不能使用计算机。2.用户标识符是用户公开的标识,它不足以成为鉴别用户身份的凭证。为了进一步核实用户身份,常采用用户名与口令(Password)相结合的方法,系统通过核对口令判别用户身份的真伪。系统有一张用户口令表,为每个用户保持一个记录,包括用户名和口令两部分数
7、据。用户先输入用户名,然后系统要求用户输入口令。为了保密,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户身份。3.通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。9例如,每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果
此文档下载收益归作者所有