资源预览内容
第1页 / 共81页
第2页 / 共81页
第3页 / 共81页
第4页 / 共81页
第5页 / 共81页
第6页 / 共81页
第7页 / 共81页
第8页 / 共81页
第9页 / 共81页
第10页 / 共81页
亲,该文档总共81页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库安全性数据库安全性v 问题的提出问题的提出数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享数据库系统中的数据共享不能是无条件的共享数据库安全性数据库安全性例:例: 军事秘密、国家机密、新产品实验数据、军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、市场需求分析、市场营销策略、销售计划、 客户档案、医疗档案、银行储蓄数据客户档案、医疗档案、银行储蓄数据第四章第四章 数据库安全性数据库安全性4.1 4.1 计算机安全性概述计算机安全性概述4.2 4.2 数据库安全性控制数据库安全性控制4.3 4.3 视图机制视图机制4.4 4.4 审计(审计(AuditAudit) 4.5 4.5 数据加密数据加密4.6 4.6 统计数据库安全性统计数据库安全性4.7 4.7 小结小结4.1 4.1 计算机安全性概述计算机安全性概述4.1.1 4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 4.1.2 4.1.2 安全标准简介安全标准简介4.1.1 4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 v 计算机系统安全性计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的护计算机系统中的硬件硬件、软件软件及及数据数据,防止其因偶然,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。等。计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续) v三类计算机系统安全性问题三类计算机系统安全性问题技术安全类技术安全类管理安全类管理安全类政策法律类政策法律类4.1 4.1 计算机安全性概论计算机安全性概论4.1.1 4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 4.1.2 4.1.2 安全标准简介安全标准简介4.1.2 4.1.2 安全标准简介安全标准简介vTCSECTCSEC标准标准vCCCC标准标准安全标准简介(续)安全标准简介(续)信息安全标准的发展历史信息安全标准的发展历史 安全标准简介(续)安全标准简介(续)vTCSEC/TDITCSEC/TDI标准的基本内容标准的基本内容TCSEC/TDITCSEC/TDI,从,从四个方面四个方面来描述安全性级别划分的指标来描述安全性级别划分的指标安全策略安全策略责任责任保证保证文档文档TCSEC/TDITCSEC/TDI安全级别划分安全级别划分vTCSEC/TDITCSEC/TDI安全级别划分安全级别划分安安 全全 级级 别别 定定 义义 A1验证设计(验证设计(Verified Design) B3安全域(安全域(Security Domains) B2结构化保护(结构化保护(Structural Protection) B1标记安全保护(标记安全保护(Labeled Security Protection) C2受控的存取保护受控的存取保护(Controlled Access Protection) C1自主安全保护自主安全保护(Discretionary Security Protection) D最小保护(最小保护(Minimal Protection)TCSEC/TDITCSEC/TDI安全级别划分(续)安全级别划分(续)按系统可靠或可信程度逐渐增高按系统可靠或可信程度逐渐增高各安全级别之间:偏序向下兼容各安全级别之间:偏序向下兼容TCSEC/TDITCSEC/TDI安全级别划分(续)安全级别划分(续)vB2B2以上的系统以上的系统还处于理论研究阶段还处于理论研究阶段应用多限于一些特殊的部门,如军队等应用多限于一些特殊的部门,如军队等美国正在大力发展安全产品,试图将目前仅限于少数美国正在大力发展安全产品,试图将目前仅限于少数领域应用的领域应用的B2B2安全级别下放到商业应用中来,并逐步安全级别下放到商业应用中来,并逐步成为新的商业标准成为新的商业标准 CC CCv CC CC提出国际公认的表述信息技术安全性的结构提出国际公认的表述信息技术安全性的结构把信息产品的安全要求分为把信息产品的安全要求分为安全功能要求安全功能要求安全保证要求安全保证要求CCCC(续)(续)v CC CC文本组成文本组成简介和一般模型简介和一般模型安全功能要求安全功能要求安全保证要求安全保证要求CCCC(续)(续)v CC CC评估保证级划分评估保证级划分 评估保证评估保证级级定义定义TCSEC安全级别(近似相安全级别(近似相当)当)EAL1功能测试(功能测试(functionally tested)EAL2结构测试(结构测试(structurally tested)C1EAL3系统地测试和检查(系统地测试和检查(methodically tested and checked)C2EAL4系统地设计、测试和复查(系统地设计、测试和复查(methodically designed, tested, and reviewed)B1EAL5半形式化设计和测试(半形式化设计和测试(semiformally designed and tested)B2EAL6半形式化验证的设计和测试(半形式化验证的设计和测试(semiformally verified design and B3tested)EAL7形式化验证的设计和测试(形式化验证的设计和测试(formally verified design and tested)A1第四章第四章 数据库安全性数据库安全性4.1 4.1 计算机安全性概述计算机安全性概述4.2 4.2 数据库安全性控制数据库安全性控制4.3 4.3 视图机制视图机制4.4 4.4 审计(审计(AuditAudit) 4.5 4.5 数据加密数据加密4.6 4.6 统计数据库安全性统计数据库安全性4.7 4.7 小结小结4.2 4.2 数据库安全性控制概述数据库安全性控制概述v非法使用数据库的情况非法使用数据库的情况编写合法程序绕过编写合法程序绕过DBMSDBMS及其授权机制及其授权机制直接或编写应用程序执行非授权操作直接或编写应用程序执行非授权操作通过多次合法查询数据库从中推导出一些保密数据通过多次合法查询数据库从中推导出一些保密数据数据库安全性控制概述(续)数据库安全性控制概述(续)计算机系统中,安全措施是一级一级层层设置计算机系统中,安全措施是一级一级层层设置计算机系统的安全模型计算机系统的安全模型 数据库安全性控制概述(续)数据库安全性控制概述(续)v数据库安全性控制的常用方法数据库安全性控制的常用方法用户标识和鉴定用户标识和鉴定存取控制存取控制视图视图审计审计密码存储密码存储4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别v用户标识与鉴别用户标识与鉴别 (Identification & AuthenticationIdentification & Authentication)系统提供的最外层安全保护措施系统提供的最外层安全保护措施用户标识与鉴别(续)用户标识与鉴别(续)v用户标识用户标识v口令口令系统核对口令以鉴别用户身份系统核对口令以鉴别用户身份 v用户名和口令易被窃取用户名和口令易被窃取预防措施:每个用户预先约定好一个预防措施:每个用户预先约定好一个计算过程计算过程或者或者函数函数4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法4.2.2 4.2.2 存取控制存取控制v存取控制机制组成存取控制机制组成定义用户权限定义用户权限合法权限检查合法权限检查 v用户权限定义和合法权检查机制一起组成了用户权限定义和合法权检查机制一起组成了 DBMSDBMS的安全子系统的安全子系统存取控制(续)存取控制(续)v常用存取控制方法常用存取控制方法自主存取控制自主存取控制(Discretionary Access Control Discretionary Access Control ,简,简称称DACDAC) C2 C2级级 灵活灵活强制存取控制强制存取控制(Mandatory Access ControlMandatory Access Control,简称,简称 MACMAC)B1B1级级严格严格4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法4.2.3 4.2.3 自主存取控制方法自主存取控制方法v通过通过 SQL SQL 的的 GRANTGRANT 语句和语句和 REVOKEREVOKE 语句实现语句实现v用户权限组成用户权限组成n数据对象数据对象n操作类型操作类型v定义用户存取权限:定义用户存取权限:定义用户可以在哪些数据库对象上进定义用户可以在哪些数据库对象上进行哪些类型的操作行哪些类型的操作v定义存取权限称为定义存取权限称为授权授权 自主存取控制方法(续)自主存取控制方法(续)v关系数据库系统中存取控制对象关系数据库系统中存取控制对象 对象类型对象类型对象对象操操 作作 类类 型型数据库数据库模式模式CREATE SCHEMA基本表基本表CREATE TABLE,ALTER TABLE模式模式视图视图CREATE VIEW索引索引CREATE INDEX数据数据基本表和视图基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALL PRIVILEGES数据数据属性列属性列SELECT,INSERT,UPDATE, REFERENCESALL PRIVILEGES关系数据库系统中的存取权限 4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法4.2.4 4.2.4 授权与回收授权与回收一、一、GRANTGRANTvGRANTGRANT语句的一般格式:语句的一般格式: GRANT GRANT ,. . ON ON TO TO ,. WITH GRANT OPTION WITH GRANT OPTIONv语义:将对指定操作对象的指定操作权限授予指定的用户语义:将对指定操作对象的指定操作权限授予指定的用户 GRANTGRANT(续)(续)发出发出GRANTGRANT:DBADBA数据库对象创建者(即属主数据库对象创建者(即属主OwnerOwner)拥有该权限的用户拥有该权限的用户按受权限的用户按受权限的用户 一个或多个具体用户一个或多个具体用户PUBLICPUBLIC(全体用户)(全体用户) WITH GRANT OPTIONWITH GRANT OPTION子句子句vWITH GRANT OPTIONWITH GRANT OPTION子句子句: :指定:可以指定:可以再授予再授予没有指定:没有指定:不能传播不能传播v不允许循环授权不允许循环授权例题例题 例例1 1 把查询把查询StudentStudent表权限授给用户表权限授给用户U1U1 GRANT SELECT GRANT SELECT ON Student ON Student TO U1 TO U1例题(续)例题(续) 例例2 2 把把CourseCourse表的全部权限授予用户表的全部权限授予用户U2U2和和U3U3 GRANT GRANT ALL PRIVILEGESALL PRIVILEGES ON Course ON Course TO U2, U3 TO U2, U3例题(续)例题(续) 例例3 3 把对表把对表SCSC的查询权限授予所有用户的查询权限授予所有用户 GRANT SELECT GRANT SELECT ON SC ON SC TO TO PUBLICPUBLIC例题(续)例题(续) 例例4 4 把把查查询询StudentStudent表表和和修修改改学学生生学学号号的的权权限限授授给用户给用户U4U4 GRANT GRANT UPDATE(Sno),UPDATE(Sno), SELECT SELECT ON Student ON Student TO U4TO U4例题(续)例题(续) 例例5 5 把把对对表表SCSC的的INSERTINSERT权权限限授授予予U5U5用用户户,并并允许他再将此权限授予其他用户允许他再将此权限授予其他用户 GRANT INSERT GRANT INSERT ON SC ON SC TO U5 TO U5 WITH GRANT OPTIONWITH GRANT OPTION传播权限传播权限执行例执行例5 5后,后,U5U5不仅拥有了对表不仅拥有了对表SCSC的的INSERTINSERT权限,权限, 还可以传播此权限还可以传播此权限: 例例6 GRANT INSERT ON SC 6 GRANT INSERT ON SC TO U6TO U6 WITH GRANT OPTIONWITH GRANT OPTION 同样,同样,U6U6还可以将此权限授予还可以将此权限授予U7U7: 例例7 GRANT INSERT ON SC 7 GRANT INSERT ON SC TO U7TO U7 但但U7U7不能再传播此权限。不能再传播此权限。 授权与回收(续)授权与回收(续)二、二、REVOKEREVOKEv授授予予的的权权限限可可以以由由DBADBA或或其其他他授授权权者者用用REVOKEREVOKE语语句句收回收回vREVOKEREVOKE语句的一般格式为:语句的一般格式为: REVOKE REVOKE ,. . ON ON FROM FROM ,.;.;REVOKEREVOKE(续)(续) 例例8 8 把用户把用户U4U4修改学生学号的权限收回修改学生学号的权限收回 REVOKE UPDATE(Sno) REVOKE UPDATE(Sno)ON Student ON Student FROM U4FROM U4REVOKEREVOKE(续)(续) 例例9 9 收回所有用户对表收回所有用户对表SCSC的查询权限的查询权限 REVOKE SELECT REVOKE SELECT ON SC ON SC FROM FROM PUBLICPUBLICREVOKEREVOKE(续)(续) 例例10 10 把用户把用户U5U5对对SCSC表的表的INSERTINSERT权限收回权限收回 REVOKE INSERT REVOKE INSERT ON SC ON SC FROM U5 FROM U5 CASCADECASCADE小结小结:SQL:SQL灵活的授权机制灵活的授权机制vDBADBA:拥有所有对象的所有权限:拥有所有对象的所有权限不同的权限授予不同的用户不同的权限授予不同的用户v用户:拥有自己建立的对象的全部的操作权限用户:拥有自己建立的对象的全部的操作权限GRANTGRANT:授予其他用户:授予其他用户v被授权的用户被授权的用户“继续授权继续授权”许可:再授予许可:再授予v所有授予出去的权力在必要时又都可用所有授予出去的权力在必要时又都可用REVOKEREVOKE语句收回语句收回授权与回收(续)授权与回收(续)三、创建数据库模式的权限三、创建数据库模式的权限 vDBADBA在创建用户时实现在创建用户时实现vCREATE USERCREATE USER语句格式语句格式 CREATE USER CREATE USER WITHWITHDBA | RESOURCE | CONNECTDBA | RESOURCE | CONNECT授权与回收(续)授权与回收(续)拥有的权限拥有的权限可否执行的操作可否执行的操作CREATE USERCREATE SCHEMACREATE TABLE登录数据库登录数据库 执行数据查询和操纵执行数据查询和操纵DBA可以可以可以可以可以可以可以可以RESOURCE不可以不可以不可以不可以可以可以可以可以CONNECT不可以不可以不可以不可以不可以不可以可以,但必须拥有相应权限可以,但必须拥有相应权限权限与可执行的操作对照表 4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法4.2.5 4.2.5 数据库角色数据库角色v数据库角色:被命名的一组与数据库操作相关的数据库角色:被命名的一组与数据库操作相关的权限权限角色是权限的集合角色是权限的集合 可以为一组具有相同权限的用户创建一个角色可以为一组具有相同权限的用户创建一个角色简化授权的过程简化授权的过程数据库角色数据库角色v一、角色的创建一、角色的创建CREATE ROLE CREATE ROLE 二、给角色授权二、给角色授权 GRANT GRANT , ON ON 对象名对象名 TO TO , 数据库角色数据库角色v三、将一个角色授予其他的角色或用户三、将一个角色授予其他的角色或用户GRANT GRANT 1, 2 TO TO 3, 1 WITH ADMIN OPTIONWITH ADMIN OPTION v四、角色权限的收回四、角色权限的收回 REVOKE REVOKE , ON ON FROM FROM , 数据库角色(续)数据库角色(续) 例例1111通过角色来实现将一组权限授予一个用户。通过角色来实现将一组权限授予一个用户。步骤如下:步骤如下:1. 1. 首先创建一个角色首先创建一个角色 R1 R1 CREATE ROLE R1 CREATE ROLE R1 2. 2. 然后使用然后使用GRANTGRANT语句,使角色语句,使角色R1R1拥有拥有StudentStudent表的表的SELECTSELECT、UPDATEUPDATE、INSERTINSERT权限权限 GRANT SELECT GRANT SELECT,UPDATEUPDATE,INSERT INSERT ON Student ON Student TO R1 TO R1数据库角色(续)数据库角色(续)3. 3. 将这个角色授予王平,张明,赵玲。使他们具有角色将这个角色授予王平,张明,赵玲。使他们具有角色R1R1所包含的全部权限所包含的全部权限 GRANT R1 GRANT R1 TO TO 王平,张明,赵玲王平,张明,赵玲4. 4. 可以一次性通过可以一次性通过R1R1来回收王平的这来回收王平的这3 3个权限个权限 REVOKE R1 REVOKE R1 FROM FROM 王平王平数据库角色(续)数据库角色(续) 例例1212角色的权限修改角色的权限修改 GRANT DELETE GRANT DELETE ON Student ON Student TO R1 TO R1数据库角色(续)数据库角色(续) 例例1313 REVOKE SELECT REVOKE SELECT ON Student ON Student FROM R1 FROM R1 4.2 4.2 数据库安全性控制数据库安全性控制4.2.1 4.2.1 用户标识与鉴别用户标识与鉴别4.2.2 4.2.2 存取控制存取控制4.2.3 4.2.3 自主存取控制方法自主存取控制方法4.2.4 4.2.4 授权与回收授权与回收4.2.5 4.2.5 数据库角色数据库角色4.2.6 4.2.6 强制存取控制方法强制存取控制方法自主存取控制缺点自主存取控制缺点v可能存在数据的可能存在数据的“无意泄露无意泄露”v原因:这种机制仅仅通过对数据的存取权限来进行安原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记全控制,而数据本身并无安全性标记v解决:对系统控制下的所有主客体实施强制存取控制解决:对系统控制下的所有主客体实施强制存取控制策略策略 4.2.6 4.2.6 强制存取控制方法强制存取控制方法v强制存取控制(强制存取控制(MAC)MAC)保证更高程度的安全性保证更高程度的安全性用户能不能直接感知或进行控制用户能不能直接感知或进行控制适用于对数据有严格而固定密级分类的部门适用于对数据有严格而固定密级分类的部门 军事部门军事部门 政府部门政府部门强制存取控制方法(续)强制存取控制方法(续)v主体主体是系统中的活动实体是系统中的活动实体 DBMSDBMS所管理的实际用户所管理的实际用户 代表用户的各进程代表用户的各进程v客体客体是系统中的被动实体,是受主体操纵的是系统中的被动实体,是受主体操纵的 文件文件 基表基表 索引索引 视图视图强制存取控制方法(续)强制存取控制方法(续)v敏感度标记(敏感度标记(LabelLabel)绝密(绝密(Top SecretTop Secret)机密(机密(SecretSecret)可信(可信(ConfidentialConfidential)公开(公开(PublicPublic)v主体的敏感度标记称为许可证级别(主体的敏感度标记称为许可证级别(Clearance LevelClearance Level)v客体的敏感度标记称为密级(客体的敏感度标记称为密级(Classification LevelClassification Level)强制存取控制方法(续)强制存取控制方法(续)v 强制存取控制规则强制存取控制规则 (1) (1)仅当主体的许可证级别仅当主体的许可证级别大于或等于大于或等于客体的密级时,客体的密级时,该主体才能该主体才能读读取相应的客体取相应的客体 (2) (2)仅当主体的许可证级别仅当主体的许可证级别等于等于客体的密级时,该主体客体的密级时,该主体才能才能写写相应的客体相应的客体v修正规则修正规则主体的许可证级别主体的许可证级别 = 得到的利益得到的利益第四章第四章 数据库安全性数据库安全性4.1 4.1 计算机安全性概述计算机安全性概述4.2 4.2 数据库安全性控制数据库安全性控制4.3 4.3 视图机制视图机制4.4 4.4 审计(审计(AuditAudit) 4.5 4.5 数据加密数据加密4.6 4.6 统计数据库安全性统计数据库安全性4.7 4.7 小结小结4.7 4.7 小结小结v数据的共享日益加强,数据的安全保密越来越重要数据的共享日益加强,数据的安全保密越来越重要vDBMSDBMS是管理数据的核心,因而其自身必须具有一整套完整是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制而有效的安全性机制vTCSECTCSEC和和CCCC小结(续)小结(续)v实现数据库系统安全性的技术和方法实现数据库系统安全性的技术和方法存取控制技术存取控制技术视图技术视图技术审计技术审计技术v自主存取控制功能自主存取控制功能 通过通过SQL SQL 的的GRANTGRANT语句和语句和REVOKEREVOKE语句实现语句实现v角色角色 使用角色来管理数据库权限可以简化授权过程使用角色来管理数据库权限可以简化授权过程 CREATE ROLECREATE ROLE语句创建角色语句创建角色GRANT GRANT 语句给角色授权语句给角色授权个人观点供参考,欢迎讨论!
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号