数据库原理_第4章_数据库安全性课件.pptx

上传人:yan****nan 文档编号:87194664 上传时间:2023-04-16 格式:PPTX 页数:104 大小:2.01MB
返回 下载 相关 举报
数据库原理_第4章_数据库安全性课件.pptx_第1页
第1页 / 共104页
数据库原理_第4章_数据库安全性课件.pptx_第2页
第2页 / 共104页
点击查看更多>>
资源描述

《数据库原理_第4章_数据库安全性课件.pptx》由会员分享,可在线阅读,更多相关《数据库原理_第4章_数据库安全性课件.pptx(104页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第4章 数据库安全性u 4.1 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结本章主要内容本章主要内容3/6/2023 数据库的应用越来越广泛,存储的信息越来越有价值,一旦这些信息暴露,其后果不可设想。因此,数据库中的数据必须得到有力的保护。数据库的特点之一是DBMS提供统一的数据保护功能来保证数据的安全可靠和正确有效,数据库的数据保护包括数据的安全性和数据的完整性。3/6/2023第4章 数据库安全性u 4.1 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u

2、4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/2023 数据库系统的安全必须在以下几个层次上采数据库系统的安全必须在以下几个层次上采取安全措施:取安全措施:数据库系统层次;操作系统层次;网络层次;物理层次(物理结点保护);人员层次。3/6/20234.1.1 数据库安全的基本概念数据库安全的基本概念 可信计算基可信计算基 可信计算基是指为实现系统安全保护策略的各种安全保护机制的集合。它是数据安全的基本概念。主体、客体与主客体分离主体、客体与主客体分离 主体是数据的访问者,包括用户、应用程序、进程以及线程等。客体是数据及其载体,包括表、视图、数据文件

3、、磁盘区域、内存区域、存储过程等。主、客体集间存在单向(主体向客体)访问关系。3/6/2023 身份鉴别身份鉴别 身份鉴别就是主体访问客体前,系统要求主体用一定标志标识自己身份。可信计算基使用这些标志以鉴别用户身份,并阻止非法主体的访问。数据完整性数据完整性 数据完整性指保护数据的修改并保持其一致性。通过完整性策略阻止非授权主体修改或破坏数据。在网络环境下可使用敏感标志以确保数据在传输中不被破坏。3/6/2023 自主访问控制自主访问控制 即可信计算基定义和控制系统中命名主体对客体的访问,实施机制(如访问控制表)允许主体规定和控制对客体的共享,并阻止非授权主体访问客体。自主访问控制适合在单机方

4、式下的访问控制,并允许规定客体的共享控制。审计审计 指设置审计功能记录可疑主体访问客体的轨迹,以防止非法主体对客体的访问。记录的内容包括:访问时间、用户、操作类型、是否成功等。3/6/2023 标记与强制访问控制标记与强制访问控制 它是与自主访问控制是完全不同的访问控制手段。需对主体与客体加上标记,标记可以是一个数字或一个字母集合。一般有两种标记:一是安全级别标记,是一个数字,规定了主客体的安全级别,只有主体级别高于客体级别时,才允许访问;另一个是安全范围标记,是一个字母集合,规定了主体的访问范围,只有主体的标记包含或相等于客体的标记时才允许访问。3/6/20234.1.2 信息安全标准简介信

5、息安全标准简介1、国际及国内的相关信息安全评估标准发展阶段:奠基时期奠基时期 1967年美国国防部(DOD)成立了一个研究组,针对当时计算机使用环境中的安全策略进行研究。1969年,C.Weisman发表了有关Adept-50的安全控制研究成果;1970年,W.H.Ware推出的研究报告对多渠道访问的资源共享的计算机系统引起的安全问题进行了研究;1972年,J.P.Anderson提出了引用监控机、引用验证机制和安全核等根本思想,揭示安全规则的严格模型化的重要性,并提出了独立的安全评价方法问题。之后,D.E.Bell和L.J.LaPadula提出了著名Bell&LaPadula模型,该模型在M

6、ultics系统中得到了成功实现。3/6/2023 在以上成果的基础上,1983年美国国防部首次公布了可信计算机系统评估准则(TCSEC)以用于对操作系统的评估,这是IT历史上的第一个安全评估标准,1985年公布了第二版。TCSEC 为业界所熟知的名字“桔皮书”则是因其封面的颜色而得来。后来DOD又发布了可信数据库解释(TDI)、可信网络解释(TNI)等一系列与TCSEC相关的说明和指南,由于这些文档发行时封面均为不同的颜色,因此常被人称为“彩虹计划”。这一时期进行了大量的基础研究工作,并最终形成第一个美国国内的信息安全评估标准TCSEC。3/6/2023 1988年,德国(当时的西德)信息安

7、全局推出的计算机安全评价标准绿皮书。1989 年英国的贸易工业部和国防部联合开发了计算机安全评价标准。1990 年,欧共体委员会(CEC)首度公布了由英国、德国、法国和荷兰提出的信息技术安全性评估准则(ITSEC)安全评估标准。1992年4月,加拿大可信计算机产品评估准则(CTCPEC)的草案发布,它可被看作为在TCSEC和ITSEC范围之上的一个进一步发展,而且它实现结构化安全功能的方法也影响了后来的国际标准。1992年8月,日本电子工业发展协会(JEIDA)公布了日本计算机安全评估准则-功能要求(JCSEC2FR)。1992年12月,美国NIST和国家安全局(NSA)发布一个TCSEC的替

8、代标准信息技术安全联邦准则(FC2ITS)的草案1.0。混沌时期混沌时期3/6/2023 合并时期合并时期 1996年,六国七方(英国、加拿大、法国、德国、荷兰、NSA和NISA)公布了信息技术安全性评估通用准则(简称为通用准则,CC),该标准是北美和欧盟联合以开发一个统一的国际互认的安全标准的结果,是在美国、加拿大、欧洲等国家和地区分别自行推出的评估标准及具体实践的基础上,通过相互间的总结和互补发展起来的。1998年,六国七方又公布了CC的2.0版。统一时期统一时期 1999年12月ISO采纳CC,并作为国际标准ISO 15408发布,因此ISO 15408实际上就是CC标准在国际标准化组织

9、里的称呼。这一时期称为统一时期。3/6/2023 美国的美国的TCSECTCSEC 1983年美国国防部首次公布了可信计算机系统评估准则(TCSEC)以用于对操作系统的评估,这是IT历史上的第一个安全评估标准,1985年公布了第二版。TCSEC为业界所熟知的名字“桔皮书”则是因其封面的颜色而得来。TCSEC 所列举的安全评估准则主要是针对美国政府的安全要求,着重点是基于大型计算机系统的机密文档处理方面的安全要求。CC被接纳为国际标准后,美国已停止了基于TCSEC的评估工作。2、各标准的基本内容3/6/2023美国颁布的TCSEC把数据安全级别划分为四类七级:D级:无安全保护的系统。Cl级:具有

10、主体、客体及主客体分离、身份鉴别、数据完整性、自主访问控制功能的系统;核心是自主访问控制。C2级:满足C1级全部功能,且具有审计功能的系统;核心是审计功能。目前国内使用的系统大部分符合此标准。3/6/2023 B1级:满足C2级全部功能,且具有标记及强制访问控制功能的系统;核心是强制访问控制。国际上有部分系统符合此标准,国内基本上没有满足此标准的系统;满足此标准的系统可称为可信系统或安全系统。B2级:满足B1级全部功能,且具有形式化安全模型与隐蔽通道功能的系统;核心是形式化安全模型。目前国内外均无满足此标准的系统。3/6/2023 B3级:满足B2级全部功能,且具有访问监控器功能的系统;核心是

11、访问监控器。目前国内外均无满足此标准的系统。A级:更高的形式化要求。目前国内外均无满足此标准的系统。3/6/2023 目前市面上常用软件经过权威机构的评测,确定了其安全级别。如Oracle,Sybase,informix,SQL Server等数据库系统软件符合C1或C2级安全要求;Windows,Unix操作系统符合Cl或C2级安全要求。市场上大部分系统软件都处于C1或C2级安全级别。此外,美国有符合Bl级的军用版本Oracle数据库系统和WinNT操作系统。国内有一些符合B1级的安全原型DBMS:如OpenBASE,Cobase等。3/6/2023欧共体委员会的欧共体委员会的 ITSEC

12、ITSEC 信息技术安全性评估准则(ITSEC)是英国、德国、法国和荷兰四个欧洲国家安全评估标准的统一与扩展,由欧共体委员会在1990年首度公布。ITSEC 的目标在于成为国家认证机构所进行的认证活动的一致基准,还有更重要的一点就是评估结果的互认。自1991年7月以来,ITSEC就一直被实际应用在欧洲国家的评估和认证方案中,直到其为CC所取代。3/6/2023 加拿大系统安全中心的加拿大系统安全中心的 CTCPEC CTCPEC 1992年4月,加拿大可信计算机产品评估准则(CTCPEC)3.0版的草案发布,它可被看作为在TCSEC及ITSEC范围之上的一个进一步发展,而且它实现结构化安全功能

13、的方法也影响了后来的国际标准。3/6/2023 国际通用准则国际通用准则CC(ISO/IEC15408-1999)CC(ISO/IEC15408-1999)国际信息技术安全性评估通用准则(简称为通用准则,CC)是北美和欧盟联合以开发一个统一的国际互认的安全标准的结果,是在美国、加拿大、欧洲等国家和地区分别自行推出的评估标准及具体实践的基础上,通过相互间的总结和互补发展起来的。3/6/2023 1996年,六国七方(英国、加拿大、法国、德国、荷兰、NSA国家安全局和NIST国家标准技术研究所)公布了CC的1.0版,1998年,六国七方又公布了CC的2.0版。CC取代了TCSEC、ITSEC,及

14、CTCPEC,是事实上的国际安全评估标准。1999年,CC被国际标准化组织(ISO)批准成为国际标准(ISO/IEC15408-19999)并正式颁布发行,其对应的CC版本为2.1版。3/6/2023 CC作为评估信息技术产品和系统安全性的国际性通用准则,是信息技术安全性评估结果国际互认的基础,遍及世界各地的众多组织现在均已实施了CC。互认通过签署互认协定(MRA)来实现,产品在一个MRA成员国评估通过就可被其他的成员国所接受,从而避免重复的评估行为。对于其他国家来讲,只要能够证明他们能够实现MRA中的互认所要求的极其严格的技术与程序上的条件,就可寻求加入MRA。Windows 2000、Su

15、n Solaris 8、Oracle 9i、DB2 V8.2等都已通过了CC的EAL4(B1)。3/6/2023 我国的安全评估标准我国的安全评估标准 为提高我国计算机信息系统安全保护水平,1999年9月国家质量技术监督局发布了国家标准 GB17859-1999计算机信息安全保护等级划分准则,它是建立安全等级保护制度、实施安全等级管理的重要基础性标准。该标准是我国计算机信息系统保护等级系列标准的第一部分,其他数十个相关标准的制订工作还正在紧张进行。该标准的制定参照了美国的TCSEC。3/6/2023 该标准共分为五级与美国TCSEC标准的对应关系如下:第一级:用户自主保护级C1级 第二级:系统

16、审计保护级C2级 第三级:安全标记保护级B1级 第四级:结构化保护级B2级 第五级:访问验证保护级B3级3/6/2023 自从CC 1.0版公布后,我国相关部门就一直密切关注着它的发展情况,并对该版本做了大量的研究工作。2001年3月,国家质量技术监督局正式颁布了援引CC的国家标准GB/T18336-2001信息技术 安全技术 信息技术安全性评估准则。3/6/20233、对数据库安全的威胁3/6/2023基于计算机技术的防卫措施主要有:用户授权:包括授权用户的身份验证以及为他们授予访问权限。通过视图调整授权:定义可向用户授权数据库特定部分的用户视图。备份和恢复:定期建立数据库备份副本,并测试和

17、实现恢复过程。保护机密数据:使用加密技术保护机密数据。3/6/2023第4章 数据库安全性u 4.1 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/2023 从本质上讲,数据库安全依赖于数据库系统的访问控制。数据库安全的一部分是控制物理访问,另一主要部分是通过DBMS控制访问。所有DBMS都包含安全系统,以保证授权用户访问数据库,这些安全机制一般指任意安全机制和强制安全机制。3/6/2023DBMS的安全机制的安全机制 3/6/2023 采用该方法以若干种指派模式授予各个用户访

18、问特定数据项的权限或权力。建立数据库对象的用户自动得到此对象的所有访问权限,包括将此对象的权限再授予他人。在授予或撤消访问权限时,主要有两种级别:数据库对象:数据项或数据元素,一般是基表或视图;用户:可以用一些授权标识符识别的单个用户或用户组。授权通常都是在这两种级别上进行。任意控制(任意控制(DACDAC)3/6/2023 DBMS提供了功能强大的授权机制,它可以给用户授予各种不同对象(表、视图、存储过程等)的不同使用权限(如 Select、update、insert、delete等)。在用户级别,可以授予数据库模式和数据操纵方面的以下几种授权,包括:创建和删除索引、创建新关系、添加或删除关

19、系中的属性、删除关系、查询数据、插入新数据、修改数据、删除数据等。在数据库对象级别,可将上述访问权限应用于数据库、基本表、视图和列等。授权 3/6/2023 如果要给成千上万个雇员分配许可,将面临很大的管理难题,每次有雇员到来或者离开时,就得有人分配或去除可能与数百张表或视图有关的权限。这项任务不但耗时,而且容易出错。一个相对简单有效的解决方案就是定义数据库角色。数据库角色是被命名的一组与数据库操作相关的权限,即一组相关权限的集合。可以为一组具有相同权限的用户创建一个角色。使用角色来管理数据库权限可以简化授权的过程。数据库角色3/6/2023DBARole用户用户用户用户授权授权授权管理授权管

20、理3/6/2023 强制控制强制控制 任意访问控制是关系数据库的传统方法,可对数据库提供充分保护,但它不支持随数据库各部分的机密性而变化,技术高超的专业人员可能突破该保护机制获得未授权访问。另外,由于用户对数据的存取权限是“自主”的,用户可以自由地决定将数据的存取权限授予何人、决定是否也将“授权”的权限授予别人。在这种授权机制下,仍可能存在数据的“无意泄露”。3/6/2023 强制访问控制克服了任意访问控制的缺点。在强制访问控制方法中,不能由一个用户不加控制地将访问权限授予或传递给另一用户。强制访问控制方法是指系统为了保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求所采取的强制

21、访问检查手段,它不是用户能直接感知或进行控制的。强制访问控制主要适用于对数据有严格要求而固定密级分类的部门,如军事部门或政府部门。3/6/2023 强制访问控制模型基于与每个数据项和每个用户关联的安全性标识(Security Label)。安全性标识被分为若干级别:绝密(Top Secret)、机密(Secret)、秘密(Confidential)、一般(Public)。数据的标识称为密级(Security Classification),用户的标识称为许可级别证(Security Clearance)。3/6/2023 当某一用户以某一密级进入系统时,在确定该用户能否访问系统上的数据时应遵守

22、如下规则:(1)当且仅当用户许可证级别大于等于数据的密级时,该用户才能对该数据进行读操作。(2)当且仅当用户的许可证级别小于或等于数据的密级时,该用户才能对该数据进行写操作。3/6/2023数据库系统的安全机制数据库系统的安全机制 授权机制约束机制审计触发器存储过程用户身份验证操作系统数据库服务器(RDBMS)视图3/6/2023 视图机制视图机制 几乎所有的DBMS都提供视图机制。视图不同于基本表,它不存储实际数据。表存储数据,而视图好象表的窗口(虚表)。当用户通过视图访问数据时,是从基本表获得数据。视图提供了一种灵活而简单的方法,以个人化方式授予访问权限,是强大的安全工具。在授予用户对特定

23、视图的访问权限时,该权限只用于在该视图中定义的数据项,而未用于完整基本表本身。3/6/2023 对DBA而言,审计就是记录数据库中正在作什么的过程。审计记录可以告诉你正在使用哪些系统权限,使用频率是多少,多少用户正在登录,会话平均持续多长时间,正在特殊表上使用哪些命令,以及许多其他有关事实。审计审计3/6/2023 审计功能把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)中。审计日志一般包括下列内容:(1)操作类型(如修改、查询等)。(2)操作终端标识与操作人员标识。(3)操作日期和时间。(4)操作的数据对象(如表、视图、记录、属性等)。(5)数据修改前后的值。3/6/2

24、023审计一般可以分为用户级审计和系统级审计。用户级审计是任何用户可设置的审计,主要是针对自己创建的数据库或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测Grant和Revoke操作以及其他数据库级权限下的操作。3/6/2023 统计数据库安全性统计数据库安全性统计数据库的特点允许用户查询聚集类型的信息(例如合计、平均值等)不允许查询单个记录信息示例:允许查询“程序员的平均工资是多少”不允许查询“程序员张勇的工资”3/6/2023统计数据库中特殊的安全性问题 隐蔽的信息通道 从合

25、法的查询中推导出不合法的信息3/6/2023例1:下面两个查询都是合法的 本公司共有多少女高级程序员?本公司女高级程序员的工资总额是多少?如果第一个查询的结果是“1”,那么第二个查询的结果显然就是这个程序员的工资数。规则1:任何查询至少要涉及N(N足够大)个以上的 记录。3/6/2023例2:用户A发出下面两个合法查询:用户A和其他N个程序员的工资总额是多少?用户B和其他N个程序员的工资总额是多少?若第一个查询的结果是X,第二个查询的结果是Y,由于用户A知道自己的工资是Z,那么他可以计算出用户B的工资=Y-(X-Z)。原因:两个查询之间有很多重复的数据项。规则2:任意两个查询的相交数据项不能超

26、过M个。3/6/2023 可以证明,在上述两条规定下,如果想获知用户B的工资额A至少需要进行1+(N-2)/M次查询。规则3:任一用户的查询次数不能超过1+(N-2)/M。如果两个用户合作查询就可以使这一规定失效。3/6/2023数据库安全机制的设计目标设计目标:试图破坏安全的人所花费的代价 得到的利益3/6/2023第4章 数据库安全性u 4.1 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/2023 如果入侵者绕过系统访问数据库的信息内容,如果入侵者通过物理移除磁盘或备份磁

27、盘盗走数据库、如果入侵者接入载有真实用户数据的通信链路、如果聪明的入侵者通过运行程序突破操作系统防线来检索数据,情况会如何呢?在这些情况下,数据库系统的各种授权规则或许不能提供充分的保护。标准安全技术无法防范绕过系统访问数据的侵扰,这就需要采取其他保护措施来加强安全系统。加密技术提供了附加保护,数据库中的数据是可以被加密(encrypt)的,加密数据是不可能被读出的。加密也构成了鉴定数据库用户身份良好机制的基础。3/6/2023 加密是一种编码数据的方法,使入侵者难以理解数据内容,在授权用户使用时,解码数据,使其返回原始格式。一些商业DBMS包含加密模块,还有一些能提供程序,使用户编写自己的加

28、密例程。当前,加密技术广泛应用于诸如电子资金划拨(electronic fund transfers,EFT)和电子商务等应用程序中。加密的概念加密的概念3/6/2023加密方案需要一个包含下列组件和概念的密码系统。u 编码数据(称为明文)的加密密钥u 将明文更改为编码文本(称为密文)的加密算法u 解码密文的解码密钥u 将密文转换回原始明文的解密算法3/6/2023加密元素3/6/2023u 编码 最简单、最方便的方法。对于重要字段,值被编码。例如,不存储银行分支的名称,而是存储代码来表示。u 替代 逐个替代明文中的字母,以生成密文。u 转置 使用特殊算法重新排列明文中的字符。一般地,替代和转

29、置结合使用可取得理想效果。不过,未使用加密密钥的技术无法提供充分保护。技术的强度取决于密钥以及用于加密和解密的算法。如果单纯使用替代和转置,若入侵者分析足够多的编码文本,可能解密文本。常用加密方法:常用加密方法:3/6/2023根据加密密钥的使用和部署,可将加密技术分为两种类型:u 对称加密 该技术为加密和解密使用相同加密密钥。密钥必须保密,以防范潜在入侵者。该技术依赖于安全通信,以便在数据提供者和授权用户之间交换密钥。若密钥确实安全,则要将密钥作为消息本身的一部分。这么做效率不高,大多数密钥较短。数据加密标准(Data Encryption standard,DES)是该技术的一个例子。u非

30、对称加密 该技术为加密和解密使用不同密钥。一种是公开的公钥,另一种是只有授权用户知道的私钥。加密算法也可以公开。公钥加密(RSA)是一种非对称加密方法。3/6/2023数据加密标准数据加密标准 该技术在1977年由IBM开发和设计,被国家标准局采用为正式DES。从那时起,各种行业机构开始采用DES。该技术为加密和解密使用单个密钥。密钥必须保持秘密,以防范潜在入侵者。同样,加密算法决不能对外公开。该算法由字符替代和转置(或置换)构成。3/6/2023单密钥加密技术DES 3/6/2023工作原理 DES将明文划分为块,每个块64位。用64位密钥来加密各个块。密钥虽64位长,但有效位仅56位,其余

31、8位用作奇偶校验位。即使56位密钥,也可能有256种可能的不同密钥。所以,在建立密钥时,选择余地非常大。按下列顺序执行加密:u 使用密钥为各个块应用初始置换。u 按16个连续复杂替代步骤操作转换或置换块。u 最后应用另一种置换算法,与初始置换相反。解密算法与加密算法相同,但步骤执行顺序正好相反。3/6/2023公钥加密公钥加密 公钥加密技术由Rivest、Shamir和Adleman提出,该技术得到广泛应用。按三名创始者的姓名首字母,将其称为RSA。RSA模型基于以下概念:u 使用两个加密密钥,一个是公钥,另一个是私钥。u 每位用户都有公钥和私钥。u 公钥向所有人发布,是公开的。u 加密算法也

32、可免费看到。u 只有个体用户知道自己的私钥。u 加密算法和解密算法相反。3/6/2023公钥加密技术 3/6/2023 RSA的一个非常重要的应用就是实现 数字签名(digital signature),数字签名是指附加在数据单元上的一些数据,或是对数据所作的密码变换,这种数据变换能使数据接收者确认数据的来源、完整性并保护数据。数字签名可以作为某个文档的出处证明,就像日常生活中应用的手写签名一样。和公钥加密法一样,这一概念是在Diffie and Hellman 1976中首次采用的,但是和公钥系统一样,绝大多数数字签名系统也是建立在RSA算法River et al.1978或者是特别为签名而

33、开发的其他算法的基础上的。3/6/2023常用的数据库加密方法常用的数据库加密方法 传统的加密以报文为单位,加密解密都是从头至尾顺序进行。数据库数据的使用方法决定了它不可能以整个数据库文件为单位进行加密。当符合检索条件的记录被检索出来后,就必须对该记录迅速解密。然而该记录是数据库文件中随机的一段,无法从中间开始解密,除非从头到尾进行一次解密,然后再去查找相应的这个记录,显然这是不合适的。必须解决随机地从数据库文件中某一段数据开始解密的问题。3/6/2023 数据库加密通过对明文进行复杂的加密操作,以达到无法发现明文和密文之间、密文和密钥之间的内在关系,也就是说经过加密的数据库经得起来自操作系统

34、和数据库管理系统(DBMS)的攻击。另一方面,数据库管理系统(DBMS)要完成对数据库文件的管理和使用,必须具有能够识别部分数据的条件,而对数据库中的部分数据进行加密处理后,会影响到数据库管理系统(DBMS)对数据库管理的原有功能。3/6/2023u 基于文件的加密 把数据库文件作为整体,用加密算法对整个数据库文件加密来保证信息的真实性和完整性。数据的共享是通过用户用解密密钥对整个数据库文件进行解密来实现的。这一方法的实际应用受到多方面的限制:(1)数据修改的工作将变得十分困难,需要进行解密、修改、复制和加密四个操作,极大地增加了系统的时空开销;(2)即使用户只是需要查看某一条记录,也必须将整

35、个数据库文件解密,这样无法实现对文件中不需要让用户知道的信息的控制。3/6/2023u 字段加密 字段是最小的加密单位。字段加密的原理是将重要的字段内容进行加密,当使用查询语句获取结果集后,再将这些重要的字段内容进行解密。每个字段可以使用不同的密钥,也可以使用共同的密钥。字段加密具有较高的安全性,但是由于对一个记录进行存取时需要多次的加/解密处理,这可能对数据库的访问速度有所影响。同时,它对数据库管理系统(DBMS)的功能影响也很大。所以,在实际应用中,一般不会对所有记录都进行加密处理,而是对部分安全性要求高的字段进行加密处理。3/6/2023通常情况下,以下几种字段不宜加密:通常情况下,以下

36、几种字段不宜加密:(1)索引字段不能加密;(2)关系运算的比较字段不能加密;(3)表间的连接码字段不能加密。3/6/2023u记录加密 字段加密具有最高的安全性,但是字段加密频繁地加/解密过程会严重影响应用程序访问数据库数据的效率。记录加密的过程是将表中的行的所有字段或部分字段组成一个整体,进行统一加密,当应用程序访问数据库中的表记录时,再将行的所有字段或部分字段进行统一解密。记录加密时可以使用单个密钥或多个密钥。3/6/2023u 子密钥加密技术 G.I.David等人提出子密钥加密算法,其核心思想是根据关系型数据库中数据组织的特点,在加密时以记录为单位进行加密操作,而在解密时以字段为单位对

37、单项数据进行解密操作。两者所用的密钥是不同的,加密所用的密钥是针对整个记录的密钥,而解密所用的密钥是针对单个数据项的子密钥。该算法的理论依据是著名的中国剩余定理。3/6/2023u 秘密同态技术 上述数据库加密方法可以应用于不同的环境,但存在一个共同的问题:对于所形成的密文数据库无法进行操作,而且在实际应用中,对于某些重要或敏感数据,无法满足用户对其进行操作但又不让用户了解其中信息的需要。如果能对密文数据库进行数学运算和常规的数据库操作,显然能够解决上面存在的问题,并可以大大削减加、解密所需要的时空开销,大大提高数据库的运行效率。秘密同态(Private homomorphism)技术就是一个

38、能解决上述问题的有效方法。但目前该技术还没有解决在数据库上进行比较操作的问题。3/6/2023数据库加密对数据库加密对DBMS的影响的影响 数据库数据加密以后,DBMS的一些功能将无法使用,数据库加密后对DBMS原有功能的主要影响有下面几个方面:u 无法实现对数据制约因素的定义;u 密文数据的排序、分组和分类;u SQL语言中的内部函数不能作用于加/解密数据;u DBMS的一些应用开发工具的使用受到限制。3/6/2023在对数据库进行加密时,应注意以下几点:u 选择合适的加密算法 u 选择合适的加密方法 u 测试加密后访问数据库的效率 3/6/2023第4章 数据库安全性u 4.1 数据库安全

39、性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/2023SQL Server采用采用4个等级的安全验证个等级的安全验证:u 操作系统安全验证;u SQL Server安全验证;u SQL Server数据库安全验证;u SQL Server数据库对象安全验证。3/6/2023 SQL Server提供了两种不同的方法来验证用户进入服务器。用户可以根据自己的网络配置决定使用其中一种。u Windows验证u SQL Server验证 安全模式安全模式3/6/2023 SQL Server数据

40、库系统通常运行在NT服务器平台或基于NT构架的Windows 2000上,而NT作为网络操作系统,本身就具备管理登录验证用户合法性的能力,所以Windows验证模式正是利用这一用户安全性和帐号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在该模式下,用户只要通过Windows的验证就可连接到SQL Server,而SQL Server本身也没有必要管理一套登录数据。因此,对SQL Server来说,Windows验证是首选的方法。3/6/2023 当在Windows 95/98计算机上运行SQL Server时,SQL Server混合验证是惟一可用的方法。在混合验证设置中

41、,如果一个客户机连接到服务器但没有传来登录名和口令,SQL Server 就会自动认定用户想要使用Windows验证,并使用Windows验证方法来验证用户。如果用户确实传来了登录名和口令,SQL Server就认为是经由SQL Server验证连接的。在SQL Server验证过程中,用户传给服务器的登录信息与系统表syslogins中的信息进行比较。如果两个口令匹配,SQL Server允许用户访问服务器。如果不匹配,SQL Server不允许访问,并且用户会从服务器上收到一个出错信息。3/6/2023服务器登录标识管理服务器登录标识管理 sa和Administrators是系统在安装时创

42、建的分别用于SQL Server混合验证模式和Windows验证模式的系统登录名。如果用户想创建新的登录名或删除已有的登录名,可使用下列两种方法:u 使用SQL Server企业管理器管理登录名;u 使用SQL Server系统存储过程管理登录名。3/6/2023 数据库用户管理数据库用户管理 在SQL Server中,登录对象和用户对象是SQL Server进行权限管理的两种不同的对象。一个登录对象是服务器方的一个实体,使用一个登录名可以与服务器上的所有数据库进行交互。用户对象是一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限,一个登录名可以被

43、授权访问多个数据库,一个登录名在每个数据库中只能映射一次。SQL Server可使用下列两种方法来管理数据库用户:u 使用SQL Server企业管理器管理数据库用户;u 使用SQL Server系统存储过程sp_grantdbaccess管理数据库用户。3/6/2023权限管理权限管理 在SQL Server中有三种类型的权限:语句权限、对象权限和隐含权限。其中语句权限和对象权限可以委派给其它用户,隐含权限只允许属于特定角色的人使用。在SQL Server中主要有两种类型的角色:服务器角色与数据库角色。3/6/2023 语句权限通常只给那些需要在数据库中创建或修改对象、执行数据库或事务日志备

44、份的用户。这类权限是SQL Server中功能最强大的一些权限,这些权限只限分配在单个数据库,跨数据库的权限是不可能的。当分配语句权限给用户时,就给了他们创建对象的能力,通常使用对应的SQL Server命令来引用。对象权限分配给数据库层次上的对象,并允许用户访问和操作数据库中已存在的对象。没有这些权限,用户将不能访问数据库里的任何对象。这些权限实际上给了用户运行特定SQL语句的能力。3/6/2023第4章 数据库安全性u 4.1 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/

45、2023Oracle数据库中的安全机制包括:u 数据库用户和模式u 权限控制u 角色u 存储设置和空间份额u 存储资源限制u 数据库系统跟踪u 数据库审计3/6/2023数据库用户数据库用户 Oracle提供操作系统验证和Oracle数据库验证两种验证方式。操作系统验证有两大优点,一是用户可方便地连接到Oracle,不需要指定用户名和口令;二是对用户授权的控制集中在操作系统,Oracle不需要存储和管理用户口令。Oracle数据库验证方式仅当操作系统验证不能用于数据库用户鉴别时才使用。使用Oracle数据库验证方式要为每个数据库用户建立一个口令,系统以加密的形式将口令存储在数据字典中,用户随时

46、可修改口令。在用户与数据库连接时必须经过验证,以防止对数据库的非授权使用。3/6/2023 权限管理权限管理 在Oracle中将权限分为两类:系统权限和对象权限。系统权限是指在系统级控制数据库的存取和使用的机制,系统权限决定了用户是否可以连接到数据库以及在数据库中可以进行哪些操作。系统权限是对用户或角色设置的,在Oracle中提供了100多种不同的系统权限。3/6/2023 对象权限是指在对象级控制数据库的存取和使用的机制,用于设置一个用户对其他用户的表、视图、序列、过程、函数、包的操作权限。对于不同类型的对象,有不同类型的对象权限。对于有些模式对象,如聚集、索引、触发器、数据库链接等没有相关

47、的对象权限,这些权限由系统进行控制。3/6/2023 角色(role)是一个数据库实体,该实体是一个已命名的权限集合。使用角色可以将这个集合中的权限同时授予或撤消。Oracle中的角色可以分为预定义角色和自定义角色两类。当运行作为数据库创建的一部分脚本时,会自动为数据库预定义一些角色,这些角色主要用来限制数据库管理系统权限。此外,用户也可以根据自己的需求,将一些权限集中到一起,建立用户自定义的角色。角色角色3/6/2023审计审计 Oracle数据库系统的审计就是对选定的用户在数据库中的操作情况进行监控和记录,结果被存储在SYS用户的数据库字典中,数据库管理员可以查询该字典,从而获取审计结果。

48、Oracle支持三种审计级别:u 语句审计,对某种类型的SQL语句审计,不指定结构或对象;u 特权审计,是对系统权限的使用情况进行审计;u 对象审计,对特殊模式对象上的指定语句进行审计。3/6/2023 Oracle中的AUDIT语句用来设置审计功能,NOAUDIT语句取消审计功能。例4.1 对修改教师信息teacher表结构或修改teacher表数据的操作进行审计。AUDIT ALTER,UPDATE ON teacher;例4.2 取消对teacher表的一切审计。NOAUDIT ALTER,UPDATE ON teacher;3/6/2023 审计设置以及审计内容一般都放在数据字典中。在

49、默认情况下,系统为了节省资源、减少I/O操作,数据库的审计功能是关闭的。为了启动审计功能,必须把审计开关打开(即把系统参数audit_trail设为true),才可以在系统表(SYS_AUDITTRAIL)中查看审计信息。3/6/2023 数据库密码系统要求将明文数据加密成密文数据,数据库中存储密文数据,查询时将密文数据取出解密得到明文信息。Oracle 9i提供了特殊DBMS-OBFUSCATION-TOOL KIT包,在Oracle l0g中又增加了DBMS-CRYPTO包用于数据加密解密,支持DES、AES等多种加密解密算法。数据加密数据加密3/6/2023第4章 数据库安全性u 4.1

50、 数据库安全性概述 u 4.2 访问控制 u 4.3 数据库加密技术 u 4.4 SQL Server的安全机制 u 4.5 Oracle的安全机制 u 小结3/6/2023 随着计算机特别是计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要。DBMS是管理数据的核心,因而其必须具有一套完整而有效的安全性机制。信息安全技术方面有一系列的安全标准,最有影响的是TCSEC和CC两个标准,目前CC已经基本取代了TCSEC,成为评估信息产品安全性的主要标准。3/6/2023 计算机系统的安全措施主要有:任意访问控制、强制访问控制和数据库加密技术。在任意访问控制中,授予授权用户按规定访问模式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com