1、An Introduction to Database System数据库系统概论数据库系统概论An Introduction to Database System第第4 4章章 数据库安全性数据库安全性An Introduction to Database System第第4 4章章 数据库安全性数据库安全性n 问题的提出问题的提出n数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享n但数据共享必然带来数据库的安全性问题但数据共享必然带来数据库的安全性问题n数据库系统中的数据共享不能是无条件的共享数据库系统中的数据共享不能是无条件的共享例:军事秘密、例:军事秘密、国家机密、国家机密
2、、新产品实验数据、新产品实验数据、市场需求分析、市场营销策略、销售计划、市场需求分析、市场营销策略、销售计划、客户档案、客户档案、医疗档案、医疗档案、银行储蓄数据银行储蓄数据An Introduction to Database System数据库安全性(续)数据库安全性(续)n数据库中数据的共享是在数据库中数据的共享是在DBMS统一的严格统一的严格的控制之下的共享,的控制之下的共享,即只允许有合法使用权即只允许有合法使用权限的用户访问允许他存取的数据限的用户访问允许他存取的数据n数据库系统的安全保护措施是否有效是数据数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一库系统主要的性
3、能指标之一An Introduction to Database System数据库安全性(续)数据库安全性(续)n什么是什么是数据库的安全性数据库的安全性n数据库的安全性是指保护数据库,防止因用数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破户非法使用数据库造成数据泄露、更改或破坏。坏。n什么是数据的保密什么是数据的保密n数据保密是指用户合法地访问到机密数据后数据保密是指用户合法地访问到机密数据后能否对这些数据保密。能否对这些数据保密。n通过制订法律道德准则和政策法规来保证。通过制订法律道德准则和政策法规来保证。An Introduction to Databas
4、e System第第4章章 数据库安全性数据库安全性4.1 计算机安全性概述计算机安全性概述4.2 数据库安全性控制数据库安全性控制4.3 统计数据库安全性统计数据库安全性4.4 小结小结An Introduction to Database System第第4章章 数据库安全性数据库安全性4.1 计算机安全性概述计算机安全性概述4.2 数据库安全性控制数据库安全性控制4.3 统计数据库安全性统计数据库安全性4.4 小结小结An Introduction to Database System4.1 计算机安全性概论计算机安全性概论4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题
5、 4.1.2 可信计算机系统评测标准可信计算机系统评测标准An Introduction to Database System4.1 计算机安全性概论计算机安全性概论4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 4.1.2 可信计算机系统评测标准可信计算机系统评测标准An Introduction to Database System4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 n什么是计算机系统安全性什么是计算机系统安全性n为计算机系统建立和采取的各种安全保护为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的措施,以保护计算机系统中的硬件硬
6、件、软件软件及及数据数据,防止其因,防止其因偶然或恶意偶然或恶意的原因使系的原因使系统遭到破坏,数据遭到更改或泄露等。统遭到破坏,数据遭到更改或泄露等。An Introduction to Database System计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续)n计算机安全涉及问题计算机安全涉及问题n计算机系统本身的技术问题计算机系统本身的技术问题n计算机安全理论与策略计算机安全理论与策略n计算机安全技术计算机安全技术n管理问题管理问题n安全管理安全管理n安全评价安全评价n安全产品安全产品An Introduction to Database System计算机系统的三类
7、安全性问题(续)计算机系统的三类安全性问题(续)n计算机安全涉及问题计算机安全涉及问题(续续)n法学法学n计算机安全法律计算机安全法律n犯罪学犯罪学n计算机犯罪与侦察计算机犯罪与侦察n安全监察安全监察n心理学心理学An Introduction to Database System计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续)n三类计算机系统安全性问题三类计算机系统安全性问题n技术安全类技术安全类n管理安全类管理安全类n政策法律类政策法律类An Introduction to Database System计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续)n技术
8、安全技术安全n指计算机系统中采用具有一定指计算机系统中采用具有一定安全性安全性的的硬件、软件硬件、软件来实现来实现对计算机系统及对计算机系统及其所存数据的安全保护其所存数据的安全保护,当计算机系,当计算机系统受到无意或恶意的攻击时仍能保证统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不系统正常运行,保证系统内的数据不增加、不丢失、不泄露。增加、不丢失、不泄露。An Introduction to Database System计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续)n管理安全管理安全n软硬件意外故障、场地的意外事故、软硬件意外故障、场地的意外事故、管理不
9、善导致的计算机设备和数据介管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题质的物理破坏、丢失等安全问题An Introduction to Database System计算机系统的三类安全性问题(续)计算机系统的三类安全性问题(续)n政策法律类政策法律类n政府部门建立的有关计算机犯罪、数政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法据安全保密的法律道德准则和政策法规、法令规、法令An Introduction to Database System4.1 计算机安全性概论计算机安全性概论4.1.1 计算机系统的三类安全性问题计算机系统的三类安全性问题 4.1.2
10、可信计算机系统评测标准可信计算机系统评测标准An Introduction to Database System4.1.2 可信计算机系统评测标准可信计算机系统评测标准n为降低进而消除对系统的安全攻击,各国引用为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准或制定了一系列安全标准nTCSEC(桔皮书桔皮书)nTDI(紫皮书紫皮书)An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n1985年美国国防部(年美国国防部(DoD)正式颁布)正式颁布 DoD可可信计算机系统评估标准信计算机系统评估标准(简称(简称T
11、CSEC或或DoD85)nTCSEC又称桔皮书又称桔皮书nTCSEC标准的目的标准的目的n提供一种标准,使提供一种标准,使用户用户可以对其计算机系统内敏感可以对其计算机系统内敏感信息安全操作的信息安全操作的可信程度可信程度做做评估评估。n给计算机行业的给计算机行业的制造商制造商提供提供一种可循的一种可循的指导规则指导规则,使其产品能够更好地满足敏感应用的安全需求。使其产品能够更好地满足敏感应用的安全需求。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n1991年年4月美国月美国NCSC(国家计算机安全中心)(国家计算
12、机安全中心)颁布了颁布了可信计算机系统评估标准可信计算机系统评估标准关于可信数关于可信数据库系统的解释据库系统的解释(Trusted Database Interpretation 简称简称TDI)nTDI又称紫皮书。又称紫皮书。它将它将TCSEC扩展到数据库扩展到数据库管理系统。管理系统。nTDI中定义了数据库管理系统的设计与实现中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。中需满足和用以进行安全性级别评估的标准。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nTDI/TCSEC标准的基
13、本内容标准的基本内容nTDI与与TCSEC一样,从一样,从四个方面四个方面来描述安全来描述安全性级别划分的指标性级别划分的指标n安全策略安全策略n责任责任n保证保证n文档文档An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nR1 安全策略(安全策略(Security Policy)R1.1 自主存取控制自主存取控制(Discretionary Access Control,简记为,简记为DAC)R1.2 客体重用(客体重用(Object Reuse)R1.3 标记(标记(Labels)R1.4 强制存取控制(强制存取控
14、制(Mandatory Access Control,简记为,简记为MAC)An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nR2 责任(责任(Accountability)R2.1 标识与鉴别(标识与鉴别(Identification&Authentication)R2.2 审计(审计(Audit)R3 保证(保证(Assurance)R3.1 操作保证(操作保证(Operational Assurance)R3.2 生命周期保证(生命周期保证(Life Cycle Assurance)An Introduction
15、 to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nR4 文档(文档(Documentation)R4.1 安全特性用户指南(安全特性用户指南(Security Features Users Guide)R4.2 可信设施手册(可信设施手册(Trusted Facility Manual)R4.3 测试文档(测试文档(Test Documentation)R4.4 设计文档(设计文档(Design Documentation)An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n
16、TCSEC/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)An
17、 Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n四组四组(division)七个等级七个等级n Dn C(C1,C2)n B(B1,B2,B3)n A(A1)n按系统可靠或可信程度逐渐增高按系统可靠或可信程度逐渐增高n各安全级别之间具有一种偏序向下兼容的关各安全级别之间具有一种偏序向下兼容的关系系,即较高安全性级别提供的安全保护要包,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多含较低级别的所有保护要求,同时提供更多或更完善的保护能力。或更完善的保护能力。An Introduction to D
18、atabase System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nD级级n将一切不符合更高标准的系统均归于将一切不符合更高标准的系统均归于D组组n典型例子:典型例子:DOS是安全标准为是安全标准为D的操作系统的操作系统n DOS在安全性方面几乎没有什么专门的在安全性方面几乎没有什么专门的机制来保障机制来保障An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nC1级级n非常初级的自主安全保护非常初级的自主安全保护n能够实现对用户和数据的分离,进行自主存能够实现对用户和数据的分离,进行自主存取控制(取控制
19、(DAC),保护或限制用户权限的传),保护或限制用户权限的传播。播。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nC2级级n安全产品的最低档次安全产品的最低档次n提供受控的存取保护,将提供受控的存取保护,将C1级的级的DAC进一进一步细化,以个人身份注册负责,并实施审计步细化,以个人身份注册负责,并实施审计和资源隔离和资源隔离n达到达到C2级的产品在其名称中往往不突出级的产品在其名称中往往不突出“安全安全”(Security)这一特色这一特色An Introduction to Database System可信计
20、算机系统评测标准(续)可信计算机系统评测标准(续)n典型例子典型例子n 操作系统操作系统nMicrosoft的的Windows NT 3.5,n数字设备公司的数字设备公司的Open VMS VAX 6.0和和6.1n 数据库数据库nOracle公司的公司的Oracle 7nSybase公司的公司的 SQL Server 11.0.6An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nB1级级n标记安全保护。标记安全保护。“安全安全”(Security)或或“可可信的信的”(Trusted)产品。产品。n对系统的数据加以标
21、记,对标记的主体和客对系统的数据加以标记,对标记的主体和客体实施体实施强制存取控制(强制存取控制(MAC)、审计等安)、审计等安全机制全机制An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n典型例子典型例子n 操作系统操作系统n数字设备公司的数字设备公司的SEVMS VAX Version 6.0n惠普公司的惠普公司的HP-UX BLS release 4.0.4+n 数据库数据库nOracle公司的公司的Trusted Oracle 7nSybase公司的公司的Secure SQL Server version 11
22、.0.6nInformix公司的公司的Incorporated INFORMIX-OnLine/Secure 5.0An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nB2级级n结构化保护结构化保护n建立形式化的安全策略模型并对系统内的所建立形式化的安全策略模型并对系统内的所有主体和客体实施有主体和客体实施DAC和和MAC。n经过认证的经过认证的B2级以上的安全系统非常稀少级以上的安全系统非常稀少An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)n
23、典型例子典型例子n 操作系统操作系统n只有只有Trusted Information Systems公司的公司的Trusted XENIX一种产品一种产品n 标准的网络产品标准的网络产品n只有只有Cryptek Secure Communications公司公司的的LLC VSLAN一种产品一种产品n 数据库数据库n没有符合没有符合B2标准的产品标准的产品An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nB3级级n安全域。安全域。n该级的该级的TCB必须满足访问监控器的要求,审必须满足访问监控器的要求,审计跟踪能力更强
24、,并提供系统恢复过程。计跟踪能力更强,并提供系统恢复过程。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nA1级级n验证设计,即提供验证设计,即提供B3级保护的同时给出系级保护的同时给出系统的形式化设计说明和验证统的形式化设计说明和验证以确信各安全保以确信各安全保护真正实现。护真正实现。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)nB2以上的系统以上的系统n还处于理论研究阶段还处于理论研究阶段n应用多限于一些特殊的部门如军队等应用多限于一
25、些特殊的部门如军队等n美国正在大力发展安全产品,试图将目前仅美国正在大力发展安全产品,试图将目前仅限于少数领域应用的限于少数领域应用的B2安全级别下放到商安全级别下放到商业应用中来,并逐步成为新的商业标准。业应用中来,并逐步成为新的商业标准。An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)An Introduction to Database System可信计算机系统评测标准(续)可信计算机系统评测标准(续)表示该级不提供对该指标的支持;表示该级不提供对该指标的支持;表示该级新增的对该指标的支持;表示该级新增的对该指
26、标的支持;表示该级对该指标的支持与相邻低一级的表示该级对该指标的支持与相邻低一级的 等级一样;等级一样;表示该级对该指标的支持较下一级有所增表示该级对该指标的支持较下一级有所增 加或改动。加或改动。An Introduction to Database System第第4章章 数据库安全性数据库安全性4.1 计算机安全性概论计算机安全性概论4.2 数据库安全性控制数据库安全性控制4.3 统计数据库安全性统计数据库安全性4.4 小结小结An Introduction to Database System4.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述数据库安全性控制概述4
27、.2.2 用户标识与鉴别用户标识与鉴别4.2.3 存取控制存取控制4.2.4 自主存取控制方法自主存取控制方法4.2.5 强制存取控制方法强制存取控制方法4.2.6 视图机制视图机制4.2.7 审计审计4.2.8 数据加密数据加密An Introduction to Database System4.2.1 数据库安全性控制概述数据库安全性控制概述n非法使用数据库的情况非法使用数据库的情况n用户编写一段合法的程序绕过用户编写一段合法的程序绕过DBMS及其授及其授权机制,通过操作系统直接存取、修改或备权机制,通过操作系统直接存取、修改或备份数据库中的数据;份数据库中的数据;n直接或编写应用程序执
28、行非授权操作;直接或编写应用程序执行非授权操作;An Introduction to Database System数据库安全性控制概述(续)数据库安全性控制概述(续)n通过多次合法查询数据库从中推导出一些保通过多次合法查询数据库从中推导出一些保密数据密数据 例:某数据库应用系统禁止查询单个人的工资,但例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:的工资,于是他:首先查询包括张三在内的一组人的平均工资首先查询包括张三在内的一组人的平均工资 然后查用自己替换张三后这组人的平均工资然后查用自己替换
29、张三后这组人的平均工资 从而推导出张三的工资从而推导出张三的工资n破坏安全性的行为可能是无意的,故意的,破坏安全性的行为可能是无意的,故意的,恶意的。恶意的。An Introduction to Database System计算机系统中的安全模型计算机系统中的安全模型 应用应用DBMSOS DB 低低 高高安全性控制层次安全性控制层次 方法:方法:用户标识用户标识和鉴定和鉴定 存取控制存取控制审计审计视图视图 操作系统操作系统 安全保护安全保护 密码存储密码存储 An Introduction to Database System数据库安全性控制概述(续)数据库安全性控制概述(续)n数据库安
30、全性控制的常用方法数据库安全性控制的常用方法n用户标识和鉴定用户标识和鉴定n存取控制存取控制n视图视图n审计审计n密码存储密码存储An Introduction to Database System4.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述数据库安全性控制概述4.2.2 用户标识与鉴别用户标识与鉴别4.2.3 存取控制存取控制4.2.4 自主存取控制方法自主存取控制方法4.2.5 强制存取控制方法强制存取控制方法4.2.6 视图机制视图机制4.2.7 审计审计4.2.8 数据加密数据加密An Introduction to Database System4.2.2
31、 用户标识与鉴别用户标识与鉴别n用户标识与鉴别(用户标识与鉴别(Identification&Authentication)n系统提供的最外层安全保护措施系统提供的最外层安全保护措施An Introduction to Database System4.2.2 用户标识与鉴别用户标识与鉴别基本方法基本方法n系统提供一定的方式让用户标识自己的名字或身份;系统提供一定的方式让用户标识自己的名字或身份;n系统内部记录着所有合法用户的标识;系统内部记录着所有合法用户的标识;n每次用户要求进入系统时,由系统核对用户提供的身每次用户要求进入系统时,由系统核对用户提供的身份标识;份标识;n通过鉴定后才提供机
32、器使用权。通过鉴定后才提供机器使用权。n用户标识和鉴定可以重复多次用户标识和鉴定可以重复多次An Introduction to Database System用户标识自己的名字或身份用户标识自己的名字或身份n用户名用户名/口令口令n简单易行,容易被人窃取简单易行,容易被人窃取n每个用户预先约定好一个每个用户预先约定好一个计算过程计算过程或者或者函数函数n系统提供一个随机数系统提供一个随机数n用户根据自己预先约定的计算过程或者函数用户根据自己预先约定的计算过程或者函数进行计算进行计算n系统根据用户计算结果是否正确鉴定用户身系统根据用户计算结果是否正确鉴定用户身份份An Introduction
33、 to Database System4.2 数据库安全性控制数据库安全性控制4.2.1 数据库安全性控制概述数据库安全性控制概述4.2.2 用户标识与鉴别用户标识与鉴别4.2.3 存取控制存取控制4.2.4 自主存取控制方法自主存取控制方法4.2.5 强制存取控制方法强制存取控制方法4.2.6 视图机制视图机制4.2.7 审计审计4.2.8 数据加密数据加密An Introduction to Database System4.2.3 存取控制存取控制n存取控制机制的功能存取控制机制的功能n存取控制机制的组成存取控制机制的组成n 定义存取权限定义存取权限n 检查存取权限检查存取权限用户权限定
34、义和合法权检查机制一起组成用户权限定义和合法权检查机制一起组成了了DBMS的安全子系统的安全子系统An Introduction to Database System存取控制(续)存取控制(续)n定义存取权限定义存取权限n在数据库系统中,为了保证用户只能访问在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户他有权存取的数据,必须预先对每个用户定义存取权限。定义存取权限。n检查存取权限检查存取权限n对于通过鉴定获得上机权的用户(即合法对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执
35、行的各种操作请求进行控制,确保他只执行合法操作。合法操作。An Introduction to Database System存取控制(续)存取控制(续)n常用存取控制方法常用存取控制方法n自主存取控制自主存取控制(Discretionary Access Control,简称,简称DAC)n C2级级n 灵活灵活n强制存取控制强制存取控制(Mandatory Access Control,简称,简称 MAC)n B1级级n严格严格An Introduction to Database System自主存取控制方法自主存取控制方法n同一用户对于不同的数据对象有不同的同一用户对于不同的数据对象有
36、不同的存取权限存取权限n不同的用户对同一对象也有不同的权限不同的用户对同一对象也有不同的权限n用户还可将其拥有的存取权限转授给其用户还可将其拥有的存取权限转授给其他用户他用户An Introduction to Database System强制存取控制方法强制存取控制方法n每一个数据对象被标以一定的密级每一个数据对象被标以一定的密级n每一个用户也被授予某一个级别的许可证每一个用户也被授予某一个级别的许可证n对于任意一个对象,只有具有合法许可证对于任意一个对象,只有具有合法许可证的用户才可以存取的用户才可以存取An Introduction to Database System4.2 数据库安
37、全性控制数据库安全性控制4.2.1 数据库安全性控制概述数据库安全性控制概述4.2.2 用户标识与鉴别用户标识与鉴别4.2.3 存取控制存取控制4.2.4 自主存取控制方法自主存取控制方法4.2.5 强制存取控制方法强制存取控制方法4.2.6 视图机制视图机制4.2.7 审计审计4.2.8 数据加密数据加密An Introduction to Database System4.2.4 自主存取控制方法自主存取控制方法n定义存取权限定义存取权限n存取权限存取权限n 存取权限由两个要素组成存取权限由两个要素组成n数据对象数据对象n操作类型操作类型An Introduction to Databas
38、e System自主存取控制方法(续)自主存取控制方法(续)n关系系统中的存取权限关系系统中的存取权限n类型类型 数据对象数据对象操作类型操作类型模模 式式 模模 式式建立、修改、删除、检索建立、修改、删除、检索外模式外模式 建立、修改、删除、检索建立、修改、删除、检索 内模式内模式建立、删除、检索建立、删除、检索数数 据据 表表查找、插入、修改、删除查找、插入、修改、删除属性列属性列查找、插入、修改、删除查找、插入、修改、删除An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n关系系统中的存取权限关系系统中的存取权限(续续)n定义
39、方法定义方法nGRANT/REVOKEAn Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n关系系统中的存取权限关系系统中的存取权限(续续)n例例:一张授权表一张授权表 用户名用户名 数据对象名数据对象名 允许的操作类型允许的操作类型 王平王平 关系关系Student SELECT 张一张一 关系关系Student UPDATE 张一张一 关系关系Course ALL 张一张一 SC.Grade UPDATE 张一张一 SC.Sno SELECT 张一张一 SC.Cno SELECTAn Introduction to Databas
40、e System自主存取控制方法(续)自主存取控制方法(续)n检查存取权限检查存取权限n对于获得上机权后又进一步发出存取数据库对于获得上机权后又进一步发出存取数据库操作的用户操作的用户nDBMS查找数据字典,根据其存取权限对查找数据字典,根据其存取权限对操作的合法性进行检查操作的合法性进行检查n若用户的操作请求超出了定义的权限,系若用户的操作请求超出了定义的权限,系统将拒绝执行此操作统将拒绝执行此操作An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n 授权粒度授权粒度n授权粒度是指可以定义的数据对象的范围授权粒度是指可以定义的数据
41、对象的范围n它是衡量授权机制是否灵活的一个重要指它是衡量授权机制是否灵活的一个重要指标。标。n授权定义中数据对象的粒度越细,即可以授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统定义的数据对象的范围越小,授权子系统就越灵活。就越灵活。An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n关系数据库中授权的数据对象粒度关系数据库中授权的数据对象粒度n 数据库数据库n 表表n 属性列属性列n 行行n能否提供与数据值有关的授权反映了授权子能否提供与数据值有关的授权反映了授权子系统精巧程度系统精巧程度An Introd
42、uction to Database System自主存取控制方法(续)自主存取控制方法(续)n实现与数据值有关的授权实现与数据值有关的授权n利用存取谓词利用存取谓词n存取谓词可以很复杂存取谓词可以很复杂n可以引用系统变量,如终端设备号,系统可以引用系统变量,如终端设备号,系统时钟等,实现与时间地点有关的存取权限,时钟等,实现与时间地点有关的存取权限,这样用户只能在某段时间内,某台终端上这样用户只能在某段时间内,某台终端上存取有关数据存取有关数据 例:规定例:规定“教师只能在每年教师只能在每年1月份和月份和7月份星期一至月份星期一至星期五上午星期五上午8点到下午点到下午5点处理学生成绩数据点处
43、理学生成绩数据”。An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n自主存取控制小结自主存取控制小结n定义存取权限定义存取权限n用户用户n检查存取权限检查存取权限nDBMSAn Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n自主存取控制小结自主存取控制小结(续续)n授权粒度授权粒度n数据对象粒度:数据库、表、属性列、行数据对象粒度:数据库、表、属性列、行n数据值粒度:存取谓词数据值粒度:存取谓词n授权粒度越细,授权子系统就越灵活,能够提授权粒度越细,授权子系统就越灵活,
44、能够提供的安全性就越完善。但另一方面,因数据字供的安全性就越完善。但另一方面,因数据字典变大变复杂,系统定义与检查权限的开销也典变大变复杂,系统定义与检查权限的开销也会相应地增大。会相应地增大。An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n自主存取控制小结自主存取控制小结(续续)n优点优点n能够通过授权机制有效地控制其他用户对能够通过授权机制有效地控制其他用户对敏感数据的存取敏感数据的存取An Introduction to Database System自主存取控制方法(续)自主存取控制方法(续)n自主存取控制小结自主存取控
45、制小结(续续)n缺点缺点n可能存在数据的可能存在数据的“无意泄露无意泄露”n原因:这种机制仅仅通过对数据的存取权原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全限来进行安全控制,而数据本身并无安全性标记。性标记。n解决:对系统控制下的所有主客体实施强解决:对系统控制下的所有主客体实施强制存取控制策略制存取控制策略An Introduction to Database System授权与收回权限授权与收回权限n谁定义?谁定义?DBADBA和表的建立者(即表的属主)和表的建立者(即表的属主)n如何定义?如何定义?SQL语句:语句:GRANT REVOKEAn Introdu
46、ction to Database SystemDBMS实现数据安全性保护的过程实现数据安全性保护的过程n用户或用户或DBA把授权决定告知系统把授权决定告知系统nSQL的的GRANT和和REVOKEnDBMS把授权的结果存入数据字典把授权的结果存入数据字典n当用户提出操作请求时,当用户提出操作请求时,DBMS根据授根据授权定义进行检查,以决定是否执行操作权定义进行检查,以决定是否执行操作请求请求An Introduction to Database System授授 权权nGRANTGRANT语句的一般格式:语句的一般格式:GRANT GRANT,.ON ON TO TO,.WITH GRAN
47、T OPTION;WITH GRANT OPTION;n谁定义?谁定义?DBADBA和表的建立者(即表的属主)和表的建立者(即表的属主)nREVOKE功能:将对指定操作对象的指定操作功能:将对指定操作对象的指定操作权限授予指定的用户权限授予指定的用户。An Introduction to Database System(1)操作权限操作权限 对象 对象类型 操 作 权 限 属性列 TABLE SELECT,INSERT,UPDATE,DELETE,ALL P PR RI IV VI IL LI IG GE ES S 视图 TABLE SELECT,INSERT,UPDATE,DELETE,AL
48、L P PR RI IV VI IL LI IG GE ES S 基本表 TABLE SELECT,INSERT,UPDATE,DELETE ALTER,INDEX,ALL P PR RI IV VI IL LI IG GE ES S 数据库 DATABASE CREATETAB An Introduction to Database System(2)用户的权限用户的权限n建表(建表(CREATETABCREATETAB)的权限)的权限:属于属于DBADBAnDBADBA授予授予-普通用户普通用户n基本表或视图的属主拥有对该表或视图基本表或视图的属主拥有对该表或视图的一切操作权限的一切操作权
49、限n接受权限的用户接受权限的用户:一个或多个具体用户一个或多个具体用户 PUBLICPUBLIC(全体用户)(全体用户)An Introduction to Database System(4)WITH GRANT OPTION(4)WITH GRANT OPTION子句子句n指定了指定了WITH GRANT OPTIONWITH GRANT OPTION子句子句:获得某种权限的用户还可以把这种权限获得某种权限的用户还可以把这种权限再授予再授予别的用户。别的用户。n没有指定没有指定WITH GRANT OPTIONWITH GRANT OPTION子句子句:获得某种权限的用户只能使用该权限,获
50、得某种权限的用户只能使用该权限,不能传播不能传播该权限该权限An Introduction to Database System例题例题 例例1 1 把查询把查询StudentStudent表权限授给用户表权限授给用户U1U1 GRANT SELECT ON TABLE Student TO U1;An Introduction to Database System例题(续)例题(续)例例2 2 把对把对StudentStudent表和表和CourseCourse表的全部权限表的全部权限授予用户授予用户U2U2和和U3U3 GRANT GRANT ALL PRIVILIGESALL PRIVI