分布式数据库的安全与管.ppt
《分布式数据库的安全与管.ppt》由会员分享,可在线阅读,更多相关《分布式数据库的安全与管.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 分布式数据库的安全与管理一、数据库安全概述二、安全数据模型与多级安全数据库三、计算机系统与DBMS的安全评估标准四、分布式数据库的目录管理五、分布式数据库总权限保护和用户识别数据库 的安全问题Internet的高速发展推动着分布式数据库的发展,但同时也增加了分布式数据库安全问题的复杂性,如何才能保证开发网络环境中分布式数据库的安全?一般情况:数据库安全问题包含以下几个方面:(1)保障数据库数据的完整性:1)物理完整性:保障数据物理存贮介质及物理运行环境的正确与不受侵害;2)逻辑完整性:实体、域、引用;3)元素完整性:客体数据元素的合法性、有效性、正确性、一致性、可维护性及防止非授权修改
2、破坏。(2)保障数据库数据的保密性:身份验证、访问控制等。(3)保障数据库数据的可用性:防止和减少恶性破坏,及时修复,拒绝和清除数据库垃圾。分布式数据库的不安全因素分布式数据库面临着两大类安全问题:一类是由单站点故障,网络故障等自然因素引起的:1)OS安全的脆弱性 2)DBMS安全的脆弱性 3)网络协议的脆弱性 这类故障通常可利用网络提供的安全性来实现安全防护,所以说网络安全是分布式数据库安全的基础。另一类是由来自本机或网络上的人为攻击:黑客的攻击、病毒的攻击。主要方式:窃听、重发攻击、假冒攻击、越权攻击、破译密文等。针对这类安全隐患,分别介绍分布式数据库的安全关键技术:身份验证、保密通信、访
3、问控制、库文加密、密码体制与密码管理分布式数据库安全需求分析安全性受到破坏的三种情形:(1)非法用户对数据库的访问 (2)对数据库执行不正确的修改操作(插入、删除、更新等)(3)数据库的一致性、完整性破坏,数据库内的垃圾堆积,使数据库不可用。分布式数据库的数据安全性包括:(1)数据存储安全;(2)数据访问安全(本地和远程);(3)数据传输安全由各站点上的DBMS负责由分布式DBMS及其基于网络操作系统和相应的网络协议负责数据的安全存储和安全访问分布式数据库和DBMS作为信息数据的存储地和处理访问地,应对信息数据的安全存储和安全访问提供服务,并具有安全防范能力。主要包括:(1)要求数据库具有保密
4、性:数据库中的数据以加密形式存放和能防止非法用户(本地和远程)的访问,保护数据的机密不被泄露;(2)要求数据库具有完整性和一致性,能够防止不正确的数据操作或非法用户的恶意攻击;(3)要求数据库具有可用性,能够防止和及时修复因故障所造成的数据库恶性破坏,并拒绝和清除数据库垃圾;(4)要求数据库具有可控性,使系统能够控制和调整各类用户对数据库的访问权限;(5)要求能对数据库变化作跟踪记录,以保证实现行为的不可否认性。数据的安全传输传输信息的安全在分布式数据库系统中显得更加重要,主要由网络操作系统及其有关传输协议保证。对于高度敏感的数据在传输中采用以密码学为理论基础的各种数据加密/解密的技术和措施。
5、数据加密:加密密钥控制算法 明文(Plain Text)密文(Cipher Text)数据加密标准DES(Data Encryption Standard)安全数据模型 与多级安全数据库1、数据库安全术语与基本概念2、权限控制与授权方式3、多级安全BLP模型4、基于标记的多级安全数据库 数据库安全术语与基本概念主体(subject):引起信息流动或改变系统状态的主动实体。数据库系统中指各类用户、代表用户的进程。客体(object):蕴涵或接收信息的被动实体,信息的载体。数据库系统中指数据库,表,记录,属性,视图可信计算基TCB(Trusted Computing Base):DBMS中,实现安
6、全保护策略的机制的一个集合体(包含硬件、固件、软件)域(Domain):主体有能力存取的客体集合。安全级(Security Level):主体和客体的访问特权。一般,主体的安全级表示主体对客体敏感信息进行操作的能力;客体的安全级表示客体信息的敏感度。敏感度标记(Sensitivity Lable):表示客体和主体的安全级的一条信息,用来确定是否进行强制访问。最小特权原理(Least Privilege Theorem):系统中的每个主体执行授权任务时,应被授予完成任务所需的最小存取权。访问监控器(Reference Monitor Concept):监视主体和客体之间授权访问关系的部件。信道(
7、Channel):系统内的信息传输通路。隐蔽信道(Covert Channel):进程以危害系统安全的隐蔽方式传输信息的通信信道。固件(Firm-ware):被写入设备硬件中的只读内存上的软件权限控制与授权方式数据库安全的实现涉及法律、社会、政府行为、管理等诸多方面的问题,现在大多数国家有数据保护法案,记录私人信息的数据库拥有者应确保其数据不被未授权的用户访问,实际上大多数这样的问题与DBMS本身无关而且完全超越了DBMS的控制范围,DBMS提供的基本安全机制是对数据对象的访问权进行控制。建立安全机制首先需要确定安全的基本单位(即:最小数据对象粒度:从属性、元组、关系直到整个数据库。)系统支持
8、的数据粒度划分越细,访问控制就越精确。一个粒度划分较细的系统比划分粗糙的系统能更好的管理数据。若粒度为整个数据库,安全系统的基本工作是维护一个授权用户表,记录每个用户所拥有的访问权(读、更新、插入、删除);若粒度为属性,则须为每个属性存储安全性信息。访问粒度的划分有:1)与值相关方法:如允许存取学生关系S中分数在60分以下的元组;相应的存取检查叫与值相关存取检查;2)与值无关方法:如允许某用户存取学生关系S;相应的存取检查叫与值无关存取检查。用户对数据对象访问权 的分配方式访问检查主要完成两项功能:隔离功能:保证用户只能访问他已授权的数据对象;控制访问:保证用户只能按他已得到的访问权的访问方式
9、存取数据,不得越权。用户对数据对象访问权的分配方式:1)静态授权方式;2)动态授权方式。静态授权方式静态授权方式:DBMS的数据安全系统确定不同用户对不同数据对象的存取权,数据对象的粒度由系统规定(数据库设计时确定),各数据对象由系统唯一命名,规定DBA拥有访问全部数据对象的全权(All Privileges)。实现方法:安全矩阵法或存取检查矩阵法用 户数 据 对 象O1O2OmU1U2:UnR,DR,U:RR,DR:R,UR,IR,DR:R,D 安全矩阵S的元素Sij=S(Ui,Oj)表示用户Ui对数据对象Oj所拥有的存取权安全矩阵法安全矩阵法是一直简便有效的方法,在OS的存取检查中广泛应用
10、。安全矩阵法一般是一个很大的稀疏矩阵,不可能全部存放在主存,则其实现一般不能直接用二维矩阵,而使用以下几种实用技术:(1)按行存储法:对每个用户Ui有一由偶对(Oj,SiJ)组成的一维表列。偶对(Oj,SiJ)称为权力,组成的一维表称为权力表。(2)按列存储法:对每个数据对象Oj有一由偶对(Ui,SiJ)组成的一维表列,称为 存取检查表。安全矩阵法(3)锁钥法:以上两种方法结合起来,产生锁钥法。系统为每个用户设立一个钥表(O1,K1),(O2,K2),(Om,Km)为每个数据对象设立一个锁表(L1,P1),(L2,P2),(LS,PS),其中K1 Km 为保密钥,L1 Lm 为保密锁,P1 P
11、m 为不同的存取权集合。当用户Ui欲对某数据对象Oj行使存取权P1时,数据安全子系统就检查K1是否能和Oj 锁表中的某一Lk匹配。若存在某一Lk,使Kj=Lk且PPi,则批准有关存取。若要解除某用户Ui对某数据对象Oj的存取权,若要解除所有用户Ui对某数据对象Oj的存取权,(4)口令法:如果将锁钥法中的钥匙直接交给用户,称之为口令,即得保护数据安全得口令法。分为两种形式:一种面向数据对象:对每一数据对象标以存取口令 一种面向用户:每个用户或每个组用户一个口令 只须清除相应的Kj只须更改保密锁Lj动态授权方式动态授权方式:用户对自己生成的关系拥有全权。若要将这种数据对象开放出来共享,则可通过授权
12、语句对外转授,通过回收语句回收存取权。(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)视图法 利用视图可以对数据进行保护。如不授予用户基本表的访问权但可授予他视图的访问权。DEFINE VIEW SEMP AS SELECT ENO,NAME,DNO,SALARY FROM EMP WHERE SALARY500AND
13、DNO=C01 -只给某用户授予视图SEMP的访问权,而未授予他表EMP的访问权。控制访问权的安全策略主要有4种:(1)Need-to-know需要知道(知必所需)需要知道才让你知道若一个用户需要对一组特定的数据进行读(写)操作则该用户才被授予对那组数据的且仅对那组数据的读(写)权。适用于军事和其他高安全需求的应用领域(2)最大共享尽可能实现数据共享,被保护的数据只是数据库中那些真正需要保护的数据。对于商业信息数据库,数据共享是主要目的。(3)开发策略:用户缺省地具有对所有数据的访问权,除非显示说明某数据的访问是被禁止的。促进共享 缺点是当访问控制规则遗漏或意外被删,导致保密数据公开。(4)封
14、闭策略:除非某用户显示地授予对某数据库地访问权。默认:所有数据都是不可访问的。安全但不利于数据共享。安全数据模型构造一个形式化的安全模型并证明其正确,并特定用于一个系统的设计中,可以使得一个系统的安全性得到最大限度的保证。(是数据库管理系统的安全保护策略的完整精确的陈述)目前存在各种各样的安全模型,重点介绍 三种:(1)有穷状态机模型(finite-state machine model)当前大多数安全模型的基础将系统描述成一个抽象的数学状态机,其中状态变量(state variables)表征机器状态,转移函数(Transition Function)描述状态变量如何变化。只要该模型的初始状
15、态是安全的,并且所有的转移函数也是安全的,则数学推理的必然结果是:系统只要从某个安全状态启动,无论按何种顺序调用系统,系统总是在安全状态。(1 1)有穷状态机模型一个简单的有穷状态机安全模型:状态变量:S:当前状态所有主体的集合 O:当前状态所有客体的集合 Subj_sec_lev(s):主体S的安全级 Obj_sec_lev(o):客体O的安全级Access_mode(s,o):主体S对客体O的访问模式值域为r,w,r,w,,即集合r,w的幂集,其中为空集。系统是处于安全状态,需满足:在该状态对所有s S,o O,如果 r access_mode(s,o),则subj_sec_lev(s)o
16、bj_sec_lev(o)(主体安全级高于客体安全级)如果w access_mode(s,o),则subj_sec_lev(s)obj_sec_lev(o)(主体安全级低于客体安全级)系统初态:S,O 显然是安全的(1 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)=
17、access_mode(s,o)wCreat_subject(s,slev):if s S,then S=S s,subj_sec_lev(s)=slev,对 o O,access_mode(s,o)=if slevobj_sec_lev(o)then access_mode(s,o)=r if slev obj_sec_lev(o)then access_mode(s,o)=access_mode(s,o)w一个极其简单的有穷状态机模型,表示一个系统从没有一个主体和客体开始启动,通过且只通过创建一个主体或客体来表达到下一个状态不难证明,当系统由一个安全状态,执行Create_object(o
18、,olev)或Create_Subject(s,slev)后,系统仍然处于安全状态(2 2)存取矩阵模型(2)存取矩阵模型(access matrix model)用户客体(数据对象)O1O2O3U1R,DR,DU2R,UR按行存放,权限表Capabilitylist按列存放,存取控制表(accessControllist).ACL:将主体对客体的存取权限交给客体的拥有者去制定强制型存取控制:对于系统中客体的安全,由系统确定一个主体能否访问一个客体常与自主存取控制策略联系在一起,对于系统中客体的安全,由客体的用户或具有特定特权的用户来制定,主要是规定别的用户能以怎样的方式访问该客体(3)BLP
19、安 全模型BLP安全模型(Bell_La Padula模型的简称)-一个形式化安全数据模型的典型实例 每个模型都是将现实中的某些方面加以抽象而得到的。BLP安全模型就是以军事部门的安全控制作为其现实基础,恰当地体现了军事部门的安全策略,然后用到计算机的安全设计中,BLP模型在操作系统Multies中得到成功应用。Multies是安全OS的最早尝试,1965年由AT&T和MIT联合开发,从商业角度看,Multies并不成功,从安全性角度看,Multies迈出了安全OS设计的第一步。军事部门中两种最重要的安全控制方法是:(1)强制存取控制(Mandatory Access Control)(2)自
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 数据库 安全
限制150内