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

下载本文档

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

文档简介

1、An Introduction to Database System,数据库系统概论 An Introduction to Database System 第四章 数据库安全性,An Introduction to Database System,第四章 数据库安全性,问题的提出 数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据,An Introduction to Database System,数据库安全性

2、(续),数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据 数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,An Introduction to Database System,数据库安全性(续),什么是数据库的安全性 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。 什么是数据的保密 数据保密是指用户合法地访问到机密数据后能否对这些数据保密。 通过制订法律道德准则和政策法规来保证。,An Introduction to Database System,第四章 数据库安全性,4.1 计算机安

3、全性概论 4.2 数据库安全性控制 4.3 统计数据库安全性 4.4 Oracle数据库的安全性措施 4.5 小结,An Introduction to Database System,第九章 数据库安全性,4.1 计算机安全性概论 4.2 数据库安全性控制 4.3 统计数据库安全性 4.4 Oracle数据库的安全性措施 4.5 小结,An Introduction to Database System,4.1 计算机安全性概论,4.1.1 计算机系统的三类安全性问题 4.1.2 可信计算机系统评测标准,An Introduction to Database System,4.1 计算机安全

4、性概论,4.1.1 计算机系统的三类安全性问题 4.1.2 可信计算机系统评测标准,An Introduction to Database System,4.1.1 计算机系统的三类安全性问题,什么是计算机系统安全性 为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。,An Introduction to Database System,计算机系统的三类安全性问题(续),计算机安全涉及问题 计算机系统本身的技术问题 计算机安全理论与策略,计算机安全技术 管理问题 安全管理,安全评价,安全产品 法学 计算

5、机安全法律 犯罪学 计算机犯罪与侦察,安全监察 心理学,An Introduction to Database System,计算机系统的三类安全性问题(续),三类计算机系统安全性问题 技术安全类 指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护 管理安全类 软硬件意外故障、场地的意外事故、管理不善导致的 政策法律类 有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令,An Introduction to Database System,4.1 计算机安全性概论,4.1.1 计算机系统的三类安全性问题 4.1.2 可信计算机系统评测标准,An Int

6、roduction to Database System,4.1.2 可信计算机系统评测标准,为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准 TCSEC,桔皮书 DoD可信计算机系统评估标准 1985年,美国国防部DoD TDI ,紫皮书 可信计算机系统评估标准关于可信数据库系统的解释 1991年,美国国家计算机安全中心NCSC CC V2.1 1999年ISO采用为国际标准 2001年我国采用为国家标准 取代TCSEC,An Introduction to Database System,可信计算机系统评测标准(续),TDI/TCSEC标准的基本内容 TDI与TCSEC一样,

7、从四个方面来描述安全性级别划分的指标 安全策略 责任 保证 文档,An Introduction to Database System,可信计算机系统评测标准(续),R1 安全策略(Security Policy) R1.1 自主存取控制 (Discretionary Access Control,简记为DAC) R1.2 客体重用(Object Reuse) R1.3 标记(Labels) R1.4 强制存取控制(Mandatory Access Control,简记为MAC),An Introduction to Database System,可信计算机系统评测标准(续),R2 责任(A

8、ccountability) R2.1 标识与鉴别(Identification 谁定义?DBA和表的建立者(即表的属主) 功能:将对指定操作对象的指定操作权限授予指定的用户。,An Introduction to Database System,(1) 操作权限,An Introduction to Database System,(2) 用户的权限,建表(CREATETAB)的权限:属于DBA DBA授予-普通用户 基本表或视图的属主拥有对该表或视图的一切操作权限 接受权限的用户: 一个或多个具体用户 PUBLIC(全体用户),An Introduction to Database Sys

9、tem,(4) WITH GRANT OPTION子句,指定了WITH GRANT OPTION子句: 获得某种权限的用户还可以把这种权限再授予别的用户。 没有指定WITH GRANT OPTION子句: 获得某种权限的用户只能使用该权限,不能传播该权限,An Introduction to Database System,例题,例1:把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;,An Introduction to Database System,例题(续),例2:把对Student表和Course表的全部权限授予用户U2和

10、U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;,例4,An Introduction to Database System,例题(续),例3:把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC;,An Introduction to Database System,例题(续),例4:把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4;,An Introduction to

11、 Database System,例题(续),例5:把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;,An Introduction to Database System,传播权限,执行例5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限: GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此

12、权限。 U5- U6- U7,An Introduction to Database System,例题(续),例6:DBA把在数据库S_C中建立表的权限授予用户U8 GRANT CREATETAB ON DATABASE S_C TO U8;,An Introduction to Database System,二、REVOKE,REVOKE语句的一般格式为: REVOKE ,. ON FROM ,.; 功能:从指定用户那里收回对指定对象的指定权限,An Introduction to Database System,例题,例7:把用户U4修改学生学号的权限收回 REVOKE UPDATE(

13、Sno) ON TABLE Student FROM U4;,An Introduction to Database System,例题(续),例8:收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC;,An Introduction to Database System,权限的级联回收,例9:把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE; 系统将收回直接或间接从U5处获得的对SC表的INSERT权限: -U5- U6- U7 收回U5、U6、U7获得的对SC

14、表的INSERT权限: -U5- U6- U7,An Introduction to Database System,小结:SQL灵活的授权机制,DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。 用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。 被授权的用户如果有“继续授权”的许可,还可以把获得的权限再授予其他用户。 所有授予出去的权力在必要时又都可以用REVOKE语句收回。,An Introduction to Database System,数据库角色,定义 数据库角色是被命名的一组与数据库操作相关

15、的权限,角色是权限的集合。 可简化授权的过程 先用CREATE ROLE创建角色,再用GRANT给角色授权,An Introduction to Database System,一、角色的创建,角色的创建 CREATE ROLE 例:创建一个角色R1 CREATE ROLE R1;,An Introduction to Database System,二、给角色授权,给角色授权 GRANT ,ON 对象名TO , 例:使角色R1拥有Student表的SELECT、UPDATE、INSERT权限 GRANT SELECT, UPDATE, INSERTON TABLE STUDENTTO R1;

16、,An Introduction to Database System,三、将一个角色授予其他的角色或用户,将一个角色授予其他的角色或用户 GRANT ,TO ,WITH ADMIN OPTION 例:使用户王平,张明,赵玲具有角色R1所包含的全部权限 GRANT R1 TO 王平, 张明, 赵玲;,An Introduction to Database System,四、角色权限的收回,角色权限的收回 REVOKE ,ON 对象名FROM , 例1:通过R1来收回用户“王平”的权限REVOKE R1FROM 王平; 例2:收回R1的SELECT权限REVOKE SELECTON TABLE

17、StudentFROM R1;,An Introduction to Database System,五、角色权限的修改,给R1增加Student表的DELETE权限 GRANT DELETEON TABLE STUDENTTO R1; 给R1减少Student表的SELECT权限 REVOKE SELECTON TABLE STUDENTFROM R1;,An Introduction to Database System,自主存取控制方法(续),检查存取权限 对于获得上机权后又进一步发出存取数据库操作的用户 DBMS查找数据字典,根据其存取权限对操作的合法性进行检查 若用户的操作请求超出了

18、定义的权限,系统将拒绝执行此操作,An Introduction to Database System,自主存取控制方法(续),授权粒度 授权粒度是指可以定义的数据对象的范围 它是衡量授权机制是否灵活的一个重要指标。 授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统就越灵活。,An Introduction to Database System,自主存取控制方法(续),自主存取控制小结 定义存取权限 用户 检查存取权限 DBMS,An Introduction to Database System,自主存取控制方法(续),自主存取控制小结(续) 优点 能够通过授权机制有

19、效地控制其他用户对敏感数据的存取 缺点 可能存在数据的“无意泄露” 原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。 解决:对系统控制下的所有主客体实施强制存取控制策略,An Introduction to Database System,4.2 数据库安全性控制,4.2.1 数据库安全性控制概述 4.2.2 用户标识与鉴别 4.2.3 存取控制 4.2.4 自主存取控制方法 4.2.5 强制存取控制方法 4.2.6 视图机制 4.2.7 审计 4.2.8 数据加密,An Introduction to Database System,4.2.5 强制存取控制方

20、法,什么是强制存取控制 强制存取控制(MAC)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。 MAC不是用户能直接感知或进行控制的。 MAC适用于对数据有严格而固定密级分类的部门 军事部门 政府部门,An Introduction to Database System,强制存取控制方法(续),主体与客体 在MAC中,DBMS所管理的全部实体被分为主体和客体两大类 主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程 客体是系统中的被动实体,是受主体操纵的 文件 基表 索引 视图,An Introduction to Data

21、base System,强制存取控制方法(续),敏感度标记 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label) 敏感度标记分成若干级别 绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),An Introduction to Database System,强制存取控制方法(续),主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level) MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体,An Int

22、roduction to Database System,强制存取控制方法(续),强制存取控制规则 当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循下面两条规则: (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。,An Introduction to Database System,强制存取控制方法(续),规则(2)的修正规则: 主体的许可证级别 =客体的密级,主体能写客体 用户可为写入的数据对象赋予高于自己的许可证级别的密级 一旦数据被写入,该用户自己也不

23、能再读该数据对象了。 规则的共同点 禁止了拥有高许可证级别的主体更新低密级的数据对象,以防止敏感数据泄露。,An Introduction to Database System,强制存取控制方法(续),强制存取控制的特点 MAC是对数据本身进行密级标记 无论数据如何复制,标记与数据是一个不可分的整体 只有符合密级标记要求的用户才可以操纵数据 从而提供了更高级别的安全性,An Introduction to Database System,MAC与DAC,DAC与MAC共同构成DBMS的安全机制 原因:较高安全性级别提供的安全保护要包含较低级别的所有保护 先进行DAC检查,通过DAC检查的允许存

24、取的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。,An Introduction to Database System,强制存取控制方法(续),DAC + MAC安全检查示意图 SQL语法分析 这样就可以省略十几条GRANT语句,An Introduction to Database System,ORACLE的授权与检查机制(续),ORACLE的权限 系统权限 数据库对象的权限,An Introduction to Database System,2.数据库对象的权限,ORACLE可以授权的数据库对象 基本表 视图 序列 同义词 存储过程 函数,An Introdu

25、ction to Database System,数据库对象的权限(续),基本表的安全性级别 表级 行级 列级,An Introduction to Database System,数据库对象的权限(续),表级权限 ALTER: 修改表定义 DELETE:删除表记录 INDEX: 在表上建索引 INSERT: 向表中插入数据记录 SELECT:查找表中记录 UPDATE:修改表中的数据 ALL:上述所有权限,An Introduction to Database System,数据库对象的权限(续),表级授权使用GRANTREVOKE语句 例: GRANT SELECT ON SC TO U1

26、2;,An Introduction to Database System,数据库对象的权限(续),行级安全性 ORACLE行级安全性由视图间接实现,An Introduction to Database System,数据库对象的权限(续),例:用户U1只允许用户U12查看自己创建的Student表中有关信息系学生的信息,则首先创建视图信息系学生视图S_IS: CREATE VIEW S_IS AS SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student WHERE Sdept=IS; 然后将关于该视图的SELECT权限授予U12用户: GRANT SEL

27、ECT ON S_IS TO U12;,An Introduction to Database System,数据库对象的权限(续),列级安全性 实现方法 由视图间接实现 直接在基本表上定义,An Introduction to Database System,数据库对象的权限(续),列级安全性(续) 借助视图实现列级安全性 CREATE VIEW S_V AS SELECT Sno.Sname FROM Student; GRANT SELECT ON S_V TO U12;,An Introduction to Database System,数据库对象的权限(续),列级安全性(续) 直接

28、在基本表上定义列级安全性 例:GRANT UPDATE(Sno,Cno) ON SC TO U12;,An Introduction to Database System,数据库对象的权限(续),上一级对象的权限制约下一级对象的权限 例:当一个用户拥有了对某个表的UPDATE权限 相当于在表的所有列了都拥有 UPDATE 权限,An Introduction to Database System,数据库对象的权限(续),ORACLE对数据库对象的权限采用分散控制方式 允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户 ORACLE不允许循环授权 U1 U2 U3

29、 U4 ,An Introduction to Database System,ORACLE的授权与检查机制(续),ORACLE的权限信息记录在数据字典中 当用户进行数据库操作时 ORACLE首先根据数据字典中的权限信息,检查操作的合法性,An Introduction to Database System,4.4 Oracle数据库的安全性措施,ORACLE的安全措施: 用户标识和鉴定 授权和检查机制 审计技术 用户通过触发器灵活定义自己的安全性措施,An Introduction to Database System,三、ORACLE的审计技术,审计分类 用户级审计 系统级审计,An In

30、troduction to Database System,三、ORACLE的审计技术,用户级审计 由用户设置 用户针对自己创建的数据库表或视图进行审计 审计内容 所有用户对这些表或视图的一切成功和或不成功的访问要求 所有用户对这些表或视图的各类SQL操作,An Introduction to Database System,ORACLE的审计技术(续),系统级审计 DBA设置 审计对象和内容 成功或失败的登录要求 GRANT和REVOKE操作 其他数据库级权限下的操作,An Introduction to Database System,ORACLE的审计设置,可以自由设置 AUDIT:设置

31、审计功能 例: AUDIT ALTER,UPDATE ON SC; NOAUDIT:取消审计功能 例: NOAUDIT ALL ON SC; 对哪些表进行审计 对哪些操作进行审计,An Introduction to Database System,ORACLE的审计技术(续),与审计功能有关的数据字典表 SYS.TABLES:审计设置 SYS.AUDIT_TRAIL:审计内容 SYSTEM.AUDIT_ACTION,An Introduction to Database System,ORACLE的审计技术(续),SYS.TABLES: TAB$NAME: 表名; TAB$OWNER:表的拥

32、有者(即创建者)TAB$AUDIT: 审计设置,An Introduction to Database System,4.4 Oracle数据库的安全性措施,ORACLE的安全措施: 用户标识和鉴定 授权和检查机制 审计技术 用户通过触发器灵活定义自己的安全性措施,An Introduction to Database System,四、用户定义的安全性措施,用数据库级触发器定义用户级安全性 例:规定只能在工作时间内更新Student表 可以定义如下触发器:,An Introduction to Database System,用户定义的安全性措施(续),CREATE OR REPLACE TRIGGER secure_student BEFORE INSERT OR

温馨提示

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

评论

0/150

提交评论