数据库第四章数据库安全性.ppt_第1页
数据库第四章数据库安全性.ppt_第2页
数据库第四章数据库安全性.ppt_第3页
数据库第四章数据库安全性.ppt_第4页
数据库第四章数据库安全性.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第4章 数据库安全性,主讲教师:杨丽丽 E-mail: Tel:87091337(O),第四章 数据库安全性,4.1 数据库安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计 4.5 数据加密 4.6 其他安全性保护 4.7 小结,4.1 数据库安全性概述,问题的提出 数据库的一大特点是数据可以共享 数据库系统中的数据共享不能是无条件的共享 例:银行储蓄数据、客户档案、 市场营销策略、销售计划 数据共享必然带来数据库的安全性问题 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏,4.1 数据库安全性概述,对数据库安全性产生威胁的因素主要有以下几个方面: 1.非授权用对数据库的恶意存取和破坏 一些黑客和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。 2.数据库中重要或敏感的数据被泄露 黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被泄露。 3.安全环境的脆弱性 数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性是紧密联系的。,4.2 数据库安全性控制,在一般计算机系统中,安全措施是一级一级层层设置的,4.2 数据库安全性控制,4.2.1 用户身份鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.1 用户身份鉴别,用户身份鉴别是数据库管理系统提供的最外层安全保护措施。 基本方法 系统提供一定的方式让用户标识自己的名字或身份; 系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标识; 通过鉴定后才提供使用数据库管理系统的权限。,4.2.1 用户身份鉴别,常用的用户身份鉴别方法有: 1.静态口令鉴别 当前常用的鉴别方法。静态口令一般由用户自己设定,鉴别时只要按要求输入正确的口令,系统将允许用户使用数据库管理系统。 2.动态口令鉴别 目前较为安全的鉴别方式。这种方式的口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。,4.2.1 用户身份鉴别,常用的用户身份鉴别方法有: 3.生物特征鉴别 是一种通过生物特征进行认证的技术,其中,生物特征是指生物体唯一具有的,可测量、识别和验证的稳定生物特征,如指纹、虹膜和掌纹等。 4.智能卡鉴别 智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。智能卡由用户随身携带,登录数据库管理系统时用户将智能卡插入专用的读卡器进行身份验证。,4.2 数据库安全性控制,4.2.1 用户身份鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.2 存取控制,数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。 存取控制机制包括两部分 定义用户权限,并将用户权限登记到数据字典中 合法权限检查 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,4.2.2 存取控制,定义用户权限,并将用户权限登记到数据字典中 用户对某一数据对象的操作权力称为权限。DBMS系统提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称做安全规则或授权规则。 合法权限检查 每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。,4.2.2 存取控制,常用存取控制方法 在自主存取控制中(Discretionary Access Control ,简称DAC) 同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户 在强制存取控制中(Mandatory Access Control,简称 MAC) 每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取,4.2 数据库安全性控制,4.2.1 用户身份鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,第四章 Oracle安全性控制,1.用户管理 2.模式 3.权限管理 4.角色管理,1.用户管理,用户管理是Oracle实现安全性的一个重要方法,只有通过用户验证,用户才能访问数据库。 用户管理包括创建用户、修改用户和删除用户 创建用户:在oracle中要创建一个新的用户,一般当前用户是具有dba(数据库管理员)的权限才能使用。,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,命令格式: create user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,1.用户管理,创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。 例1 创建用户u1,并为其分配口令。 create user u1 identified by 123456 default tablespace users temporary tablespace temp quota unlimited on users,1.用户管理,修改用户:修改用户信息使用alter user语句, 其语句格式与create user 语句格式相同。 alter user 用户名 identified by 口令 | externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K | M| unlimited on 表空间名 quota 整数K | M| unlimited on 表空间名 password expire account lock | unlock profile 概要文件名 | default,1.用户管理,修改用户 例2 将用户u1的口令修改为过期状态。 alter user u1 password expire,1.用户管理,删除用户:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user的权限。 命令格式: drop user 用户名 cascade 如果指定cascade,将会删除这个用户所拥有的所有对象。,第四章 Oracle安全性控制,1.用户管理 2.模式 3.权限管理 4.角色管理,2. 模式,模式概念 是指一系列逻辑数据结构或对象的集合。 模式与用户的关系 模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。 通常情况下,用户所创建数据库对象都保存在与自己同名的模式中。 同一模式中数据库对象的名称必须唯一,而在不同模式中的数据库对象可以同名。 默认情况下,用户引用的对象是与自己同名模式中的对象,如果要引用其他模式中的对象,需要在该对象名之前指明对象所属模式。,2. 模式,模式选择与切换 如果用户以NORMAL身份登录,则进入同名模式。 若以SYSDBA身份登录,则进入SYS模式。 如果以SYSOPER身份登录,则进入PUBLIC模式。,2. 模式,模式对象与非模式对象 模式对象:属于特定的模式。包括表、索引、索引化表、分区表、物化视图、视图、数据库链接、序列、同义词、PL/SQL包、存储函数与存储过程、Java类与其他Java资源。 非模式对象:不属于任何模式。包括表空间、用户、角色、目录、概要,2. 模式,Oracle用户是Oracle数据库中的重要概念,与用户密切相关 的另一个概念就是模式(schema)。 用户主要连接数据库和访问数据库对象,用户是用来连接数据库和访问数据库。 模式是数据库对象的集合。模式对象是数据库数据的逻辑结构,把数据库对象用模式分开成不同的逻辑结构。 用户是用来连接数据库对象。而模式是用来创建和管理对象的。模式跟用户在oracle数据库中是一对一的关系。 一个用户一般对应一个模式,该用户的模式名等于用户名,并作为该用户的缺省模式。 Oracle数据库中不能通过create schema语句来新创建一个模式,要想创建一个模式,只能通过创建一个用户的方法解决,Oracle中虽然有create schema语句,但它并不是用来创建模式的。,第四章 Oracle安全性控制,1.用户管理 2.模式 3.权限管理 4.角色管理,3. 权限管理,一个新的用户被创建后,该用户还无法操作数据库,还需要为用户授予相关的权限。 权限是指在数据库中执行某种操作的权利。 Oracle有两种类型的权限:系统权限和对象权限。 系统权限:允许用户在数据库的任何模式上执行特定操作所需要的权限称为系统权限,这些操作包括建立、修改和删除表、视图、索引、表空间、触发器、用户、角色等。,3. 权限管理,系统权限可以分配给一个用户、角色或Public。 Oracle 11g中含有208种系统权限,这些系统权限都被列举在system_privilege_map视图中。,3. 权限管理,授予系统权限:可以使用Grant语句把系统权限授予一个用户或一个角色,语句格式: grant 系统权限 | 角色 , 系统权限 | 角色 To 用户 | 角色 | public , 用户 | 角色 | public with admin option 例3 为用户U1授予在任何用户模式下建表的权限和查询任何模式中基本表中数据的权限。,3. 权限管理,回收系统权限:使用REVOKE语句可以从用户或角色中回收系统权限。语句格式: revoke 系统权限 | 角色 , 系统权限 | 角色 from 用户 | 角色 | public , 用户 | 角色 | public ,3. 权限管理,对象权限:允许用户访问一个特定对象并对特定对象执行特定操作所需要的权限称为对象权限。 对象权限针对不同模式的对象,如表、视图、序列、过程、函数等 对象权限可以是对数据的查询(select)、修改(update)、删除(delete) 、插入(insert)或引用(references) ,也可以是是否可以执行(execute)程序的权限,或修改对象结构(alter)的权限。,3. 权限管理,授予对象权限:使用grant语句授予对象权限,语句格式: grant 对象权限 ,对象权限 | all privileges on 模式. 对象名 to 用户 | 角色 | public , 用户 | 角色 | public with grant option,3. 权限管理,例4 把对S表的全部权限授予用户U1和U2 GRANT ALL PRIVILEGES ON S TO U1, U2;,3. 权限管理,例5 把查询S表和修改学生学号的权限授给用户U3,并允许他再将此权限授予其他用户 GRANT UPDATE(Sno), SELECT ON S TO U3 WITH GRANT OPTION;,3. 权限管理,执行例5后,U3不仅拥有了对表S的select权限和对学号列的修改权限,还可以传播此权限: GRANT UPDATE(Sno), SELECT ON s TO U4 WITH GRANT OPTION; 同样,U4还可以将此权限授予U5: GRANT UPDATE(Sno), SELECT ON s TO U5 但U5不能再传播此权限。,3. 权限管理,回收对象权限:使用Revoke语句回收对象权限,语句格式: revoke 对象权限 ,对象权限 | all privileges on 模式. 对象名 from 用户 | 角色 | public , 用户 | 角色 | public cascade constraints,3. 权限管理,例6 把用户U3修改学生学号的权限收回 REVOKE UPDATE(Sno) ON S FROM U3;,4.角色管理,角色将用户权限归为一组,对权限进行组管理。 角色是一组权限的集合。 如果将一个角色授予一个用户,意味着这个用户拥有这个角色内的所有权限。 数据库建立时,Oracle会自动创建一些角色,称为预定义角色。 Connect:连接数据库,建立聚集、数据库链路、序列、同义词、视图等 Resource:建立聚集、数据库链路、序列、同义词、表、触发器等数据库对象 DBA:所有系统权限,4.角色管理,创建角色语句格式: Create role 角色名 not identified | identified by 口令 | externally | globally 修改角色语句格式: Alter role 角色名 not identified | identified by 口令 | externally | globally 删除角色语句格式: Drop role 角色名,4.角色管理,授予角色系统权限 可以使用Grant语句把系统权限授予一个用户或一个角色,语句格式: grant 系统权限 | 角色 , 系统权限 | 角色 To 用户 | 角色 | public , 用户 | 角色 | public with admin option 回收角色系统权限 使用REVOKE语句可以从用户或角色中回收系统权限。语句格式: revoke 系统权限 | 角色 , 系统权限 | 角色 from 用户 | 角色 | public , 用户 | 角色 | public ,4.角色管理,授予对象权限 使用grant语句授予对象权限,语句格式: grant 对象权限 ,对象权限 | all privileges on 模式. 对象名 to 用户 | 角色 | public , 用户 | 角色 | public with grant option,4.角色管理,回收角色的对象权限:使用Revoke语句回收对象权限,语句格式: revoke 对象权限 ,对象权限 | all privileges on 模式. 对象名 from 用户 | 角色 | public , 用户 | 角色 | public cascade constraints,4.2 数据库安全性控制,4.2.1 用户身份鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.6 强制存取控制(MAC)方法,什么是强制存取控制 强制存取控制(MAC)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。 MAC不是用户能直接感知或进行控制的。 MAC适用于对数据有严格而固定密级分类的部门 军事部门 政府部门,在MAC中,DBMS所管理的全部实体被分为主体和客体两大类 主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程 客体是系统中的被动实体,是受主体操纵的 文件 基表 索引 视图,4.2.6 强制存取控制(MAC)方法,4.2.6 强制存取控制(MAC)方法,敏感度标记 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label) 敏感度标记分成若干级别 绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),4.2.6 强制存取控制(MAC)方法,主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level) MAC机制就是通过对比主体的敏感度标记(Label)和客体的敏感度标记(Label) ,最终确定主体是否能够存取客体,4.2.6 强制存取控制(MAC)方法,强制存取控制规则 当某一用户(或某一主体)以标记label注册进入系统后,系统要求他对任何客体的存取必须遵循下面两条规则: (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读相应的客体; (2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。,4.2.6 强制存取控制(MAC)方法,强制存取控制的特点 MAC是对数据本身进行密级标记 无论数据如何复制,标记与数据是一个不可分的整体 只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性,第四章 数据库安全性,4.1 数据库安全性概述 4.2 数据库安全性控

温馨提示

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

评论

0/150

提交评论