数据库课件第四章.ppt

上传人:小飞机 文档编号:5985853 上传时间:2023-09-11 格式:PPT 页数:81 大小:338.61KB
返回 下载 相关 举报
数据库课件第四章.ppt_第1页
第1页 / 共81页
数据库课件第四章.ppt_第2页
第2页 / 共81页
数据库课件第四章.ppt_第3页
第3页 / 共81页
数据库课件第四章.ppt_第4页
第4页 / 共81页
数据库课件第四章.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《数据库课件第四章.ppt》由会员分享,可在线阅读,更多相关《数据库课件第四章.ppt(81页珍藏版)》请在三一办公上搜索。

1、第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.1 计算机安全性概述,问题的提出数据库的一大特点是数据可以共享但数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据,计算机安全性概述(续),数据库中数据的共享

2、是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,4.1 计算机安全性概述,4.1.1 计算机系统的三类安全性问题4.1.2 安全标准简介,4.1 计算机安全性概述,4.1.1 计算机系统的三类安全性问题4.1.2 安全标准简介,4.1.1 计算机系统的三类安全性问题,计算机系统安全性是指计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏、更改或泄露

3、等。技术安全是指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。,4.1.1 计算机系统的三类安全性问题,管理安全是指由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。政策法律是指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。,4.1 计算机安全性概述,4.1.1 计算机系统的三类安全性问题4.1.2 安全标准简介,4.1.2 安全标准简介,计算机以及信息安全技术方面有一系列的安全标准,

4、最有影响的当推TCSEC和CC这两个标准。TCSEC是指1985年美国国防部正式颁布的DoD可信计算机系统评估准则CC是在TCSEC的各评估准则及具体实践基础上,通过相互总结和互补发展而来的,TCSEC/TDI,又称桔皮书,1991年4月美国NCSC颁布了TDI,将TCSEC扩展到数据库管理系统,定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。TCSEC/TDI从四个方面来描述安全性级别划分的指标:安全策略、责任、保证和文档。,TCSEC/TDI(续),TCSEC/TDI将系统划分为四组七个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠

5、或可信程度逐渐增高。,CC,提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。安全功能 要求用以规范产品和系统的安全行为安全保证要求解决如何正确有效地实施这些功能安全功能要求和安全保证要求都以“类-子类-组件”的结构表述,组件是安全要求的最小构件块。,CC(续),CC的文本由三部分组成,三个部分相互依存,缺一不可。第一部分是“简介和一般模型”,介绍CC中的有关术语、基本概念和一般模型以及与评估有关的一些框架。第二部分是安全功能要求,列出了一系列功能组件、子类和类 第三部分是安全保证要求,列出了一系列保证组件、子类和类,第4章 数据库安全性,

6、4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,数据库安全性控制(续),方法:,用户标识和鉴定,存取控制审计视图,操作系统 安全保护,密码存储,计算机系统中的安全模型,数据库安全性控制(续),数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存

7、取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.1 用户标识与鉴定,用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施,用户标识与鉴定(续),基本方法系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供机器使用权。用户标识和鉴定可以重复多次,用户标识与鉴定(续),让用户标识自己的名字或身份的方法用户名/口令简单易行,容易被人窃取每个用户预先约定好一个计算过程或者函数系统提供一个随机数用户根据自己预先约

8、定的计算过程或者函数进行计算系统根据用户计算结果是否正确鉴定用户身份,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.2 存取控制,存取控制机制的功能存取控制机制的组成 定义存取权限 检查存取权限用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,存取控制(续),定义存取权限在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。检查存取权限对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求

9、进行控制,确保他只执行合法操作。,存取控制(续),自主存取控制:用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。强制存取控制:每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证,对于任意一个对象,只有具有合法许可证的用户才可以存取。,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.3 自主存取控制(MAC)方法,定义存取权限存取权限 存取权限由两个要素组成数据对象操作类型

10、,自主存取控制(MAC)方法(续),定义存取权限定义一个用户可以在哪些数据对象上进行哪些类型的操作在数据库系统中,定义存取权限称为授权(Authorization)授权定义经过编译后存放在数据字典中,自主存取控制(MAC)方法(续),关系系统中的存取权限类型 关系数据库系统中的存取权限,自主存取控制(MAC)方法(续),关系系统中的存取权限(续)定义方法GRANT/REVOKE,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.4 授权与回收,GRANT语句向用户授

11、予权限,REVOKE语句收回授予的权限。用户对某类数据库对象具有何种操作权力是个政策问题而不是技术问题。数据库管理系统的功能是保证这些决定的执行。,1.GRANT,一般格式:GRANT,ON,TO,WITH GRANT OPTION;发出GRANT语句的可以是DBA,也可以是该数据库对象创建者,也可以是已经拥有该权限的用户。接受权限的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户。,GRANT(续),若指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户;若没有指定此子句,则获得某种权限的用户只能使用该权限,不能传播该权限。SQL标

12、准允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或者其祖先。,GRANT(续),例1 把查询Student表的权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;例2 把对Student表和Course表的全部操作权限授予用户U2和U3 GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3;例3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC;,GRANT(续

13、),例5 把对表SC的INSERT权限授予U5用户,并允许将此权限再授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;此语句执行后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限,他可以将此权限授予U6 GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION;,2.REVOKE,授予的权限可以由DBA或其他授权者用REVOKE语句收回,REVOKE语句的一般格式为:REVOKE,ON,FROM,CASCADERESTRICT;CASCADE:将用户及其传播的权限级联收回 REST

14、RICT:若此用户将权限传播给别的用户则拒绝执行。缺省值为RESTRICT,有的DBMS缺省值为CASCADE。,REVOKE(续),例8 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno)ON TABLE Student FROM U4;例9 收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC;例10 把用户U5对SC表的INSERT 权限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE;,REVOKE(续),DBA拥有对数据库中所有对象的所有权限,并可以根据实际情况将不同的权

15、限授予不同的用户用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。所有授予出去的权为在必要时又都可以用REVOKE语句收回用户可以“自主”地决定将数据的权限授予何人、决定是否也将“授权”的权限授予别人。这样的存取控制是自主存取控制,3.创建数据库模式的权限,对数据库模式的授权由DBA在创建用户时实现 创建用户语句一般格式如下:CREATE USER WITHDBARESOURCECONNECT;,创建数据库模式的权限(续),只有系统的超级用户才有权创建一个新的数据库用户新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA命令中

16、若没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库。拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主,但不能创建模式,不能创建新的用户。拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户。,数据库安全性控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.5 数

17、据库角色,数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程在SQL中首先用CREATE ROLE语句创建角色,然后用GRANT语句给角色授权,1.角色的创建,创建角色的SQL语句格式是 CREATE ROLE;刚刚创建的角色是空的,没有任何内容,可以用GRANT为角色授权,2.给角色授权,GRANT,ON TO,DBA和用户可以利用GRANT语句将权限授予某一个或几个角色,3.将一个角色授予其他的角色或用户,GRANT,TO,WITH ADMIN OPTION;授予者或者是角色的创建者,或者拥

18、有在这个角色上的ADMIN OPTION。若指定了WITH ADMIN OPTION子句,则获得某种权限的角色或用户还可以将权限再授予其他角色一个角色的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限,4.角色权限的收回,REVOKE,ON FROM,用户可以回收角色的权限,从而修改角色拥有的权限REVOKE动作的执行者或者是角色的创建者,或者拥有在这个(些)角色上的ADMIN OPTION,例题,例11 通过角色来实现将一组权限授予一个用户。步骤如下:1.首先创建一个角色R1 CREATE ROLE R1;2.然后使用GRANT语句,使角色R1拥有Student表的SEL

19、ECT、UPDATE、INSERT权限 GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;3.将角色授予王平、张明、赵玲 GRANT R1 TO王平、张明、赵玲;4.也可以一次性的通过角色R1来回收王平的这3个权限 REVOKE R1 FROM 王平;,例题,例12 角色的权限修改 GRANT DELETE ON TABLE Student TO R1;使角色R1在原来的基础上增加了对表Student的DELETE权限例13 REVOKE SELECT ON TABLE Student FROM R1;使R1减少了SELECT权限,数据库安全性

20、控制(续),4.2.1 用户标识与鉴别4.2.2 存取控制4.2.3 自主存取控制方法4.2.4 授权与回收4.2.5 数据库角色4.2.6 强制存取控制方法,4.2.6 强制存取控制(MAC)方法,MAC是指系统为保证更高程度的安全性,按照TDI/TSCEC标准中安全策略的要求,所采取的强制存取检查手段。不是用户能直接感知或进行控制的适用于那些对数据有严格而固定密级分类的部门,如军事部门或政府部门,强制存取控制方法(续),在MAC中,DBMS所管理的全部实体被分为主体和客体两大类主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程客体是系统中的被动实体,是受主体操纵

21、的,包括文体、基本表、索引、视图等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记,强制存取控制方法(续),敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体,强制存取控制方法(续),当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体 在某些系统中

22、,第(2)条规则有些不同,它们规定:仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。,强制存取控制方法(续),强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才能操纵数据,从而提供了更高级别的安全性。,强制存取控制方法(续),较高安全性级别提供的安全保护要包含较低级别的所有保护,因此在实现MAC时要首先实现DAC,即DAC与MAC共同构成DBMS的安全机制。系统首先进行DAC检查,对通过DAC检查的允许存取的数据库对象再由系统自动进行MAC检查,只有通过MAC检查的数据库对象方可存取。,第4章 数据库安全性,4

23、.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.3 视图机制,视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。,视图机制(续),视图机制间接地实现支持存取谓词的用户权限定义,视图机制(续),例:建立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作权限授予张明 先建立计算机系学生的视图CS_Student CREATE VIEW CS_Stud

24、ent AS SELECT*FROM Student WHERE Sdept=CS;,视图机制(续),在视图上进一步定义存取权限 GRANT SELECT ON CS_Student TO 王平;GRANT ALL PRIVILIGES ON CS_Student TO 张明;,第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.4 审计(Audit),什么是审计审计功能启用一个专用的审计日志(Audit Log),系统自动将用户对数据库的所有操作记录在上面DBA可以利用审计日志中的追踪信息

25、,重现导致数据库现有状况的一系列事件,以找出非法存取数据的人C2以上安全级别的DBMS必须具有审计功能,审计(续),审计功能的可选性审计很费时间和空间,所以DBMS往往都将其作为可选特征DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。,审计(续),审计一般可以分为用户级审计和系统级审计用户级审计是任何用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作,审计(续),用户

26、识别和鉴定、存取控制、视图等安全性措施均为强制性机制,将用户操作限制在规定的安全范围内。审计技术是预防手段,监测可能的不合法行为。审计设置以及审计内容一般都存放在数据字典中。必须把审计开关打开(即把系统参数audit_trail设为true),才可以在系统表SYS_AUDITTRAIL中查看审计信息,审计(续),由于任何系统的安全性措施都不可能是完美无缺的,蓄意盗窃、破坏数据的人总是想方设法打破控制。所以,当数据相当敏感,或者对数据的处理极为重要时,就必须使用审计技术。,审计(续),AUDIT语句用来设置审计功能,NOAUDIT语句取消审计功能例15 对修改SC表结构或修改SC表数据的操作进行

27、审计 AUDIT ALTER,UPDATE ON SC;例16 取消对SC表的一切审计 NOAUDIT ALTER,UPDATE ON SC;,第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.5 数据加密,数据加密防止数据库中数据在存储和传输中失密的有效手段加密的基本思想根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text)不知道解密算法的人无法获知数据的内容,数据加密(续),加密方法 替换方法使用密钥(Encrypti

28、on Key)将明文中的每一个字符转换为密文中的一个字符置换方法将明文的字符按不同的顺序重新排列 这两种方法结合能提供相当高的安全程度 例:美国1977年制定的官方加密标准:数据加密标准(Data Encryption Standard,简称DES),数据加密(续),DBMS中的数据加密有些数据库产品提供了数据加密例行程序有些数据库产品本身未提供加密程序,但提供了接口,数据加密(续),数据加密功能通常也作为可选特征,允许用户自由选择数据加密与解密是比较费时的操作数据加密与解密程序会占用大量系统资源应该只对高度机密的数据加密,第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制

29、4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.6 统计数据库安全性,统计数据库允许用户查询聚集类型的信息,但是不允许查询单个记录信息。例如,查询“程序员的平均工资是多少?”是合法的,但是查询“程序员张勇的工资是多少?”就不允许,统计数据库安全性(续),在统计数据库中存在着特殊的安全性问题,即可能存在着隐藏的信息通道,使得可以从合法的查询中推导出不合法的信息。例如下面两个查询都是合法的:-本公司共有多少女高级程序员?-本公司女高级程序员的工资总额是多少?若第一个查询的结果为“1”,那么第二个查询的结果显然就是这个程序员的工资数。这样统计数据库的安全性机制就

30、失效了。,统计数据库安全性(续),为了解决以上问题,可以规定任何查询至少要涉及N个以上的记录。但还是存在另外的泄密途径。某个用户A想知道另一用户B的工资数额,他可以通过下列两个合法查询获取:-用户A和其他N个程序员的工资总额是多少?-用户B和其他N个程序员的工资总额是多少?若第一个查询的结果是X,第二个查询的结果是Y,由于用户A知道自己的工资是Z,则B的工资为Y-(X-Z),统计数据库安全性(续),上述例子泄密的关键之处在于两个查询之间有很多重复的数据项,因此可以再规定任意两个查询的相交数据项不能超过M个,这样就使得获取他人的数据更加困难了,第4章 数据库安全性,4.1 计算机安全性概述4.2 数据库安全性控制4.3 视图机制4.4 审计4.5 数据加密4.6 统计数据库安全性4.7 小结,4.7 小结,DBMS是管理数据的核心,其自身必须具有一整套完整而有效的安全性机制。计算机以及信息安全技术方面有一系列的安全标准,最有影响的当推TCSEC和CC这两个标准。目前CC已经基本上取代了TCSEC,成为评估信息产品安全性的主要标准。实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术、视图技术和审计技术。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号