您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 高级数据库技术与应用论文1
【摘要】数据库最突出的特点之一就是数据共享,数据共享给数据库应用带来了众多的好处,但同时也给数据库的安全性带来了严重的问题。特别是基于网络的分布式数据库系统。针对分布式数据库的安全性问题,分析了分布式数据库系统的体系结构和各种不安全的因素及安全措施各个层次的特点。通过对分布式数据库安全问题的研究,了解和认识分布式数据库存在的安全方面的缺陷和各种解决方法。【关键字】分布式数据库;数据共享;安全性;体系结构【Abstract】Themostprominentfeatureofthedatabaseisdatasharing,datasharinghasbroughtanumberofbenefitstodatabaseapplications,butalsohasbroughtseriousproblemstothesecurityofthedatabase.ParticularlytoWeb-baseddistributeddatabasesystem.Forthesecurityissuesofdistributeddatabase,analysisthearchitectureofthedistributeddatabasesystem,andvariousfactorsofinsecurityandfeaturesofalllevelsatsafety.Throughresearchingthesecurityissuesofdistributeddatabase,knowledgeandunderstandingtheexistingsecurityflawsofdistributeddatabaseandavarietyofsolutions.【Keywords】distributeddatabase;data-sharing;security;architecture1引言1.1背景在信息化时代来临、互联网高速发展的今天,信息资源的经济价值和社会价值越来越明显,越来越多的信息需要处理及交流,而处理信息最有效的工具是数据库应用系统。数据库最突出的特点之一就是数据共享,数据共享给数据库应用带来了众多的好处,但同时也给数据库的安全性带来了严重的问题。特别是基于网络的分布式数据库系统。分布式数据库系统所管理、存储的数据是各个部门宝贵的信息资源。建设以数据库为核心的信息系统和应用系统,对于提高企业的效益、改善部门的管理、改进人们的生活均具有实实在在的意义。为了保证信息系统和应用系统的顺利运行,保证数据库的安全是非常必要的。1.2数据库安全性概述数据库安全性包括两个方面的内容:数据库数据的保密性和安全性。数据库数据的保密性指有个人或者集团组织控制属于他们自己的数据。数据库数据的安全性是指数据库中数据的有意或无意的泄露、更改和丢失的保护能力,以及防止对数据库数据的不合法使用的能力。数据库的安全问题可归纳为以下几个方面:(1)保障数据库数据的完整性[1]。保障数据库物理存储介质及物理运行环境的正确与不受侵害的物理完整性;保障数据库实体完整性、域完整性和引用完整性的逻辑完整性;保障各客体数据元素的合法性、有效性、正确性、一致性、可维护性以及防止非授权读取、修改与破坏。(2)保障数据库数据的保密性。数据库系统的用户身份鉴别,保护每个用户是合法的,并且是可以识别的;数据库系统的访问控制,即控制用户对数据对象的访问,拒绝非授权访问,防止信息泄露和破坏;数据库对推理攻击的防范。数据库中存放的数据往往具有统计意义,入侵者往往可以利用已公开的、安全级别低的数据。来判断出安全级别高的数据;数据库系统的可审计行;防止数据库系统中的隐蔽信道攻击;数据库数据的语义保密性。(3)数据库数据的可用性。防止和减少因软硬件系统的错误所造成的数据库的恶性破坏;及时修复因软硬件系统的错误所造成的数据库恶性破坏;拒绝和清除数据库垃圾,使数据库随时保持可用状态,即当授权用户在其需要时,能够随时存取数据库中的数据,并获得正确的结果。2分布式数据库安全需求分析分布式数据库系统(DistributedDatabaseSystem,DDBS)是一个数据集合,通俗地说,是物理上分散而逻辑上集中的数据库系统。分布式数据库系统使用计算机网络将地理位置上分散而管理和控制又需要不同程度集中的多个逻辑单位(通常是集中式数据库系统)连接起来,共同组成一个统一的数据库系统。分布式数据库库系统是计算机网络和数据库系统的有机结合[2]。分布式数据库基本特点表现为:物理分布性,即数据不是存储在一个场站点上;场地自治性,即各场地上的数据由本地的数据库系统统一管理;逻辑整体性,即系统中的数据物理上是分散在各个站点中,逻辑上构成一个整体。2.1分布式数据库的体系结构分布式数据库系统是由硬件、软件(OS,Compiler,App.)、DB(全局DB,局部DB)、DBMS(全局DBMS,局部DBMS)、DBA(全局DBA,局部DBA)、用户(全局用户,局部用户)构成的。分布式数据库的体系结构如图2.1所示。图2.1分布式数据库的体系结构3分布式数据库的不安全因素由分布式数据库的体系结构可见,存在的不安全因素可以概括为三个方面:数据存储在各个站点上存在的不安全因素;访问各个站点上数据存在的不安全因素;数据在各个站点之间传输时存在的不安全因素。综合实际情况分析,不安全因素具体包括:(1)黑客的攻击黑客攻击的手段多种多样,攻击手段主要有:猎取用户口令,进行身份攻击;黑客假冒合法用户身份猎取敏感信息;黑客利用隐秘通道获取秘密信息;利用木马病毒隐藏于系统之中,对系统进行攻击;攻击电子邮件,通过垃圾邮件;进行突破防火墙活动等进行攻击。(2)计算机病毒攻击计算机病毒的种类迅速增加,病毒的机制越来越复杂化,破坏性和攻击恶性越来越强,加上互联网环境为病毒的国际流行提供了方便。(3)网络环境的脆弱性[3]。操作系统安全的脆弱性,这是由操作系统的结构体制所造成的,即操作系统的程序是可以动态连接,可以创建进程,提供远程调用(RPC)等。数据库管理系统安全的脆弱性,因为数据库的安全管理也是建立在分级管理概念上的,也要依靠可信计算基(TCB)方式。网络协议的脆弱性,网络协议安全保障的低水平,例如:TCP/IP协议在设计之初并没有把安全因素考虑进去。TCP/IP服务的内在问题、主机配制的复杂性、软件开发过程中引入的脆弱性以及多变性的实际因素等,都会使有关的站点无法抵御“闯入者”的连接或相关问题。(4)蓄意的或无意的攻击授权用户可能滥用他们的权限,破坏数据或泄漏数据。合法用户对信息的非正常的修改。4安全措施的层次分析在网络环境下,完全杜绝对数据库的恶意破坏是不可能的,我们可以采取一些安全措施,对分布式数据库的层次结构进行分析并进行安全性考虑[4]。(1)物理层物理层指的是位于整个系统中的各个站点,各个站点必须物理上受到保护,以防止入侵者强行闯入或暗中潜入。(2)用户层为不同需求的合法用户授予不同的权限,并且对用户的授权必须格外谨慎,以防止或减少已经授权的用户因各种原因给入侵者提供访问数据库的机会。(3)网络层分布式数据库系统的网络层包含两个方面,第一方面是固定网络,第二方面是移动网络。这两方面的安全对整个系统举足轻重。由于移动系统通过网络进行远程数据访问和数据传输,网络层安全性与物理层安全性一样重要,必须有相应的网络安全性措施。(4)操作系统层操作系统安全性方面的弱点,可能成为对数据库进行未授权访问的一种手段。所以不管数据库管理系统有多安全,也必须关注操作系统的安全性。(5)数据库系统层数据库系统层的安全机制的主要责任是保证为不同需求的合法用户授予不同的权限,并保证这样的授权限制不被违反。5安全防护策略安全策略是安全体系结构中的重要部分,他是规定一组如何管理、保护和分配敏感信息的法律以及规则和实践经验的集合。安全机制是对安全策略的实现。安全机制分为三类:预防机制、检验机制和恢复机制[5]。下面分析分布式数据库系统的安全策略及机制中目前所使用的相关技术。5.1利用网络提供的安全性来实现安全防护(1)操作系统的安全性使用尽量可靠的操作系统,能够及时的更新,补救漏洞。安装质量好的杀毒软件,及时更新病毒库,有效的保护好主机。(2)客户端防护当恶意软件或病毒攻击主机时,防护系统必须集中于保护主机系统及其数据,并停止感染的传播。这些防护和网络防护一样重要。启用防火墙,基于主机的防火墙或个人防火墙代表应该启用的重要客户端防护层,尤其是在用户可能带到组织通常的物理和网络防护之外的便携式计算机上。这些防火墙会筛选试图进入或离开特定主机的所有数据。(3)网络安全网络安全是分布式数据库安全的基础。网络安全技术,包括防火墙技术、入侵检测技术、加密技术等。它可以尽量保障数据通讯中的安全。5.2身份验证识别系统授权的合法用户,防止非法用户访问数据库系统,可采用双向身份验证技术,包括用户身份认证与站点间身份验证。(1)用户身份认证在分布式数据库系统中,为了防止各种假冒攻击,在执行各种数据库操作之前,需要在客户端和数据库服务器之间进行双向身份验证。通常系统给每个合法用户分配一个唯一的用户标识和口令,用户进入分布式数据库系统之前,需要进行身份验证,并且确定该用户的访问权限。高级系统要使用智能卡技术、物理特征(指纹,声纹,手图,视网膜等)认证技术、数字签名等方法。当前流行的身份验证一般有三级:系统登录,数据库连接和数据库对象使用。如图4.1所示图4.1身份认证的三个级别(2)站点间身份验证[6]Kerberos基于对称密码体制的双向身份验证协议,各站点从密钥管理中心获得与目标站点通信用的秘密密钥。基于公钥密码体制的双向身份验证协议,每个站点都生成一个非对称密码算法(RSA)的公钥对,其中私钥由站点自己保存,并通过可信渠道把自己的公钥分发到分布式系统的其他站点,然后任意两个站点可以利用所获得的公钥信息相互验证身份。5.3访问控制所谓访问控制,一般是指系统内部的访问控制,或者说,是系统内部主体对客体访问所受到的控制。实施访问控制,是维护系统安全、保护系统资源的重要技术手段,也是计算机系统中数据库系统安全机制的核心。访问控制的主要任务是对存取访问权限的确定、授予和实施,其目的就是在保证系统安全的前提下,最大限度地给予资源共享[7]。访问控制的基础,是主体和客体的安全属性。实施访问控制,侧重保护的是客体。每个需要加以保护的客体,都得按安全要求,预先标识一组相应的安全属性,并以此鉴别、确定对客体访问的允许与否。这个标识安全属性称为访问控制表,同样,每个主体也应当设有相应的访问控制表,用以标明它访问客体的能力。此处标识的作用就是“授权”,用以标明哪些主体有权访问。所确定的访问权限实际是允许的访问方式,即读、写、查询、增加、删除、修改等操作的组合,还有安全的访问过程等。5.4数据库加密在分布式数据库中,数据加密是指将需要保护的数据(明码文)在秘密信息(密钥)的作用下按照一定的规则(加密算法)变换成他人无法识别的形式(密码文)。加密/解密算法。常用的有:DES算法、RSA算法、MH背包算法。加密方式,一般分为库外加密与库内加密。库外加密是大多数数据库管理系统采取的策略,库外加密方式的优点是对数据库管理系统DBMS的特殊要求比较少,实现上只要增加一个中间层次负责加解密数据即可。库外加密的办法,一般针对文件IO操作或操作系统而言的,因为数据库管理系统与操作系统的接口方式有三种:一是直接利用文件系统的功能;二是利用操作系统的I/O模块;三是直接调用存储管理。所以在采用库外加密的方法时,可以将数据先在内存中使用DES、RSA等方法进行加密,然后文件系统把每次加密后的内存数据写入到数据库文件中去(注意是把整个数据库普通的文件看待,而不是按数据关系写入),读入时再逆方面进行解密就可以正常使用了。这种加密方法相对简单,只要妥善管理密钥就可以了。库内加密,从关系型数据库的各个方面出发,很容易形成库内加密的思想。关系型数据库的关键术语有:表、字段、行和数据元素。基本上可以针对这几方面形成一种
本文标题:高级数据库技术与应用论文1
链接地址:https://www.777doc.com/doc-5188181 .html