AnIntroductiontoDatabaseSystems1/105第四章数据库安全性第一篇基础篇AnIntroductiontoDatabaseSystems2/105问题的提出•数据库的一大特点是数据可以共享•但数据共享必然带来数据库的安全性问题•数据库系统中的数据共享不能是无条件的共享–例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据AnIntroductiontoDatabaseSystems3/105数据库安全性•数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据•数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一•安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,如OS,网络系统等。AnIntroductiontoDatabaseSystems4/105数据库安全性(续)•什么是数据库的安全性–数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。•什么是数据的保密–数据保密是指用户合法地访问到机密数据后能否对这些数据保密。–通过制订法律道德准则和政策法规来保证。AnIntroductiontoDatabaseSystems5/105Outline•计算机安全性概述•数据库安全性控制•视图机制•审计(Audit)•数据加密•统计数据库安全性•小结AnIntroductiontoDatabaseSystems6/105计算机安全性概述•计算机系统的三类安全性问题•安全标准简介AnIntroductiontoDatabaseSystems7/105计算机系统的三类安全性问题•什么是计算机系统安全性–为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。AnIntroductiontoDatabaseSystems8/105计算机系统的三类安全性问题(续)•三类计算机系统安全性问题–技术安全类–管理安全类–政策法律类AnIntroductiontoDatabaseSystems9/105计算机系统的三类安全性问题(续)•技术安全–指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。AnIntroductiontoDatabaseSystems10/105计算机系统的三类安全性问题(续)•管理安全–软硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题AnIntroductiontoDatabaseSystems11/105计算机系统的三类安全性问题(续)•政策法律类–政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令AnIntroductiontoDatabaseSystems12/105计算机安全性概述•计算机系统的三类安全性问题•安全标准简介AnIntroductiontoDatabaseSystems13/105安全标准简介•为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准–TCSEC(桔皮书)–TDI(紫皮书)–CC标准AnIntroductiontoDatabaseSystems14/105信息安全标准的发展历史AnIntroductiontoDatabaseSystems15/105TCSEC•《DoD可信计算机系统评估标准》,1985,DoD–TrustedComputerSystemEvaluationCriteria,,简称TCSEC或DoD85–又称桔皮书•TCSEC标准的目的–提供一种标准,使用户可以对其计算机系统内敏感信息安全操作的可信程度做评估。–给计算机行业的制造商提供一种可循的指导规则,使其产品能够更好地满足敏感应用的安全需求。AnIntroductiontoDatabaseSystems16/105TDI•《可信计算机系统评估标准关于可信数据库系统的解释》,1991,NCSC–TrustedDatabaseInterpretation简称TDI–又称紫皮书•它将TCSEC扩展到数据库管理系统。•TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。AnIntroductiontoDatabaseSystems17/105TDI/TCSEC标准的基本内容•从四个方面描述安全性级别划分的指标–安全策略–责任–保证–文档AnIntroductiontoDatabaseSystems18/105TDI/TCSEC标准的基本内容(续)R1安全策略(SecurityPolicy)R1.1自主存取策略(DAC)R1.2客体重用(ObjectReuse)R1.3标记(Labels)R1.3.1标记完整性(LabelIntegrity)R1.3.2标记信息的扩散R1.3.3主体敏感标记R1.3.4设备标记(DeviceLabels)R1.4强制存取控制(MAC)R2责任(Accountability)R2.1标识与鉴别R2.1.1可信路径(TrustedPath)R2.2审计(Audit)R3保证(Assurance)R3.1操作保证(OperationalAssurance)R3.2生命周期保证R4文档(Documentation)R4.1安全特性用户指南R4.2可信设施手册R4.3测试文档R4.4设计文档AnIntroductiontoDatabaseSystems19/105TCSEC/TDI安全级别划分安全级别定义A1验证设计(VerifiedDesign)B3安全域(SecurityDomains)B2结构化保护(StructuralProtection)B1标记安全保护(LabeledSecurityProtection)C2受控的存取保护(ControlledAccessProtection)C1自主安全保护(DiscretionarySecurityProtection)D最小保护(MinimalProtection)低高四组七个等级D,C(C1,C2),B(B1,B2,B3),A(A1)各安全级别之间:偏序向下兼容AnIntroductiontoDatabaseSystems20/105各等级简介•D级–最低级别,最小保护–将一切不符合更高标准的系统均归于D组–典型例子:DOS是安全标准为D的操作系统–DOS在安全性方面几乎没有什么专门的机制来保障AnIntroductiontoDatabaseSystems21/105各等级简介(续)•C1级–非常初级的自主安全保护–能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。–现有商业系统往往稍作改进即可满足要求。AnIntroductiontoDatabaseSystems22/105各等级简介(续)•C2级–安全产品的最低档次–提供受控的存取保护,将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离–达到C2级的产品在其名称中往往不突出“安全”(Security)这一特色–典型例子操作系统–Microsoft的WindowsNT3.5,–数字设备公司的OpenVMSVAX6.0和6.1数据库–Oracle公司的Oracle10g–Sybase公司的SQLServer11.0.6AnIntroductiontoDatabaseSystems23/105各等级简介(续)•B1级–标记安全保护。“安全”(Security)或“可信的”(Trusted)产品。–对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、审计等安全机制–典型例子操作系统–数字设备公司的SEVMSVAXVersion6.0–惠普公司的HP-UXBLSrelease9.0.9+数据库–Oracle公司的TrustedOracle7–Sybase公司的SecureSQLServerversion11.0.6–Informix公司的IncorporatedINFORMIX-OnLine/Secure5.0AnIntroductiontoDatabaseSystems24/105各等级简介(续)•B2级–结构化保护–建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。–经过认证的B2级以上的安全系统非常稀少–典型例子操作系统–只有TrustedInformationSystems公司的TrustedXENIX一种产品标准的网络产品–只有CryptekSecureCommunications公司的LLCVSLAN一种产品数据库–没有符合B2标准的产品AnIntroductiontoDatabaseSystems25/105各等级简介(续)•B3级–安全域–该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。Shortfortrustedcomputingbase.TCBreferstothetotalityofprotectionmechanisms(hardware,firmwareandsoftware)thatprovideasecurecomputingenvironment.TheTCBincludeseverythingthatmustbetrusted--accesscontrol,authorizationandauthenticationprocedures,cryptography,firewalls,virusprotection,databackup,andevenhumanadministration--inorderfortherightlevelofsecuritytoAnIntroductiontoDatabaseSystems26/105各等级简介(续)•A1级–验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。AnIntroductiontoDatabaseSystems27/105各等级简介(续)•B2以上的系统–还处于理论研究阶段–应用多限于一些特殊的部门如军队等–美国正在大力发展安全产品,试图将目前仅限于少数领域应用的B2安全级别下放到商业应用中来,并逐步成为新的商业标准。AnIntroductiontoDatabaseSystems28/105CC•CC–提出国际公认的表述信息技术安全性的结构–把信息产品的安全要求分为安全功能要求安全保证要求AnIntroductiontoDatabaseSystems29/105CC(续)•CC文本组成–简介和一般模型–安全功能要求–安全保证要求AnIntroductiontoDatabaseSystems30/105CC(续)•CC评估保证级划分A1形式化验证的设计和测试(formallyverifieddesignandtested)EAL7B3半形式化验证的设计和测试(semiformallyverifieddesignandtested)EAL6B2半形式化设计和测试(semiformallydesignedandtested)EAL5B1系统地设计、测试和复查(methodicallydesigned,tested,andreviewed)EAL4C2系统地测试和检查(methodicallytestedandchecked)EAL3C1结构测试(structurallytested)EAL2功能测试(functionallytested)EAL1TCSEC安全级别(近似相当)定义评估保证级A1形式化验证的设计和测试(formallyverifieddesignandtested)EAL7B3半形式化验证的设计和测试(semiformall