第四章 数据库安全性
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个数据对象被标以一定的密级
每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可 以存取
自主存取控制方法
自主存取控制(DAC) 自主存取控制(DAC) 大型数据库几乎都支持自主存取控制 SQL标准也支持自主存取控制 存取权限定义 存取权限由两个要素组成 数据对象
数据本身—基本表中的数据、属性列上的数据 数据库模式—数据库schema、基本表table、视图 view、索引index
强制存取控制的特点
MAC是对数据本身进行密级标记 无论数据如何复制,标记与数据是一个不可分的整体 只有符合密级标记要求的用户才可以操纵数据 从而提供了更高级别的安全性
存取控制( 存取控制(续)
常用存取控制方法
自主存取控制(Discretionary Access Control ,简称DAC) 同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户 强制存取控制(Mandatory Access Control,简称 MAC)每
计算机安全性概论
什么是计算机系统安全性
为计算机系统建立和采取的各种安全保护措施,以 保护计算机系统中的硬件、软件及数据,防止其因 偶然或恶意的原因使系统遭到破坏,数据遭到更改 或泄露等。
计算机安全涉及问题
计算机系统本身的技术问题
计算机安全理论与策略 计算机安全技术
法学
计算机安全法律
犯罪学
计算机犯罪与侦察 安全监察
数据库安全性控制概述(续) 数据库安全性控制概述(
计算机系统中的安全模型 安全性控制层次
高 低
应用
OS
DBMS
DB
用户标识 方法: 方法: 和鉴定
操作系统 安全保护
存取控制 审计、 审计、视图
数据密码存储
数据库安全性控制的常用方法
用户标识和鉴定 存取控制 视图 审计 密码存储
用户标识与鉴别
用户标识与鉴别(Identification 用户标识与鉴别(Identification & Authentication)
系统提供的最外层安全保护措施
基本方法
系统提供一定的方式让用户标识自己的名字或身份; 系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标 识; 通过鉴定后才提供机器使用权。 用户标识和鉴定可以重复多次
用户名/ 用户名/口令
简单易行,容易被人窃取
存取控制
存取控制机制的功能
存取控制机制的组成 定义存取权限 检查存取权限 用户权限定义和合法权检查机制一起组成了DBMS的安全 子系统 定义存取权限 在数据库系统中,为了保证用户只能访问他有权存取的 数据,必须预先对每个用户定义存取权限,并将用户权限 登记到数据字典中。 检查存取权限 对于通过鉴定获得上机权的用户(即合法用户),系统 根据他的存取权限定义对他的各种操作请求进行控制,确 保他只执行合法操作。
给角色授权
Grant <权限>[,<权限>]… on <对象类型><对象名> to <角色>[,<角色>]
将角色授予其它角色或用户
Grant <角色1>[,<角色2>]… to <角色3>[,<用户>] [with admin option]
角色权限的收回
Revoke<权限>[,<权限>]… On<对象类型><对象名> From<角色>[,<角色>]
非法使用数据库的情况
用户编写一段合法的程序绕过DBMS及其授权机制,通过操 作系统直接存取、修改或备份数据库中的数据; 直接或编写应用程序执行非授权操作; 通过多次合法查询数据库从中推导出一些保密数据 例:某数据库应用系统禁止查询单个人的工资,但允许 查任意一组人的平均工资。用户甲想了解张三的工资, 于是他: 首先查询包括张三在内的一组人的平均工资 然后查用自己替换张三后这组人的平均工资 从而推导出张三的工资 破坏安全性的行为可能是无意的,故意的,恶意的。
强制存取控制方法( 强制存取控制方法(续)
敏感度标记
对于主体和客体,DBMS为它们每个实例(值)指派一个敏 感度标记(Label) 敏感度标记分成若干级别
绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public)
主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level) MAC机制就是通过对比主体的Label和客体的Label,最终确 定主体是否能够存取客体
强制存取控制方法( 强制存取控制方法(续)
强制存取控制规则
当某一用户(或某一主体)以标记label注册入系统时,系 统要求他对任何客体的存取必须遵循下面两条规则: 仅当主体的许可证级别大于或等于客体的密级时,该主 体才能读取相应的客体; 仅当主体的许可证级别等于客体的密级时,该主体才能 写相应的客体。
数据库安全性
问题的提出
数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题:因为数据 库系统中的数据共享不能是无条件的共享
例:军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据
数据库中数据的共享是在DBMS统一的严格的控制 之下的共享,即只允许有合法使用权限的用户访问 允许他存取的数据 数据库系统的安全保护措施是否有效是数据库系统 主要的性能指标之一
自主存取控制小结
自主存取控制小结
定义存取权限
用户
检查存取权限
DBMS
授权粒度
数据对象粒度:数据库、表、属性列、行
数据值粒度
授权粒度越细,授权子系统就越灵活,能够提供的安全 性就越完善。但另一方面,因数据字典变大变复杂,系 统定义与检查权限的开销也会相应地增大。
自主存取控制小结(续) 自主存取控制小结(
授权与回收( 授权与回收(例)
例1:把查询Student表的权限授给用户U1 把查询Student表的权限授给用户U
Grant select on Student to U1
例 2: 把对 Student表和 Course表的全部操作权 把对Student 表和Course 表的全部操作权 限授予所有用户
Create user <username> [with][DBA|resource|co来自百度文库nect]
说明:
只有系统的超级用户才有权创建新的用户 新建用户有三种权限:connect、resource和DBA
创建数据库模式的权限(续) 创建数据库模式的权限(
权限与可执行操作
创建用户命令中若没指定建新用户的权限,默认该用户拥 有connect权限。 不能创建新用户、不能创建模式、不能创建基本表; 只能登录数据库 Resource权限 能创建基本表和视图 不能创建模式,也不能创建新的用户 DBA权限的用户是系统中的超级用户, 拥有一切权限,还可以把这些权限授予一般用户。
Grant insert on Student to U3 with grant option
授权与回收( 授权与回收(续)
回收权限
revoke <表级权限> on {表名 | 视图名} from {用户 [,用户]… | public}[cascade | restrict] 收回权限用cascade时,则若该用户已将权限授予其它用户, 则也一并收回。
管理安全类
软硬件意外故障、场地的意外事故、管理不善导致 的计算机设备和数据介质的物理破坏、丢失等安全 问题
政策法律类
政府部门建立的有关计算机犯罪、数据安全保密的 法律道德准则和政策法规、法令
数据库安全性控制
数据库安全性控制概述 用户标识与鉴别 存取控制 自主存取控制方法 强制存取控制方法
数据库安全性控制概述
授权与回收
授权命令
grant <表级权限> on {表名 | 视图名} to {用户 [,用户]… | public} [with grant option] 表级权限包括:select, update, insert, delete, index, alter, drop, resource 等 以 及 它 们 的 总 和 all , 其 中 对 select , update可指定列名 with grant option表示获得权限的用户可以把权限再授予 其它用户 发出该grant语句的可以是DBA,也可是此表的创建者,也 可是拥有该权限用户
数据库安全性(续) 数据库安全性(
什么是数据库的安全性
数据库的安全性是指保护数据库,防止因用户非法 使用数据库造成数据泄露、更改或破坏。
什么是数据的保密
数据保密是指用户合法地访问到机密数据后能否对 这些数据保密。 通过制订法律道德准则和政策法规来保证。
目录
计算机安全性概论 数据库安全性控制 视图机制 审计 数据加密 统计数据库安全性
操作类型
不同的数据对象有不同的操作类型
自主存取控制方法( 自主存取控制方法(续)
关系数据库中的存取权限
数据对象 数 据 库 模 式 数 据 本 身 基本表 基本表 create table,alter table create view create index select,insert,update,delete,references all privileges select,insert,update,references all privileges 操作类型 数据库(模式 数据库 模式) create database(schema) 模式
管理问题
安全管理 安全评价 安全产品
心理学
计算机安全性概论( 计算机安全性概论(续)
三类计算机系统安全性问题
技术安全类
指计算机系统中采用具有一定安全性的硬件、软件 来实现对计算机系统及其所存数据的安全保护,当 计算机系统受到无意或恶意的攻击时仍能保证系统 正常运行,保证系统内的数据不增加、不丢失、不 泄露。
自主存取控制优缺点
优点
能够通过授权机制有效地控制其他用户对敏感数据的存 取
缺点
可能存在数据的“无意泄露” 原因:这种机制仅仅通过对数据的存取权限来进行安全 控制,而数据本身并无安全性标记。 解决:对系统控制下的所有主客体实施强制存取控制策 略
强制存取控制方法
什么是强制存取控制
强制存取控制(MAC)是指系统为保证更高程度的安全性,按 照安全策略的要求,所采取的强制存取检查手段。 MAC适用于对数据有严格而固定密级分类的部门 军事部门 政府部门 在MAC中,DBMS所管理的全部实体被分为主体和客体两大 类 主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程 客体是系统中的被动实体,是受主体操纵的 文件、基表、索引、视图
例
Revoke update(Sno) on Student from U2; Revoke insert on Student from U3 cascade;
创建数据库模式的权限
数据的操作授权与数据库模式授权的区别 数据的操作授权与数据库模式授权的区别
Grant和revoke语句用于向用户授予或收回对数据 的操作权限, 而对数据库模式的授权则由DBA在创建用户时实现 创建用户语句一般格式
Grant all privileges on Student,Course to public
例3:把查询Student表和修改学生学号的权限授 把查询Student表和修改学生学号的权限授 给用户U 给用户U2
Grant update(Sno),select on student to U2
例4:把对表Student的insert权限授予U3用户, 把对表Student的insert权限授予U 用户, 并允许将此权限再授予其他用户
数据库角色
角色是一组相关权限的结合, 角色是一组相关权限的结合,即将多个不同的 权限集合在一起就形成了角色
用户
用户 角色
权限
权限
数据库角色(续) 数据库角色(
数据库角色(续) 数据库角色(
角色的创建
Create role <rolename>
示例
Create role R1 Grant select,update,insert on Student to R1 Grant R1 to zheng,zhang,wang with admin option Revoke select On Student from R1 Revoke R1 from zheng