资源预览内容
第1页 / 共74页
第2页 / 共74页
第3页 / 共74页
第4页 / 共74页
第5页 / 共74页
第6页 / 共74页
第7页 / 共74页
第8页 / 共74页
第9页 / 共74页
第10页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 数据库安全性,数据库系统概论 An Introduction to Database System,数据库安全性,问题的提出 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例:军事秘密、国家机密、市场营销策略、销售计划、市场需求分析、 客户档案、医疗档案、银行储蓄数据 数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据,第四章 数据库安全性,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 其它安全性措施 4.7 小结,4.1 计算机安全性概述,什么是数据库的安全性 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。 是计算机系统安全措施的一个环节 数据库系统的安全保护措施是数据库系统主要的性能指标之一,4.1.1 数据库的不安全性因素,对数据库安全性产生威胁的因素 1 非授权用户对数据库的恶意存取和破坏 黑客和犯罪分子非法获取用户名和口令,假冒合法用户偷取、甚至破坏用户数据 因此,必须阻止有损数据库安全的非法操作,以保证数据免受未经授权的访问和破坏 DBMS提供的安全措施主要包括用户身份鉴别、存取控制、视图等技术,4.1.1 数据库的不安全性因素(续),2 数据库中重要或敏感数据被泄密 保存在数据库中的被盗窃,一些机密信息容易被暴露 DBMS提供的主要技术包括强制存取控制、数据加密存贮、数据加密传输等 DMBS可提供审计功能,通过分析设计日志,可对破坏信息的情况进行跟踪。,4.1.1 数据库的不安全性因素(续),3 安全环境的脆弱性 数据库的安全性是与计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性紧密联系的。 因此,必须加强计算机系统的安全性 特别是随着Internet的发展,计算机系统的安全问题越来越突出。 在计算机安全技术方面逐步发展建立了一套可信计算机系统的概念和标准,4.1.2 安全标准简介,计算机级及信息安全技术方面有一系列的安全标准 TCSEC标准:1985年美国国防部(Department of Defanse,DoD)正式颁布的DoD可信计算机系统评估准则 之后,许多国家和组织都提出了自己的评估准则 CC准则 1993年,以上准则进行了标准化,这一行动称为通用准则(Common Criteria,CC)项目。,第四章 数据库安全性,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6其它安全性措施 4.7 小结,数据库安全性控制概述(续),计算机系统中,安全措施是一级一级层层设置,数据库系统的安全模型,数据库安全性控制概述(续),数据库安全性控制的常用方法 用户标识和鉴别 存取控制 视图 审计 密码存储 ,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.1 用户标识与鉴别,用户标识与鉴别(Identification & Authentication) 系统提供的最外层安全保护措施 基本方法 系统提供一定的方式让用户标识自己的名字或身份; 系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标识; 通过鉴定后才提供系统使用权。,常用用户标识与鉴别方法,1、静态口令 口令由用户确定 鉴别时只要输入口令正确即可使用数据库系统 缺点:用户名和口令易被窃取,易被攻击,安全性低 应增加口令的复杂度,如长度大于8位,字母数字混合,等策略 特点:用户标识和鉴定可以重复多次 计算机系统 数据库,常用用户标识与鉴别方法,2、动态口令 口令是动态变化的,每次鉴别时均需要动态产生新的口令登录DBMS 常用的方式如短信密码、动态令牌. 每次鉴别时要求用户使用短信、令牌等途径获取新的口令来登录DBMS 优点:不易被窃取和破解,常用用户标识与鉴别方法,3、生物特征鉴别 是一种通过生物特征进行认证的技术 利用了生物特征具有唯一,可测量、识别和验证的特点 包括指纹、虹膜、掌纹、人脸等 采用图像识别和模式识别技术实现了基于生物特征的认证 优点:安全性高,常用用户标识与鉴别方法,4、智能卡鉴别 智能卡是一种不可复制的硬件,内置集成电路芯片,具有硬件加密宫能。 登录DBMS时,将智能卡插入到专用的读卡器进行身份认证。,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.2 存取控制,存取控制是一种主要的数据库安全机制 它确保只授权给有资格的用户访问数据库的权限,未被授权的人员无法访问数据 存取控制机制由两部分组成 定义用户权限 在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。 合法权限检查 当用户操作数据库时,DBMS根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。 这两部分构成了DBMS的存取控制子系统,存取控制(续),常用存取控制方法 自主存取控制(Discretionary Access Control ,简称DAC) 同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户 强制存取控制(Mandatory Access Control,简称 MAC) 每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.3 自主存取控制方法,定义用户存取权限,称授权 定义用户可以在哪些数据库对象上进行哪些类型的操作 用户权限组成要素: 数据库对象 操作类型 通过GRANT 和 REVOKE 语句实现权限控制 授权将用户的权限保存在数据字典中,自主存取控制方法(续),关系数据库系统中存取控制对象与权限,自主存取控制方法(续),授权示例:,自主存取控制方法(续),检查存取权限 对于合法用户发出存取数据库操作: DBMS首先查找数据字典,根据其存取权限对操作的合法性进行检查 若用户的操作请求超出了定义的权限,系统将拒绝执行此操作,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.4 授权与回收,自主存取方法需要DBA对用户授权 利用SQL的GRANT和REVOKE授权和回收权限 DBMS把授权的结果存入数据字典 当用户提出操作请求时,DBMS根据授权定义进行检查 只有授权的操作请求才能执行,1、GRANT,GRANT语句将指定操作对象的指定操作权限授予指定的用户,一般格式: GRANT , ON , TO , WITH GRANT OPTION; 权 限:访问权限 对象名:要访问的对象 用 户:权限的授予者,GRANT(续),执行GRANT的用户可以为: DBA:可将任何权限授予用户 数据库对象创建者(即属主Owner):可将该对象的任何权限授予其他用户 拥有某权限的用户:可将该权限授予其他用户 接受权限的用户可以是: 一个或多个具体用户 角色(组),如PUBLIC 既其中的全体用户,GRANT示例,例4.1 把查询Student表权限授给用户U1 GRANT SELECT ON Student TO U1; 例4.2 把对Student表和Course表的全部权限授予用户U2和U3 GRANT ALL PRIVILIGES ON Student, Course TO U2, U3; 例4.3 把对表SC的查询权限授予所有用户 GRANT SELECT ON SC TO PUBLIC;,GRANT示例(续),例4.4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE (Sno), SELECT ON Student TO U4; 对属性列的授权时必须明确指出相应属性列名,GRANT示例(续),WITH GRANT OPTION子句 获得权限的用户可将此权限授予其他用户 例4.5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON SC TO U5 WITH GRANT OPTION; U5具有了对SC的INSERT权限 U5 可将此权限授予其他用户,GRANT示例(续),例4.6 U5将对表SC的INSERT权限授予U6: GRANT INSERT ON SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: 例4.7 GRANT INSERT ON SC TO U7; 但U7不能再传播此权限。,GRANT示例(续),执行了以上各例后,学生-课程数据库中的用户权限定义表,2、REVOKE,REVOKE语句用于收回授予用户的权限 格式为: REVOKE ,. ON FROM ,.CSECADE|RESTRICT;,REVOKE(续),例4.8 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON Student FROM U4; 例4.9 收回所有用户对表SC的查询权限 REVOKE SELECT ON SC FROM PUBLIC;,REVOKE(续),例4.10 把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON SC FROM U5 CASCADE ; 将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回授予其他用户(U6、U7)的该权限 系统只收回其他用户直接或间接从U5处获得的权限,REVOKE(续),执行例8到例10后,学生-课程数据库中的用户权限定义表,小结,SQL灵活的授权机制 DBA:拥有所有对象的所有权限,可将权限授予其他的用户 用户:拥有自己建立的对象的全部的操作权限,可将该对象的访问权限授予其他用户 被授权的用户:若有“继续授权”许可,可将获得的权限再授予其他用户。 所有授予出去的权力在必要时又都可用REVOKE语句收回 用户可以自主的确定访问权限,称之为自主存取控制,3、创建数据库用户,只有合法的用户才可登录数据库 数据库用户由DBA创建 格式: CREATE USER WITHDBA | RESOURCE | CONNECT DBA 、RESOURCE 、 CONNECT:指定用户的权限 例如:CREATE USER U1 WITH DBA CREATE USER U2 WITH CONNECT,授权与回收(续),权限与可执行的操作对照表,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.5 数据库角色,数据库角色:被命名的一组与数据库操作相关的权限 角色是权限的集合 (以前称为组) 可以为一组具有相同权限的用户创建一个角色 简化授权的过程 角色的创建 CREATE ROLE ,数据库角色授权,角色权限管理 给角色授权 GRANT , ON 对象名 , TO , 将一个角色授予其他的角色或用户 GRANT ,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号