资源预览内容
第1页 / 共109页
第2页 / 共109页
第3页 / 共109页
第4页 / 共109页
第5页 / 共109页
第6页 / 共109页
第7页 / 共109页
第8页 / 共109页
第9页 / 共109页
第10页 / 共109页
亲,该文档总共109页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,数据库系统概论 An Introduction to Database System 第四章 数据库安全性,中国人民大学信息学院,数据库安全性,问题的提出 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例: 军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、医疗档案、银行储蓄数据,4.1 概述,数据库的数据保护主要包括数据库的安全性和完整性保护机制。,数据库安全性 保护数据库防止恶意破坏和非法的存取 防范对象是非法用户和非法操作 数据库完整性 防止错误信息的输入和输出所造成的无效操作和错误结果 防范对象是不合语义的数据 两者密切相关,数据库安全性(续),数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。 系统安全保护措施是否有效是数据库系统主要的性能指标之一。,第四章 数据库安全性,4.1 数据库安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 其他安全性保护 4.7 小结,4.1 数据库安全性概述,4.1.1 数据库的不安全因素 4.1.2 安全标准简介,1.非授权用户对数据库的恶意存取和破坏 一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。 数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制(4.2节)和视图(4.3节)等技术。,4.1.1 数据库的不安全因素,2.数据库中重要或敏感的数据被泄露 黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。 数据库管理系统提供的主要技术有强制存取控制(4.2节)、数据加密存储和加密传输(4.5节)等。 审计日志分析(4.4节),数据库的不安全因素(续),数据库的不安全因素(续),3.安全环境的脆弱性 数据库的安全性与计算机系统的安全性紧密联系 计算机硬件、操作系统、网络系统等的安全性 建立一套可信(Trusted)计算机系统的概念和标准,4.1 数据库安全性概述,4.1.1 数据库的不安全因素 4.1.2 安全标准简介,4.1.2 安全标准简介,1985年美国国防部(DoD)正式颁布DoD可信计算机系统评估准则(简称TCSEC或DoD85) 不同国家建立在TCSEC概念上的评估准则 欧洲的信息技术安全评估准则(ITSEC) 加拿大的可信计算机产品评估准则(CTCPEC) 美国的信息技术安全联邦标准(FC),安全标准简介(续),1993年,CTCPEC、FC、TCSEC和ITSEC联合行动,解决原标准中概念和技术上的差异,称为CC(Common Criteria)项目 1999年 CC V2.1版被ISO采用为国际标准 2001年 CC V2.1版被我国采用为国家标准 目前CC已基本取代了TCSEC,成为评估信息产品安全性的主要标准。,安全标准简介(续),信息安全标准的发展历史,安全标准简介(续),TCSEC标准 CC标准,TCSEC标准,1991年4月美国NCSC(国家计算机安全中心)颁布了可信计算机系统评估标准关于可信数据库系统的解释( Trusted Database Interpretation 简称TDI) TDI又称紫皮书。它将TCSEC扩展到数据库管理系统 TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准,TCSEC标准(续),TCSEC/TDI标准的基本内容 TCSEC/TDI,从四个方面来描述安全性级别划分的指标 安全策略 责任 保证 文档,TCSEC/TDI安全级别划分,TCSEC/TDI安全级别划分,TCSEC/TDI安全级别划分(续),四组(division)七个等级 D C(C1,C2) B(B1,B2,B3) A(A1) 按系统可靠或可信程度逐渐增高 各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力,TCSEC/TDI安全级别划分(续),D级 将一切不符合更高标准的系统均归于D组 典型例子:DOS是安全标准为D的操作系统 DOS在安全性方面几乎没有什么专门的机制来保障,TCSEC/TDI安全级别划分(续),C1级 非常初级的自主安全保护 能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。 现有的商业系统稍作改进即可满足,TCSEC/TDI安全级别划分(续),C2级 安全产品的最低档次 提供受控的存取保护,将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离 达到C2级的产品在其名称中往往不突出“安全”(Security)这一特色 典型例子 Windows 2000 Oracle 7,TCSEC/TDI安全级别划分(续),B1级 标记安全保护。“安全”(Security)或“可信的” (Trusted)产品。 对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、审计等安全机制 B1级典型例子 操作系统 惠普公司的HP-UX BLS release 9.09+ 数据库 Oracle公司的Trusted Oracle 7 Sybase公司的Secure SQL Server version 11.0.6,An Introduction to Database System,TCSEC/TDI安全级别划分(续),B2级 结构化保护 建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC,An Introduction to Database System,TCSEC/TDI安全级别划分(续),B3级 安全域 该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程 A1级 验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。,CC,CC 提出国际公认的表述信息技术安全性的结构 把信息产品的安全要求分为 安全功能要求 安全保证要求,CC(续),CC文本组成 简介和一般模型 有关术语、基本概念和一般模型以及与评估有关的一些框架 安全功能要求 列出了一系列类、子类和组件 安全保证要求 列出了一系列保证类、子类和组件 提出了评估保证级(Evaluation Assurance Level,EAL),从EAL1至EAL7共分为七级,CC(续),CC评估保证级(EAL)划分,第四章 数据库安全性,4.1 数据库安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 其他安全性 4.7 小结,4.2 数据库安全性控制,非法使用数据库的情况 编写合法程序绕过数据库管理系统及其授权机制 直接或编写应用程序执行非授权操作 通过多次合法查询数据库从中推导出一些保密数据,数据库安全性控制(续),计算机系统中,安全措施是一级一级层层设置,计算机系统的安全模型,31,1.计算机系统中的安全模型,方法:,用户标识 和鉴定,存取控制 审计 视图,操作系统 安全保护,密码存储,4.2 数据库安全性控制,目的:提高非法用户进入系统的难度。,数据库安全性控制(续),系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统 数据库管理系统还要进行存取控制,只允许用户执行合法操作 操作系统有自己的保护措施 数据以密码形式存储到数据库中,1.计算机系统中的安全模型,4.2 数据库安全性控制,身份验证,推理控制,强制存取控制,自主存取控制,用户数据信息,用户数据备份信息,安全用户信息,安全数据备份信息,数据层,多层存取控制策略 SQL层,简单入侵检测,审计,监控恶意访问,存取控制流程 首先,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。 然后,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。 还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。,数据库安全性控制(续),数据库安全性控制(续),数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 数据加密,4.2 数据库安全性控制,4.2.1 用户身份鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权:授予与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.1 用户身份鉴别,用户身份鉴别 (Identification 语义:将对指定操作对象的指定操作权限授予指定的用户,GRANT(续),发出GRANT: 数据库管理员 数据库对象创建者(即属主Owner) 拥有该权限的用户 按受权限的用户 一个或多个具体用户 PUBLIC(即全体用户),WITH GRANT OPTION子句,WITH GRANT OPTION子句: 指定:可以再授予 没有指定:不能传播 不允许循环授权,例题,例4.1 把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1;,例题(续),例4.2 把对Student表和Course表的全部权限授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student,Course TO U2,U3;,例题(续),例4.3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC;,例题(续),例4.4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4; 对属性列的授权时必须明确指出相应属性列名,例题(续),例4.5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;,传播权限,执行例4.5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限: 例4.6 GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: 例4.7 GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。,传播权限(续),执行了例4.1例4.7语句后学生-课程数据库中的用户权限定义表,P155,授权:授予与回收(续),2.REVOKE 授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回 REVOKE语句的一般格式为: REVOKE ,. ON , FROM ,.CASCADE | RESTRICT;,REVOKE(续),例4.8 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4;,REVOKE(续),例4.9 收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC;,REVOKE(续),例4.10 把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE ; 将用户U5的INSERT权限收回的时候应该使用CASCADE,否则拒绝执行该语句 如果U6或U7还从其他用户处获得对SC表的INSERT权限,则他们仍具有此权限,系统只收回直接或间接从U5处获得的权限,REVOKE(续),执行例4.84.10语句后学生-课程数据库中的用户权限定义表,小结:SQL灵活的授权机制,数据库管理员: 拥有所有对象的所有权限 根据实际情况不同
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号