数据库(安全4-完整5_more)

上传人:飞*** 文档编号:54650148 上传时间:2018-09-16 格式:PPT 页数:80 大小:325KB
返回 下载 相关 举报
数据库(安全4-完整5_more)_第1页
第1页 / 共80页
数据库(安全4-完整5_more)_第2页
第2页 / 共80页
数据库(安全4-完整5_more)_第3页
第3页 / 共80页
数据库(安全4-完整5_more)_第4页
第4页 / 共80页
数据库(安全4-完整5_more)_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《数据库(安全4-完整5_more)》由会员分享,可在线阅读,更多相关《数据库(安全4-完整5_more)(80页珍藏版)》请在金锄头文库上搜索。

1、数据库安全性,问题的提出 数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享,安全性,数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,数据库的数据保护包括: 数据的安全性 数据的完整性 两方面内容。,安全性,什么是数据库的安全性 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。,数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,因此首先讨论计算

2、机系统安全性的一般问题。,计算机系统的三类安全性问题,技术安全是指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。,管理安全是指技术安全之外的,诸如软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题,视为管理安全。,政策法律类则指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。,安全标准,1985年的美国国防部TCSEC/1999年成为ISO标准、2001年成为我国标准的CC (Trusted C

3、omputer System Evaluation Criteria)(Common Criteria) 基本指标:安全策略、责任、保证和文档。 按系统可靠与可信程度的逐渐增高分:D、C1、C2、B1、B2、B3、A1几个等级。,数据库安全性控制,方法:,用户标识 和鉴定,存取控制 审计 视图,操作系统安全保护,密码存储,计算机系统中的安全模型,数据库安全性控制概述,数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 密码存储,用户标识与鉴定,用户标识与鉴别(Identification & Authentication) 系统提供的最外层安全保护措施,用户标识与鉴定,基本方法

4、系统提供一定的方式让用户标识自己的名字或身份; 系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标识; 通过鉴定后才提供机器使用权。 用户标识和鉴定可以重复多次,用户标识与鉴定,让用户标识自己的名字或身份的方法 用户名/口令 简单易行,容易被人窃取 每个用户预先约定好一个计算过程或者函数 系统提供一个随机数 用户根据自己预先约定的计算过程或者函数进行计算 系统根据用户计算结果是否正确鉴定用户身份,2. 存取控制,存取控制机制的组成:定义存取权限检查存取权限 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,存取控制,定义存取权限 在数据库系统中,为

5、了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。 检查存取权限 对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。,存取控制,定义存取权限 存取权限存取权限由两个要素组成 数据对象 操作类型,存取控制,定义存取权限 定义一个用户可以在哪些数据对象上进行哪些类型的操作 在数据库系统中,定义存取权限称为授权(Authorization) 授权定义经过编译后存放在数据字典中,两种存取控制的方法,自主存取控制 强制存取控制,自主存取控制: 用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,

6、而且用户还可将其拥有的存取权限转授给其他用户。 强制存取控制(略),视图机制,视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。,定义视图,在实际应用中通常是视图机制与授权机制配合使用,首先用视图机制屏蔽掉一部分保密数据,然后在视图上面再进一步定义存取权限。,审计,审计功能启用一个专用的审计日志(Audit Log),系统自动将用户对数据库的所有操作记录在上面 DBA可以利用审计日志中的追踪信息,重现导致数据库现有状况的一系列事件,以找出非法存取数据的人,

7、审计一般分为用户级和系统级两个级别。 用户级审计是用户可设置的审计,主要是对自己的数据库与视图等进行审计。记录所有的访问要求及操作。 系统级审计由DBA设置,审计数据库级权限的操作。,审计,审计功能的可选性 审计很费时间和空间,所以DBMS往往都将其作为可选特征 DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。,审计,用户识别和鉴定、存取控制、视图等安全性措施均为强制性机制,将用户操作限制在规定的安全范围内。审计技术是预防手段,监测可能的不合法行为。,审计,由于任何系统的安全性措施都不可能是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。所以,当数据相当敏感,或者对数据的处

8、理极为重要时,就必须使用审计技术。,数据加密,数据加密 防止数据库中数据在存储和传输中失密的有效手段加密的基本思想 根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text),数据加密功能通常也作为可选特征,允许用户自由选择。数据加密与解密程序会占用大量系统资源 。应该只对高度机密的数据加密。统计数据库的安全性(见书上的例题),小结,数据共享程度日益提高,安全性的要求越来越重。 TCSEC/CC相关标准 实现数据库安全的主要方法是存取控制机制、视图技术及审计等,第五章 完整性,数据库的完整性是指数据的正确性和相容性,防止不合语义的

9、数据进入数据库。例: 学生的年龄必须是整数,取值范围为14-29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。,与安全性的区别:,安全性是保护数据库,防止恶意的破坏和非法的存取。其防范对象是非法用户和非法操作。 完整性是防止数据库中存在不正确的数据。其防范的对象是不合语义的、不正确数据,防止它们进入数据库,是在用户已经合法登录的前提下所进行的防范。,完整性,DBMS完整性控制机制: 1.完整性约束条件定义机制 2.完整性检查机制 3.违约反应,完整性,1. 完整性

10、约束条件(完整性规则)定义机制 完整性约束条件是数据模型的一个重要组成部分,它约束了数据库中数据的语义。 DBMS应提供手段让用户根据现实世界的语义定义数据库的完整性约束条件,并把它们作为模式的一部分存入数据库中。,完整性,2. 完整性检查机制 检查用户发出的操作请求是否违背了完整性约束条件。一般式在 Insert、Delete及Update语句执行后开始检查。,完整性,3. 违约反应 如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。,完整性约束条件,整个完整性控制都是围绕完整性约束条件进行的,从这个角度说,完整性约束条件是完整性控制机制的核心。,完整性约

11、束条件,完整性约束条件作用的对象 对象 列 对属性的取值类型、范围、精度等的约束条件 元组 对元组中各个属性列间的联系的约束 关系 对若干元组间、关系集合上以及关系之间的联系的约束,完整性约束条件,完整性约束条件作用的对象(续) 对象的状态 静态 对静态对象的约束是反映数据库状态合理性的约束 这是最重要的一类完整性约束 动态 对动态对象的约束是反映数据库状态变迁的约束,完整性约束条件,完整性约束条件分类 六类完整性约束条件静态列级约束静态元组约束静态关系约束动态列级约束动态元组约束动态关系约束,完整性约束条件,对象状态 动态列级约束 动态元组约束 动态关系约束动态 静态列级约束 静态元组约束

12、静态关系约束静态 列 元组 关系 对象粒度,完整性约束条件,静态列级约束 静态列级约束是对一个列的取值域的说明,这是最常见最简单同时也最容易实现的一类完整性约束,完整性约束条件,五类静态列级约束 1) 对数据类型的约束,包括数据的类型、长度、单位、精度等例:规定学生姓名的数据类型应为字符型,长度为8。 2) 对数据格式的约束例:规定学号的格式为前两位表示入学年份,后四位为顺序编号。出生日期的格式为YY.MM.DD。,完整性约束条件,3) 对取值范围或取值集合的约束例:规定成绩的取值范围为0-100,年龄的取值范围为14-29,性别的取值集合为男,女。 4) 对空值的约束空值表示未定义或未知的值

13、,它与零值和空格不同。有的列允许空值,有的则不允许。例如规定成绩可以为空值。 5) 其他约束例:关于列的排序说明,组合列等。,完整性约束条件,静态元组约束 静态元组约束就是规定组成一个元组的各个列之间的约束关系。例:订货关系中包含发货量、订货量等列,发货量不得超过订货量教师关系中包含职称、工资等列,教授的工资不得低于700元静态元组约束只局限在单个元组上,完整性约束条件,静态关系约束 在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束 常见静态关系约束 1) 实体完整性约束 2) 参照完整性约束 3) 函数依赖约束 4) 统计约束,完整性约束条件,函数依赖约束 大部分函数依赖约束都

14、是隐含在关系模式结构中的,特别是规范化程度较高的关系模式(例如3NF或BCNF),都由模式来保持函数依赖。 但是在实际应用中,为了不使信息过于分离,常常不过分地追求规范化。,完整性约束条件,统计约束 定义某个字段值与一个关系多个元组的统计值之间的约束关系例:规定部门经理的工资不得高于本部门职工平均工资的5倍,不得低于本部门职工平均工资的2倍。本部门职工的平均工资值是一个统计计算值。,完整性约束条件,动态列级约束 动态列级约束是修改列定义或列值时应满足的约束条件,完整性约束条件,常见动态列级约束1) 修改列定义时的约束例:规定将原来允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种

15、修改。2) 修改列值时的约束 修改列值有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例:职工工资调整不得低于其原来工资,学生年龄只能增长,完整性约束条件,动态元组约束 动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。 例: 职工工资调整不得低于其原来工资+工龄*1.5,完整性约束条件,动态关系约束 动态关系约束是加在关系变化前后状态上的限制条件 例:事务一致性、原子性等约束条件,完整性约束条件,完整性约束条件小结,完整性控制,一、DBMS的完整性控制机制 二、关系系统三类完整性的实现 三、参照完整性的实现,一、DBMS的完整性控制机制,DBMS的

16、完整性控制机制的主要功能 1. 定义功能 2. 检查功能 3. 违约反应,DBMS的完整性控制机制,定义功能 一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。,DBMS的完整性控制机制,检查功能 立即执行的约束(Immediate constraints) 检查是否违背完整性约束的时机通常是在一条语句执行完后立即检查,我们称这类约束为立即执行的约束延迟执行的约束(Deferred constrainsts) 在某些情况下,完整性检查需要延迟到整个事务执行结束后再进行,我们称这类约束为延迟执行的约束,DBMS的完整性控制机制,例:银行数据库中“借贷总金额应平衡”的约束就应该是延迟执行的约束 从账号A转一笔钱到账号B为一个事务,从账号A转出去钱后账就不平了,必须等转入账号B后账才能重新平衡,这时才能进行完整性检查。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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