第5章数据库安全保护.ppt
《第5章数据库安全保护.ppt》由会员分享,可在线阅读,更多相关《第5章数据库安全保护.ppt(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、返回返回返回返回第5章数据库安全保护 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望返回返回返回返回本章概要本章概要 随着计算机的普及,数据库的使用也越来越广泛。随着计算机的普及,数据库的使用也越来越广泛。v例如,一个企业的全部信息,国家机构的事务管理信息,国例如,一个企业的全部信息,国家机构的事务管理信息,国防情报等机密信息,都集中地存放在数据库中。防情报等机密信息,都集中地存放在数据库中。在前面我们已经讲到,数据库系统中的数据是由在前面我们已经讲到,数据库系统
2、中的数据是由DBMSDBMS统一进行管理和控制的。统一进行管理和控制的。为了适应和满足数据共享的环境和要求,为了适应和满足数据共享的环境和要求,DBMSDBMS要保证要保证整个系统的正常运转,防止数据意外丢失和不一致数整个系统的正常运转,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正据的产生,以及当数据库遭受破坏后能迅速地恢复正常,这就是常,这就是数据库的安全保护数据库的安全保护。DBMSDBMS对数据库的安全保护功能是通过四方面实现的,对数据库的安全保护功能是通过四方面实现的,即安全性控制、完整性控制、并发性控制和数据库恢即安全性控制、完整性控制、并发性控制和数据库
3、恢复。复。本章就是从这四方面来介绍数据库的安全保护功能:本章就是从这四方面来介绍数据库的安全保护功能:v要求掌握安全性、完整性、并发性和数据库恢复的含义,要求掌握安全性、完整性、并发性和数据库恢复的含义,v掌握这四方面分别实现安全保护功能的方法。掌握这四方面分别实现安全保护功能的方法。2返回返回返回返回5.1.1 5.1.1 数据库安全性的含义数据库安全性的含义数数据据库库的的安安全全性性是是指指保保护护数数据据库库,以以防防止止非非法法使使用用所所造成数据的泄露、更改或破坏。造成数据的泄露、更改或破坏。安全性问题有许多方面,其中包括:安全性问题有许多方面,其中包括:(1 1)法法律律、社社会
4、会和和伦伦理理方方面面,例例如如请请求求查查询询信信息息的的人人是是不不有合法的权力。有合法的权力。(2 2)物物理理控控制制方方面面,例例如如计计算算机机机机房房或或终终端端是是否否应应该该加加锁锁或用其他方法加以保护。或用其他方法加以保护。(3 3)政政策策方方面面,确确定定存存取取原原则则,允允许许哪哪些些用用户户存存取取哪哪些些数数据。据。(4 4)运行方面,使用口令时,如何使口令保持秘密。)运行方面,使用口令时,如何使口令保持秘密。(5 5)硬硬件件控控制制方方面面,CPUCPU是是否否提提供供任任何何安安全全性性方方面面的的功功能能,诸如存储保护键或特权工作方式。诸如存储保护键或特
5、权工作方式。5.1 5.1 数据库的安全性数据库的安全性3返回返回返回返回(6 6)操操作作系系统统安安全全性性方方面面,在在主主存存储储器器和和数数据据文文件件用用过过以以后后,操操作系统是否把它们的内容清除掉。作系统是否把它们的内容清除掉。(7 7)数数据据库库系系统统本本身身安安全全性性方方面面。这这里里讨讨论论的的是是数数据据库库本本身身的的安安全全性性问问题题,即即主主要要考考虑虑安安全全保保护护的的策策略略,尤尤其其是是控控制制访访问问的的策策略。略。5.1.2 5.1.2 安全性控制的一般方法安全性控制的一般方法安安全全性性控控制制是是指指要要尽尽可可能能地地杜杜绝绝所所有有可可
6、能能的的数数据据库库非非法法访问。访问。用用户户非非法法使使用用数数据据库库可可以以有有很很多多种种情情况况。例例如如,编编写写合合法法的的程程序序绕绕过过DBMSDBMS授授权权机机制制,通通过过操操作作系系统统直直接接存存取取、修改或备份有关数据。修改或备份有关数据。用用户户访访问问非非法法数数据据,无无论论它它们们是是有有意意的的还还是是无无意意的的,都都应应该该加加以以严严格格控控制制,因因此此,系系统统还还要要考考虑虑数数据据信信息息的的流流动问题并加以控制,否则有隐蔽的危险性。动问题并加以控制,否则有隐蔽的危险性。4返回返回返回返回因为数据的流动可能使无权访问的用户获得访因为数据的
7、流动可能使无权访问的用户获得访问权利。问权利。v例如,甲用户可以访问文件例如,甲用户可以访问文件F1F1,但无权访问文件,但无权访问文件F2F2,如果乙用户把文件,如果乙用户把文件F2F2移至文件移至文件F1F1中之后,则由于中之后,则由于乙用户的操作,使甲用户获得了对文件乙用户的操作,使甲用户获得了对文件F2F2的访问权。的访问权。此外,用户可以多次利用允许的访问结果,经过逻此外,用户可以多次利用允许的访问结果,经过逻辑推理得到他无权访问的数据。辑推理得到他无权访问的数据。为防止这一点,访问的许可权还要结合过去访为防止这一点,访问的许可权还要结合过去访问的情况而定。问的情况而定。可见安全性的
8、实施是要花费一定代价的,安全可见安全性的实施是要花费一定代价的,安全保护策略就是要以最小的代价来防止对数据的保护策略就是要以最小的代价来防止对数据的非法访问,层层设置安全措施。非法访问,层层设置安全措施。5返回返回返回返回实实际际上上,安安全全性性问问题题并并不不是是数数据据库库系系统统所所独独有有的,所有计算机系统中都存在这个问题。的,所有计算机系统中都存在这个问题。在在计计算算机机系系统统中中,安安全全措措施施是是一一级级一一级级层层层层设设置的,安全控制模型如图置的,安全控制模型如图5.15.1所示。所示。图5.1 安全控制模型用户标识和鉴定用户用户存取权限控制DBMSMMS操作系统安全
9、保护OS密码存储DB6返回返回返回返回根据图根据图5.15.1的安全模型,当用户进入计算机系的安全模型,当用户进入计算机系统时,系统首先根据输入的用户标识进行身份统时,系统首先根据输入的用户标识进行身份的鉴定,只有合法的用户才准许进入系统。的鉴定,只有合法的用户才准许进入系统。对已进入系统的用户,对已进入系统的用户,DBMSDBMS还要进行存取控制,还要进行存取控制,只允许用户进行合法的操作。只允许用户进行合法的操作。DBMSDBMS是建立在操作系统之上的,安全的操作系是建立在操作系统之上的,安全的操作系统是数据库安全的前提。统是数据库安全的前提。操作系统应能保证数据库中的数据必须由操作系统应
10、能保证数据库中的数据必须由DBMSDBMS访问,而不允许用户越过访问,而不允许用户越过DBMSDBMS,直接通过操作,直接通过操作系统访问。系统访问。数据最后可以通过密码的形式存储到数据库中。数据最后可以通过密码的形式存储到数据库中。7返回返回返回返回5.1.2.1 5.1.2.1 用户标识和鉴定用户标识和鉴定(Identification and AuthenticationIdentification and Authentication)数数据据库库系系统统是是不不允允许许一一个个未未经经授授权权的的用用户户对对数数据据库库进进行操作的。行操作的。用用户户标标识识和和鉴鉴定定是是系系统统
11、提提供供的的最最外外层层的的安安全全保保护护措措施施,其其方方法法是是由由系系统统提提供供一一定定的的方方式式让让用用户户标标识识自自己己的的名名字字或或身身份份,系系统统内内部部矛矛盾盾记记录录着着所所有有合合法法用用户户的的标标识识,每每次次用用户户要要求求进进入入系系统统时时,由由系系统统进进行行核核实实,通通过过鉴鉴定后才提供机器的使用权。定后才提供机器的使用权。用用户户标标识识和和鉴鉴定定的的方方法法有有多多种种,为为了了获获得得更更强强的的安安全全性,往往是多种方法并举,常用的方法有以下几种:性,往往是多种方法并举,常用的方法有以下几种:8返回返回返回返回1 1用用一一个个用用户户
12、名名或或用用户户标标识识符符来来标标明明用用户户的的身身份份,系系统统以以此此来来鉴鉴别别用用户户的的合合法法性性。如如果果正正确确,则则可可进进入入下下一一步的核实,否则,不能使用计算机。步的核实,否则,不能使用计算机。2 2用用户户标标识识符符是是用用户户公公开开的的标标识识,它它不不足足以以成成为为鉴鉴别别用用户户身身份份的的凭凭证证。为为了了进进一一步步核核实实用用户户身身份份,常常采采用用用用户户名名与与口口令令(PasswordPassword)相相结结合合的的方方法法,系系统统通通过过核核对对口令判别用户身份的真伪。口令判别用户身份的真伪。v系系统统有有一一张张用用户户口口令令表
13、表,为为每每个个用用户户保保持持一一个个记记录录,包包括括用用户名和口令两部分数据。户名和口令两部分数据。v用户先输入用户名,然后系统要求用户输入口令。用户先输入用户名,然后系统要求用户输入口令。v为了保密,用户在终端上输入的口令不显示在屏幕上。为了保密,用户在终端上输入的口令不显示在屏幕上。v系统核对口令以鉴别用户身份。系统核对口令以鉴别用户身份。3 3通过用户名和口令来鉴定用户的方法简单易行,但该通过用户名和口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。简单,也容易
14、被窃取,因此还可采用更复杂的方法。9返回返回返回返回v例例如如,每每个个用用户户都都预预先先约约定定好好一一个个过过程程或或者者函函数数,鉴鉴别别用用户户身身份份时时,系系统统提提供供一一个个随随机机数数,用用户户根根据据自自己己预预先先约约定定的的计计算算过过程程或或者者函函数数进进行行计计算算,系系统统根据计算结果辨别用户身份的合法性。根据计算结果辨别用户身份的合法性。v例例如如,让让用用户户记记住住一一个个表表达达式式,如如T=X+2Y,T=X+2Y,系系统统告告诉诉用用户户X=1,Y=2,X=1,Y=2,如如果果用用户户回回答答T=5T=5,则则证证实实了了该该用用户的身份。户的身份。
15、v当当然然,这这是是一一个个简简单单的的例例子子,在在实实际际使使用用中中,还还可可以以设设计计复复杂杂的的表表达达式式,以以使使安安全全性性更更好好。系系统统每每次次提提供供不不同同的的X X,Y Y值值,其其他他人人可可能能看看到到的的是是X X、Y Y的的值值,但不能推算出确切的变换公式但不能推算出确切的变换公式T T。10返回返回返回返回5.1.2.2 5.1.2.2 用户存取权限控制用户存取权限控制用用户户存存取取权权限限指指的的是是不不同同的的用用户户对对于于不不同同的的数数据对象允许执行的操作权限。据对象允许执行的操作权限。在在数数据据库库系系统统中中,每每个个用用户户只只能能访
16、访问问他他有有权权存存取的数据并执行有权使用的操作。取的数据并执行有权使用的操作。因此,必须预先定义用户的存取权限。因此,必须预先定义用户的存取权限。对对于于合合法法的的用用户户,系系统统根根据据其其存存取取权权限限的的定定义义对其各种操作请求进行控制,确保合法操作。对其各种操作请求进行控制,确保合法操作。存存取取权权限限由由两两个个要要素素组组成成,数数据据对对象象和和操操作作类类型。型。定定义义一一个个用用户户的的存存取取权权限限就就是是要要定定义义这这个个用用户户可以在哪些数据对象上进行哪些类型的操作。可以在哪些数据对象上进行哪些类型的操作。11返回返回返回返回在在数数据据库库系系统统中
17、中,定定义义用用户户存存取取权权限限称称为为授授权权(AuthorizationAuthorization)。)。第第三三章章讨讨论论SQLSQL的的数数据据控控制制功功能能时时,我我们们已已知知道授权有两种:系统特权和对象特权。道授权有两种:系统特权和对象特权。v系系统统特特权权是是由由DBADBA授授予予某某些些数数据据库库用用户户,只只有有得得到到系统特权,才能成为数据库用户。系统特权,才能成为数据库用户。v对对象象特特权权可可以以由由DBADBA授授予予,也也可可以以由由数数据据对对象象的的创创建建者者授授予予,使使数数据据库库用用户户具具有有对对某某些些数数据据对对象象进进行行某些操
18、作的特权。某些操作的特权。在在系系统统初初始始化化时时,系系统统中中至至少少有有一一个个具具有有DBADBA特特权权的的用用户户,DBADBA可可以以通通过过GRANTGRANT语语句句将将系系统统特特权或对象特权授予其他用户。权或对象特权授予其他用户。对对于于已已授授权权的的用用户户可可以以通通过过REVOKEREVOKE语语句句收收回回所所授予的特权。授予的特权。12返回返回返回返回这这些些授授权权定定义义经经过过编编译译后后以以一一张张授授权权表表的的形形式式存存放放在在数据字典中。数据字典中。授授权权表表主主要要有有三三个个属属性性,用用户户标标识识、数数据据对对象象和和操操作作类型类
19、型。v用用户户标标识识不不但但可可以以是是用用户户个个人人,也也可可以以是是团团体体、程程序序和和终终端端。在非关系系统中,存取控制的数据对象仅限于数据本身。在非关系系统中,存取控制的数据对象仅限于数据本身。v而而关关系系系系统统中中,存存取取控控制制的的数数据据对对象象不不仅仅有有基基本本表表、属属性性列列等等数数据据本本身身,还还有有内内模模式式、外外模模式式、模模式式等等数数据据字字典典中中的的内内容。容。v下表列出了关系系统中的存取权限。下表列出了关系系统中的存取权限。数据对象操作类型模式模式建立、修改、检索外模式建立、修改、检索内模式建立、修改、检索数据表查找、插入、修改、删除属性列
20、查找、插入、修改、删除13返回返回返回返回对对于于授授权权表表,一一个个衡衡量量授授权权机机制制的的重重要要指指标标就就是是授权粒度授权粒度,即可以定义的数据对象的范围;,即可以定义的数据对象的范围;在在关关系系数数据据库库中中,授授权权粒粒度度包包括括关关系系、记记录录或或属性属性。一一般般来来说说,授授权权定定义义中中粒粒度度越越细细,授授权权子子系系统统就越灵活就越灵活例例如如,表表5.25.2是是一一个个授授权权粒粒度度很很粗粗的的表表,它它只只能能对整个关系授权。对整个关系授权。v如如USER1USER1拥有对关系拥有对关系S S的一切权限;的一切权限;vUSER2USER2拥拥有有
21、对对关关系系C C的的SELECTSELECT权权和和对对关关系系SCSC的的UPDATEUPDATE权;权;vUSER3USER3只可以向关系只可以向关系SCSC中插入新记录。中插入新记录。14返回返回返回返回表表5.2 5.2 授权表授权表1 1用户标识数据对象操作类型USER1关系SALLUSER2关系CSELECTUSER2关系SCUPDATEUSER3关系SCINSERT15返回返回返回返回表表5.35.3是一个授权粒度较为精细,它可以精确是一个授权粒度较为精细,它可以精确到关系的某一属性。到关系的某一属性。vUSER1USER1拥有对关系拥有对关系S S的一切权限;的一切权限;vU
22、SER2USER2只能查询关系只能查询关系C C的的CNOCNO属性和修改关系属性和修改关系SCSC的的SCORESCORE属性;属性;vUSER3USER3可以向关系可以向关系SCSC中插入新记录。中插入新记录。表表5.3 5.3 授权表授权表2 2 用户标识数据对象操作类型USER1关系SALLUSER2列C.CNOSELECTUSER2列SC.SCOREUPDATEUSER3关系SCINSERT16返回返回返回返回表表5.35.3的的授授权权表表中中的的授授权权只只涉涉及及到到数数据据名名(关关系系、记记录录或或属性的名字),而未提到具体的值。属性的名字),而未提到具体的值。系系统统不不
23、必必访访问问具具体体的的数数据据本本身身,就就可可以以执执行行这这种种控控制制。这这种控制称为种控制称为“值独立值独立”的控制。的控制。表表5.45.4中中的的授授权权表表则则不不但但可可以以对对属属性性列列授授权权,还还可可以以提提供供与数值有关的授权,即可以对关系中的一组记录授权。与数值有关的授权,即可以对关系中的一组记录授权。v比如,比如,USER1USER1只能对计算机系的学生进行操作。只能对计算机系的学生进行操作。对对于于提提供供与与数数据据值值有有关关的的授授权权,系系统统必必须须能能够够支支持持存存取取谓谓词的操作。词的操作。表表5.4 5.4 授权表授权表3 3用户标识数据对象
24、操作类型存取谓词USER1关系SALLDEPT=计算机USER2列C.CNOSELECTUSER2列SC.SCOREUPDATEUSER3关系SCINSERT17返回返回返回返回可可见见授授权权粒粒度度越越细细,授授权权子子系系统统就就越越灵灵活活,能能够够提供的安全性就越完善。提供的安全性就越完善。但但另另一一方方面面,如如果果用用户户比比较较多多,数数据据库库比比较较大大,授授权权表表将将很很大大,而而且且每每次次数数据据库库访访问问都都要要用用到到这这张表做授权检查,这将影响数据库的性能。张表做授权检查,这将影响数据库的性能。所所幸幸的的是是,在在大大部部分分数数据据库库中中,需需要要保
25、保密密的的数数据据是是少少数数,对对于于大大部部分分公公开开的的数数据据,可可以以一一次次性性地地授权给授权给PUBLICPUBLIC,而不必再对每个用户个别授权。,而不必再对每个用户个别授权。对对于于表表5.45.4中中与与数数据据值值有有关关的的授授权权,可可以以通通过过另另外一种数据库安全措施,即定义视图。外一种数据库安全措施,即定义视图。18返回返回返回返回5.1.2.3 5.1.2.3 定义视图定义视图为为不不同同的的用用户户定定义义不不同同的的视视图图,可可以以限限制制各各个个用用户户的的访访问范围。问范围。通通过过视视图图机机制制把把要要保保密密的的数数据据对对无无权权存存取取这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全 保护
限制150内