数据库系统原理教程第五章清华大学.ppt
《数据库系统原理教程第五章清华大学.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理教程第五章清华大学.ppt(336页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章数据库安全数据库安全l5.1安全性安全性l5.2完整性完整性l5.3并发控制并发控制l5.4恢复恢复l5.5数据库复制与数据库镜像数据库复制与数据库镜像第第5章章数据库安全数据库安全l5.1安全性安全性l5.2完整性完整性l5.3并发控制并发控制l5.4恢复恢复l5.5数据库复制与数据库镜像数据库复制与数据库镜像5.1 5.1 安全性安全性l问题的提出问题的提出数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享但数据共享必然带来数据库的安全性问题但数据共享必然带来数据库的安全性问题数数据据库库系系统统中中的的数数据据共共享享不不能能是是无无条条件件的的共共享享例:军事秘密、
2、例:军事秘密、国家机密、国家机密、新产品实验数据、新产品实验数据、市场需求分析、市场营销策略、销售计划、市场需求分析、市场营销策略、销售计划、客户档案、客户档案、医疗档案、医疗档案、银行储蓄数据银行储蓄数据安全性(续)安全性(续)数数据据库库中中数数据据的的共共享享是是在在DBMS统统一一的的严严格格的的控控制制之之下下的的共共享享,即即只只允允许许有有合合法法使使用用权权限的用户访问允许他存取的数据限的用户访问允许他存取的数据数数据据库库系系统统的的安安全全保保护护措措施施是是否否有有效效是是数数据据库系统主要的性能指标之一库系统主要的性能指标之一安全性(续)安全性(续)l什么是数据库的安全
3、性什么是数据库的安全性数数据据库库的的安安全全性性是是指指保保护护数数据据库库,防防止止因因用用户户非非法法使使用用数数据据库库造造成成数数据据泄泄露露、更更改改或或破破坏。坏。l什么是数据的保密什么是数据的保密数数据据保保密密是是指指用用户户合合法法地地访访问问到到机机密密数数据据后后能否对这些数据保密。能否对这些数据保密。通过制订法律道德准则和政策法规来保证。通过制订法律道德准则和政策法规来保证。5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5.1.2Oracle数据库的安全性措施数据库的安全性措施5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5
4、.1.2Oracle数据库的安全性措施数据库的安全性措施5.1.1安全性控制的一般方法安全性控制的一般方法l非法使用数据库的情况非法使用数据库的情况用户编写一段合法的程序绕过用户编写一段合法的程序绕过DBMS及其授及其授权机制,通过操作系统直接存取、修改或备权机制,通过操作系统直接存取、修改或备份数据库中的数据;份数据库中的数据;直接或编写应用程序执行非授权操作;直接或编写应用程序执行非授权操作;数据库安全性控制概述(续)数据库安全性控制概述(续)通过多次合法查询数据库从中推导出一些保通过多次合法查询数据库从中推导出一些保密数据密数据例:某数据库应用系统禁止查询单个人的工资,但例:某数据库应用
5、系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:的工资,于是他:首先查询包括张三在内的一组人的平均工资首先查询包括张三在内的一组人的平均工资然后查用自己替换张三后这组人的平均工资然后查用自己替换张三后这组人的平均工资从而推导出张三的工资从而推导出张三的工资破坏安全性的行为可能是无意的,故意的,破坏安全性的行为可能是无意的,故意的,恶意的。恶意的。数据库安全性控制概述(续)数据库安全性控制概述(续)应用应用DBMSOSDB低低高高安全性控制层次安全性控制层次方法:方法:用户标识用户标识和鉴定和鉴定存取控制存取控制
6、审计审计视图视图操作系统操作系统安全保护安全保护密码存储密码存储l计算机系统中的安全模型计算机系统中的安全模型数据库安全性控制概述(续)数据库安全性控制概述(续)l数据库安全性控制的常用方法数据库安全性控制的常用方法用户标识和鉴定用户标识和鉴定存取控制存取控制视图视图审计审计密码存储密码存储1.用户标识与鉴定用户标识与鉴定l用户标识与鉴别(用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施系统提供的最外层安全保护措施用户标识与鉴定(续)用户标识与鉴定(续)l基本方法基本方法系统提供一定的方式让用户标识自己的名字系统提供一定的方式让用户标识自
7、己的名字或身份;或身份;系统内部记录着所有合法用户的标识;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户每次用户要求进入系统时,由系统核对用户提供的身份标识;提供的身份标识;通过鉴定后才提供机器使用权。通过鉴定后才提供机器使用权。用户标识和鉴定可以重复多次用户标识和鉴定可以重复多次用户标识与鉴定(续)用户标识与鉴定(续)l让用户标识自己的名字或身份的方法让用户标识自己的名字或身份的方法用户名用户名/口令口令简单易行,容易被人窃取简单易行,容易被人窃取每个用户预先约定好一个每个用户预先约定好一个计算过程计算过程或者或者函数函数系统提供一个随机数系统提供一个随机数用户根据
8、自己预先约定的计算过程或者函用户根据自己预先约定的计算过程或者函数进行计算数进行计算系统根据用户计算结果是否正确鉴定用户系统根据用户计算结果是否正确鉴定用户身份身份2.存取控制存取控制l存取控制机制的功能存取控制机制的功能存取控制机制的组成存取控制机制的组成定义存取权限定义存取权限检查存取权限检查存取权限用户权限定义和合法权检查机制一起组成用户权限定义和合法权检查机制一起组成了了DBMS的安全子系统的安全子系统存取控制(续)存取控制(续)定义存取权限定义存取权限在数据库系统中,为了保证用户只能访问在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户他有权存取的数据,必须预先
9、对每个用户定义存取权限。定义存取权限。检查存取权限检查存取权限对于通过鉴定获得上机权的用户(即合法对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行的各种操作请求进行控制,确保他只执行合法操作。合法操作。存取控制(续)存取控制(续)l定义存取权限定义存取权限存取权限存取权限存取权限由两个要素组成存取权限由两个要素组成数据对象数据对象操作类型操作类型存取控制(续)存取控制(续)定义存取权限定义存取权限定义一个用户可以在哪些数据对象上进行定义一个用户可以在哪些数据对象上进行哪些类型的操作哪些类型的操作在数
10、据库系统中,定义存取权限称为授权在数据库系统中,定义存取权限称为授权(Authorization)授权定义经过编译后存放在数据字典中授权定义经过编译后存放在数据字典中存取控制(续)存取控制(续)关系系统中的存取权限关系系统中的存取权限类型类型数据对象数据对象操作类型操作类型模模式式模模式式建立、修改、删除建立、修改、删除外模式外模式建立、删除建立、删除内模式内模式建立、删除建立、删除数数据据 表表查找、插入、修改、删除查找、插入、修改、删除属性列属性列查找、插入、修改、删除查找、插入、修改、删除存取控制(续)存取控制(续)关系系统中的存取权限关系系统中的存取权限(续续)定义方法定义方法GRAN
11、T/REVOKE自主存取控制方法(续)自主存取控制方法(续)关系系统中的存取权限关系系统中的存取权限(续续)例例:一张授权表一张授权表用户名用户名数据对象名数据对象名允许的操作类型允许的操作类型王平王平关系关系StudentSELECT李青李青关系关系StudentUPDATE李青李青关系关系CourseALL李青李青关系关系SCUPDATE李青李青关系关系SCSELECT李青李青关系关系SCSELECT存取控制(续)存取控制(续)l检查存取权限检查存取权限对于获得上机权后又进一步发出存取数据库对于获得上机权后又进一步发出存取数据库操作的用户操作的用户DBMS查找数据字典,根据其存取权限对查找
12、数据字典,根据其存取权限对操作的合法性进行检查操作的合法性进行检查若用户的操作请求超出了定义的权限,系若用户的操作请求超出了定义的权限,系统将拒绝执行此操作统将拒绝执行此操作存取控制(续)存取控制(续)l授权粒度授权粒度授权粒度是指可以定义的数据对象的范围授权粒度是指可以定义的数据对象的范围它是衡量授权机制是否灵活的一个重要指它是衡量授权机制是否灵活的一个重要指标。标。授权定义中数据对象的粒度越细,即可以授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统定义的数据对象的范围越小,授权子系统就越灵活。就越灵活。存取控制(续)存取控制(续)关系数据库中授权的数据对象粒度关系数
13、据库中授权的数据对象粒度数据库数据库表表属性列属性列行行能否提供与数据值有关的授权反映了授权子能否提供与数据值有关的授权反映了授权子系统精巧程度系统精巧程度存取控制(续)存取控制(续)l实现与数据值有关的授权实现与数据值有关的授权利用存取谓词利用存取谓词存取谓词可以很复杂存取谓词可以很复杂可以引用系统变量,如终端设备号,可以引用系统变量,如终端设备号,系统时钟等,实现与时间地点有关的系统时钟等,实现与时间地点有关的存取权限,这样用户只能在某段时间存取权限,这样用户只能在某段时间内,某台终端上存取有关数据内,某台终端上存取有关数据例:规定例:规定“教师只能在每年教师只能在每年1月份和月份和7月份
14、星期一月份星期一至星期五上午至星期五上午8点到下午点到下午5点处理学生成绩数据点处理学生成绩数据”。存取控制(续)存取控制(续)例:扩充后的授权表例:扩充后的授权表用户名用户名数据对象名数据对象名允许的操作类型允许的操作类型存取谓词存取谓词王平王平关系关系StudentSELECTSdept=CS 张张明明霞霞关关系系StudentUPDATESname=张张明明霞霞 张明霞张明霞关系关系CourseALL空空3.定义视图定义视图l视图机制把要保密的数据对无权存取这些数据视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定的用户隐藏起来,从而自动地对数据提供一定程度
15、的安全保护。程度的安全保护。l视图机制更主要的功能在于提供数据独立性,视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应其安全保护功能太不精细,往往远不能达到应用系统的要求。用系统的要求。定义视图(续)定义视图(续)l在实际应用中通常是视图机制与授权机制配合在实际应用中通常是视图机制与授权机制配合使用,首先用视图机制屏蔽掉一部分保密数据,使用,首先用视图机制屏蔽掉一部分保密数据,然后在视图上面再进一步定义存取权限。然后在视图上面再进一步定义存取权限。这时视图机制实际上间接实现了支持存取谓这时视图机制实际上间接实现了支持存取谓词的用户权限定义词的用户权限定义定义视图
16、(续)定义视图(续)例:王平只能检索计算机系学生的信息例:王平只能检索计算机系学生的信息先建立计算机系学生的视图先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECTFROMStudentWHERESdept=CS;定义视图(续)定义视图(续)在视图上进一步定义存取权限在视图上进一步定义存取权限GRANTSELECTONCS_StudentTO王平王平;4.审计审计l什么是审计什么是审计审计功能启用一个专用的审计日志(审计功能启用一个专用的审计日志(AuditLog),),系统自动将用户对数据库的所有操系统自动将用户对数据库的所有操作记录在上面作记
17、录在上面DBA可以利用审计日志中的追踪信息,重现可以利用审计日志中的追踪信息,重现导致数据库现有状况的一系列事件,以找出导致数据库现有状况的一系列事件,以找出非法存取数据的人非法存取数据的人C2以上安全级别的以上安全级别的DBMS必须具有审计功能必须具有审计功能审计(续)审计(续)l审计功能的可选性审计功能的可选性审计很费时间和空间,所以审计很费时间和空间,所以DBMS往往都将往往都将其作为可选特征其作为可选特征DBA可以根据应用对安全性的要求,灵活可以根据应用对安全性的要求,灵活地打开或关闭审计功能。地打开或关闭审计功能。审计(续)审计(续)用户识别和鉴定、存取控制、视图等安全性用户识别和鉴
18、定、存取控制、视图等安全性措施均为强制性机制,将用户操作限制在规措施均为强制性机制,将用户操作限制在规定的安全范围内。审计技术是预防手段,监定的安全范围内。审计技术是预防手段,监测可能的不合法行为。测可能的不合法行为。审计(续)审计(续)由于任何系统的安全性措施都不可能是完美由于任何系统的安全性措施都不可能是完美无缺的,蓄意盗窃、破坏数据的人总是想方无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。所以,当数据相当敏感,或设法打破控制。所以,当数据相当敏感,或者对数据的处理极为重要时,就必须使用审者对数据的处理极为重要时,就必须使用审计技术。计技术。5.数据加密数据加密l数据加密数据加密防止
19、数据库中数据在存储和传输中失密的有防止数据库中数据在存储和传输中失密的有效手段效手段l加密的基本思想加密的基本思想根据一定的算法将原始数据(术语为明文,根据一定的算法将原始数据(术语为明文,Plaintext)变换为不可直接识别的格式(术变换为不可直接识别的格式(术语为密文,语为密文,Ciphertext)不知道解密算法的人无法获知数据的内容不知道解密算法的人无法获知数据的内容数据加密(续)数据加密(续)l加密方法加密方法替换方法替换方法使用密钥(使用密钥(EncryptionKey)将明文中的每一个将明文中的每一个字符转换为密文中的一个字符字符转换为密文中的一个字符置换方法置换方法将明文的字
20、符按不同的顺序重新排列将明文的字符按不同的顺序重新排列这两种方法结合能提供相当高的安全程度这两种方法结合能提供相当高的安全程度例:美国例:美国1977年制定的官方加密标准:数据加密标年制定的官方加密标准:数据加密标准(准(DataEncryptionStandard,简称简称DES)数据加密(续)数据加密(续)lDBMS中的数据加密中的数据加密有些数据库产品提供了数据加密例行程序有些数据库产品提供了数据加密例行程序有些数据库产品本身未提供加密程序,但提有些数据库产品本身未提供加密程序,但提供了接口供了接口数据加密(续)数据加密(续)l数据加密功能通常也作为可选特征,允数据加密功能通常也作为可选
21、特征,允许用户自由选择许用户自由选择数据加密与解密是比较费时的操作数据加密与解密是比较费时的操作数据加密与解密程序会占用大量系统资源数据加密与解密程序会占用大量系统资源应该只对高度机密的数据加密应该只对高度机密的数据加密5.1安全性安全性5.1.1安全性控制的一般方法安全性控制的一般方法5.1.2Oracle数据库的安全性措施数据库的安全性措施5.1.2Oracle数据库的安全性措施数据库的安全性措施lORACLE的安全措施的安全措施:用户标识和鉴定用户标识和鉴定授权和检查机制授权和检查机制审计技术审计技术用户通过触发器灵活定义自己的安全性措施用户通过触发器灵活定义自己的安全性措施一、一、OR
22、ACLE的用户标识和鉴定的用户标识和鉴定lORACLE允许用户重复标识三次允许用户重复标识三次l如果三次仍未通过,系统自动退出如果三次仍未通过,系统自动退出二、二、ORACLE的授权与检查机制的授权与检查机制lORACLE授权和检查机制的特色授权和检查机制的特色ORACLE的权限包括的权限包括系统权限系统权限和和数据库对象的权限数据库对象的权限采用非集中式的授权机制采用非集中式的授权机制每个用户授予与回收自己创建的数据库对象的权限每个用户授予与回收自己创建的数据库对象的权限DBA负责授予与回收系统权限,也可以授予与回收负责授予与回收系统权限,也可以授予与回收所有数据库对象的权限所有数据库对象的
23、权限允许重复授权,即可将某一权限多次授予同一用户,允许重复授权,即可将某一权限多次授予同一用户,系统不会出错系统不会出错允许无效回收,即用户不具有某权限,但回收此权允许无效回收,即用户不具有某权限,但回收此权限的操作仍是成功的。限的操作仍是成功的。ORACLE的授权与检查机制(续)的授权与检查机制(续)lORACLE的权限的权限系统权限系统权限数据库对象的权限数据库对象的权限1.系统权限系统权限l80多种系统权限多种系统权限创建会话创建会话创建表创建表创建视图创建视图创建用户创建用户系统权限(续)系统权限(续)lDBA在创建一个用户时需要将其中的一些权限在创建一个用户时需要将其中的一些权限授予
24、该用户授予该用户l角色角色ORACLE支持角色的概念。支持角色的概念。角色就是一组系统权限的集合,目的在于减角色就是一组系统权限的集合,目的在于减化权限管理。化权限管理。ORACLE允许允许DBA定义角色定义角色ORACLE提供的预定义角色提供的预定义角色CONNECTRESOURCEDBA系统权限(续)系统权限(续)lCONNECT角色角色允许用户登录数据库并执行数据查询和操纵允许用户登录数据库并执行数据查询和操纵ALTERTABLECREATEVIEW/INDEXDROPTABLE/VIEW/INDEXGRANT,REVOKEINSERT,UPDATE,DELETESELETEAUDIT/
25、NOAUDIT系统权限(续)系统权限(续)lRESOURCE角色角色允许用户建表,即执行允许用户建表,即执行CREATETABLE操操作作由于创建表的用户将拥有该表,因此他具有由于创建表的用户将拥有该表,因此他具有对该表的任何权限对该表的任何权限系统权限(续)系统权限(续)lDBA角色角色允许用户执行授权命令,建表,对任何表的允许用户执行授权命令,建表,对任何表的数据进行操纵。数据进行操纵。DBA角色涵盖了前两种角色,此外还可以执角色涵盖了前两种角色,此外还可以执行一些管理操作。行一些管理操作。DBA角色拥有最高级别的权限。角色拥有最高级别的权限。系统权限(续)系统权限(续)例:例:DBA建立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 教程 第五 清华大学
限制150内