第4章数据库安全性
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Байду номын сангаас
不同安全级别对安全指标的支持情况
不 支 持 新 增
同 等 加 强
CC评估标准(国际新标准)
• CC 提出国际公认的表述信息技术安全性的结构 把信息产品的安全要求分为 • 安全功能要求 • 安全保证要求 • CC文本组成 简介和一般模型 安全功能要求 安全保证要求
•CC评估级别与TCSEC安全级别对照
语句授权
• 授予用户对某个数据对象具有某种操作权限, 称之为对象授权。 • 在SQLSERVER中还有另外一种授权—语句授权。 • GRANT语句授权的一般格式: GRANT <语句权限>[,<语句权限>]... TO <用户>[,<用户>]... • <语句权限>一般有: –CREATE DATABASE –CREATE TABLE –CREATE VIEW
可信计算机系统评测标准
TCSEC或DoD85: 美国国防部(DoD)1985 年颁布的《DoD可信计算机系统评估标准》 ( Trusted Computer System Evaluation Criteria). TDI:美国NCSC(国家计算机安全中心) 1991年4月颁布的《可信计算机系统评估 标准关于可信数据库系统的解释》 (Trusted Database Interpretation) 紫皮书。
计算机安全性概述
数据库安全性控制
统计数据库的安全性
4.1 计算机安全性概述
数据库安全性:指保护数据库以防止不合法的 使用所造成的数据泄露、更改或破坏。 计算机系统安全性:指为计算机系统建立和采 取的各种安全保护措施,以保护计算机系统中 的硬件、软件及数据,防止其因偶然或恶意的 原因使系统遭到破坏,数据遭到更改或泄露等。 计算机系统安全性的三类问题:技术安全、管 理安全和政策法律。
信息安全标准的发展历史
它们有各级安全性保护级别P132
• TDI/TCSEC标准的基本内容
–四个方面,23个指标 • 安全策略、责任、保证、文档 –七个等级(四组) • D、C(C1,C2)、B(B1,B2,B3)、A(A1) • 安全级别之间具有一种偏序向下兼容的关系,即较高安 全性级别提供的安全保护要包含较低级别的所有保护要 求,同时提供更多更完善的保护能力。
对象授权
• GRANT语句的一般格式(SQL Server):
• GRANT <权限>[,<权限>]…[ALL PRIVILIGES] [ON <对象名>] TO <用户>[,<用户>]…[public] [WITH GRANT OPTION]; • 指定了WITH GRANT OPTION子句:获得某种权限的 用户还可以把这种权限再授予别的用户。 • 没有指定WITH GRANT OPTION子句:获得某种权限 的用户只能使用该权限,不能传播该权限。 • 若用户指定为public,则代表所有用户。 • ALL PRIVILIGES代表所有权限。
SQL Server中的角色与用户
• 显示用户信息:sp_helpuser dbo –显示用户名、角色、登录名、登录SQL Server后默 认连接的数据库。 • 创建一用户 –登录名:U3login, 密码:123, 用户名: USER3, 角色:role1,默认连接的数据库:dbuser78 –分两步: • 创建登录名 sp_addlogin '登录名', '密码','默认数据库' sp_addlogin 'U3login', '123', ' dbuser78' • 创建用户 sp_adduser '登录名', '用户名', '角色' sp_adduser 'U3login', 'USER3 ', 'role1'
语句授权
• create table t1( c1 int ); • 把创建表的权限授给用户U1 –GRANT CREATE TABLE TO U1; –GRANT CREATE TABLE TO U1 with grant option
• 语句授权不能带有with grant option选项。
用户
用户标识 和鉴定
DBMS
存取控制 审计视图
OS
操作系统 安全保护
DB
密码存储
用户标识与鉴别
系统提供的最外层安全保护措施,主要由用户 名和口令组成。 基本方法 系统提供一定的方式让用户标识自己的名字 或身份。 每次用户要求进入系统时,由系统核对用户 提供的身份标识。 通过鉴别后才提供系统使用权。 用户标识和鉴别可以重复多次
• D级:最小保护
–将一切不符合更高标准的系统均归于D组。 –典型例子:DOS是安全标准为D的操作系统 • DOS在安全性方面几乎没有什么专门的机制来保障
B2以上的系统
还处于理论研究阶段。 • 应用多限于一些特殊的部门如军队等。 • 经过认证的B2级以上的安全系统非常稀少 • 操作系统 –只有Trusted Information Systems公司 的Trusted XENIX一种产品 • 标准的网络产品 –只有Cryptek Secure Communications公 司的LLC VSLAN一种产品 • 数据库没有符合B2标准的产品
自主存取控制(DAC)
• 自主存取控制方法
• 同一用户对于不同的数据对象有不同的存取权限 • 不同的用户对同一对象也有不同的权限 • 用户还可将其拥有的存取权限转授给其他用户
• 存取权限由两个要素组成
• 数据对象 • 操作类型
• 定义存取权限称为授权。
• 分为两种:对象授权和语句授权。
对象授权
• 谁可以授权:
对象授权-举例
• 把查询course表的cpno列的权限授给用户U1,允许U1传 播该权限 –GRANT SELECT(cpno) ON course TO U1 WITH GRANT OPTION; –U1可以执行下面操作 –GRANT SELECT(cpno) ON course TO U2; • 把删除COURSE表中元组的权限授给用户U1 –GRANT DELETE ON COURSE TO U1; • U1是否可以执行下面操作 –delete from COURSE where cname = '物理' –不可以,因为U1没有对COURSE 的cname 的查询权限。 –GRANT SELECT (cname) ON COURSE TO U1;
存取控制
• 存取权限定义和存取权限检查机制一起组成了 DBMS的安全子系统 • 常用存取控制方法
• 自主存取控制(Discretionary Access Control , 简称DAC) • 要达到C2级,必须支持自主存取控制 • 灵活 • 强制存取控制(Mandatory Access Control,简称 MAC) • 要达到B1级,必须支持强制存取控制 • 严格
计算机系统安全性的三类问题
技术安全问题:指计算机系统中采用具有一定 安全性的硬件、软件来实现对计算机系统及其 所存数据的安全保护。 管理安全问题:因软件以外故障、场地出以外 事故、管理不善导致的计算机设备和数据介质 的物理破坏、丢失等安全问题。 政策法律问题:指政府部门建立的有关计算机 犯罪、数据安全保密的法律道德准则和政策法 规、法令等。
CC评估保证级别 EAL1 EAL2 EAL3 EAL4 EAL5 EAL6 EAL7 TCSEC安全级别 (近似相当) C1 C2 B1 B2 B3 A1
4.2 数据库安全性控制
数据库的安全性保护宗旨就是防止非法存取和 意外(恶意)破坏. • 计算机系统的安全模型:层层设防。 外
安全性控制层次
内
• 创建角色: • sp_addrole '角色名' • 创建角色role1 • sp_addrole 'role1 '
SQL Server中的角色与用户
• 为角色授权 • GRANT <权限>[,<权限>]... [ON <对象名>] TO <角色>[,<角色>]... [WITH GRANT OPTION]; • GRANT <语句权限>[,<语句权限>]... TO <角色>[,<角色>]... • grant SELECT ON course to role1 with grant option; • grant create table to role1;
存取控制
• 存取控制机制作用
• 确保只授权给有资格的用户访问数据库的权限,同 时令所有未授权的人员无法接近数据库。
• 存取控制机制的组成
• 定义存取权限 • 在数据库系统中,为了保证用户只能访问他有权 存取的数据,必须预先对每个用户定义存取权限, 这些用户权限最终被存放在数据字典中,被称安 全规则或授权规则。 • 检查存取权限 • 每当用户发出存取数据库的操作请求后,DBMS 查找数据字典,根据安全规则进行合法权限检查, 若用户的操作请求超出了定义的权限,系统将拒 绝执行此操作。
对象授权-举例
• 把对Student表和Course表的全部权限授予用户 U2和U3 GRANT ALL PRIVILIGES ON Student, Course TO U2, U3; • 把查询course表的ccredit列的权限授给用户U1 –GRANT SELECT(ccredit) ON course TO U1; –U1不能执行下面操作 –GRANT SELECT(ccredit) ON course TO U2;
SQL Server中的角色与用户
• 收回角色的权限 –REVOKE <权限>[,<权限>]... [ON <对象名>] from <角色>[,<角色>]... [CASCADE]; –REVOKE <语句权限>[,<语句权限>]... from <角色>[,<角色>]... • REVOKE SELECT ON course from role1 cascade;
授权与收回—举例
• 把用户U1查询SC表的sno列的权限收回 • revoke SELECT (sno) ON SC from U1; • sa把查询course表的权限授予用户U1 • grant SELECT ON course to U1 with grant option; • sa把用户U1查询course表的权限收回 • REVOKE SELECT ON course FROM U1 • sa把用户U1查询course表的权限收回,同时也 收回U1用户的级联授权。 • REVOKE SELECT ON course FROM U1 CASCADE
• DBA、表的建立者(即表的属主)、拥有一定权限 的其他用户.
• 如何授权:使用SQL语句:GRANT 对 象 操 作 权 限 属性列 SELECT, UPDATE, ALL PRIVIEGES
视
图 SELECT, INSERT, UPDATE, DELETE, ALL PRIVIEGES 基本表 SELECT, INSERT, UPDATE, DELETE, ALL PRIVIEGES
SQL Server中的角色与用户
• 角色:
–数据库角色:被命名的一组与数据库操作相关 的权限,角色是权限的集合。
院长 王某 张某 教务员 李某 孙某 教研室主任
赵某 曾某 钱某
–如果一组用户具有相同权限 –我们可以创建一个拥有这些权限的角色,然后 把这一角色授予这一组用户 –这样可以简化授权。
SQL Server中的角色与用户
自主存取控制(DAC)方法小结
优点 • 能够通过授权机制有效地控制其他用户对 敏感数据的存取 缺点 • 可能存在数据的“无意泄露” • 仅仅通过对数据的存取权限来进行安全控 制,而数据本身并没有安全性标记。
强制存取控制(MAC)
授权与收回
• 收回对象权限: • REVOKE <权限>[,<权限>]... [ON <对象名>] from <用户>[,<用户>]...[CASCADE] • 选项CASCADE可收回级联授权。 • 收回语句权限: • REVOKE <语句权限>[,<权限>]... from <用户>[,<用户>]... • 收回语句权限不能带有CASCADE选项
不同安全级别对安全指标的支持情况
不 支 持 新 增
同 等 加 强
CC评估标准(国际新标准)
• CC 提出国际公认的表述信息技术安全性的结构 把信息产品的安全要求分为 • 安全功能要求 • 安全保证要求 • CC文本组成 简介和一般模型 安全功能要求 安全保证要求
•CC评估级别与TCSEC安全级别对照
语句授权
• 授予用户对某个数据对象具有某种操作权限, 称之为对象授权。 • 在SQLSERVER中还有另外一种授权—语句授权。 • GRANT语句授权的一般格式: GRANT <语句权限>[,<语句权限>]... TO <用户>[,<用户>]... • <语句权限>一般有: –CREATE DATABASE –CREATE TABLE –CREATE VIEW
可信计算机系统评测标准
TCSEC或DoD85: 美国国防部(DoD)1985 年颁布的《DoD可信计算机系统评估标准》 ( Trusted Computer System Evaluation Criteria). TDI:美国NCSC(国家计算机安全中心) 1991年4月颁布的《可信计算机系统评估 标准关于可信数据库系统的解释》 (Trusted Database Interpretation) 紫皮书。
计算机安全性概述
数据库安全性控制
统计数据库的安全性
4.1 计算机安全性概述
数据库安全性:指保护数据库以防止不合法的 使用所造成的数据泄露、更改或破坏。 计算机系统安全性:指为计算机系统建立和采 取的各种安全保护措施,以保护计算机系统中 的硬件、软件及数据,防止其因偶然或恶意的 原因使系统遭到破坏,数据遭到更改或泄露等。 计算机系统安全性的三类问题:技术安全、管 理安全和政策法律。
信息安全标准的发展历史
它们有各级安全性保护级别P132
• TDI/TCSEC标准的基本内容
–四个方面,23个指标 • 安全策略、责任、保证、文档 –七个等级(四组) • D、C(C1,C2)、B(B1,B2,B3)、A(A1) • 安全级别之间具有一种偏序向下兼容的关系,即较高安 全性级别提供的安全保护要包含较低级别的所有保护要 求,同时提供更多更完善的保护能力。
对象授权
• GRANT语句的一般格式(SQL Server):
• GRANT <权限>[,<权限>]…[ALL PRIVILIGES] [ON <对象名>] TO <用户>[,<用户>]…[public] [WITH GRANT OPTION]; • 指定了WITH GRANT OPTION子句:获得某种权限的 用户还可以把这种权限再授予别的用户。 • 没有指定WITH GRANT OPTION子句:获得某种权限 的用户只能使用该权限,不能传播该权限。 • 若用户指定为public,则代表所有用户。 • ALL PRIVILIGES代表所有权限。
SQL Server中的角色与用户
• 显示用户信息:sp_helpuser dbo –显示用户名、角色、登录名、登录SQL Server后默 认连接的数据库。 • 创建一用户 –登录名:U3login, 密码:123, 用户名: USER3, 角色:role1,默认连接的数据库:dbuser78 –分两步: • 创建登录名 sp_addlogin '登录名', '密码','默认数据库' sp_addlogin 'U3login', '123', ' dbuser78' • 创建用户 sp_adduser '登录名', '用户名', '角色' sp_adduser 'U3login', 'USER3 ', 'role1'
语句授权
• create table t1( c1 int ); • 把创建表的权限授给用户U1 –GRANT CREATE TABLE TO U1; –GRANT CREATE TABLE TO U1 with grant option
• 语句授权不能带有with grant option选项。
用户
用户标识 和鉴定
DBMS
存取控制 审计视图
OS
操作系统 安全保护
DB
密码存储
用户标识与鉴别
系统提供的最外层安全保护措施,主要由用户 名和口令组成。 基本方法 系统提供一定的方式让用户标识自己的名字 或身份。 每次用户要求进入系统时,由系统核对用户 提供的身份标识。 通过鉴别后才提供系统使用权。 用户标识和鉴别可以重复多次
• D级:最小保护
–将一切不符合更高标准的系统均归于D组。 –典型例子:DOS是安全标准为D的操作系统 • DOS在安全性方面几乎没有什么专门的机制来保障
B2以上的系统
还处于理论研究阶段。 • 应用多限于一些特殊的部门如军队等。 • 经过认证的B2级以上的安全系统非常稀少 • 操作系统 –只有Trusted Information Systems公司 的Trusted XENIX一种产品 • 标准的网络产品 –只有Cryptek Secure Communications公 司的LLC VSLAN一种产品 • 数据库没有符合B2标准的产品
自主存取控制(DAC)
• 自主存取控制方法
• 同一用户对于不同的数据对象有不同的存取权限 • 不同的用户对同一对象也有不同的权限 • 用户还可将其拥有的存取权限转授给其他用户
• 存取权限由两个要素组成
• 数据对象 • 操作类型
• 定义存取权限称为授权。
• 分为两种:对象授权和语句授权。
对象授权
• 谁可以授权:
对象授权-举例
• 把查询course表的cpno列的权限授给用户U1,允许U1传 播该权限 –GRANT SELECT(cpno) ON course TO U1 WITH GRANT OPTION; –U1可以执行下面操作 –GRANT SELECT(cpno) ON course TO U2; • 把删除COURSE表中元组的权限授给用户U1 –GRANT DELETE ON COURSE TO U1; • U1是否可以执行下面操作 –delete from COURSE where cname = '物理' –不可以,因为U1没有对COURSE 的cname 的查询权限。 –GRANT SELECT (cname) ON COURSE TO U1;
存取控制
• 存取权限定义和存取权限检查机制一起组成了 DBMS的安全子系统 • 常用存取控制方法
• 自主存取控制(Discretionary Access Control , 简称DAC) • 要达到C2级,必须支持自主存取控制 • 灵活 • 强制存取控制(Mandatory Access Control,简称 MAC) • 要达到B1级,必须支持强制存取控制 • 严格
计算机系统安全性的三类问题
技术安全问题:指计算机系统中采用具有一定 安全性的硬件、软件来实现对计算机系统及其 所存数据的安全保护。 管理安全问题:因软件以外故障、场地出以外 事故、管理不善导致的计算机设备和数据介质 的物理破坏、丢失等安全问题。 政策法律问题:指政府部门建立的有关计算机 犯罪、数据安全保密的法律道德准则和政策法 规、法令等。
CC评估保证级别 EAL1 EAL2 EAL3 EAL4 EAL5 EAL6 EAL7 TCSEC安全级别 (近似相当) C1 C2 B1 B2 B3 A1
4.2 数据库安全性控制
数据库的安全性保护宗旨就是防止非法存取和 意外(恶意)破坏. • 计算机系统的安全模型:层层设防。 外
安全性控制层次
内
• 创建角色: • sp_addrole '角色名' • 创建角色role1 • sp_addrole 'role1 '
SQL Server中的角色与用户
• 为角色授权 • GRANT <权限>[,<权限>]... [ON <对象名>] TO <角色>[,<角色>]... [WITH GRANT OPTION]; • GRANT <语句权限>[,<语句权限>]... TO <角色>[,<角色>]... • grant SELECT ON course to role1 with grant option; • grant create table to role1;
存取控制
• 存取控制机制作用
• 确保只授权给有资格的用户访问数据库的权限,同 时令所有未授权的人员无法接近数据库。
• 存取控制机制的组成
• 定义存取权限 • 在数据库系统中,为了保证用户只能访问他有权 存取的数据,必须预先对每个用户定义存取权限, 这些用户权限最终被存放在数据字典中,被称安 全规则或授权规则。 • 检查存取权限 • 每当用户发出存取数据库的操作请求后,DBMS 查找数据字典,根据安全规则进行合法权限检查, 若用户的操作请求超出了定义的权限,系统将拒 绝执行此操作。
对象授权-举例
• 把对Student表和Course表的全部权限授予用户 U2和U3 GRANT ALL PRIVILIGES ON Student, Course TO U2, U3; • 把查询course表的ccredit列的权限授给用户U1 –GRANT SELECT(ccredit) ON course TO U1; –U1不能执行下面操作 –GRANT SELECT(ccredit) ON course TO U2;
SQL Server中的角色与用户
• 收回角色的权限 –REVOKE <权限>[,<权限>]... [ON <对象名>] from <角色>[,<角色>]... [CASCADE]; –REVOKE <语句权限>[,<语句权限>]... from <角色>[,<角色>]... • REVOKE SELECT ON course from role1 cascade;
授权与收回—举例
• 把用户U1查询SC表的sno列的权限收回 • revoke SELECT (sno) ON SC from U1; • sa把查询course表的权限授予用户U1 • grant SELECT ON course to U1 with grant option; • sa把用户U1查询course表的权限收回 • REVOKE SELECT ON course FROM U1 • sa把用户U1查询course表的权限收回,同时也 收回U1用户的级联授权。 • REVOKE SELECT ON course FROM U1 CASCADE
• DBA、表的建立者(即表的属主)、拥有一定权限 的其他用户.
• 如何授权:使用SQL语句:GRANT 对 象 操 作 权 限 属性列 SELECT, UPDATE, ALL PRIVIEGES
视
图 SELECT, INSERT, UPDATE, DELETE, ALL PRIVIEGES 基本表 SELECT, INSERT, UPDATE, DELETE, ALL PRIVIEGES
SQL Server中的角色与用户
• 角色:
–数据库角色:被命名的一组与数据库操作相关 的权限,角色是权限的集合。
院长 王某 张某 教务员 李某 孙某 教研室主任
赵某 曾某 钱某
–如果一组用户具有相同权限 –我们可以创建一个拥有这些权限的角色,然后 把这一角色授予这一组用户 –这样可以简化授权。
SQL Server中的角色与用户
自主存取控制(DAC)方法小结
优点 • 能够通过授权机制有效地控制其他用户对 敏感数据的存取 缺点 • 可能存在数据的“无意泄露” • 仅仅通过对数据的存取权限来进行安全控 制,而数据本身并没有安全性标记。
强制存取控制(MAC)
授权与收回
• 收回对象权限: • REVOKE <权限>[,<权限>]... [ON <对象名>] from <用户>[,<用户>]...[CASCADE] • 选项CASCADE可收回级联授权。 • 收回语句权限: • REVOKE <语句权限>[,<权限>]... from <用户>[,<用户>]... • 收回语句权限不能带有CASCADE选项