第四章-安全性控制_new
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上锁阶段
最近仓库里的东西老是不翼而飞。 李老板才明白,就算是员工都是自 觉的,但是别的人也可以拿走里面 的货物,怎么办呢? 老板一咬牙,花一百块钱买了一把 锁!并且只给少数几个人配钥匙。 这下东西被别的公司的人拿走的情 况基本杜绝了。
这时,数据库就有了用户的概念,但是它 只有一个用户,就是有钥匙的人,它只对 有钥匙的人开放。这就是数据库权限管理 的第二阶段:上锁阶段或者单用户管理阶 段。
犯罪学
计算机犯罪与侦察
安全监察
心理学
计算机系统的安全性问题(续)
三类计算机系统安全性问题
技术安全类
管理安全类
政策法律类
计算机系统的安全性问题(续)
技术安全:指计算机系统中采用具有一定安 全性的硬件、软件来实现对计算机系统及 其所存数据的安全保护,当计算机系统受 到无意或恶意的攻击时仍能保证系统正常 运行,保证系统内的数据不增加、不丢失、 不泄露。
CREATE VIEW CREATE INDEX SELECT,INSERT,UPDATE,DELETE, REFERENCES,ALL PRIVILEGES
数据
属性列
SELECT,INSERT,UPDATE, REFERENCES
ALL PRIVILEGES
关系数据库系统中的存取权限
自主存取控制方法(续)
关系系统中的存取权限(续)
例:
一张授权表
用户名 数据对象名 允许的操作类型
王 平 李信国 陈登明 张明霞 张明霞 张明霞 关系Student 关系Student 关系Course SC. Grade SC. Sno SC. Cno SELECT ALL ALL UPDATE SELECT SELECT
通过鉴定后才提供机器使用权。
用户标识和鉴定可以重复多次
用户标识自己的名字或身份
用户名/口令
简单易行,容易被人窃取
每个用户预先约定好一个计算过程或者函数
系统提供一个随机数 用户根据自己预先约定的计算过程或者函数进 行计算 系统根据用户计算结果是否正确鉴定用户身份
4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法
4.1 计算机安全性概述
4.2 数据库安全性控制
4.3 视图机制
4.4 审计(Audit)
4.5 数据加密
4.6 统计数据库安全性
4.7 SQL Server的安全管理
4.8 小结
4.1.1
计算机系统安全性概述
什么是计算机系统安全性
为计算机系统建立和采取的各种安全保护措
施,以保护计算机系统中的硬件、软件及数
授权定义中数据对象的粒度越细,即可以定义的 数据对象的范围越小,授权子系统就越灵活。
自主存取控制方法(续)
关系数据库中授权的数据对象粒度
数据库 表 属性列
行
能否提供与数据值有关的授权反映了授权子 系统精巧程度
自主存取控制方法(续)
自主存取控制小结(续)
优点
能够通过授权机制有效地控制其他用户对敏 感数据的存取
姓名 张三 李四 王五 赵六 货物1 Y Y Y N 货物2 Y Y Y Y 货物3 N Y Y Y 货物4 N N Y Y 货物5 N N Y Y
数据库安全性(续)
数据库中数据的共享是在 DBMS 统一的严格
的控制之下的共享,即只允许有合法使用权
限的用户访问允许他存取的数据
数据库系统的安全保护措施是否有效是数据
4.2.4 授权与回收 一、GRANT
GRANT语句的一般格式:
GRANT <权限>[,<权限>]... [ON <对象类型> <对象名>] TO <用户>[,<用户>]... [WITH GRANT OPTION];
语义:将对指定操作对象的指定操作权限授予指 定的用户
GRANT(续)
发出GRANT:
受保护数据
非法访问 黑客 通信损坏
蓄意破坏者
计算机系统中的数据库安全层次
安全性控制层次
高 低
DBMS OS
应用
DB
方法: 用户标识 和鉴定
存取控制 审计 视图
操作系统 安全保护
密码存储
数据库安全性控制概述
数据库安全性控制的常用方法
用户标识和鉴定
存取控制
视图
审计
密码存储
4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法
4.2.4 授权与回收
4.2.5 数据库角色
4.2.6 强制存取控制方法
存取控制 存取控制机制的功能 存取控制机制的组成
定义存取权限
检查存取权限
用户权限定义和合法权检查机制一起 组成了DBMS的安全子系统
存取控制(续)
定义存取权限
在数据库系统中,为了保证用户只能访问他有 权存取的数据,必须预先对每个用户定义存取 权限。
检查存取权限
对于通过鉴定获得上机权的用户(即合法用 户),系统根据他的存取权限定义对他的各种 操作请求进行控制,确保他只执行合法操作。
存取控制(续)
常用存取控制方法
自主存取控制(Discretionary
Access
Control ,简称DAC)
强制存取控制(Mandatory
Access
[例7] GRANT INSERT ON TABLE SC TO U7;
但U7不能再传播此权限。
GRANT INSERT
ON TABLE SC TO U5 WITH GRANT OPTION;
执行例5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限。
传播权限
[例6] GRANT INSERT ON TABLE SC TO U6
WITH GRANT OPTION;
同样,U6还可以将此权限授予U7:
GRANT SELECT ON TABLE Student TO U1;
[例2] 把对Student表和Course表的全部权限授予用 户U2和U3
GRANT ALL PRIVILIGES
ON TABLE Student, Course
TO U2, U3;
例题(续)
[例3] 把对表SC的查询权限授予所有用户
定义用户存取权限:定义用户可以在哪些数据库 对象上进行哪些类型的操作 定义存取权限称为授权
自主存取控制方法(续) 关系数据库系统中存取控制对象
对象类型
数据库 模式 数据
对象
模式
操作类型
CREATE SCHEMA
Fra Baidu bibliotek基本表
视图 索引 基本表和 视图
CREATE TABLE,ALTER TABLE
4.2.4 授权与回收
4.2.5 数据库角色 4.2.6 强制存取控制方法
用户标识与鉴别
用户标识与鉴别
(Identification & Authentication)
系统提供的最外层 安全保护措施
用户标识与鉴别 基本方法
系统提供一定的方式让用户标识自己的名字或 身份;
系统内部记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提 供的身份标识;
Control,简称 MAC)
自主存取控制方法 同一用户对于不同的数据对象有不同的存 取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他
用户
强制存取控制方法 每一个数据对象被标以一定的密级
每一个用户也被授予某一个级别的许可证
对于任意一个对象,只有具有合法许可证 的用户才可以存取
自主存取控制方法(续)
检查存取权限
对于获得上机权后又进一步发出存取数据库操 作的用户
DBMS查找数据字典,根据其存取权限对操作 的合法性进行检查 若用户的操作请求超出了定义的权限,系统将 拒绝执行此操作
自主存取控制方法(续)
授权粒度
授权粒度是指可以定义的数据对象的范围
它是衡量授权机制是否灵活的一个重要指标。
引子-无权限管理
李老板开了一个小公司,公司有 个仓库,堆放了一些货物,由于 仓库小,为了节约成本,这个仓 库根本没有锁。只要知道仓库在 哪里,就可以去取货。 这种情况对应数据库来说,就是 只要我知道数据库名和表名,我 就可以对它进行操作。这对程序 员来说当然是最方便了。这就是 数据库的第一阶段:无权限管理 阶段。
数据库系统概论
An Introduction to Database System
第四章 数据库安全性
第四章
问题的提出
数据库安全性
数据库的一大特点是数据可以共享
但数据共享必然带来数据库的安全性问题
数据库系统中的数据共享不能是无条件的共享
例:军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、医疗档案、银行储蓄数据
据,防止其因偶然或恶意的原因使系统遭到
破坏,数据遭到更改或泄露等。
计算机系统的安全性问题(续)
计算机安全涉及问题 计算机系统本身的技术问题
计算机安全理论与策略 计算机安全技术
管理问题
安全管理
安全评价
安全产品
计算机系统的安全性问题(续)
计算机安全涉及问题(续) 法学
计算机安全法律
GRANT SELECT ON TABLE SC TO PUBLIC;
[例4] 把查询Student表和修改学生学号的权限授给用 户U4
GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;
对属性列的授权时必须明确指出相应属性列名
例题(续)
[例5] 把对表SC的INSERT权限授予U5用户,并允 许他再将此权限授予其他用户
库系统主要的性能指标之一
数据库安全性(续)
什么是数据库的安全性
数据库的安全性是指保护数据库,防止因用户 非法使用数据库造成数据泄露、更改或破坏。
什么是数据的保密
数据保密是指用户合法地访问到机密数据后能 否对这些数据保密。
通过制订法律道德准则和政策法规来保证。
第四章
数据库安全性
计算机系统的安全性问题(续) 管理安全:软硬件意外故障、场地的 意外事故、管理不善导致的计算机设 备和数据介质的物理破坏、丢失等安 全问题。
计算机系统的安全性问题(续) 政策法律类:政府部门建立的有关计 算机犯罪、数据安全保密的法律道德 准则和政策法规、法令。
安全标准简介
为降低进而消除对系统的安全攻击,各国引用或制定了一 系列安全标准 TCSEC (桔皮书) TDI (紫皮书)
用户权限管理阶段
好景不长,老板发现仓库的东西还是经常少。明明都是有钥匙的人 才能进去呀。但是,谁拿了多少,根本没办法查出来。 老板猜测原因有二:一,有些人拿了不该拿的东西。二,有些人偷偷 的去配了钥匙。 老板一咬牙,没收所有的钥匙。花800块一个月雇个仓库管理员,每 个进仓库拿东西的人都要登记。李老板还给给仓库管理员一个清单, 谁可以拿什么东西。
自主存取控制方法(续)
自主存取控制小结(续)
缺点
可能存在数据的“无意泄露”
原因:这种机制仅仅通过对数据的存取权限来进 行安全控制,而数据本身并无安全性标记。 解决:对系统控制下的所有主客体实施强制存取 控制策略
4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法
DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户
按受权限的用户
一个或多个具体用户
PUBLIC(全体用户)
WITH GRANT OPTION子句
WITH GRANT OPTION子句:
指定:可以再授予 没有指定:不能传播
不允许循环授权
例题
[例1] 把查询Student表权限授给用户U1
第四章 数据库安全性
4.1 计算机安全性概述 4.2 数据库安全性控制
4.3 视图机制
4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安全性 4.7 SQL Server安全管理
4.8 小结
对数据库安全的威胁
无意损坏
心存不满的专业人员 天窗
物理损坏 火灾、水灾等 数据库
工业间谍 数据复制
4.2 数据库安全性控制 4.2.1 用户标识与鉴别 4.2.2 存取控制
4.2.3 自主存取控制方法
4.2.4 授权与回收 4.2.5 数据库角色
4.2.6 强制存取控制方法
4.2.3 自主存取控制方法
通过 SQL 的 GRANT 语句和 REVOKE 语句实现
用户权限组成
数据对象
操作类型