数据库第四章数据库安全性

上传人:wuy****ng 文档编号:245200801 上传时间:2024-10-07 格式:PPT 页数:68 大小:507.50KB
返回 下载 相关 举报
数据库第四章数据库安全性_第1页
第1页 / 共68页
数据库第四章数据库安全性_第2页
第2页 / 共68页
数据库第四章数据库安全性_第3页
第3页 / 共68页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,4,章 数据库安全性,主讲教师:杨丽丽,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,数据库安全性控制,用户,DBMS,OS,DB,计算机系统的安全模型,用户标识,和鉴定,数据库,安全保护,操作系统,安全保护,密码存储,在一般计算机系统中,安全措施是一级一级层层设置的,4.2,数据库安全性控制,用户身份鉴别,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.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.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,视图中。,系统权限,说明,Create session,连接数据库,Create tablespace,创建表空间,Alter tablespace,修改表空间,Drop tablespace,删除表空间,Create user,创建用户,Alter user,修改用户,Drop user,删除用户,Create table,创建表,Create any table,在任何用户模式中创建表,Drop any table,删除任何用户模式中的表,Alter any table,修改任何用户模式中的表,Select any table,查询任何用户模式中基本表的记录,Insert any table,向任何用户模式中的表插入记录,系统权限,说明,Update any table,修改任何用户模式中的表的记录,Delete any table,删除任何用户模式中的表的记录,Create view,创建视图,Create any view,在任何用户模式中创建视图,Drop any view,删除任何用户模式中的视图,Create role,创建角色,Alter any role,修改任何角色,Grant any role,将任何角色授予其它用户,Alter datebase,修改数据库结构,Create procedure,创建存储过程,Create any procedure,在任何用户模式中创建存储过程,Alter any procedure,修改任何用户模式中的存储过程,Drop any procedure,删除任何用户模式中的存储过程,Create profile,创建配置文件,Alter profile,修改配置文件,Drop profile,删除配置文件,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.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,数据库安全性控制,4.3,视图机制,4.4,审计,4.5,数据加密,4.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,审计,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,、传输加密,在客户,/,服务器结构中,数据库用户与服务器之间若采用明文方式传输数据,容易被网络恶意用户截取或篡改,存在安全隐患。,常用的传输加密方式如链路加密和端到端加密。,小结,实现数据库系统安全性的技术和方法,用户身份鉴别,存取控制技术,自主存取控制,强制存取控制,视图技术,审计技术,数据加密,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!