《数据库第四章数据库安全性.ppt》由会员分享,可在线阅读,更多相关《数据库第四章数据库安全性.ppt(68页珍藏版)》请在三一办公上搜索。
1、第4章 数据库安全性,主讲教师:杨丽丽Tel:,87091337(O),第四章 数据库安全性,4.1 数据库安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 其他安全性保护4.7 小结,4.1 数据库安全性概述,问题的提出数据库的一大特点是数据可以共享数据库系统中的数据共享不能是无条件的共享 例:银行储蓄数据、客户档案、市场营销策略、销售计划 数据共享必然带来数据库的安全性问题数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏,4.1 数据库安全性概述,对数据库安全性产生威胁的因素主要有以下几个方面:1.非授权用对数据库的恶意存取和破
2、坏一些黑客和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。2.数据库中重要或敏感的数据被泄露黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被泄露。3.安全环境的脆弱性数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性是紧密联系的。,4.2 数据库安全性控制,在一般计算机系统中,安全措施是一级一级层层设置的,4.2 数据库安全性控制,用户身份鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.1 用户身份鉴别,用户身份鉴别是数据
3、库管理系统提供的最外层安全保护措施。基本方法系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供使用数据库管理系统的权限。,4.2.1 用户身份鉴别,常用的用户身份鉴别方法有:1.静态口令鉴别当前常用的鉴别方法。静态口令一般由用户自己设定,鉴别时只要按要求输入正确的口令,系统将允许用户使用数据库管理系统。2.动态口令鉴别目前较为安全的鉴别方式。这种方式的口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。,4.2.1 用户身份鉴别,常用的用户身份鉴别方法有
4、:3.生物特征鉴别是一种通过生物特征进行认证的技术,其中,生物特征是指生物体唯一具有的,可测量、识别和验证的稳定生物特征,如指纹、虹膜和掌纹等。4.智能卡鉴别智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。智能卡由用户随身携带,登录数据库管理系统时用户将智能卡插入专用的读卡器进行身份验证。,4.2 数据库安全性控制,用户身份鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.2 存取控制,数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这
5、主要通过数据库系统的存取控制机制实现。存取控制机制包括两部分 定义用户权限,并将用户权限登记到数据字典中 合法权限检查用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,4.2.2 存取控制,定义用户权限,并将用户权限登记到数据字典中用户对某一数据对象的操作权力称为权限。DBMS系统提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称做安全规则或授权规则。合法权限检查每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。,4.2.2 存取控制,常用存取控制方法在自主存取控制中(D
6、iscretionary Access Control,简称DAC)同一用户对于不同的数据对象有不同的存取权限不同的用户对同一对象也有不同的权限用户还可将其拥有的存取权限转授给其他用户在强制存取控制中(Mandatory Access Control,简称 MAC)每一个数据对象被标以一定的密级每一个用户也被授予某一个级别的许可证对于任意一个对象,只有具有合法许可证的用户才可以存取,4.2 数据库安全性控制,用户身份鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,第四章 Oracle安全性控制,1.用户管理2.模式3
7、.权限管理4.角色管理,1.用户管理,用户管理是Oracle实现安全性的一个重要方法,只有通过用户验证,用户才能访问数据库。用户管理包括创建用户、修改用户和删除用户创建用户:在oracle中要创建一个新的用户,一般当前用户是具有dba(数据库管理员)的权限才能使用。,命令格式:create user 用户名 identified by 口令|externally default tablespace 默认表空间名 temporary tablespace 临时表空间名 quota 整数K|M|unlimited on 表空间名 quota 整数K|M|unlimited on 表空间名 pas
8、sword 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.用户管理,命令格式:creat
9、e 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 默认表空间名 tempora
10、ry 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
11、 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.用户管
12、理,命令格式: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,并为其分配口令。cre
13、ate 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
14、整数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.模
15、式,模式概念 是指一系列逻辑数据结构或对象的集合。模式与用户的关系模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。通常情况下,用户所创建数据库对象都保存在与自己同名的模式中。同一模式中数据库对象的名称必须唯一,而在不同模式中的数据库对象可以同名。默认情况下,用户引用的对象是与自己同名模式中的对象,如果要引用其他模式中的对象,需要在该对象名之前指明对象所属模式。,2.模式,模式选择与切换如果用户以NORMAL身份登录,则进入同名模式。若以SYSDBA身份登录,则进入SYS模式。如果以SYSOPER身份登录,则进入PUBLIC模式。,2.模式,模式对象与非
16、模式对象模式对象:属于特定的模式。包括表、索引、索引化表、分区表、物化视图、视图、数据库链接、序列、同义词、PL/SQL包、存储函数与存储过程、Java类与其他Java资源。非模式对象:不属于任何模式。包括表空间、用户、角色、目录、概要,2.模式,Oracle用户是Oracle数据库中的重要概念,与用户密切相关 的另一个概念就是模式(schema)。用户主要连接数据库和访问数据库对象,用户是用来连接数据库和访问数据库。模式是数据库对象的集合。模式对象是数据库数据的逻辑结构,把数据库对象用模式分开成不同的逻辑结构。用户是用来连接数据库对象。而模式是用来创建和管理对象的。模式跟用户在oracle数
17、据库中是一对一的关系。一个用户一般对应一个模式,该用户的模式名等于用户名,并作为该用户的缺省模式。Oracle数据库中不能通过create schema语句来新创建一个模式,要想创建一个模式,只能通过创建一个用户的方法解决,Oracle中虽然有create schema语句,但它并不是用来创建模式的。,第四章 Oracle安全性控制,1.用户管理2.模式3.权限管理4.角色管理,3.权限管理,一个新的用户被创建后,该用户还无法操作数据库,还需要为用户授予相关的权限。权限是指在数据库中执行某种操作的权利。Oracle有两种类型的权限:系统权限和对象权限。系统权限:允许用户在数据库的任何模式上执行
18、特定操作所需要的权限称为系统权限,这些操作包括建立、修改和删除表、视图、索引、表空间、触发器、用户、角色等。,3.权限管理,系统权限可以分配给一个用户、角色或Public。Oracle 11g中含有208种系统权限,这些系统权限都被列举在system_privilege_map视图中。,3.权限管理,授予系统权限:可以使用Grant语句把系统权限授予一个用户或一个角色,语句格式:grant 系统权限|角色,系统权限|角色 To 用户|角色|public,用户|角色|public with admin option例3 为用户U1授予在任何用户模式下建表的权限和查询任何模式中基本表中数据的权限。
19、,3.权限管理,回收系统权限:使用REVOKE语句可以从用户或角色中回收系统权限。语句格式:revoke 系统权限|角色,系统权限|角色 from 用户|角色|public,用户|角色|public,3.权限管理,对象权限:允许用户访问一个特定对象并对特定对象执行特定操作所需要的权限称为对象权限。对象权限针对不同模式的对象,如表、视图、序列、过程、函数等对象权限可以是对数据的查询(select)、修改(update)、删除(delete)、插入(insert)或引用(references),也可以是是否可以执行(execute)程序的权限,或修改对象结构(alter)的权限。,3.权限管理,授
20、予对象权限:使用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不仅
21、拥有了对表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修
22、改学生学号的权限收回REVOKE UPDATE(Sno)ON S FROM U3;,4.角色管理,角色将用户权限归为一组,对权限进行组管理。角色是一组权限的集合。如果将一个角色授予一个用户,意味着这个用户拥有这个角色内的所有权限。数据库建立时,Oracle会自动创建一些角色,称为预定义角色。Connect:连接数据库,建立聚集、数据库链路、序列、同义词、视图等Resource:建立聚集、数据库链路、序列、同义词、表、触发器等数据库对象DBA:所有系统权限,4.角色管理,创建角色语句格式:Create role 角色名 not identified|identified by 口令|extern
23、ally|globally修改角色语句格式:Alter role 角色名 not identified|identified by 口令|externally|globally删除角色语句格式:Drop role 角色名,4.角色管理,授予角色系统权限 可以使用Grant语句把系统权限授予一个用户或一个角色,语句格式:grant 系统权限|角色,系统权限|角色 To 用户|角色|public,用户|角色|public with admin option回收角色系统权限 使用REVOKE语句可以从用户或角色中回收系统权限。语句格式:revoke 系统权限|角色,系统权限|角色 from 用户|角
24、色|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.
25、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
26、强制存取控制(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 强制存取控制(MA
27、C)方法,强制存取控制规则当某一用户(或某一主体)以标记label注册进入系统后,系统要求他对任何客体的存取必须遵循下面两条规则:(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读相应的客体;(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。,4.2.6 强制存取控制(MAC)方法,强制存取控制的特点MAC是对数据本身进行密级标记无论数据如何复制,标记与数据是一个不可分的整体只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性,第四章 数据库安全性,4.1 数据库安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4
28、.6 其他安全性保护4.7 小结,4.3 视图机制,进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。,4.3 视图机制,例:王平只能在水建学院学生信息中进行检索。先建立水建学院学生的视图SJ_s CREATE VIEW SJ_s AS SELECT FROM s WHERE Sdept=水建;在视图上进一步定义存取权限 GRANT SELECT ON SJ_s TO 王平,第四章 数据库安全性,4.1 数据库安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计
29、4.5 数据加密4.6 其他安全性保护4.7 小结,4.4 审计,什么是审计启用一个专用的审计日志(Audit Log)将用户对数据库的所有操作记录在上面审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。C2以上安全级别的DBMS必须具有审计功能,4.4 审计,审计功能的可选性审计很费时间和空间DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。,第四章 数据库安全性,4.1 数据库安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 其他安全性保护4.7 小结,4.5 数据加密,数据加密防止数据库中数据在存储和传输中失密的有效手段。加密的基本思想根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text)。不知道解密算法的人无法获知数据的内容。,4.5 数据加密,1、存储加密提供透明和非透明两种存储加密方式。2、传输加密在客户/服务器结构中,数据库用户与服务器之间若采用明文方式传输数据,容易被网络恶意用户截取或篡改,存在安全隐患。常用的传输加密方式如链路加密和端到端加密。,小结,实现数据库系统安全性的技术和方法用户身份鉴别存取控制技术自主存取控制强制存取控制视图技术审计技术数据加密,
链接地址:https://www.31ppt.com/p-5985714.html