11春第04章数据库安全性
第4章 数据库安全性

因此相对比较严格。
第7章 数据库保护
4.2.3自主存取控制方法
大型数据库管理系统几乎都支持自主存取控制,目前的 SQL标准也对自主存取控制提供支持,这主要通过SQL 的 GRANT语句和REVOKE语句来实现。 用户权限是由两个要素组成的:数据对象和操作类型。
定义一个用户的存取权限就是要定义这个用户可以在哪些数
第7章 数据库保护
在自主存取控制中,用户对于不同的数据对象有不同的 存取权限,不同的用户对同一对象也有不同的权限,而且用
户还可将其拥有的存取权限转授给其他用户。因此自主存取
控制非常灵活。 在强制存取控制中,每一个数据对象被标以一定的密级, 每一个用户也被授予某一个级别的许可证。对于任意一个对 象,只有具有合法许可证的用户才可以存取。强制存取控制
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]... [WITH GRANT OPTION]; 语义:将对指定操作对象的指定操作权限授予指定的用户 当选用WITH GRANT OPTION时,被授予的用户有权将 获得的权限再授予其他用户。 发出GRANT命令的可以是DBA、数据库对象创建者(即 属主Owner)、拥有该权限的用户;按受权限的用户可以是
• • • • •
用户标识和鉴定 存取控制 视图
审计
密码存储
第7章 数据库保护
4.2.1 用户标识与鉴别
系统提供的最外层安全保护措施。 1、用一个用户名或者用户标识号来标明用户身份。系统鉴 别此用户是否是合法用户,若是,则可以进入下一步的核实; 若不是,则不能使用计算机。 2、口令,为了进一步核实用户,系统常常要求用户输入口 令。为保密起见,用户在终端输入的口令不显示在屏幕上, 系统核对口令以鉴别用户身份。 3、系统提供一个随机数,用户根据预先约定好的某一过程 或者函数进行计算,系统根据用户计算结果是否正确进一步 鉴定用户身份。
数据库系统概论 第四章 数据库安全性

数据库系统概论第四章数据库安全性在当今数字化的时代,数据已经成为了企业和组织最为重要的资产之一。
数据库作为存储和管理数据的核心设施,其安全性至关重要。
如果数据库的安全性得不到保障,可能会导致数据泄露、数据篡改、数据丢失等严重后果,给企业和组织带来巨大的损失。
因此,深入理解和掌握数据库安全性的相关知识,对于保障数据库的正常运行和数据的安全具有重要意义。
数据库安全性指的是保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
这包括了对数据库中的数据、数据库的访问控制、用户身份验证、数据加密、备份与恢复等多个方面的管理和保护。
访问控制是数据库安全性的重要环节之一。
它决定了谁能够访问数据库中的哪些数据,以及能够进行何种操作(如读取、写入、修改、删除等)。
访问控制通常通过用户身份验证和授权来实现。
用户在访问数据库之前,需要提供有效的身份信息(如用户名和密码)进行验证。
只有通过验证的用户才能获得相应的访问权限。
授权则是为不同的用户或用户组分配不同的权限,以确保他们只能在其权限范围内操作数据。
用户身份验证的方式多种多样。
常见的有基于用户名和密码的验证、基于数字证书的验证、基于生物特征(如指纹、面部识别等)的验证等。
用户名和密码是最基本也是最常用的验证方式,但这种方式存在密码容易被猜测或破解的风险。
因此,为了提高安全性,通常会要求用户设置复杂的密码,并定期更改密码。
数字证书则是一种更安全的验证方式,它基于公钥基础设施(PKI),通过数字签名来验证用户的身份。
生物特征验证则具有更高的安全性和便捷性,因为生物特征具有唯一性和难以伪造的特点。
除了访问控制和用户身份验证,数据加密也是保障数据库安全性的重要手段。
数据加密是将明文数据转换为密文数据的过程,只有拥有正确密钥的用户才能将密文数据解密为明文数据。
这样即使数据被窃取,窃取者也无法获取到有用的信息。
数据加密可以在数据存储时进行(静态加密),也可以在数据传输时进行(动态加密)。
《数据库》作业第4章 数据库安全性

《数据库》作业第4章数据库安全性在当今数字化的时代,数据库中存储着大量的关键信息,包括个人身份信息、财务数据、商业机密等等。
这些数据的安全性至关重要,如果不加以妥善保护,可能会导致严重的后果,如数据泄露、数据篡改、隐私侵犯以及业务中断等。
因此,确保数据库的安全性是一项极其重要的任务。
数据库安全性的定义可以理解为保护数据库中的数据,防止未经授权的访问、修改、删除或泄露。
这涉及到多个方面的措施和技术,包括用户认证、授权、访问控制、加密、审计等。
用户认证是数据库安全性的第一道防线。
它用于确认试图访问数据库的用户的身份。
常见的认证方式包括用户名和密码组合、指纹识别、面部识别等。
用户名和密码是最常见的方式,但需要注意的是,密码应该足够复杂并且定期更换,以增加安全性。
此外,多因素认证,如结合密码和短信验证码,能进一步提高认证的可靠性。
授权则是在用户通过认证后,确定其对数据库中不同数据和操作的权限。
例如,某个用户可能被授权只能读取特定表中的数据,而另一个用户可能被允许进行数据的插入、更新和删除操作。
通过精细的授权管理,可以确保每个用户只能执行其被允许的操作,从而降低误操作和恶意操作的风险。
访问控制是实现授权的具体手段。
常见的访问控制模型包括自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)。
自主访问控制允许数据的所有者决定谁可以访问其数据,这种方式相对灵活,但可能存在权限分配不当的风险。
强制访问控制则基于数据的敏感级别和用户的安全级别来决定访问权限,具有较高的安全性,但管理相对复杂。
基于角色的访问控制将用户分配到不同的角色,每个角色具有特定的权限,这种方式简化了权限管理,并且在大型数据库系统中得到了广泛的应用。
加密是保护数据库中敏感数据的重要手段。
通过对数据进行加密,即使数据被非法获取,没有正确的密钥也无法解读其内容。
常见的加密算法包括对称加密算法(如 AES)和非对称加密算法(如 RSA)。
数据库安全性-课件

An Introduction to Database System
第四章 数据库安全性
中国人民大学信息学院
起钉上传 QQ:113608078 Mail:rgwei@
数据库安全性
问题的提出 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题
数据库系统中的数据共享不能是无条件的共享
技术安全类 管理安全类 政策法律类
起钉上传 QQ:113608078 Mail:rgwei@
4.1 计算机安全性概论
4.1.1 计算机系统的三类安全性问题
4.1.2 安全标准简介
起钉上传 QQ:113608078 Mail:rgwei@
4.1.2 安全标准简介
数据
属性列
SELECT,INSERT,UPDATE, REFERENCES
ALL PRIVILEGES
关系数据库系统中的存取权限
起钉上传 QQ:113608078 Mail:rgwei@
4.2 数据库安全性控制
4.2.1 用户标识与鉴别 4.2.2 存取控制
4.2.3 自主存取控制方法
安全功能要求 安全保证要求
起钉上传 QQ:113608078 Mail:rgwei@
CC(续)
CC文本组成
简介和一般模型 安全功能要求 安全保证要求
起钉上传 QQ:113608078 Mail:rgwei@
CC(续)
CC评估保证级划分
评估保证 级 EAL1 EAL2 EAL3 EAL4 EAL5 EAL6 定 义 TCSEC安全级别(近似相 当) C1 C2 B1 B2 B3 功能测试(functionally tested) 结构测试(structurally tested) 系统地测试和检查(methodically tested and checked) 系统地设计、测试和复查(methodically designed, tested, and reviewed) 半形式化设计和测试(semiformally designed and tested) 半形式化验证的设计和测试(semiformally verified design and tested) EAL7 A1 形式化验证的设计和测试(formally verified design and tested) 起钉上传 QQ:113608078 Mail:rgwei@
第4章数据库安全性

3、创建数据库模式的权限
GRANT CREATE TABLE TO CAO ; GRANT CREATE VIEW TO CAO ; //在某一数据库下完成,如点击student数据库,进入查
询分析器,输入上述命令并执行。 GRANT CREATE DATABASE TO CAO ; //在master数据库下完成。
例12 角色权限的修改 GRANT DELETE ON Student TO R1; //给角色R1增加DELETE权限 REVOKE SELECT ON Student FROM R1; //减少R1对Student表的 SELECT权限
数据库角色
第四章 数据库安全性
4.1 计算机系统安全性概述 4.2 数据库安全性控制 4.3 数据库存取控制方法 4.4 视图机制 4.5 审计 4.6 统计数据库安全性 4.7 小结
例题(续)
例5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限 授予其他用户 GRANT INSERT ON SC TO U5 WITH GRANT OPTION;
执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此 权限:
GRANT INSERT ON SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: GRANT INSERT ON SC TO U7; 但U7不能再传播此权限。 U5--> U6--> U7
REVOKE create view from cao
按右键拉出菜单, 选择“属性”
查看用户即用户权限
4. 数据库角色
数据库角色是被命名的一组与数据库操作相关的权限,角色是 权限的集合。我们可以为一组具有相同权限的用户创建一个角 色,以简化授权过程。 角色创建 CREATE ROLE <角色名> 给角色授权 GRANT <权限>[, <权限>] ON 对象名 TO<角色>[, <角色>] 将一个角色授予其他角色或用户 GRANT <角色1>[, <角色2>…] TO <角色3>[, <用户1>…] sqlserver不支持命令方式,但支持角色的概念和方法。
数据库 第4章 数据库安全性

数据库第4章数据库安全性在当今数字化的时代,数据库成为了各类组织和企业存储重要信息的核心所在。
然而,随着数据的价值不断提升,数据库安全性问题也日益凸显。
这就使得我们必须深入探讨数据库安全性这一关键课题,尤其是在其第 4 章所涵盖的重要内容。
首先,让我们来理解一下什么是数据库安全性。
简单来说,数据库安全性指的是保护数据库中的数据不被未授权的访问、修改、删除或泄露。
这包括了对数据本身的保护,以及对数据库系统的访问控制和管理。
在第 4 章中,一个关键的方面是用户身份认证和授权。
用户身份认证就像是进入一个房间的钥匙,只有证明你是合法的用户,才能获得进入数据库的资格。
这通常通过用户名和密码的组合来实现,但也可能包括更复杂的认证方式,如指纹识别、令牌认证等。
而授权则决定了用户在进入数据库后能够执行的操作。
比如,有些用户可能只能读取数据,而有些用户则可以修改甚至删除数据。
通过精细的授权管理,可以确保每个用户都只能在其被允许的范围内操作数据,从而降低数据被误操作或恶意篡改的风险。
数据加密也是这一章的重要内容。
想象一下,数据就像是珍贵的宝藏,加密则是给这些宝藏加上了一层坚固的锁。
即使数据被窃取,没有正确的解密密钥,窃取者也无法理解其中的内容。
加密可以在数据存储时进行,也可以在数据传输过程中进行。
对于敏感信息,如用户的个人身份信息、财务数据等,加密是必不可少的安全措施。
访问控制策略是数据库安全性的基石之一。
这包括定义谁可以访问数据库、在什么时间访问、从哪里访问等规则。
例如,可以限制特定的 IP 地址范围访问数据库,或者只允许在工作时间内进行访问。
访问控制还可以基于角色来设置,比如管理员角色、普通用户角色等,每个角色都有其特定的权限。
数据库审计也是保障安全性的重要手段。
它就像是一个监控摄像头,记录下数据库中的所有活动。
通过审计日志,可以追踪到谁在什么时候进行了什么操作。
这对于发现异常活动、调查安全事件以及满足合规性要求都非常重要。
第四章数据库的安全性

从EALl至EAL7共分为七级,按保证程度逐渐 增高。
4.1 计算机安全性概述
TCSEC是1985年美国国防部(DoD)正式颁布 的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简 称TCSEC或DoD85)。
制定这个标准的目的主要有:
⑴提供一种标准,使用户可以对其计算机系统内 敏感信息安全操作的可信程度作评估。
4.1 计算机安全性概述
CC是在上述各评估准则及具体实践基础上,通过相互 总结和互补发展而来的。和早期的评估准则相比,CC 只有结构开放、表达方式通用等特点。
CC提出了目前国际上公认的表述信息技术安全性的结 构,即把对信息产品的安全要求分为安全功能要求和 安全保证要求。
安全功能要求用以规范产品和系统的安全行为,安全 保证要求解决如何正确有效地实施这些功能。
目前有许多信息产品,操作系统如Windows2000、 Sun Solaris 8等,数据库管理系统如Oracle9i、 DB2 V8.2 、Sybase Adaptive Sever Enterprise Vl2.5.2等,都已通过了CC的EAL4。
4.2 数据库安全性控制
在一般计算机系统中,安全措施是一级一级层层设置 的。例如可以有如下的模型:
安全功能要求和安全保证要求都以“类-子类-组件” 的结构表达,组件是安全要求的最小构件块。
4.1 计算机安全性概述
第04章 数据库安全性

31
可信计算机系统评测标准(续)
B3级
– 安全域。 – 该级的TCB必须满足访问监控器的要求,审
计跟踪能力更强,并提供系统恢复过程。
*
An Introduction to Database System
32
可信计算机系统评测标准(续)
A1级
– 验证设计,即提供B3级保护的同时给出系统 的形式化设计说明和验证以确信各安全保护 真正实现。
*
An Introduction to Database System
7
计算机系统的三类安全性问题(续)
计算机安全涉及问题
– 计算机系统本身的技术问题 计算机安全理论与策略 计算机安全技术
– 管理问题 安全管理 安全评价 安全产品
*
An Introduction to Database System
给计算机行业的制造商提供一种可循的指导规则,使 其产品能够更好地满足敏感应用的安全需求。
*
An Introduction to Database System
16
可信计算机系统评测标准(续)
1991年4月美国NCSC(国家计算机安全中 心)颁布了《可信计算机系统评估标准关 于可信数据库系统的解释》( Trusted Database Interpretation 简称TDI) – TDI又称紫皮书。它将TCSEC扩展到数 据库管理系统。
– 只有Trusted Information Systems公司的Trusted XENIX一种 产品
标准的网络产品
– 只有Cryptek Secure Communications公司的LLC VSLAN一 种产品
数据库
– 没有符合B2标准的产品
数据库安全性 ppt课件

ppt课件
4
4
计算机安全性概述
安全标准 计算机以及信息安全技术方面有一系列的安全标准,最 有影响的是TCSEC和CC。 TCSEC标准 TCSEC是指1985年美国国防部正式颁布的《DoD可信计 算机系统评估准则》。1991年4月美国NCSC(美国计算机安 全中心)颁布了《可信计算机系统评估准则关于可信数据库 系统的解释》(简称TDI),将TCSEC扩展到数据库管理系统。 TDI中定义了数据库管理系统的设计与实现中需要满足和用以 进行安全性级别评估的标准。 TCSEC/TDI从安全策略、责任、保证、文档等四个方面 来描述安全性级别划分的指标。同时根据计算机系统对各项 指标的支持情况,将系统划分为四组七个等级,依次是D、C (C1,C2)、B(B1,B2,B3)、A(A1)。按系统可靠或
GRANT <权限>[,<权限>]…
ON <对象类型>对象名
TO <角色>[,<角色>]… 这里:DBA和用户可以将权限授予某一个或某几个用户。
11
11
用户标识与鉴别
用户标识与鉴别是系统提供的最外层安全保护措 施。是由用户提供一定的方式让用户标识自己的名字 或身份,每次用户要求进入系统时,由系统进行核对 通过鉴定后才提供机器使用权。 实现方法: 用户标识:用用户名或ID号来标明用户身份, 系统内部记录着所有合法用户的标识,系统鉴别此用 户是否是合法用户,若是,则可以进入下一步的核实; 若不是,则不能使用系统。 口令:系统要求用户输入口令,系统核对口令 以进一步核实用户身份。此时需要防止口令与用户名 被窃取。
ppt课件 13
13
存取控制——自主存取控制方法 自主存取控制方法即是 DBA拥有对数据库中所有对象 的所有权限,并可根据实际情况将不同的权限授予不同的用 户。用户可以“自主”地决定将数据的操作权限授予何人、 决定是否也将“授权”的权限授予别人。 理解 用户对自己建立的基本表和视图拥有全部的操作权 限,对于不同的数据库对象有不同的存取权限,不同的用户 对同一对象也有不同的权限; 用户还可将其拥有的某些权限转授给其他用户,被 授权的用户如果有“继续授权”的许可,还可以把获得的权 限再授予其他用户。 所有授予出去的权力在必要时可以收回。 实现方法 GRANT:授权
数据库安全性教学课件

数据库安全性的挑战
挑战一
随着互联网的发展,数据库面临 着来自内部和外部的多种威胁, 如黑客攻击、病毒传播、内部人
员误操作等。
挑战二
数据库访问权限管理困难,特别是 对于大型企业或政府机构,用户数 量众多,权限分配复杂。
挑战三
数据库的备份与恢复机制不完善, 可能导致数据丢失或损坏。
数据库安全性策略
策略一
详细描述
1. 安全漏洞:Oracle数据库存在一些已知的安全漏洞,如利用漏洞获取 系统权限、数据泄露等。攻击者可能利用这些漏洞绕过身份验证和授权
控制,获得未授权访问权限。
2. 密码安全:Oracle数据库密码存储采用加密方式,相对较安全。建议 使用长且复杂的密码,并定期更换密码。同时,启用多因素身份验证, 提高账户安全性。
05
数据库安全性最佳实践
定期更新与打补丁
及时更新数据库软件
定期检查数据库软件的更新和补丁,确保使用最新版本,以获得 最新的安全修复和漏洞修复。
自动更新与手动更新
配置自动更新和手动更新策略,确保在新的安全补丁发布后能够及 时应用。
测试更新
在更新数据库软件之前,应在测试环境中进行测试,以确保更新不 会导致任何兼容性问题。
2. 密码安全:SQL Server密码存储方式相对较安全,但仍然存在被破解的风险。建议使用 强密码并定期更换,同时启用多因素身份验证提高账户安全性。
案例三
3. 访问控制
SQL Server提供了较完善的访问控制机制 ,如角色管理和权限管理。应合理分配角色 和权限,避免权限过大导致数据泄露或损坏 。同时,监控和管理登录账户的异常行为, 及时发现和处理潜在的安全威胁。
02
数据库访问控制
第四章数据库安全性

第四章数据库安全性1第四章数据库安全性•4.1 计算机安全性概述•4.2 数据库安全性控制•4.3 视图机制•4.4 审计(Audit)•4.5 数据加密•4.6 小结34.1 计算机安全性概述4.1.1 计算机系统的三类安全性问题4.1.2 安全标准简介44.1.1 计算机系统的三类安全性问题 计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。
5技术安全指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及所存数据的安全保护,当计算机系统受到无意或恶意攻击时仍能保持系统正常运行,保证系统内的数据不增加、不丢失、不泄露。
管理安全指由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。
政策法律指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。
64.1.2 安全标准简介•TCSEC标准(Trusted Computer System Evaluation Criteria, TCSEC)1985年美国国防部(DoD)正式颁布的《DoD可信计算机系统评估准则》•CC标准(Common Criteria)提出国际公认的表述信息技术安全性的结构,和早期的评估准则比,具有结构开放、表达方式通用的特点。
78安全标准简介(续)信息安全标准的发展历史安全标准简介(续)1、TCSEC/TDI标准的基本内容-1991年4月美国国家计算机安全中心颁布了《可信计算机系统评估准则关于可信数据库系统的解释》(Trusted Database Interpretation, TDI),将TCSEC扩展到数据库管理系统-TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准–TCSEC/TDI,从四个方面来描述安全性级别划分的指标•安全策略•责任•保证•文档9TCSEC/TDI安全级别划分(续)–D级,最低级别。
第四章数据库安全性

半形式化设计和测试(semiformally designed and
B2
tested)
半形式化验证的设计和测试(semiformally verified
B3
design and tested)
形式化验证的设计和测试(formally verified
A1
design and tested)
2020/7/24
静态口令一般由用户自己设定,这些口令是静态不变的
2.动态口令鉴别
口令是动态变化的,每次鉴别时均需使用动态产生的新口 令登录数据库管理系统,即采用一次一密的方法
3.生物特征鉴别
通过生物特征进行认证的技术,生物特征如指纹、虹膜和 掌纹等
4.智能卡鉴别
智能卡是一种不可复制的硬件,内置集成电路的芯片,具 有硬件加密功能
2020/7/24
30
数据库安全性控制(续)
数据库管理系统安全性控制模型
2020/7/24
31
数据库安全性控制(续)
❖ 存取控制流程
首先,数据库管理系统对提出SQL访问请求的数据库 用户进行身份鉴别,防止不可信用户使用系统。
然后,在SQL处理层进行自主存取控制和强制存取控 制,进一步可以进行推理控制。
强制存取控制(Mandatory Access Control,简称 MAC)
B1级 每一个数据对象被标以一定的密级 每一个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取
B1级典型例子
操作系统 ➢惠普公司的HP-UX BLS release 9.09+
数据库 ➢Oracle公司的Trusted Oracle 7 ➢Sybase公司的Secure SQL Server version 11.0.6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TO
U2, U3;
2020/10/14
U2、U3可以做 什么?不能做
什么?
23
授权操作
授权操作示例(2)
【例3】 把对表SC的查询权限授予所有用户。
GRANT SELECT
ON
TABLE SC
TO
PUBLIC;
【例4】把查询Student表和修改学生学号的权限授给用户U4。
GRANT UPDATE(Sno) , SELECT
2020/10/14
9
可信计算机系统评测标准-B3、A1级
• B3级
– 安全域。 – 该级的TCB必须满足访问监控器的要求,审计跟踪能力更
强,并提供系统恢复过程。
• A1级
– 验证设计,即提供B3级保护的同时给出系统的形式化设计 说明和验证以确信各安全保护真正实现。
• B2以上的系统
– 还处于理论研究阶段,应用多限于一些特殊的部门。 – 美国正在大力发展安全产品,试图将目前仅限于少数领域
• 技术安全 – 指计算机系统中采用具有一定安全性的硬件、软件来 实现对计算机系统及其所存数据的安全保护,当计算 机系统受到无意或恶意的攻击时仍能保证系统正常运 行,保证系统内的数据不增加、不丢失、不泄露。
• 管理安全
– 软硬件意外故障、场地的意外事故、管理不善导致的 计算机设备和数据介质的物理破坏、丢失等安全问题。
• MAC – 每一个数据对象被标以一定的密级。 – 每一个用户也被授予某一个级别的许可证。 – 对于任意一个对象,只有具有合法许可证的用户才可 以存取。
2020/10/14
17
3.自主存取控制方法
• 用户存取权限要素 – 数据对象、操作类型。
• 定义存取权限 – 用户:自己决定哪些用户可以在什么数据对象上进 行何种类型的操作。 – 方法:SQL标准中是GRANT、REVOKE语句。
ON
TABLE Student
TO
U4;
2020/10/14
24
授权操作
授权操作示例(3)
【例5】 把对表SC的INSERT权限授予U5用户,并允许
他再将此权限授予其他用户。 U5执行(传播):
GRANT INSERT
GRANT INSERT
ON TABLE SC
TO
U5
ON TABLE SC TO U6 WITH GRANT OPTION
2020/10/14
22
授权操作
【例1】把查询Student表权限授给用户U1
GRANT SELECT
ON
TABLE Student
是谁在 授权??
TO
U1;
【例2】把对Student表和Course表的全部权限授 予用户U2和U3。
GRANT ALL PRIVILIGES
ON TABLE Student, Course
• 数据库安全性控制的常用方法 – 用户标识和鉴定
– 存取控制
– 视图
– 审计
– 密码存储
2020/10/14
13
1.用户标识与鉴别
• 系统提供的最外层安全保护措施。
• 常用方法 – 用户名/口令:简单易行,容易被人窃取。 – 每个用户预先约定好一个计算过程或者函数: • 系统提供一个随机数。 • 用户根据自己预先约定的计算过程或者函数进行计算。 • 系统根据用户计算结果是否正确鉴定用户身份。
• 什么是数据库的安全性 – 数据库的安全性是指保护数据库,防止因用户非法使 用数据库造成数据泄露、更改或破坏。
• 数据库系统的安全保护措施是否有效是数据库系统主 要的性能指标之一。
2020/10/14
3
3.安全标准简介
• TCSEC (桔皮书) – 1985年美国国防部正式颁布《 DoD可信计算机系统评 估标准》(简称TCSEC或DoD85)。
8
• Informix公司的Incorporated INFORMIX-OnLine /
可信计算机系统评测标准-B2级
• 结构化保护
• 建立形式化的安全策略模型并对系统内的所有主体和客 体实施DAC和MAC。
• 经过认证的B2级以上的安全系统非常稀少。
• 典型例子 – 操作系统:只有Trusted Information Systems公司 的Trusted XENIX一种产品 – 标准的网络产品:只有Cryptek Secure Communications公司的LLC VSLAN一种产品 – 数据库:没有符合B2标准的产品。
• 典型例子
– 操作系统
• 数字设备公司的SEVMS VAX Version 6.0
• 惠普公司的HP-UX BLS release 9.0.9+
– 数据库
• Oracle公司的Trusted Oracle 7
• Sybase公司的Secure SQL Server version 11.0.6
2020/10/14
• 接受权限的用户
– 一个或多个具体用户 – PUBLIC(全体用户)
2020/10/14
GRANT CREATETAB
ON DATABASE S_C
TO
U8;
2020/10/14
26
权限回收
收回权限示例
【例7】把用户U4修改学生学号的权限收回。
REVOKE UPDATE(Sno)
由DBA或授于DBA
ON FROM
TABLE Student U4;
权限的用户对其他 用户进行权限回收。
【例8 】收回所有用户对表SC的查询权限。
WITH GRANT OPTION;
U6执行(传播):
权限传播:允许获得权 限的用户把这种权限再 授予别的用户。
GRANT INSERT ON TABLE SC TO U7
2020/10/14
U7能不能再传播此权限?? NO 25
DBA授权建表权限
【例6】 DBA把在数据库S_C中建立表的权限授 予用户U8
本章内容概要
• 一、计算机安全性概述 • 二、数据库安全性控制 • 三、视图机制 • 四、审计 • 五、数据加密 • 六、统计数据库安全性
2020/10/14
0
一、计算机安全性概述
• 1.计算机系统的三类安全性问题 • 2.数据库的安全性概念 • 3.安全标准简介
2020/10/14
1
1.计算机系统的三类安全性问题
应用的B2安全级别下放到商业应用中来,并逐步成为新的 商业标准。
2020/10/14
10
不同安全级别对安全指标的支持情况
表示该级不提供对该指标的支持
表示该级对该指标的支持较下 一级有所增加或改动
2020/10/14
表示该级新增的对该指标的支持
表示该级对该指标的支持与相 邻低一级的等级一样
11
二、数据库安全性控制
2020/10/14
5
可信计算机系统评测标准-D、C1级
• D级 – 将一切不符合更高标准的系统均归于D组。 – 典型例子 • DOS是安全标准为D的操作系统。 • DOS在安全性方面几乎没有什么专门的机制来保障。
• C1级 – 非常初级的自主控制 (DAC),保护或限制用户权限的传播。
2020/10/14
4
TCSEC/TDI安全级别划分
安全级别 A1 B3 B2 B1 C2 C1 D
定
义
验证设计(Verified Design)
安全域(Security Domains)
结构化保护(Structural Protection)
标记安全保护(Labeled Security Protection)
REVOKE SELECT
ON
TABLE SC
FROM PUBLIC;
【例9】 把用户U5对SC表的INSERT权限收回。
REVOKE INSERT
ON
TABLE SC
FROM U5;
2020/10/14
27
权限的级联回收
如果把用户U5对SC表的INSERT权限收回: • 系统将收回直接或间接从U5处获得的对SC表的
2020/10/14
6
可信计算机系统评测标准-C2级
• 安全产品的最低档次。
• 提供受控的存取保护,将C1级的DAC进一步细化,以个人 身份注册负责,并实施审计和资源隔离。
• 达到C2级的产品在其名称中往往不突出“安 全”(Security)这一特色。
• 典型例子
– 操作系统 • Microsoft的Windows NT 3.5, • 数字设备公司的Open VMS VAX 6.0和6.1
• 1. 用户标识与鉴别 • 2. 存取控制 • 3. 自主存取控制方法 • 4.授权与回收 • 5.数据库角色
2020/10/14
12
数据库安全性控制概述
• 非法使用数据库的情况 – 用户编写一段合法的程序绕过DBMS及其授权机制,通过 操作系统直接存取、修改或备份数据库中的数据。
– 直接或编写应用程序执行非授权操作。 – 通过多次合法查询数据库从中推导出一些保密数据。 – 破坏安全性的行为可能是无意的,故意的,恶意的。
INSERT权限: →U5 → U6 → U7 • 收回U5、U6、U7获得的对SC表的INSERT权限: ←U5 ← U6 ← U7
2020/10/14
28
操作权限
2020/10/14
29
用户权限
• 建表(CREATETAB)的权限
– 属于DBA
– DBA授予→普通用户
• 基本表或视图的属主
– 拥有对该表或视图的一切操作权限
– 数据库 • Oracle公司的Oracle 7 • Sybase公司的 SQL Server 11.0.6