数据库系统概论AnIntroductiontoDatabaseSystem第九章数据库安全性第九章数据库安全性问题的提出数据库的一大特点是数据可以共享但数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性(续)数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一数据库安全性(续)什么是数据库的安全性数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。什么是数据的保密数据保密是指用户合法地访问到机密数据后能否对这些数据保密。通过制订法律道德准则和政策法规来保证。第九章数据库安全性9.1计算机安全性概论9.2数据库安全性控制9.3统计数据库安全性9.4Oracle数据库的安全性措施9.5小结第九章数据库安全性9.1计算机安全性概论9.2数据库安全性控制9.3统计数据库安全性9.4Oracle数据库的安全性措施9.5小结9.1计算机安全性概论9.1.1计算机系统的三类安全性问题9.1.2可信计算机系统评测标准9.1计算机安全性概论9.1.1计算机系统的三类安全性问题9.1.2可信计算机系统评测标准9.1.1计算机系统的三类安全性问题什么是计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统的三类安全性问题(续)计算机安全涉及问题计算机系统本身的技术问题计算机安全理论与策略计算机安全技术管理问题安全管理安全评价安全产品计算机系统的三类安全性问题(续)计算机安全涉及问题(续)法学计算机安全法律犯罪学计算机犯罪与侦察安全监察心理学计算机系统的三类安全性问题(续)三类计算机系统安全性问题技术安全类管理安全类政策法律类计算机系统的三类安全性问题(续)技术安全指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。计算机系统的三类安全性问题(续)管理安全软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题计算机系统的三类安全性问题(续)政策法律类政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令9.1计算机安全性概论9.1.1计算机系统的三类安全性问题9.1.2可信计算机系统评测标准9.1.2可信计算机系统评测标准为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准TCSEC(桔皮书)TDI(紫皮书)可信计算机系统评测标准(续)1985年美国国防部(DoD)正式颁布《DoD可信计算机系统评估标准》(简称TCSEC或DoD85)TCSEC又称桔皮书TCSEC标准的目的提供一种标准,使用户可以对其计算机系统内敏感信息安全操作的可信程度做评估。给计算机行业的制造商提供一种可循的指导规则,使其产品能够更好地满足敏感应用的安全需求。可信计算机系统评测标准(续)1991年4月美国NCSC(国家计算机安全中心)颁布了《可信计算机系统评估标准关于可信数据库系统的解释》(TrustedDatabaseInterpretation简称TDI)TDI又称紫皮书。它将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。可信计算机系统评测标准(续)TDI/TCSEC标准的基本内容TDI与TCSEC一样,从四个方面来描述安全性级别划分的指标安全策略责任保证文档可信计算机系统评测标准(续)R1安全策略(SecurityPolicy)R1.1自主存取控制(DiscretionaryAccessControl,简记为DAC)R1.2客体重用(ObjectReuse)R1.3标记(Labels)R1.4强制存取控制(MandatoryAccessControl,简记为MAC)可信计算机系统评测标准(续)R2责任(Accountability)R2.1标识与鉴别(Identification&Authentication)R2.2审计(Audit)R3保证(Assurance)R3.1操作保证(OperationalAssurance)R3.2生命周期保证(LifeCycleAssurance)可信计算机系统评测标准(续)R4文档(Documentation)R4.1安全特性用户指南(SecurityFeaturesUser'sGuide)R4.2可信设施手册(TrustedFacilityManual)R4.3测试文档(TestDocumentation)R4.4设计文档(DesignDocumentation)可信计算机系统评测标准(续)TCSEC/TDI安全级别划分安全级别定义A1验证设计(VerifiedDesign)B3安全域(SecurityDomains)B2结构化保护(StructuralProtection)B1标记安全保护(LabeledSecurityProtection)C2受控的存取保护(ControlledAccessProtection)C1自主安全保护(DiscretionarySecurityProtection)D最小保护(MinimalProtection)可信计算机系统评测标准(续)四组(division)七个等级DC(C1,C2)B(B1,B2,B3)A(A1)按系统可靠或可信程度逐渐增高各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。可信计算机系统评测标准(续)D级将一切不符合更高标准的系统均归于D组典型例子:DOS是安全标准为D的操作系统DOS在安全性方面几乎没有什么专门的机制来保障可信计算机系统评测标准(续)C1级非常初级的自主安全保护能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。可信计算机系统评测标准(续)C2级安全产品的最低档次提供受控的存取保护,将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离达到C2级的产品在其名称中往往不突出“安全”(Security)这一特色可信计算机系统评测标准(续)典型例子操作系统Microsoft的WindowsNT3.5,数字设备公司的OpenVMSVAX6.0和6.1数据库Oracle公司的Oracle7Sybase公司的SQLServer11.0.6可信计算机系统评测标准(续)B1级标记安全保护。“安全”(Security)或“可信的”(Trusted)产品。对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、审计等安全机制可信计算机系统评测标准(续)典型例子操作系统数字设备公司的SEVMSVAXVersion6.0惠普公司的HP-UXBLSrelease9.0.9+数据库Oracle公司的TrustedOracle7Sybase公司的SecureSQLServerversion11.0.6Informix公司的IncorporatedINFORMIX-OnLine/Secure5.0可信计算机系统评测标准(续)B2级结构化保护建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。经过认证的B2级以上的安全系统非常稀少可信计算机系统评测标准(续)典型例子操作系统只有TrustedInformationSystems公司的TrustedXENIX一种产品标准的网络产品只有CryptekSecureCommunications公司的LLCVSLAN一种产品数据库没有符合B2标准的产品可信计算机系统评测标准(续)B3级安全域。该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。可信计算机系统评测标准(续)A1级验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。可信计算机系统评测标准(续)B2以上的系统还处于理论研究阶段应用多限于一些特殊的部门如军队等美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放到商业应用中来,并逐步成为新的商业标准。可信计算机系统评测标准(续)可信计算机系统评测标准(续)表示该级不提供对该指标的支持;表示该级新增的对该指标的支持;表示该级对该指标的支持与相邻低一级的等级一样;表示该级对该指标的支持较下一级有所增加或改动。第九章数据库安全性9.1计算机安全性概论9.2数据库安全性控制9.3统计数据库安全性9.4Oracle数据库的安全性措施9.5小结9.2数据库安全性控制9.2.1数据库安全性控制概述9.2.2用户标识与鉴别9.2.3存取控制9.2.4自主存取控制方法9.2.5强制存取控制方法9.2.6视图机制9.2.7审计9.2.8数据加密9.2.1数据库安全性控制概述非法使用数据库的情况用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;直接或编写应用程序执行非授权操作;数据库安全性控制概述(续)通过多次合法查询数据库从中推导出一些保密数据例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他:首先查询包括张三在内的一组人的平均工资然后查用自己替换张三后这组人的平均工资从而推导出张三的工资破坏安全性的行为可能是无意的,故意的,恶意的。计算机系统中的安全模型应用DBMSOSDB低高安全性控制层次方法:用户标识和鉴定存取控制审计视图操作系统安全保护密码存储数据库安全性控制概述(续)数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计密码存储9.2数据库安全性控制9.2.1数据库安全性控制概述9.2.2用户标识与鉴别9.2.3存取控制9.2.4自主存取控制方法9.2.5强制存取控制方法9.2.6视图机制9.2.7审计9.2.8数据加密9.2.2用户标识与鉴别用户标识与鉴别(Identification&Authentication)系统提供的最外层安全保护措施9.2.2用户标识与鉴别基本方法系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供机器使用权。用户标识和鉴定可以重复多次用户标识自己的名字或身份用户名/口令简单易行,容易被人窃取每个用户预先约定好一个计算过程或者函数系统提供一个随机数用户根据自己预先约定的计算过程或者函数进行计算系统根据用户计算结果是否正确鉴定用户身份9.2数据库安全性控制9.2.1数据库安全性控制概述9.2.2用户标识与鉴别9.2.3存取控制9.2.4自主存取控制方法9.2.5强制存取控制方法9.2.6视图机制9.2.7审计9.2.8数据加密9.2.3存取控制存取控制机制的功能存取控制机制的组成定义存取权限检查存取权限用户权限定义和合法权检查机制一起组成了DBMS的安全子系统存取控制(续)定义存取权限在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。检查存取权限对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。存取控制(续)常用存取控制方法自主存取控制