第七章 分布式数据库的安全与管理(高级课堂)

上传人:8** 文档编号:181573698 上传时间:2021-05-02 格式:PPT 页数:44 大小:674KB
返回 下载 相关 举报
第七章 分布式数据库的安全与管理(高级课堂)_第1页
第1页 / 共44页
第七章 分布式数据库的安全与管理(高级课堂)_第2页
第2页 / 共44页
第七章 分布式数据库的安全与管理(高级课堂)_第3页
第3页 / 共44页
第七章 分布式数据库的安全与管理(高级课堂)_第4页
第4页 / 共44页
第七章 分布式数据库的安全与管理(高级课堂)_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《第七章 分布式数据库的安全与管理(高级课堂)》由会员分享,可在线阅读,更多相关《第七章 分布式数据库的安全与管理(高级课堂)(44页珍藏版)》请在金锄头文库上搜索。

1、第七章 分布式数据库的安全与管理,一、数据库安全概述 二、安全数据模型与多级安全数据库 三、计算机系统与DBMS的安全评估标准 四、分布式数据库的目录管理 五、分布式数据库总权限保护和用户识别,1,学习幻灯,数据库 的安全问题,Internet的高速发展推动着分布式数据库的发展,但同时也增加了分布式数据库安全问题的复杂性,如何才能保证开发网络环境中分布式数据库的安全? 一般情况:数据库安全问题包含以下几个方面: (1)保障数据库数据的完整性: 1)物理完整性:保障数据物理存贮介质及物理运行环境的正确与不受侵害; 2)逻辑完整性:实体、域、引用; 3)元素完整性:客体数据元素的合法性、有效性、正

2、确性、一致性、可维护性及防止非授权修改破坏。 (2)保障数据库数据的保密性:身份验证、访问控制等。 (3)保障数据库数据的可用性:防止和减少恶性破坏,及时修复,拒绝和清除数据库垃圾。,分布式数据库的不安全因素,分布式数据库面临着两大类安全问题: 一类是由单站点故障,网络故障等自然因素引起的: 1)OS安全的脆弱性 2)DBMS安全的脆弱性 3)网络协议的脆弱性 这类故障通常可利用网络提供的安全性来实现安全防护,所以说网络安全是分布式数据库安全的基础。 另一类是由来自本机或网络上的人为攻击:黑客的攻击、病毒的攻击。 主要方式:窃听、重发攻击、假冒攻击、越权攻击、破译密文等。 针对这类安全隐患,分

3、别介绍分布式数据库的安全关键技术:身份验证、保密通信、访问控制、库文加密、密码体制与密码管理,分布式数据库安全需求分析,安全性受到破坏的三种情形: (1)非法用户对数据库的访问 (2)对数据库执行不正确的修改操作(插入、删除、更新等) (3)数据库的一致性、完整性破坏,数据库内的垃圾堆积,使数据库不可用。 分布式数据库的数据安全性包括: (1)数据存储安全; (2)数据访问安全(本地和远程); (3)数据传输安全,由各站点上的DBMS负责,由分布式DBMS及其基于网络操作系统和相应的网络协议负责,数据的安全存储和安全访问,分布式数据库和DBMS作为信息数据的存储地和处理访问地,应对信息数据的安

4、全存储和安全访问提供服务,并具有安全防范能力。主要包括: (1)要求数据库具有保密性:数据库中的数据以加密形式存放和能防止非法用户(本地和远程)的访问,保护数据的机密不被泄露; (2)要求数据库具有完整性和一致性,能够防止不正确的数据操作或非法用户的恶意攻击; (3)要求数据库具有可用性,能够防止和及时修复因故障所造成的数据库恶性破坏,并拒绝和清除数据库垃圾; (4)要求数据库具有可控性,使系统能够控制和调整各类用户对数据库的访问权限; (5)要求能对数据库变化作跟踪记录,以保证实现行为的不可否认性。,Back,数据的安全传输,传输信息的安全在分布式数据库系统中显得更加重要,主要由网络操作系统

5、及其有关传输协议保证。 对于高度敏感的数据在传输中采用以密码学为理论基础的各种数据加密 /解密的技术和措施。 数据加密:,加密密钥 控制算法,明文 (Plain Text),密文 (Cipher Text),数据加密标准DES(Data Encryption Standard),安全数据模型 与多级安全数据库,1、数据库安全术语与基本概念 2、权限控制与授权方式 3、多级安全BLP模型 4、基于标记的多级安全数据库,数据库安全术语与基本概念,主体(subject):引起信息流动或改变系统状态的主动实体。数据库系统中指各类用户、代表用户的进程。 客体(object):蕴涵或接收信息的被动实体,信

6、息的载体。数据库系统中指数据库,表,记录,属性,视图 可信计算基TCB(Trusted Computing Base):DBMS中,实现安全保护策略的机制的一个集合体(包含硬件、固件、软件) 域(Domain):主体有能力存取的客体集合。 安全级(Security Level):主体和客体的访问特权。 一般,主体的安全级表示主体对客体敏感信息进行操作的能力;客体的安全级表示客体信息的敏感度。 敏感度标记(Sensitivity Lable) :表示客体和主体的安全级的一条信息,用来确定是否进行强制访问。 最小特权原理(Least Privilege Theorem):系统中的每个主体执行授权任

7、务时,应被授予完成任务所需的最小存取权。 访问监控器(Reference Monitor Concept):监视主体和客体之间授权访问关系的部件。 信道(Channel):系统内的信息传输通路。 隐蔽信道(Covert Channel):进程以危害系统安全的隐蔽方式传输信息的通信信道。,GO,固件(Firm-ware): 被写入设备硬件中的只读内存上的软件,Back,权限控制与授权方式,数据库安全的实现涉及法律、社会、政府行为、管理等诸多方面的问题,现在大多数国家有数据保护法案,记录私人信息的数据库拥有者应确保其数据不被未授权的用户访问,实际上大多数这样的问题与DBMS本身无关而且完全超越了D

8、BMS的控制范围,DBMS提供的基本安全机制是对数据对象的访问权进行控制。 建立安全机制首先需要确定安全的基本单位(即:最小数据对象粒度:从属性、元组、关系直到整个数据库。) 系统支持的数据粒度划分越细,访问控制就越精确。 一个粒度划分较细的系统比划分粗糙的系统能更好的管理数据。 若粒度为整个数据库,安全系统的基本工作是维护一个授权用户表,记录每个用户所拥有的访问权(读、更新、插入、删除); 若粒度为属性,则须为每个属性存储安全性信息。 访问粒度的划分有: 1)与值相关方法:如允许存取学生关系S中分数在60分以下的元组;相应的存取检查叫与值相关存取检查; 2)与值无关方法:如允许某用户存取学生

9、关系S;相应的存取检查叫与值无关存取检查。,用户对数据对象访问权 的分配方式,访问检查主要完成两项功能: 隔离功能:保证用户只能访问他已授权的数据对象; 控制访问:保证用户只能按他已得到的访问权的访问方式存取数据,不得越权。 用户对数据对象访问权的分配方式: 1)静态授权方式; 2)动态授权方式。,静态授权方式,静态授权方式:DBMS的数据安全系统确定不同用户对不同数据对象的存取权,数据对象的粒度由系统规定(数据库设计时确定),各数据对象由系统唯一命名,规定DBA拥有访问全部数据对象的全权(All Privileges)。 实现方法:安全矩阵法或存取检查矩阵法,安全矩阵S的元素Sij=S(Ui

10、,Oj)表示用户Ui对数据对象Oj所拥有的存取权,安全矩阵法,安全矩阵法是一直简便有效的方法,在OS的存取检查中广泛应用。 安全矩阵法一般是一个很大的稀疏矩阵,不可能全部存放在主存,则其实现一般不能直接用二维矩阵,而使用以下几种实用技术: (1)按行存储法:对每个用户Ui有一由偶对(Oj , SiJ)组成的一维表列。偶对(Oj , SiJ)称为权力,组成的一维表称为权力表。 (2)按列存储法:对每个数据对象Oj有一由偶对(Ui , SiJ)组成的一维表列,称为 存取检查表。,安全矩阵法,(3)锁钥法:以上两种方法结合起来,产生锁钥法。 系统为每个用户设立一个钥表(O1,K1), (O2,K2)

11、, (Om,Km)为每个数据对象设立一个锁表(L1,P1), (L2,P2), (LS,PS),其中K1 Km 为保密钥,L1 Lm 为保密锁, P1 Pm 为不同的存取权集合。 当用户Ui欲对某数据对象Oj行使存取权P1时,数据安全子系统就检查K1是否能和Oj 锁表中的某一Lk匹配。若存在某一Lk, 使Kj=Lk且PPi,则批准有关存取。 若要解除某用户Ui对某数据对象Oj的存取权, 若要解除所有用户Ui对某数据对象Oj的存取权, (4)口令法:如果将锁钥法中的钥匙直接交给用户,称之为口令,即得保护数据安全得口令法。 分为两种形式: 一种面向数据对象:对每一数据对象标以存取口令 一种面向用户

12、:每个用户或每个组用户一个口令,只须清除相应的Kj,只须更改保密锁Lj,动态授权方式,动态授权方式:用户对自己生成的关系拥有全权。若要将这种数据对象开放出来共享,则可通过授权语句对外转授,通过回收语句回收存取权。 (1) 授权语句(SQL): GRANT privilege_list ON object TO user_list WITH GRANT OPTION REVOKE privilege_list ON object FROM user_list (2) 存取表法 为了实现动态授权方式,可以采用存取表示法。 P173表7.5 (3)视图法 利用视图可以对数据进行保护。如不授予用户基本

13、表的访问权但可授予他视图的访问权。 DEFINE VIEW SEMP AS SELECT ENO,NAME,DNO,SALARY FROM EMP WHERE SALARY500AND DNO=C01 - 只给某用户授予视图SEMP的访问权,而未授予他表EMP的访问权。,控制访问权的安全策略,主要有4种: (1)Need-to-know需要知道(知必所需) 需要知道才让你知道 若一个用户需要对一组特定的数据进行读(写)操作则该用户才被授予对那组数据的且仅对那组数据的读(写)权。 适用于军事和其他高安全需求的应用领域 (2)最大共享 尽可能实现数据共享,被保护的数据只是数据库中那些真正需要保护的

14、数据。 对于商业信息数据库,数据共享是主要目的。 (3)开发策略:用户缺省地具有对所有数据的访问权,除非显示说明某数据的访问是被禁止的。 促进共享 缺点是当访问控制规则遗漏或意外被删,导致保密数据公开。 (4)封闭策略:除非某用户显示地授予对某数据库地访问权。 默认:所有数据都是不可访问的。 安全但不利于数据共享。,安全数据模型,构造一个形式化的安全模型并证明其正确,并特定用于一个系统的设计中,可以使得一个系统的安全性得到最大限度的保证。(是数据库管理系统的安全保护策略的完整精确的陈述) 目前存在各种各样的安全模型,重点介绍 三种: (1)有穷状态机模型(finite-state machin

15、e model) 当前大多数安全模型的基础 将系统描述成一个抽象的数学状态机,其中状态变量(state variables)表征机器状态,转移函数(Transition Function)描述状态变量如何变化。 只要该模型的初始状态是安全的,并且所有的转移函数也是安全的,则数学推理的必然结果是:系统只要从某个安全状态启动,无论按何种顺序调用系统,系统总是在安全状态。,(1)有穷状态机模型,一个简单的有穷状态机安全模型: 状态变量: S:当前状态所有主体的集合 O:当前状态所有客体的集合 Subj_sec_lev(s):主体S的安全级 Obj_sec_lev(o):客体O的安全级 Access_

16、mode(s,o):主体S对客体O的访问模式 值域为r, w, r, w, ,即集合r, w的幂集,其中为空集。 系统是处于安全状态,需满足: 在该状态对所有s S, o O, 如果 r access_mode (s, o), 则subj_sec_lev(s)obj_sec_lev(o) (主体安全级高于客体安全级) 如果w access_mode(s, o), 则subj_sec_lev(s) obj_sec_lev(o) (主体安全级低于客体安全级) 系统初态:S ,O 显然是安全的,(1)有穷状态机模型,系统转移函数 Creat_object(o, olev): if o O, then O=O o, 并且obj_sec_lev(o)=Olev 对s S,access_mode(S, O)= if subj_sec_lev(s)olev, then access_mode(s,o)=r if subj_sec_lev(s) olev, then access_mode(s,o) =access_mode(s,o) w Creat_subject(s, slev): if s S,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号