数据库原理及应用 第4-5章-数据库安全性和完整性(2学时).ppt_第1页
数据库原理及应用 第4-5章-数据库安全性和完整性(2学时).ppt_第2页
数据库原理及应用 第4-5章-数据库安全性和完整性(2学时).ppt_第3页
数据库原理及应用 第4-5章-数据库安全性和完整性(2学时).ppt_第4页
数据库原理及应用 第4-5章-数据库安全性和完整性(2学时).ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 数据库安全性,数据库的安全性:保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。,数据共享会带来什么问题? 有无条件的数据共享吗?,一 计算机安全性概论 二 数据库安全性控制 三 统计数据库安全性 *四 Oracle数据库的安全性措施,技术问题 计算机安全理论与策略 计算机安全技术 管理问题 安全管理 安全评价 安全产品,法学 计算机安全法律 犯罪学 计算机犯罪与侦察 安全监察 心理学,一 计算机安全性概论,技术安全类,三类安全性问题,计算机犯罪、数据安全保密 法律、法规、法令,管理安全类,政策法律类,一 计算机安全性概论 二 数据库安全性控制,数据库安全概述 用户标识与鉴

2、别 存取控制 审计 数据加密,三 统计数据库安全性,1. 数据库安全概述,(1)非法使用,数据库不安全因素有哪些表现?,(4)行为:无意的、故意的、恶意的,(2)编写应用程序执行非授权操作 (3)多次合法查询推导出保密数据,计算机系统中的安全模型,应用,DBMS,OS,DB,低,高,安全性控制层次,用户标识 和鉴别,存取控制 审计视图,操作系统 安全保护,密码存储,2. 用户标识与鉴别,用户标识与鉴别:DBMS的最外层安全保护措施,标识:用户名 鉴别:口令,简单易行,容易被人窃取,(2)复杂方法约定加密法,预先约定计算过程或函数 随机数加密解密鉴定身份,(1)简单方法口令验证,3. 存取控制:

3、定义存取权限+检查存取权限,自主存取控制(DAC):( 灵活),常用的方法,强制存取控制(MAC):(严格),数据权限授予机制 权限转授机制,数据:密级 用户:许可证级别,敏感度标记级别 绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),读规则:许可证级别=密级,才能读 写规则:许可证级别=密级,才能写,MAC规则,写规则修正:许可证级别 =密级,才能写 一经写入,不能读取,共同点:禁止拥有高许可证级别的主体更新低密级的数据对象。,MAC与DAC评价,共同构成DBMS的安全机制,SQL语法分析 & 语义检查,继续语义检查,操作对象 操作

4、类型 操作权限 密级 许可证级别,4. 审计,审计日志:记录并追踪用户对数据库的所有操作,找出非法存取访问者。功能可选。,网络,服务器(Server),客户端(Client),应用程序,用户标识与鉴别 存取控制 视图 审计,?,5. 数据加密,数据加密是在数据存储和传输中防止失密的一种手段,DBMS中的数据加密,可选 比较费时 加密、解密占用资源 只对高机密数据加密,数据加密例行程序 加密接口,一 计算机安全性概论 二 数据库安全性控制 三 统计数据库安全性,允许用户查询聚集类型的信息(例如合计、平均值等),但不允许查询单个记录信息。,三 统计数据库安全性,安全问题表现:隐蔽的信息通道从合法的

5、查询中推导出不合法的信息。,例:下面两个查询都是合法的: 1本公司共有多少女高级程序员? 2本公司女高级程序员的工资总额是多少? 如果第一个查询的结果是“1” 则第二个查询的结果显然就是这个程序员的工资数。,规则1:任何查询至少要涉及N(N足够大)个以上的记录,例2:用户A发出下面两个合法查询: 1用户A和其他N个程序员的工资总额是多少? 2用户B和其他N个程序员的工资总额是多少? 查询1结果:X,查询2结果:Y,A=Z, 则B=Y-(X-Z)。 原因:两个查询之间有很多重复的数据项,规则2:任意两个查询的相交数据项不能超过M个,可以证明,在上述两条规定下,如果想获知用户B的工资额,至少需要进

6、行1+(N-2)/M次查询。,规则3:任一用户的查询次数不能超过1+(N-2)/M,如果两个用户合作查询就可以使这一规定失效,数据库安全机制的设计目标: 试图破坏安全的人所花费的代价 得到的利益,第五章 数据库完整性,什么是数据库的完整性? 定义:是指数据的正确性和相容性 目的:防止不合语义的数据进入数据库,一、 完整性约束条件 二 、 完整性控制,一、 完整性约束条件,对象状态 动态列级约束 动态元组约束 动态关系约束 动态 静态列级约束 静态元组约束 静态关系约束 静态 ,列 元组 关系,对象粒度,静态列级约束,静态元组约束:元组的各列间的约束关系,静态关系约束,最常见 最简单 最易实现,

7、动态列级约束,动态约束,动态元组约束:修改字段值满足条件约束,动态关系约束:关系变化前后状态限制条件,状态,粒度,一 完整性约束条件 二 完整性控制,完整性控制机制 完整性约束的执行 参照完整性的实现,1. 完整性控制机制,定义机制 检查机制 违约反应,D(Data)约束作用的数据对象 O(Operation)触发检查的操作 什么操作触发检查?立即检查or延迟检查? A(Assertion)声明或满足条件 C(Condition)谓词 P(Procedure)触发的过程,完整性规则五元组表示:(D,O,A,C,P),例1:在“学号不能为空”的约束中 D 作用对象Sno O 插入或修改Stude

8、nt 元组时 A Sno不能为空 C 无(可作用于所有记录的Sno属性) P 拒绝执行该操作,例2:在“教授工资不得低于1000元”的约束中 D 作用对象为Sal属性 O 插入或修改元组时 A Sal大于等于1000 C 职称=教授 (仅作用于职称=教授的记录) P 拒绝执行该操作,2. 完整性约束的执行,违反实体完整性规则,违反用户定义的完整性规则,违反参照完整性规则,3. 参照完整性的实现,例:职工部门数据库包含职工表EMP和部门表DEPT 1 DEPT关系的主码为部门号Deptno 2 EMP关系的主码为职工号Empno, 外码为部门号Deptno 称DEPT为被参照关系或目标关系,EM

9、P为参照关系,RDBMS实现参照完整性时需要考虑以下4方面:,(1)外码是否可以接受空值的问题,依赖于应用环境的语义 实现参照完整性: 系统提供定义外码的机制 定义外码列是否允许空值的机制,例1:职工部门数据库中,外码Deptno为空值,表示这个职工尚未分配到任何具体的部门工作,与应用环境的语义是相符。,(2)删除被参照关系中元组的问题,出现情形:删除被参照关系的某个元组,而参照关系有若干元组(SC)的外码值与被删除的被参照关系的主码值相同。,违约反应:三种策略 级联删除(CASCADES) 受限删除(RESTRICTED) 置空值删除(NULLIFIES),策略选择依赖语境,例:要删除Stu

10、dent关系中Sno=950001的元组, 而SC关系中有4个元组的Sno都等于950001。 级联删除:警惕连锁反应(course) 受限删除 置空删除,(3)在参照关系中插入元组时的问题,出现情形:插入元组,被参照关系不存在相应的元组,受限插入:只有当被参照关系中的元组存在,才执行插入操作。 递归插入:首先向被参照关系中插入相应的元组,然后向参照关系插入元组。,例:向SC关系插入(99001,1,90)元组,而Student关系中尚没有Sno=99001的学生。 受限插入:拒绝插入(99001,1,90)元组 递归插入:先向Student插入Sno=99001的元组,然后向SC关系插入(99001,1,90)元组。,(4)修改被参照关系中主码的问题,允许修改主码 不允许修改主码,级联修改 受限修改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论