数据库原理_第4章_数据库安全性.ppt_第1页
数据库原理_第4章_数据库安全性.ppt_第2页
数据库原理_第4章_数据库安全性.ppt_第3页
数据库原理_第4章_数据库安全性.ppt_第4页
数据库原理_第4章_数据库安全性.ppt_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 本章主要内容 2020 2 14 数据库的应用越来越广泛 存储的信息越来越有价值 一旦这些信息暴露 其后果不可设想 因此 数据库中的数据必须得到有力的保护 数据库的特点之一是DBMS提供统一的数据保护功能来保证数据的安全可靠和正确有效 数据库的数据保护包括数据的安全性和数据的完整性 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 数据库系统的安全必须在以下几个层次上采取安全措施 数据库系统层次 操作系统层次 网络层次 物理层次 物理结点保护 人员层次 2020 2 14 4 1 1数据库安全的基本概念可信计算基可信计算基是指为实现系统安全保护策略的各种安全保护机制的集合 它是数据安全的基本概念 主体 客体与主客体分离主体是数据的访问者 包括用户 应用程序 进程以及线程等 客体是数据及其载体 包括表 视图 数据文件 磁盘区域 内存区域 存储过程等 主 客体集间存在单向 主体向客体 访问关系 2020 2 14 身份鉴别身份鉴别就是主体访问客体前 系统要求主体用一定标志标识自己身份 可信计算基使用这些标志以鉴别用户身份 并阻止非法主体的访问 数据完整性数据完整性指保护数据的修改并保持其一致性 通过完整性策略阻止非授权主体修改或破坏数据 在网络环境下可使用敏感标志以确保数据在传输中不被破坏 2020 2 14 自主访问控制即可信计算基定义和控制系统中命名主体对客体的访问 实施机制 如访问控制表 允许主体规定和控制对客体的共享 并阻止非授权主体访问客体 自主访问控制适合在单机方式下的访问控制 并允许规定客体的共享控制 审计指设置审计功能记录可疑主体访问客体的轨迹 以防止非法主体对客体的访问 记录的内容包括 访问时间 用户 操作类型 是否成功等 2020 2 14 标记与强制访问控制它是与自主访问控制是完全不同的访问控制手段 需对主体与客体加上标记 标记可以是一个数字或一个字母集合 一般有两种标记 一是安全级别标记 是一个数字 规定了主客体的安全级别 只有主体级别高于客体级别时 才允许访问 另一个是安全范围标记 是一个字母集合 规定了主体的访问范围 只有主体的标记包含或相等于客体的标记时才允许访问 2020 2 14 4 1 2信息安全标准简介 1 国际及国内的相关信息安全评估标准发展阶段 奠基时期1967年美国国防部 DOD 成立了一个研究组 针对当时计算机使用环境中的安全策略进行研究 1969年 C Weisman发表了有关Adept 50的安全控制研究成果 1970年 W H Ware推出的研究报告对多渠道访问的资源共享的计算机系统引起的安全问题进行了研究 1972年 J P Anderson提出了引用监控机 引用验证机制和安全核等根本思想 揭示安全规则的严格模型化的重要性 并提出了独立的安全评价方法问题 之后 D E Bell和L J LaPadula提出了著名Bell LaPadula模型 该模型在Multics系统中得到了成功实现 2020 2 14 在以上成果的基础上 1983年美国国防部首次公布了 可信计算机系统评估准则 TCSEC 以用于对操作系统的评估 这是IT历史上的第一个安全评估标准 1985年公布了第二版 TCSEC为业界所熟知的名字 桔皮书 则是因其封面的颜色而得来 后来DOD又发布了可信数据库解释 TDI 可信网络解释 TNI 等一系列与TCSEC相关的说明和指南 由于这些文档发行时封面均为不同的颜色 因此常被人称为 彩虹计划 这一时期进行了大量的基础研究工作 并最终形成第一个美国国内的信息安全评估标准TCSEC 2020 2 14 1988年 德国 当时的西德 信息安全局推出的计算机安全评价标准 绿皮书 1989年英国的贸易工业部和国防部联合开发了计算机安全评价标准 1990年 欧共体委员会 CEC 首度公布了由英国 德国 法国和荷兰提出的 信息技术安全性评估准则 ITSEC 安全评估标准 1992年4月 加拿大可信计算机产品评估准则 CTCPEC 的草案发布 它可被看作为在TCSEC和ITSEC范围之上的一个进一步发展 而且它实现结构化安全功能的方法也影响了后来的国际标准 1992年8月 日本电子工业发展协会 JEIDA 公布了 日本计算机安全评估准则 功能要求 JCSEC2FR 1992年12月 美国NIST和国家安全局 NSA 发布一个TCSEC的替代标准 信息技术安全联邦准则 FC2ITS 的草案1 0 混沌时期 2020 2 14 合并时期1996年 六国七方 英国 加拿大 法国 德国 荷兰 NSA和NISA 公布了 信息技术安全性评估通用准则 简称为 通用准则 CC 该标准是北美和欧盟联合以开发一个统一的国际互认的安全标准的结果 是在美国 加拿大 欧洲等国家和地区分别自行推出的评估标准及具体实践的基础上 通过相互间的总结和互补发展起来的 1998年 六国七方又公布了CC的2 0版 统一时期1999年12月ISO采纳CC 并作为国际标准ISO15408发布 因此ISO15408实际上就是CC标准在国际标准化组织里的称呼 这一时期称为统一时期 2020 2 14 美国的TCSEC1983年美国国防部首次公布了 可信计算机系统评估准则 TCSEC 以用于对操作系统的评估 这是IT历史上的第一个安全评估标准 1985年公布了第二版 TCSEC为业界所熟知的名字 桔皮书 则是因其封面的颜色而得来 TCSEC所列举的安全评估准则主要是针对美国政府的安全要求 着重点是基于大型计算机系统的机密文档处理方面的安全要求 CC被接纳为国际标准后 美国已停止了基于TCSEC的评估工作 2 各标准的基本内容 2020 2 14 美国颁布的TCSEC把数据安全级别划分为四类七级 D级 无安全保护的系统 Cl级 具有主体 客体及主客体分离 身份鉴别 数据完整性 自主访问控制功能的系统 核心是自主访问控制 C2级 满足C1级全部功能 且具有审计功能的系统 核心是审计功能 目前国内使用的系统大部分符合此标准 2020 2 14 B1级 满足C2级全部功能 且具有标记及强制访问控制功能的系统 核心是强制访问控制 国际上有部分系统符合此标准 国内基本上没有满足此标准的系统 满足此标准的系统可称为可信系统或安全系统 B2级 满足B1级全部功能 且具有形式化安全模型与隐蔽通道功能的系统 核心是形式化安全模型 目前国内外均无满足此标准的系统 2020 2 14 B3级 满足B2级全部功能 且具有访问监控器功能的系统 核心是访问监控器 目前国内外均无满足此标准的系统 A级 更高的形式化要求 目前国内外均无满足此标准的系统 2020 2 14 目前市面上常用软件经过权威机构的评测 确定了其安全级别 如Oracle Sybase informix SQLServer等数据库系统软件符合C1或C2级安全要求 Windows Unix操作系统符合Cl或C2级安全要求 市场上大部分系统软件都处于C1或C2级安全级别 此外 美国有符合Bl级的军用版本Oracle数据库系统和WinNT操作系统 国内有一些符合B1级的安全原型DBMS 如OpenBASE Cobase等 2020 2 14 欧共体委员会的ITSEC 信息技术安全性评估准则 ITSEC 是英国 德国 法国和荷兰四个欧洲国家安全评估标准的统一与扩展 由欧共体委员会在1990年首度公布 ITSEC的目标在于成为国家认证机构所进行的认证活动的一致基准 还有更重要的一点就是评估结果的互认 自1991年7月以来 ITSEC就一直被实际应用在欧洲国家的评估和认证方案中 直到其为CC所取代 2020 2 14 加拿大系统安全中心的CTCPEC1992年4月 加拿大可信计算机产品评估准则 CTCPEC 3 0版的草案发布 它可被看作为在TCSEC及ITSEC范围之上的一个进一步发展 而且它实现结构化安全功能的方法也影响了后来的国际标准 2020 2 14 国际通用准则CC ISO IEC15408 1999 国际 信息技术安全性评估通用准则 简称为 通用准则 CC 是北美和欧盟联合以开发一个统一的国际互认的安全标准的结果 是在美国 加拿大 欧洲等国家和地区分别自行推出的评估标准及具体实践的基础上 通过相互间的总结和互补发展起来的 2020 2 14 1996年 六国七方 英国 加拿大 法国 德国 荷兰 NSA国家安全局和NIST国家标准技术研究所 公布了CC的1 0版 1998年 六国七方又公布了CC的2 0版 CC取代了TCSEC ITSEC 及CTCPEC 是事实上的国际安全评估标准 1999年 CC被国际标准化组织 ISO 批准成为国际标准 ISO IEC15408 19999 并正式颁布发行 其对应的CC版本为2 1版 2020 2 14 CC作为评估信息技术产品和系统安全性的国际性通用准则 是信息技术安全性评估结果国际互认的基础 遍及世界各地的众多组织现在均已实施了CC 互认通过签署互认协定 MRA 来实现 产品在一个MRA成员国评估通过就可被其他的成员国所接受 从而避免重复的评估行为 对于其他国家来讲 只要能够证明他们能够实现MRA中的互认所要求的极其严格的技术与程序上的条件 就可寻求加入MRA Windows2000 SunSolaris8 Oracle9i DB2V8 2等都已通过了CC的EAL4 B1 2020 2 14 我国的安全评估标准为提高我国计算机信息系统安全保护水平 1999年9月国家质量技术监督局发布了国家标准GB17859 1999 计算机信息安全保护等级划分准则 它是建立安全等级保护制度 实施安全等级管理的重要基础性标准 该标准是我国计算机信息系统保护等级系列标准的第一部分 其他数十个相关标准的制订工作还正在紧张进行 该标准的制定参照了美国的TCSEC 2020 2 14 该标准共分为五级与美国TCSEC标准的对应关系如下 第一级 用户自主保护级C1级第二级 系统审计保护级C2级第三级 安全标记保护级B1级第四级 结构化保护级B2级第五级 访问验证保护级B3级 2020 2 14 自从CC1 0版公布后 我国相关部门就一直密切关注着它的发展情况 并对该版本做了大量的研究工作 2001年3月 国家质量技术监督局正式颁布了援引CC的国家标准GB T18336 2001 信息技术安全技术信息技术安全性评估准则 2020 2 14 3 对数据库安全的威胁 2020 2 14 基于计算机技术的防卫措施主要有 用户授权 包括授权用户的身份验证以及为他们授予访问权限 通过视图调整授权 定义可向用户授权数据库特定部分的用户视图 备份和恢复 定期建立数据库备份副本 并测试和实现恢复过程 保护机密数据 使用加密技术保护机密数据 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 从本质上讲 数据库安全依赖于数据库系统的访问控制 数据库安全的一部分是控制物理访问 另一主要部分是通过DBMS控制访问 所有DBMS都包含安全系统 以保证授权用户访问数据库 这些安全机制一般指任意安全机制和强制安全机制 2020 2 14 DBMS的安全机制 2020 2 14 采用该方法以若干种指派模式授予各个用户访问特定数据项的权限或权力 建立数据库对象的用户自动得到此对象的所有访问权限 包括将此对象的权限再授予他人 在授予或撤消访问权限时 主要有两种级别 数据库对象 数据项或数据元素 一般是基表或视图 用户 可以用一些授权标识符识别的单个用户或用户组 授权通常都是在这两种级别上进行 任意控制 DAC 2020 2 14 DBMS提供了功能强大的授权机制 它可以给用户授予各种不同对象 表 视图 存储过程等 的不同使用权限 如Select update insert delete等 在用户级别 可以授予数据库模式和数据操纵方面的以下几种授权 包括 创建和删除索引 创建新关系 添加或删除关系中的属性 删除关系 查询数据 插入新数据 修改数据 删除数据等 在数据库对象级别 可将上述访问权限应用于数据库 基本表 视图和列等 授权 2020 2 14 如果要给成千上万个雇员分配许可 将面临很大的管理难题 每次有雇员到来或者离开时 就得有人分配或去除可能与数百张表或视图有关的权限 这项任务不但耗时 而且容易出错 一个相对简单有效的解决方案就是定义数据库角色 数据库角色是被命名的一组与数据库操作相关的权限 即一组相关权限的集合 可以为一组具有相同权限的用户创建一个角色 使用角色来管理数据库权限可以简化授权的过程 数据库角色 2020 2 14 DBA Role 用户 用户 用户 用户 授权 授权 授权管理 2020 2 14 强制控制 任意访问控制是关系数据库的传统方法 可对数据库提供充分保护 但它不支持随数据库各部分的机密性而变化 技术高超的专业人员可能突破该保护机制获得未授权访问 另外 由于用户对数据的存取权限是 自主 的 用户可以自由地决定将数据的存取权限授予何人 决定是否也将 授权 的权限授予别人 在这种授权机制下 仍可能存在数据的 无意泄露 2020 2 14 强制访问控制克服了任意访问控制的缺点 在强制访问控制方法中 不能由一个用户不加控制地将访问权限授予或传递给另一用户 强制访问控制方法是指系统为了保证更高程度的安全性 按照TDI TCSEC标准中安全策略的要求所采取的强制访问检查手段 它不是用户能直接感知或进行控制的 强制访问控制主要适用于对数据有严格要求而固定密级分类的部门 如军事部门或政府部门 2020 2 14 强制访问控制模型基于与每个数据项和每个用户关联的安全性标识 SecurityLabel 安全性标识被分为若干级别 绝密 TopSecret 机密 Secret 秘密 Confidential 一般 Public 数据的标识称为密级 SecurityClassification 用户的标识称为许可级别证 SecurityClearance 2020 2 14 当某一用户以某一密级进入系统时 在确定该用户能否访问系统上的数据时应遵守如下规则 1 当且仅当用户许可证级别大于等于数据的密级时 该用户才能对该数据进行读操作 2 当且仅当用户的许可证级别小于或等于数据的密级时 该用户才能对该数据进行写操作 2020 2 14 数据库系统的安全机制 2020 2 14 视图机制 几乎所有的DBMS都提供视图机制 视图不同于基本表 它不存储实际数据 表存储数据 而视图好象表的窗口 虚表 当用户通过视图访问数据时 是从基本表获得数据 视图提供了一种灵活而简单的方法 以个人化方式授予访问权限 是强大的安全工具 在授予用户对特定视图的访问权限时 该权限只用于在该视图中定义的数据项 而未用于完整基本表本身 2020 2 14 对DBA而言 审计就是记录数据库中正在作什么的过程 审计记录可以告诉你正在使用哪些系统权限 使用频率是多少 多少用户正在登录 会话平均持续多长时间 正在特殊表上使用哪些命令 以及许多其他有关事实 审计 2020 2 14 审计功能把用户对数据库的所有操作自动记录下来放入审计日志 AuditLog 中 审计日志一般包括下列内容 1 操作类型 如修改 查询等 2 操作终端标识与操作人员标识 3 操作日期和时间 4 操作的数据对象 如表 视图 记录 属性等 5 数据修改前后的值 2020 2 14 审计一般可以分为用户级审计和系统级审计 用户级审计是任何用户可设置的审计 主要是针对自己创建的数据库或视图进行审计 记录所有用户对这些表或视图的一切成功和 或 不成功的访问要求以及各种类型的SQL操作 系统级审计只能由DBA设置 用以监测成功或失败的登录要求 监测Grant和Revoke操作以及其他数据库级权限下的操作 2020 2 14 统计数据库安全性 统计数据库的特点允许用户查询聚集类型的信息 例如合计 平均值等 不允许查询单个记录信息示例 允许查询 程序员的平均工资是多少 不允许查询 程序员张勇的工资 2020 2 14 统计数据库中特殊的安全性问题隐蔽的信息通道从合法的查询中推导出不合法的信息 2020 2 14 例1 下面两个查询都是合法的 本公司共有多少女高级程序员 本公司女高级程序员的工资总额是多少 如果第一个查询的结果是 1 那么第二个查询的结果显然就是这个程序员的工资数 规则1 任何查询至少要涉及N N足够大 个以上的记录 2020 2 14 例2 用户A发出下面两个合法查询 用户A和其他N个程序员的工资总额是多少 用户B和其他N个程序员的工资总额是多少 若第一个查询的结果是X 第二个查询的结果是Y 由于用户A知道自己的工资是Z 那么他可以计算出用户B的工资 Y X Z 原因 两个查询之间有很多重复的数据项 规则2 任意两个查询的相交数据项不能超过M个 2020 2 14 可以证明 在上述两条规定下 如果想获知用户B的工资额A至少需要进行1 N 2 M次查询 规则3 任一用户的查询次数不能超过1 N 2 M 如果两个用户合作查询就可以使这一规定失效 2020 2 14 数据库安全机制的设计目标 试图破坏安全的人所花费的代价 得到的利益 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 如果入侵者绕过系统访问数据库的信息内容 如果入侵者通过物理移除磁盘或备份磁盘盗走数据库 如果入侵者接入载有真实用户数据的通信链路 如果聪明的入侵者通过运行程序突破操作系统防线来检索数据 情况会如何呢 在这些情况下 数据库系统的各种授权规则或许不能提供充分的保护 标准安全技术无法防范绕过系统访问数据的侵扰 这就需要采取其他保护措施来加强安全系统 加密技术提供了附加保护 数据库中的数据是可以被加密 encrypt 的 加密数据是不可能被读出的 加密也构成了鉴定数据库用户身份良好机制的基础 2020 2 14 加密是一种编码数据的方法 使入侵者难以理解数据内容 在授权用户使用时 解码数据 使其返回原始格式 一些商业DBMS包含加密模块 还有一些能提供程序 使用户编写自己的加密例程 当前 加密技术广泛应用于诸如电子资金划拨 electronicfundtransfers EFT 和电子商务等应用程序中 加密的概念 2020 2 14 加密方案需要一个包含下列组件和概念的密码系统 编码数据 称为明文 的加密密钥将明文更改为编码文本 称为密文 的加密算法解码密文的解码密钥将密文转换回原始明文的解密算法 2020 2 14 加密元素 2020 2 14 编码最简单 最方便的方法 对于重要字段 值被编码 例如 不存储银行分支的名称 而是存储代码来表示 替代逐个替代明文中的字母 以生成密文 转置使用特殊算法重新排列明文中的字符 一般地 替代和转置结合使用可取得理想效果 不过 未使用加密密钥的技术无法提供充分保护 技术的强度取决于密钥以及用于加密和解密的算法 如果单纯使用替代和转置 若入侵者分析足够多的编码文本 可能解密文本 常用加密方法 2020 2 14 根据加密密钥的使用和部署 可将加密技术分为两种类型 对称加密该技术为加密和解密使用相同加密密钥 密钥必须保密 以防范潜在入侵者 该技术依赖于安全通信 以便在数据提供者和授权用户之间交换密钥 若密钥确实安全 则要将密钥作为消息本身的一部分 这么做效率不高 大多数密钥较短 数据加密标准 DataEncryptionstandard DES 是该技术的一个例子 非对称加密该技术为加密和解密使用不同密钥 一种是公开的公钥 另一种是只有授权用户知道的私钥 加密算法也可以公开 公钥加密 RSA 是一种非对称加密方法 2020 2 14 数据加密标准 该技术在1977年由IBM开发和设计 被国家标准局采用为正式DES 从那时起 各种行业机构开始采用DES 该技术为加密和解密使用单个密钥 密钥必须保持秘密 以防范潜在入侵者 同样 加密算法决不能对外公开 该算法由字符替代和转置 或置换 构成 2020 2 14 单密钥加密技术DES 2020 2 14 工作原理DES将明文划分为块 每个块64位 用64位密钥来加密各个块 密钥虽64位长 但有效位仅56位 其余8位用作奇偶校验位 即使56位密钥 也可能有256种可能的不同密钥 所以 在建立密钥时 选择余地非常大 按下列顺序执行加密 使用密钥为各个块应用初始置换 按16个连续复杂替代步骤操作转换或置换块 最后应用另一种置换算法 与初始置换相反 解密算法与加密算法相同 但步骤执行顺序正好相反 2020 2 14 公钥加密 公钥加密技术由Rivest Shamir和Adleman提出 该技术得到广泛应用 按三名创始者的姓名首字母 将其称为RSA RSA模型基于以下概念 使用两个加密密钥 一个是公钥 另一个是私钥 每位用户都有公钥和私钥 公钥向所有人发布 是公开的 加密算法也可免费看到 只有个体用户知道自己的私钥 加密算法和解密算法相反 2020 2 14 公钥加密技术 2020 2 14 RSA的一个非常重要的应用就是实现数字签名 digitalsignature 数字签名是指附加在数据单元上的一些数据 或是对数据所作的密码变换 这种数据变换能使数据接收者确认数据的来源 完整性并保护数据 数字签名可以作为某个文档的出处证明 就像日常生活中应用的手写签名一样 和公钥加密法一样 这一概念是在 DiffieandHellman1976 中首次采用的 但是和公钥系统一样 绝大多数数字签名系统也是建立在RSA算法 Riveretal 1978 或者是特别为签名而开发的其他算法的基础上的 2020 2 14 常用的数据库加密方法 传统的加密以报文为单位 加密解密都是从头至尾顺序进行 数据库数据的使用方法决定了它不可能以整个数据库文件为单位进行加密 当符合检索条件的记录被检索出来后 就必须对该记录迅速解密 然而该记录是数据库文件中随机的一段 无法从中间开始解密 除非从头到尾进行一次解密 然后再去查找相应的这个记录 显然这是不合适的 必须解决随机地从数据库文件中某一段数据开始解密的问题 2020 2 14 数据库加密通过对明文进行复杂的加密操作 以达到无法发现明文和密文之间 密文和密钥之间的内在关系 也就是说经过加密的数据库经得起来自操作系统和数据库管理系统 DBMS 的攻击 另一方面 数据库管理系统 DBMS 要完成对数据库文件的管理和使用 必须具有能够识别部分数据的条件 而对数据库中的部分数据进行加密处理后 会影响到数据库管理系统 DBMS 对数据库管理的原有功能 2020 2 14 基于文件的加密把数据库文件作为整体 用加密算法对整个数据库文件加密来保证信息的真实性和完整性 数据的共享是通过用户用解密密钥对整个数据库文件进行解密来实现的 这一方法的实际应用受到多方面的限制 1 数据修改的工作将变得十分困难 需要进行解密 修改 复制和加密四个操作 极大地增加了系统的时空开销 2 即使用户只是需要查看某一条记录 也必须将整个数据库文件解密 这样无法实现对文件中不需要让用户知道的信息的控制 2020 2 14 字段加密字段是最小的加密单位 字段加密的原理是将重要的字段内容进行加密 当使用查询语句获取结果集后 再将这些重要的字段内容进行解密 每个字段可以使用不同的密钥 也可以使用共同的密钥 字段加密具有较高的安全性 但是由于对一个记录进行存取时需要多次的加 解密处理 这可能对数据库的访问速度有所影响 同时 它对数据库管理系统 DBMS 的功能影响也很大 所以 在实际应用中 一般不会对所有记录都进行加密处理 而是对部分安全性要求高的字段进行加密处理 2020 2 14 通常情况下 以下几种字段不宜加密 1 索引字段不能加密 2 关系运算的比较字段不能加密 3 表间的连接码字段不能加密 2020 2 14 记录加密字段加密具有最高的安全性 但是字段加密频繁地加 解密过程会严重影响应用程序访问数据库数据的效率 记录加密的过程是将表中的行的所有字段或部分字段组成一个整体 进行统一加密 当应用程序访问数据库中的表记录时 再将行的所有字段或部分字段进行统一解密 记录加密时可以使用单个密钥或多个密钥 2020 2 14 子密钥加密技术G I David等人提出子密钥加密算法 其核心思想是根据关系型数据库中数据组织的特点 在加密时以记录为单位进行加密操作 而在解密时以字段为单位对单项数据进行解密操作 两者所用的密钥是不同的 加密所用的密钥是针对整个记录的密钥 而解密所用的密钥是针对单个数据项的子密钥 该算法的理论依据是著名的中国剩余定理 2020 2 14 秘密同态技术上述数据库加密方法可以应用于不同的环境 但存在一个共同的问题 对于所形成的密文数据库无法进行操作 而且在实际应用中 对于某些重要或敏感数据 无法满足用户对其进行操作但又不让用户了解其中信息的需要 如果能对密文数据库进行数学运算和常规的数据库操作 显然能够解决上面存在的问题 并可以大大削减加 解密所需要的时空开销 大大提高数据库的运行效率 秘密同态 Privatehomomorphism 技术就是一个能解决上述问题的有效方法 但目前该技术还没有解决在数据库上进行比较操作的问题 2020 2 14 数据库加密对DBMS的影响 数据库数据加密以后 DBMS的一些功能将无法使用 数据库加密后对DBMS原有功能的主要影响有下面几个方面 无法实现对数据制约因素的定义 密文数据的排序 分组和分类 SQL语言中的内部函数不能作用于加 解密数据 DBMS的一些应用开发工具的使用受到限制 2020 2 14 在对数据库进行加密时 应注意以下几点 选择合适的加密算法选择合适的加密方法测试加密后访问数据库的效率 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 SQLServer采用4个等级的安全验证 操作系统安全验证 SQLServer安全验证 SQLServer数据库安全验证 SQLServer数据库对象安全验证 2020 2 14 SQLServer提供了两种不同的方法来验证用户进入服务器 用户可以根据自己的网络配置决定使用其中一种 Windows验证SQLServer验证 安全模式 2020 2 14 SQLServer数据库系统通常运行在NT服务器平台或基于NT构架的Windows2000上 而NT作为网络操作系统 本身就具备管理登录验证用户合法性的能力 所以Windows验证模式正是利用这一用户安全性和帐号管理的机制 允许SQLServer也可以使用NT的用户名和口令 在该模式下 用户只要通过Windows的验证就可连接到SQLServer 而SQLServer本身也没有必要管理一套登录数据 因此 对SQLServer来说 Windows验证是首选的方法 2020 2 14 当在Windows95 98计算机上运行SQLServer时 SQLServer混合验证是惟一可用的方法 在混合验证设置中 如果一个客户机连接到服务器但没有传来登录名和口令 SQLServer就会自动认定用户想要使用Windows验证 并使用Windows验证方法来验证用户 如果用户确实传来了登录名和口令 SQLServer就认为是经由SQLServer验证连接的 在SQLServer验证过程中 用户传给服务器的登录信息与系统表syslogins中的信息进行比较 如果两个口令匹配 SQLServer允许用户访问服务器 如果不匹配 SQLServer不允许访问 并且用户会从服务器上收到一个出错信息 2020 2 14 服务器登录标识管理 sa和Administrators是系统在安装时创建的分别用于SQLServer混合验证模式和Windows验证模式的系统登录名 如果用户想创建新的登录名或删除已有的登录名 可使用下列两种方法 使用SQLServer企业管理器管理登录名 使用SQLServer系统存储过程管理登录名 2020 2 14 数据库用户管理 在SQLServer中 登录对象和用户对象是SQLServer进行权限管理的两种不同的对象 一个登录对象是服务器方的一个实体 使用一个登录名可以与服务器上的所有数据库进行交互 用户对象是一个或多个登录对象在数据库中的映射 可以对用户对象进行授权 以便为登录对象提供对数据库的访问权限 一个登录名可以被授权访问多个数据库 一个登录名在每个数据库中只能映射一次 SQLServer可使用下列两种方法来管理数据库用户 使用SQLServer企业管理器管理数据库用户 使用SQLServer系统存储过程sp grantdbaccess管理数据库用户 2020 2 14 权限管理 在SQLServer中有三种类型的权限 语句权限 对象权限和隐含权限 其中语句权限和对象权限可以委派给其它用户 隐含权限只允许属于特定角色的人使用 在SQLServer中主要有两种类型的角色 服务器角色与数据库角色 2020 2 14 语句权限通常只给那些需要在数据库中创建或修改对象 执行数据库或事务日志备份的用户 这类权限是SQLServer中功能最强大的一些权限 这些权限只限分配在单个数据库 跨数据库的权限是不可能的 当分配语句权限给用户时 就给了他们创建对象的能力 通常使用对应的SQLServer命令来引用 对象权限分配给数据库层次上的对象 并允许用户访问和操作数据库中已存在的对象 没有这些权限 用户将不能访问数据库里的任何对象 这些权限实际上给了用户运行特定SQL语句的能力 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 Oracle数据库中的安全机制包括 数据库用户和模式权限控制角色存储设置和空间份额存储资源限制数据库系统跟踪数据库审计 2020 2 14 数据库用户 Oracle提供操作系统验证和Oracle数据库验证两种验证方式 操作系统验证有两大优点 一是用户可方便地连接到Oracle 不需要指定用户名和口令 二是对用户授权的控制集中在操作系统 Oracle不需要存储和管理用户口令 Oracle数据库验证方式仅当操作系统验证不能用于数据库用户鉴别时才使用 使用Oracle数据库验证方式要为每个数据库用户建立一个口令 系统以加密的形式将口令存储在数据字典中 用户随时可修改口令 在用户与数据库连接时必须经过验证 以防止对数据库的非授权使用 2020 2 14 权限管理 在Oracle中将权限分为两类 系统权限和对象权限 系统权限是指在系统级控制数据库的存取和使用的机制 系统权限决定了用户是否可以连接到数据库以及在数据库中可以进行哪些操作 系统权限是对用户或角色设置的 在Oracle中提供了100多种不同的系统权限 2020 2 14 对象权限是指在对象级控制数据库的存取和使用的机制 用于设置一个用户对其他用户的表 视图 序列 过程 函数 包的操作权限 对于不同类型的对象 有不同类型的对象权限 对于有些模式对象 如聚集 索引 触发器 数据库链接等没有相关的对象权限 这些权限由系统进行控制 2020 2 14 角色 role 是一个数据库实体 该实体是一个已命名的权限集合 使用角色可以将这个集合中的权限同时授予或撤消 Oracle中的角色可以分为预定义角色和自定义角色两类 当运行作为数据库创建的一部分脚本时 会自动为数据库预定义一些角色 这些角色主要用来限制数据库管理系统权限 此外 用户也可以根据自己的需求 将一些权限集中到一起 建立用户自定义的角色 角色 2020 2 14 审计 Oracle数据库系统的审计就是对选定的用户在数据库中的操作情况进行监控和记录 结果被存储在SYS用户的数据库字典中 数据库管理员可以查询该字典 从而获取审计结果 Oracle支持三种审计级别 语句审计 对某种类型的SQL语句审计 不指定结构或对象 特权审计 是对系统权限的使用情况进行审计 对象审计 对特殊模式对象上的指定语句进行审计 2020 2 14 Oracle中的AUDIT语句用来设置审计功能 NOAUDIT语句取消审计功能 例4 1 对修改教师信息teacher表结构或修改teacher表数据的操作进行审计 AUDITALTER UPDATEONteacher 例4 2 取消对teacher表的一切审计 NOAUDITALTER UPDATEONteacher 2020 2 14 审计设置以及审计内容一般都放在数据字典中 在默认情况下 系统为了节省资源 减少I O操作 数据库的审计功能是关闭的 为了启动审计功能 必须把审计开关打开 即把系统参数audit trail设为true 才可以在系统表 SYS AUDITTRAIL 中查看审计信息 2020 2 14 数据库密码系统要求将明文数据加密成密文数据 数据库中存储密文数据 查询时将密文数据取出解密得到明文信息 Oracle9i提供了特殊DBMS OBFUSCATION TOOLKIT包 在Oraclel0g中又增加了DBMS CRYPTO包用于数据加密 解密 支持DES AES等多种加密 解密算法 数据加密 2020 2 14 第4章数据库安全性 4 1数据库安全性概述4 2访问控制4 3数据库加密技术4 4SQLServer的安全机制4 5Oracle的安全机制小结 2020 2 14 随着计算机特别是计算机网络的发展 数据的共享日益加强 数据的安全保密越来越重要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论