当前位置:文档之家› 数据库系统安全性

数据库系统安全性

数据库系统安全性
数据库系统安全性

计算机网络安全与应用技术

课程论文

题目数据库系统安全性

姓名熊斌

学号 20127345

系部理工系

专业班级2012级计算机2班

指导教师黄成

2015年 05 月 30 日

摘要

数据库系统是信息仓库,管理着大量的数据信息。可能受到来自多方面频繁的安全攻击,从而导致一系列安全问题。随着网络和数据库技术的发展,数据库系统的安全管理日益成为人们关注的焦点。数据库系统的安全框架可以划分为三个层次,各个层次是相辅相成的,防范重点和技术手段也不尽相同。

数据库安全包含两层含义:第一层是指系统运行安全,系统运行安全通常受到的威胁如下,一些网络不法分子通过网络,局域网等途径通过入侵电脑使系统无法正常启动,或超负荷让机子运行大量算法,并关闭cpu风扇,使cpu过热烧坏等破坏性活动;第二层是指系统信息安全,系统安全通常受到的威胁如下,黑客对数据库入侵,并盗取想要的资料。数据库系统的安全特性主要是针对数据而言的,包括数据独立性、数据安全性、数据完整性、并发控制、故障恢复等几个方面。网络的开放性给数据库系统安全带来了严重的安全隐患,本文从数据库系统安全的各个方面,对数据库系统的安全策略进行粗略的探讨。

[关键词]数据库系统;安全;防范

1.数据库安全国内外研究现状

数据库安全问题是信息系统安全问题的一个子问题,数据库技术是构建信息系统的核心技术。在当今开放式的互联网时代,许多关键的业务系统运行在数据库平台上,数据库系统中的数据为众多用户所共享,如果数据库安全无法保证,其上的应用系统也会被非法访问或破坏,所以数据库系统的安全保护措施是否有效已成为现代数据库系统的重要性能指标之一。因此,研究如何保卫信息战的核心资源—数据库,已是目前迫切需要解决的课题。数据库界对此十分重视,各数据库厂商纷纷在自己的产品中实现其安全功能,如安全控制策略,资源管理,数据库备份与恢复,锁定和审计等。这些功能显然是不够的。其主要原因是,数据库中数据是以明码方式存放的。国外对计算机安全及数据库安全的研究起步较早,包括政府部门在内的各种研究机构及公司对此投入了大量的研究,研究成果和应用都较为丰富。从年代开始,以美国军方为主的研究队伍对多级安全数据库系统伽进行了一系列的研究,研究内容主要包含安全需求,安全模型,系统结构,某些特定数据库应用系统的特殊安全问题,存储管理以及原型系统的实现问题。数据仓库的安全保密问题,安全数据库系统中的推理控制问题等等。取得了相当多的成果。在产品开发方面,分别推出了到达安全级的商用数据库产品。基于对安全数据库的需求,国内学术界对数据库的安全问题也进行了研究。国内对数据库安全的研究开始于年代末年代处,从目前掌握的资料看,国内对数据库安全的研究无论是在理论上还是在相关实用产品上都落后于国外。国外几大数据库厂商的低安全级别的数据库产品占据了国内的大部分市场。

2.数据库安全性综述

数据库安全技术作为信息安全技术的分支开始于年代中期,自年代末和年代初开始迅速发展,目前己得到被许多国家的重视,将其作为国家信息安全的重要基础技术。国外一些成熟的商用大型数据库管理系统都具有诸如身份认证、访问控制、审

计等安全功能,为数据库安全提供了一定的技术保障。在我国,针对国内的具体需求,有一批研究机构和软件公司也正在积极从事数据库安全技术的研究和开发。数据库在各种系统中都应用得非常广泛,目前,数据库主要用于人事管理、财务管理、档案管理、图书资料管理、仓库管理等方面的数据管理。数据管理包括这些数据的组织编目、定位、存储、搜索、查询、修改、排序、分类等内容。由于数据库在办公自动化系统、管理信息系统、电子商务中都是最重要的组成部分,数据库系统的任何破坏、修改或者不能及时地提供服务都会给使用者带来严重的问题,因此,保护数据库系统的安全至关重要。数据库的安全主要是保证数据的独立性、完整性、保密性和可用性,防止数据被非法访问,甚至被篡改或破坏。

2.1数据库系统的安全性威胁

2.1.1安全性误区

对数据安全性的领域错误的分析往往会导致设计出无效的安全解决方案。下面是几种最普遍的安全性误区

误区1:黑客是导致大部分安全崩溃的主要原因。

事实上,80%的数据丢失是来自内部。

误区2:加密可以保证你的数据安全。

事实上,加密仅仅是保护数据安全的一种途径,安全性同样也需要访问控制、数据完整性、系统的可用性以及审计等。

误区3:防火墙可以保证数据安全。

事实上,尽管安装了防火墙,40%的网络入侵仍然发生。

因此,设计一个安全的解决方案,真正保护数据,必须要了解相关的安全性需求,当前威胁你的数据的范围。

数据库的安全威胁主要有数据篡改、数据损坏和数据

窃取3 种情况。

2.1 .2数据篡改

篡改就是对数据库中的数据未经授权就进行修改,破坏数据的真实性。如修改成绩、伪造发货单等。这类修改是一个潜在的问题,表面上看来是没有任何迹象的,在造成影响之前,数据库管理者一般很难发现。数据篡改一般是基于以下的动机:个人利益驱动、隐匿或毁坏证据、恶作剧或开玩笑、无意识的修改或用户误操作等。

2.1.3 数据损坏

数据的真正丢失是数据库安全性所要面对的另一个威胁。数据库中的表、数据甚至整个数据库,都有可能被删除、移动或破坏,这样数据库的内容就不可用了。数据损坏的原因主要是破坏、恶作剧、病毒等。

2.1.4 数据窃取

窃取数据是一个非常严重的问题。窃取是通过对敏感数据的未授权访问来完成的,可以是将数据复制到其他介质上,或是输出成可直接或间接读取的资料(如打印),还有可能是通过网络连接对敏感数据进行未授权的访问或处理。数据窃取的主要原因有:一些数据可能比想象的还重要;不满的员工或辞职的员工;工商业间谍等。以上数据库的安全威胁均来自于对数据库的直接攻击或间接攻击。直接攻击是通过查询以得到几个记录来直接搜索并确定敏感字段的值。最成功的技术是形成一种特定的查询,它恰好与一个数据项相匹配。间接攻击是依据一

种或多种统计值推断出结果。统计攻击通过使用某些明显隐匿的统计量来推导出数据。例如求和、计数、中值等数据来得到某些数据。

2.2数据库安全性的基本要求和特点

计算机安全,是指保护计算机系统的硬件、软件和数据,不受破坏、更改、泄露,从系统的角度,主要包括三个方面:

1保密性:一个计算机系统的资源只能由许可的当事人访问。这类访问是“读”类型的访问。

2完整性:计算机系统的资源只能由许可的当事人更改,包括写入、改变状态、删除和创建。

3可用性:指对拥有合法的访问权限的用户,不应该阻止其访问

目标。

数据库系统的安全的需求与其它系统基本相同,包括数据库的完整性、可靠性、有效性、保密性、可审计性、存取控制与用户身份认证等。数据库系统通常是在操作系统的控制之下运行,操作系统己经提供的安全措施,数据库系统可以利用,不必另行考虑。但与操作系统和网络安全相比,其不同之处在于操作系统中的对象为文件,而数据库系统中要求有更加精确的数据粒度,比如要求精确到数据库的表级、域级、直到行级,元素级等操作系统并不关心相关的数据对象的语义及其相互关系,而数据库系统则必须重视数据的语义。数据库完整性是数据库管理系统、操作系统和计算机管理者三方面应负的责任。包括数据的正确性、有效性和一致性,及数据库中包

含在每个项目内的数据是正确的,也是有效的。同时,当不同的用户使用数据库时,应保证他们取出的数据是一致的。由于用户在搜集数据、输入数值、计算结果时可能会出现错误,因此,DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。为了保证数据库中每个元素的完整性,DBMS采用3种方法进行维护:字段有效性检查、通过访问控制维护数据的完整性和一致性、维护数据库的更新日志以利于故障恢复。

数据库系统的完整性与可靠性是指保证数据的正确性,它涉及到数据库内容的正确性、有效性与一致性。实现数据完整性是保证数据库中的数据的正确、有效,使其免受无效更新的影响。数据库的完整性总的来讲是数据库系统自身、操作系统、应用系统的职责。该需求涉及到防止更改数据内容的非授权访问,以及病毒,蓄意破坏,或是系统级错误及故障等。这主要由通过系统控制以及备份、恢复机制执行并完成保护工作。存取控制数据库安全的最首要的课题就是确保只对授权的合法用户给予访问权限,并能以令人信服的方式证明或测试这一保证的可靠程度。同时,令所有未正常授权的人员均无法接近数据,即防止和杜绝非授权的数据访问,无论是窃取,还是破坏。这就是数据库系统或者任何信息系统中的所谓存取控制问题。

2.2.1数据库的用户认证

用户认证就是确保每个用户都能够被正确识别,避免非法用户的入侵。DBMS 通常要求严格的用户认证,指定应该允许谁访问哪些数据,这些数据可以是字段、记录甚至是元素级的。DBMS 必须实施这一访问策略,批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录数据,或重新组织数据库。DBMS 是在操作系统之外作为应用程序来执行的,它可能要求用户传递指定的通行字和日期、时间以接受检查和认证。这一认证是在操作系统完成的认证之外附加的。这说明,从 DBMS 到操作系统之间没有可信赖的路径,数

据库系统可以怀疑它所接收到的任何数据。

2.2.2 数据库系统保密性需求

(1)维护数据库系统保密性的方法

维护数据库系统保密性的方法主要有:主体身份识别和确认;访问操作的鉴别和控制;数据信息的加密;审计和跟踪。

(2)身份鉴别

处于数据库管理系统的重要性和特殊性,使得数据库系统必须具备独立的用户身份

鉴别机制,用于独立完成身份鉴别任务。操作系统的用户身份鉴别机制加上数据库系统的身份鉴别机制,实际上形成了双重保护。这种双重的用户身份鉴别机制在一定程度上强化了数据库系统的保密性。用户身份鉴别的基本方法是用户标识(ID)和密码。为了保证数据信息的保密性,尤其是为保证对机密敏感数据的访问控制,应当识别用户是惟一的。同时还要对访问进行确认,以防止事后否认。

(3)访问控制

DBMS是在操作系统的基础上运行的应用程序,是为多个用户共享的应用软件。数据库系统存放的数据往往比计算机系统本身的价值大得多,必须加以特别保护。数据库管理系统的访问控制可分为两大类:任意访问控制和强制访问控制。任意访问控制通过访问控制矩阵来实现。访问控制矩阵就是不同的主体以何种模式访问不同的客体的一个列表。访问模式可以为单一的读(r)、写(w)、添加(a)、删除(d)等,也可以是以上单一访问模式的组合,如读写(rw)。强制访问控制也是通过与军事安全策略类似的方法来实现的。具体来说,在安全控制上引入级和范围(又称类别)的概念,每个主体指定一个范围许可级别,而每个客体则有相应的保密级别。范围许可级别和保密级别一般分为 4 类:公开、秘密、机密和绝密。代表一个用户的执行过程(主体)具有与用户相同的范围许可级别。客体可以是内存区域、程序变量、文件、I/O设备以及其他可保存的信息。每个客体和主体都有一个范畴集合。一个访问级别(安全级别)是保密级别(许可级别)与范畴集合的组合:<保密级别,范畴集合>。

2.2.3 数据库系统的加密

对于使用数据库系统的重要部门,仅依靠访问控制加强保密性是远远不够的。因为这些安全措施都存在一个明显的致命弱点:原始数据是以可读的形式存储在数据库中的。入侵者可以从计算机系统的内存导出需要的信息,或者采取某种方式进入系统,从系统的后备存储器上窃取数据或篡改数据。要彻底解决数据库的安全保密问题,除了在传输过程中要采取加密保护和控制非法访问等方法之外,还必须对存储数据进行加密保护。

2.2.4 多层数据库系统安全结构

在数据库系统中,不同类型的用户其具体的安全要求也可能会不同,但完全可以参照操作系统的安全层次结构概念,来构造数据库系统的多层安全结构。

(1)数据库系统的层次安全结构

数据库系统由数据库边界分为内部和外部两大部分,而数据库内部又由安全周界划分出数据库安全内核(又称为可信计算基,TCB)。数据库安全内核由0、1、2、3和4各层组成,0层是支持数据库安全内核的操作系统部分;第 1 层除了完成访问控制和数据库系统需要的用户身份识别外,还要完成把数据传递给高层时的数据筛选工作;第2 层要完成数据库索引和计算功能;第 3 层把用户的视图转换为数据库的基本关系;第 4 层提供系统或数据库安全内核所需要的数据和数据结构。在实现用户身份鉴别和访问控制的第 1 层,应选择适合用户实际需要的安全模型。比如,当注重于信息加密时,则可以选择Bell-La Padula 信息保密性模型作为数据库安全结构的参考模型。

(2)数据库系统的多级安全模型

数据库安全模型中的元素实际上是一些具有独立意义的数据信息的集合。数据库系统多级安全模型中的主要元素如下图:

(3)数据库系统的宏观安全结构

在实施强制访问控制的前提下,结合以访问控制矩阵实现的任意访问控制机制,就可以形成比较安全且灵活的数据库多级安全模型。以数据库系统为中心,计算机系统安全层次机制、计算机系统安全访问识别控制机制、数据库系统安全层次机制、数据库系统多级安全机制、数据库安全机制和数据库、数据库管理系统以及计算机系统、配合密码等安全技术,就形成了数据库系统的宏观安全逻辑结构。显然,无论在层次结构或是访问控制上,数据库都是受到多重安全机制保护的。需要说明的是,无论是层次结构还是多级模型,或者是密码技术的应用,都是在访问的安全控制上、多做工作的基础上来构造数据库系统的全结构的。在此基础上,再辅以切实

有效的安全技术措施,必然使数据库系统的安全性得到很大增强。

3.网络数据库系统层次安全技术

从某种程度上讲,数据库的安全首先依赖于网络系统。随着Internet 的发展和普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络是数据库应用的外部环境和基础,数据库系统要发挥其强大功能离不开网络的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。因此,网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。

(一)入侵的方法

入侵包括试图破坏网络上信息的保密性、完整性、可用性、真实性和可控性等的任何网络活动。

具有以下特点:没有地域和时间的限制;隐蔽性强;入侵手段更加隐蔽和复杂。一般的入侵方法主要有:

1. 口令入侵

所谓口令入侵,就是指用一些软件解开已经得到但被人加密的口令文档。不过许多黑客已大量采用一种可以绕开或屏蔽口令保护的程序来完成这项工作。

2. 特洛伊木马技术

特洛伊木马最典型的做法可能就是把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,这时合法用户的程序代码已被改变。一旦用户触发该程序,那么依附在内的黑客指令代码同时被激活,这些代码往往能完成黑客指定的任务。

3. 监听法

网络节点或工作站之间的交流是通过信息流的传送得以实现的。而当在一个没有集线器的网络中,数据的传输并没有指明特定的方向,这时每一个网络节点或工作站都是一个接口。数据的传输就依靠这些接口来完成。有一种叫 sniffer 的软件,它可以截获口令,可以截获秘密的信息,可以用来攻击相邻的网络。

4. E- mail 技术

5. 病毒技术

6. 隐藏技术

(二)数据库系统层次的安全防范技术

从技术角度讲,系统层次的安全防范技术有很多种,大致可以分为防火墙、入侵检测、协作式入侵检测技术等。

1.防火墙

防火墙是应用最广的一种防范技术作为系统的第一道防线,其主要作用是监控

可信任网络和不可信任网络之间的访问通道,可在内部与外部网络之间形成一道防护屏障,拦截来自外部的非法访问并阻止内部信息的外泄,但它无法阻拦来自网内部的非法操作。它根据事先设定的规则来确定是否拦截信息流的进出,但无法动态识别或自适应地调整规则,因而其智能化程度很有限。防火墙技术主要有三种:数据包过滤器、代理和状态分析。

2. 入侵检测

该技术是近年来发展起来的一种防范技术。它综合采用了统计技术、规则方法、网络通信技术、人工智能、密码学、推理等技术和方法,其作用是监控网络和计算机系统是否出现被入侵或滥用的征兆。1987 年,DerothyDenning首次提出了一种检测入侵的思想,经过不断发展和完善,作为监控和识别攻击的标准解决方案,ids 系统已经成为安全防御系统的重要组成部分。入侵检测采用的分析技术可分为三大类:签名、统计和数据完整性分析法。

3. 协作式入侵监测技术

独立的入侵监测系统不能够对广泛发生的各种入侵活动都作出有效的监测和反应,为了弥补独立运作的不足,人们提出了协作式入侵监测系统的想法。在协作式入侵监测系统中,IDS基于一种统一的规范,入侵监测组件之间自动地交换信息,并且通过信息的交换得到了对入侵的有效监测,可以应用于不同的网络环境。

4.数据库安全技术

4.1 口令保护

口令设置是信息系统安全的第一道屏障,因此,口令安全尤其重要。对数据库的不同功能块应设置不同的口令,对存取它的用户应设置不同的口令级别,各种模块如读模块、写模块、修改模块等之间的口令应彼此独立,并且应该将口令表进行加密,以保护数据安全。现在,有一种口令管理方式能在最大限度上确保使用者是合法用户。这种口令管理方式称为零知识证明,简称零式方式。这种方式对一个真正的被授权用户来说,其口令不能被冒充、复制或破坏。在进行用户身份验证时,不

用提供可能被窃听者使用或计算口令所用的任何信息。零方式的关键是必须有一个绝对可靠的数据库系统安全管理员,当一个用户将进入系统时,安全员需对其身份进行验证。其具体工作步骤如下:(1) 用户获取一个随机数,并使其与自己所持的密钥一并处理,将结果传送给数据库安全管理员。(2) 数据库安全管理员获取一个随机数,并将此数字传送给用户。(3) 用户将此随机数同自己的密钥一并处理,并将其结果再一次传送给数据库安全管理员。(4) 数据库安全管理员检查这个回答是否正确。若正确,则减少对用户真实身份一半的怀疑;如果不正确,则停止用户的进一步活动。

以上 4 个步骤可能需重复多次,如果每次回答均正确,

则数据库安全管理员对用户身份的怀疑可减少到零。这时,

该用户便被确认为合法用户。

4.2 数据加密

对数据加密的方法主要有 DES 算法和 RSA 算法。DES 算法的主要特点是为数据发送者和数据接收者提供相同的 56 位加上 8 位奇偶校验位共 64 位的密钥,并进行

64 位数据块加密计算,得到长度为 64 位的密文输出,输出的每一位都必须由明文的每一位和 64 位密钥的每一位联合确定。这种算法加密强度高,而且计算速度较快,得到广泛应用。RSA 算法的特点是加密密钥和解密密钥是不同的,但彼此间有密切联系。这种算法使用离散指数产生一种公开密钥的密码体制,利用寻找最大素数的方法进行加密。这种方法在理论上有很强的安全性,在数字签名等验证应用方面有很大的潜力,但分解因子比较困难,运算速度比较慢。

4.3 数据库加密

数据库的加密方式很多,可以是软件加密,也可以是硬件加密。软件加密可以采用库外加密,也可以采用库内加密。库外加密方式采用文件加密的方法,它把数据作为一个文件,把每一个数据块作为一个记录进行加密。文件系统与数据库管理系统交换的内容是块号。库内加密按加密的程度可以进行记录加密,也可以进行字段加密,还可以对数据元素进行加密。对数据元素加密时,每个元素作为一个文件进行加密。硬件加密是在物理存储器与数据库文件之间加以硬件装置,使之与实际的数据库脱离,加密时只对磁盘上的数据加密。

4.4 数据验证

数据验证是指在数据处理中,对数据的正确性、完整性进行检查验证,主要方法如下:

(1)检查录入数据的原始凭证

在批处理录入时,要对各部门或各地区送来的原始数据进行定期汇总,然后由计算机部门进行核对验收。如有错误,应立即返回原单位进行改正。为了便于核对验收,

通常采用批处理控制单作为安全控制手段,几个部门在上交汇总数据时,要分别填写批处理控制单,在此单中注名原始数据凭证的数量、批号、汇送单位、数据发生日期及其他有关控制项目。数据管理部门可按批处理控制单核对数据,防止数据交接中产生错误。为了防止原始凭证的遗失或漏录,一般采用编写流水单号的方法。录入人员在接受录入凭证时可清点流水号,检查有无缺漏,如有缺号,表明数据的原始凭证有问题,应及时核对、查找。

(2)录入数据的安全控制

录入数据时,由于录入人员的错误、漏读、误操作等原因,使录入数据出错。为了能及时发现这类错误,通常采用各种校验方法。对重要的数据可采用双人录入、三人录入,然后进行核对差错的方法。双人录入是指由两个录入人员录入统一凭证,然后对两人录入的数据进行核对,打印或显示出不一致的数据,再由录入人员进行检查、更改。双人录入的方法大大减少了录入的错误,提高了录入的正确性。但录入的工作量增加一倍。

在联机时,处理的作业由终端直接输入计算机,无法再由另一人重新录入。这时应该采用软件校验每个输入的数据是否合法、完整,如果有问题,则及时提示,令录入人员改正。

(3)数据的类别检查

检查录入数据项目的类型与规定的类型是否相符,例如,如果在数值型项目中输入了非熟知的字符时,则应提示出错信息,数据的界限检查等。

4.5 数据库的访问控制

数据库系统可以允许数据库管理员和有特定访问权限的用户有选择地、动态地把访问权授予其他用户。如果需要,还可以收回这种权利。其权利存在于一张访问控制表中。当一个新的用户需要访问数据库资源时,首先由数据库管理人员或数据库拥有者对该用户进行注册,给该用户分配一个口令,并授予其访问相应系统资源的

权利。然后,由该用户输入注册口令。若口令正确,就可以使用该数据库资源。未经授权,任何用户都不能使用该数据库资源。通过系统日志管理模块,记录每一个用户对每一个数据项所做的增加、修改、删除操作,并记录操作结果。对重要的数据查询也作记录。使用户对系统数据的操作,具有不可抵赖性。

5.数据库系统攻击的防护

(一)操作系统安全策略

操作系统安全策略用于配置本地计算机的安全设置,包括密码策略、账户锁定策略、审核策略、IP 安全策略、用户权利指派、加密数据的恢复代理以及其他安全选项。具体可以体现在用户账户、口令、访问权限、审计等方面。

1. 用户账户:用户访问系统的“身份证”,只有合法用户才有账户。

2. 口令:用户的口令为用户访问系统提供一道验证。

3. 访问权限:规定用户的权限。

4. 审计:对用户的行为进行跟踪和记录,便于

系统管理员分析系统的访问情况以及事后的追查

使用。

(二)安全管理策略

安全管理策略是指网络管理员对系统实施安

全管理所采取的方法及策略。针对不同的操作系

统、网络环境需要采取的安全管理策略一般也不

尽相同,其核心是保证服务器的安全和分配好各

类用户的权限。

(三)数据安全

主要体现在以下几个方面:数据加密技术、数据备份、数据存储的安全性、数据传输的安全性等。可以采用的技术很多,主要有 Kerberos 认证、Ipsec、SSL、TLS、VPN(pptp、l2tp)等技术。

5.1数据库管理系统层次安全技术

数据库系统的安全性很大程度上依赖于数据库管理系统。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。保障数据库管理系统安全的有效方法之一是数据库管理系统对数据库文件进行加密处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读。可以考

虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS层、DBMS内核层和DBMS 外层。

(一)在OS 层加密

在 OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。所以,对大型数据库来说,在 OS层对数据库文件进行加密很难实现。

(二)在DBMS 内核层实现加密

这种加密是指数据在物理存取之前完成加、解密工作。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响 DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运算在服务器端进行,加重了服务器的负载,而且 DBMS和加密器之间的接口需要DBMS 开发商的支持。

结论

随着我国信息化进程的进一步深入,许多政府机构、军事部门和企业、公司

都将大量信息存储在数据库系统上,研究如何保卫信息战的核心资源—数据库显得尤为重要。本文首先从数据库系统的安全威胁出发,包括系统可能遭受的攻击以及攻击,多角度地对数据库的安全性展开论述,论文结合的存储过程、函数以及程序包编写了相应的程序模块,进一步增强了系统的安全性,尤其在用户口令、存储和传输加密及安全审计等方面得到充分体现数据库系统的安全管理是全方位的、动态的,只有综合利用各种安全技术和管理手段,才能有效地实现数据库系统安全、可靠、稳定地运行。

参考文献

[1]计算机网络安全与应用技术/袁家政,印平主编;商新娜,廖礼萍,编著.-2版.-北京:清华大学出版社,2011.6

[2]https://www.doczj.com/doc/4e18388038.html,/infomration.html信息安全国家重点实验室,网络安全问题

的讨论与对策

[3]https://www.doczj.com/doc/4e18388038.html,/中国国家知识基础设施,CNKI

[4]计算机网络/谢希仁编著.-6版.-北京:电子工业出版社,2013.6

[5]蒋继洪计算机系统、数据库系统和通信网络的安全与保密成都电子科技大学出版社.1995

[6]曹晖,王青青等 . 一种新型的数据库安全审计系统 [J],计算机工程与应用,2007,(05).

数据库安全设计与分析

井冈山大学 《网络安全课程设计报告》 选题名称数据库的安全与分析 学院电子与信息工程 专业网络工程 班级网络工程13本(1) 姓名何依 学号130913029 日期2016.10.08

目录 一、背景与目的 (3) 二、实施方案概要 (3) 1、用户权限 (3) 2、访问权限 (3) 3、再次校对 (4) 4、登录 (4) 三、技术与理论 (4) 1、三层式数据访问机制 (4) 2、数据加密处理机制 (4) 3、数据库系统的安全策略: (5) 四、课程设计实施 (6) 1、第一步 (6) 2、第二步 (8) 3、第三步 (9) 4、第四步 (10) 5、第五步 (11) 五、课程设计结果分析 (11) 六、总结 (12)

一、背景与目的 无论是从十大酒店泄露大量开房信息,到工商银行的快捷支付漏洞导致用户存款消失,这一种种触目惊心的事件表明数据库的安全性能对于整个社会来说是十分重要的,数据库安全是对顾客的权益的安全保障,也是国家、企业以及更多的人的安全保障,从而数据库的安全性非常值得重视。 对于数据库的安全我将进行以下分析,旨在了解更多的数据库安全技术和对常见的数据库攻击的一些防范措施,并借鉴到今后的实际开发项目中去,更好的保护客户的权益。 二、实施方案概要 本次的数据库主要基于我们比较熟悉的SQLSever进行。 为了保障用户的数据的存储安全,保障数据的访问安全,我们应该对拘束看的用户采取监控的机制,分布式的处理各种应用类型的数据即采取三层式数据库连接的机制。 1、用户权限 当一个数据库被建立后,它将被指定给一个所有者,即运行建立数据库语句的用户。通常,只有所有者(或者超级用户)才能对该数据库中的对象进行任何操作,为了能让其它用户使用该数据库,需要进行权限设置。应用程序不能使用所有者或者超级用户的账号来连接到数据库,因为这些用户可以执行任何查询,例如,修改数据结构(如删除表格)或者删除所有的内容,一旦发生黑客事件数据库的安全将会岌岌可危。 2、访问权限 可以为应用程序不同的部分建立不同的数据库账号,使得它们职能对数据库对象行使非常有限的权限。对这些账号应该只赋予最需要的权限,同时应该防止相同的用户能够在不同的使用情况与数据库进行交流。这也就是说,如果某一个入侵者利用这些账号中的某一个获得了访问数据库的权限,他们也仅仅能够影响

数据库安全性习题解答和解析

第九章数据库安全性习题解答和解析 1. 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主

数据库安全性和完整性实验

实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理

1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。

数据库原理实验报告-实验三-数据完整性与安全性控制

一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

实验八 数据库的安全性

实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:

数据库的安全性实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞

一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’

实验五 SQL SERVER 完整性与安全性 实验报告

实验五SQL SERVER 完整性与安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。

3.授予用户John创建表和视图的权限。 grant create table,create view to John 在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”, 如图:

即可赋予John“创建表”和“创建视图”的权限。 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to tom with grant option (2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant select,insert on S to Mary grant select,insert on P to Mary grant select,insert on J to Mary (3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。 grant delete,update(qty) on spj to Tom

201509-实验三:数据库的安全性课案

实验三:数据库的安全性 一、实验目的 熟悉通过SQL对数据进行安全性控制。 二、实验平台 SQL Server 2008 三、实验内容和要求 1、掌握Windows登录名和SQL SERVER登录名的建立与删除方法; 2、掌握数据库用户创建与管理的方法; 3、掌握服务器角色的用法; 4、掌握数据库权限授予、拒绝和撤销的方法; 四、实验步骤 (一)授权与回收。 [例1]授权。在SQL Sever 中建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。 1)建立用户U1、U2、U3、U4、U5、U6、U7。 2)以系统管理员身份对这7个用户进行授权。 [例1-1]把查询Student 表的权限授给用户U1。 GRANT SELECT ON Student TO U1; [例1-2]把对Student 表和Course 表的全部操作权限授予用户U2 和U3。 GRANT ALL PRIVILEGES ON Student TO U2,U3; GRANT ALL PRIVILEGES ON Course TO U2,U3; [例1-3]把对表SC 的查询权限授予所有用户。 GRANT SELECT ON SC TO PUBLIC; [例1-4]把查询Student 表和修改学生学号的权限授给用户U4。 GRANT UPDATE (Sno) , SELECT ON Student TO U4; [例1-5]把对表SC 的INSERT 权限授予U5,并允许U5 将此权限再授予其他用户。 GRANT INSERT ON SC TO U5

WITH GRANT OPTION; [例1-6]用户U5 将对表SC 的INSERT 权限授予U6,并允许将权限转授给其他用户。 首先应该以U5 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U6 WITH GRANT OPTION; [例1-7]用户U6 将对表SC 的INSERT 权限授予U7。 首先应该以U6 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U7; 3)在授权之后验证用户是否拥有了相应的权限。 在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可。例如: [例1-8]U4 更新Student 表的学生学号。 UPDATE Student SET SNO = ‘95101’ WHERE SNO = ‘95001’; 显示更新 1 条记录,即U4 用户拥有了对Student 表Sno 的更新权限。[例1-9]U7 向SC 表中插入一条数据:(95020,20,88)。 INSERT INTO SC V ALUES(‘95020’,’20’,88); 显示插入 1 条记录,即用户U7 拥有了对SC 表的插入权限。 [例2]回收权限。将[例1]授予的权限部分收回,检查回收后,该用户是否真正丧失了对数据的相应权限。 1)回收权限。 [例2-1]收回用户U4 修改学生学号的权限。 当前用户为SYSTEM,直接执行下列语句: REVOKE UPDATE (SNO) ON Student FROM U4; [例2-2]收回所有用户对表SC 的查询权限。 REVOKE SELECT ON SC FROM PUBLIC; [例2-3]收回用户U5 对SC 表的INSERT 权限。 将权限INSERT 授予给用户U5 时,允许该用户将权限再授予给其他用户;之后,用户U5 将INSERT 权限转授给了U6,U6 又将权限转授给U7。因此,将用户U5 的INSERT 权限收回的时候必须级联收回,不然系统将拒绝执行该命令: REVOKE INSERT ON TABLE SC FROM U5 CASCADE;

数据库的安全性管理

第10章数据库的安全性管理 教学目标: 掌握SQL Sever 的安全机制,了解登录和用户的概念,掌握权限管理和掌握角色管理。通过本章的学习,要求读者深入理解SQL Server 的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。建立C/S结构的网络数据库概念,锻炼实际数据库管理能力,为今后从事数据库管理员(DBA)的工作奠定基础。 10.1SQL Server 的安全性机制 在介绍安全管理之前,首先看一下SQL Server 是如何保证数据库安全性的,即了解SQL Server 安全机制。 10.1.1 权限层次机制 SQL Server 2005的安全性管理可分为3个等级:1、操作系统级;2、SQL Server 级3、数据库级。 10.1.2 操作系统级的安全性 在用户使用客户计算机通过网络实现SQL Server 服务器的访问时,用户首先要获得计算机操作系统的使用权。 一般说来,在能够实现网络互联的前提下,用户没有必要向运行SQL Server 服务器的主机进行登录,除非SQL Server 服务器就运行在本地计算机上。SQL Server 可以直接访问网络端口,所以可以实现对Windows NT 安全体系以外的服务器及其数据库的访问,操作系统安全性是操作系统管理员或者网络管理员的任务。由于SQL Server 采用了集成Windows NT网络安全性机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。 10.1.3 SQL Server 级的安全性 SQL Server 的服务器级安全性建立在控制服务器登录帐号和口令的基础上。SQL Server 采用了标准SQL Server 登录和集成Windows NT登录两种方式。无论是使用哪种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权,以及在获得访问权以后,用户在访问SQL Server时可以拥有的权利。

[安全管理,数据库,计算机]计算机数据库安全管理分析与研究

计算机数据库安全管理分析与研究 摘要:现阶段我国计算机数据库和网络信息技术迎来蓬勃发展趋势,可关于数据库被非法侵入以及内部关键性数据丢失问题依旧未能根除,直接限制今后大规模网络信息系统建设进度。在此类背景下,笔者决定针对目前我国网络环境中数据库面临的一切安全威胁,加以客观论证,同时结合最新技术手段和实践经验制定妥善的数据库安全维护方案,最终开拓电子商务业务的企业获得长效发展机遇,真正为我国综合竞争实力绽放,提供保障。 关键词:计算机数据库安全管理指令内容验证解析 前言:计算机数据库内部储存大量信息,依照不同路径将挖掘的信息,直接传递给指令发送终端,该类系统独立性显著,并且和其余结构单元有着本质性差异。事实上,大多数企业和电子空间,都开始将自身核心业务转移到网络数据库之中,使得地理过于分散的厂商和公司之间的数据收集、存储、传播模式,顺利地朝着分布式、开放式过渡转化,不过涉及当中的系统介入和数据盗用等安全性问题却是始终延续。这就需要相关技术人员在完整论述计算机数据库面临的威胁因素基础上,主动透过计算机操作系统、数据库注入防护等层面,进行灵活地调试方案规划整理,进一步为日后计算机数据库安全管理绩效绽放,奠定基础。 一、关于计算机数据库安全管理的必要性论述 1.计算机数据库模型的科学组建 计算机数据库运作的核心便是后台数据库,其一切访问操作功能都将交由前台程序提供支持,尤其是在网络空间之下,数据库为关键性信息共享应用提供最小冗余度和访问控制条件,尽量保证终端最终接收过程中不会产生丢失迹象。关于这部分模型具体可划分出三个层次,包括数据库、应用服务器和浏览器等。当中浏览器作为第一层客户端,更加方便用户随时输入信息,此时代码快速转化为网页并提供交互功能,将操作主体一切请求处理完毕。位于二层的应用服务器则是扮演后台角色,利用对应的进程予以开启,保证快速响应不同请求,顺势生成必要性代码处理相关结果,如若说数据存取正好落在客户端请求范畴之中,数据库服务器则必须联合二层结构单元,进行特定请求回应。而最终层数据库服务器,则针对内部关键性数据提供严格的保护管制,对于不同类型的应用服务器当下发出请求加以轻松协调。 2.计算机数据库安全性的系统化论证 针对计算机数据库安全性加以细致验证解析。这是信息管理系统的核心任务,任何细节处理不当,都会直接限制最终数据安全管制实效,毕竟大部分关键性数据都是在数据库服务器之上捆绑,包括财务、工程技术、战略性决策数据等,都是归属于机密信息范畴内部的,杜绝一切非法访问操作行为。再就是企业内部资源规划、对外交易、日常业务的交接等,也都深刻依靠网络数据库过渡转接,所以说这部分数据的安全管理,也是十分重要的。 二、针对计算机数据库加以科学安全管理的策略内容解析 1.树立全新的计算机信息安全管理理念

数据库安全性与完整性实验

数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 2016年10 月15日一、实验目的与要求 目的: 使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。 要求: 1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。 2.指出用户和角色的区别 二、实验内容 1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。 2.登陆的管理 创建一个登录用户 3.数据库用户的管理 登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4.角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束 6.在课程表的“课程名”字段上定义唯一约束 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100. “课程号”字段只能输入数字字符 8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值 9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。

数据库安全性练习题和答案

数据库安全性习题 一、选择题 1. 以下()不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2. SQL中的视图提高了数据库系统的()。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 三、简答题 1. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库安全性和计算机系统的安全性有什么关系?2.

答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 3.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用(户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中, DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 从而使得对存储和传输的数据进行加密处理,数据加密:5)

数据库系统安全性分析与实现

数据库系统安全性分析与实现 (刘中胜信息系统项目管理师,高级项目经理) 摘要:随着信息技术的不断发展,各行企业都不同程度地实现了信息化,因而信息系统的应用非常普及,作为信息系统的重要组成部分---数据库系统也就成为重中之重。数据库系统在运行过程中,会受到软件、硬件、人为和自然灾害等各种因素的影响,这些因素不但会破坏数据的机密性、完整性、可用性,造成数据损坏或丢失,而且会影响数据库系统的正常运行,甚至导致数据库系统的崩溃,因此,数据库系统的安全性问题变得尤为突出,不断面临巨大的、新的挑战。本文将从数据库系统的安全属性及安全技术进行分析,探讨实现数据库系统的高安全性策略。 关键字:数据库系统;数据库技术;安全性;安全策略 随着信息技术的不断发展,各行企业都不同程度地实现了信息化,因而信息系统的应用非常普及,作为信息系统的重要组成部分---数据库系统也就成为重中之重。数据库系统在运行过程中,会受到软件缺陷和故障、硬件损坏和故障,人为非法访问和误操作,以及自然灾害等各种因素的影响,这些因素不但影响数据的安全,而且会影响数据库系统的正常运行,甚至导致数据库系统的崩溃,因此,数据库系统的安全性问题变得尤为突出,不断面临巨大的、新的挑战。如何保证数据的安全,如何保证数据库系统正常安全地运行,是我们在实现企业信息化建设过程中必须认真考虑的问题。下面将从数据库系统的安全属性出发,分析构建数据库系统的安全技术,并阐述实现数据库系统高安全性的策略。 一、数据库系统的安全属性分析 对数据库系统安全属性的分析,是实现数据库安全策略的一个重要环节,是一个数据库系统采用恰当安全策略的前提。数据库系统的安全属性涉及多个方面,从总体上来讲,包括机密性、完整性、可用性、可控性和可审查性等属性。 (1)机密性:防止数据被非法窃取、调用或存取而泄密。数据只能被其相应的合法用户访问或调用。 (2)完整性:防止非法用户对数据进行添加、修改和删除,同时也防止合法用户越权访问对未被授权的数据进行添加、修改和删除,并且能够判断数据是否被修改。

(安全生产)数据库的安全性与完整性

数据库的安全性和完整性 一、实验目的和要求 1、理解数据库安全性和完整性的概念。 2、掌握SQL Server2000中有关用户、角色及操作权限管理等安全性技术。 3、掌握SQL Server2000中有关约束、规则、默认值的使用等完整性技术。 二、实验内容和步骤 ㈠数据库的安全性 1、SQL Server的安全模式 认证是指来确定登陆SQL SERVER的用户的登陆账号和密码是否正确,以此来验证其是否具有连接SQL SERVER的权限,但是通过认证阶段并不代表能够访问数据,用户只有在获取访问数据库的权限之后才能对服务器上的数据库进行权限许可下的各种操作。 ⑴设置SQL Server的安全认证模式:使用企业管理器来设置,步骤如下: Step1: 展开服务器组,右击需要设置的SQL服务器,在弹出菜单中选择“属性”。 Step2: 在弹出的SQL服务器属性对话框中,选择“安全性”选项卡。 Step3: 选择仅Windows选项(NT/2000验证模式) 或SQL Server和Windows选项(混合模式)。 注:设置改变后,用户必须停止并重新启动SQL Server服务,设置才生效。 如果设置成NT认证模式,则用户在登录时输入一个具体的登陆名时,SQL SERVER将忽略该登录名。 ⑵添加SQL Server账号:若用户没有Windows NT/2000账号,则只能为他建立SQL Server账号。 ①利用企业管理器 Step1: 展开服务器,选择安全性/登录。 Step2: 右击登录文件夹,出现弹出式菜单。 Step3: 在弹出式菜单中选择“新建登录”选项后,就会出现一个登录属性对话框。 step4: 在名称框中输入一个不带反斜杠的用户名,选中SQL Server身份验证单选按钮,并在密码框中输入口令(如下图所示)。

数据库安全性控制

第四章数据库安全性控制(习题集) 二、选择题 1、以下(D)不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2、SQL中的视图提高了数据库系统的(D)。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3、SQL语言的GRANT和REMOVE语句主要是用来维护数据库的(C)。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4、在数据库的安全性控制中,授权的数据对象的(A),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 5、SQL中的视图机制提高了数据库系统的( D )。 A.完整性 B.并发控制 C.隔离性 D.安全性 6、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C )。 A.完整性 B.可靠性 C.安全性 D.一致性 7 、安全性控制的防范对象是(B),防止他们对数据库数据的存取。 A.不合语义的数据 B.非法用户 C.不正确的数据 D.不符合约束数据 8、找出下面SQL 命令中的数据控制命令( A )。 A.GRANT B.COMMIT C.UPDATE D.SELECT 三、填空题 1、数据库的安全性是指保护数据库以防止不合法的使用所造成的_数据泄露、数据更改或数据破坏_。 2、完整性检查和控制的防范对象,防止它们进入数据库。安全性控制的防范对象是,防止他们对数据库数据的存取。 3、计算机系统有三类安全性问题,即_技术安全_ 、_管理安全_和 _政策法规_。 4、用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有通过输入_用户标识__和 _口令_来鉴别用户。 5、用户权限是由两个要素组成的:_数据对象_ 和 _操作类型_ 。 6、在数据库系统中,定义存取权限称为_授权_ 。SQL语言用_GRANT_语句向用户授予对数据的操作权限,用_REVOKE_语句收回授予的权限。 7、数据库角色是被命名的一组与_数据库操作_ 相关的权限,角色是__权限_的集合。 8、数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现;存取控制机制主要包括两部分:(1)、定义用户权限,并将用户权限登记到数据字典中,(2)、合法权限检查。 9、常用的数据库安全控制的方法和技术有用户标识与鉴别、存取控制、视图机制、审计和数据加密等。 9、在存取控制机制中,定义存取权限称为授权;在强制存取控制(MAC)中,仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取对应的客体;仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。 四、简答题 1、试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

数据库的安全性保护

数据库的安全性保护 张海飞西北民族大学甘肃省兰州市 730124 摘要:随着计算机特别是计算机网络的发展,数据的共享日益增强,数据的安全保密越来越重要。网络数据库安全性问题一直是围绕着数据库管理的重要问题,数据库数据的丢失以及数据库被非法用户的侵入使得网络数据库安全性的研究尤为重要。数据库管理系统是管理数据的核心,因而其自身必须有一整套完整而有效的安全性机制。实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术、视图技术和审计技术。 关键字:数据库安全性安全保护网络安全 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。安全性问题不是数据库系统所独有的,所以的计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要技术指标之一。数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性,是紧密联系、相互支持的。 在一般的计算机系统中,安全措施是一级一级层层设置的。在下图所示的安全模型中,用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准进入计算机系统。对已进入系统的用户,DBMS 还要进行存取控制,只允许用户执行合法操作。 数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库权限,同时令所有未被授权的人员无法接近数据。这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括:一、定义用户权限,并将用户权限登记到数据字典中;二、合法权限检查。 我们还可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制间接地实现支持存取谓词的用户权限定义。 “审为了使DBMS达到一定的安全级别,还需要在其他方面提供相应的支持,计”功能就是DBMS达到C2以上安全级别比不可少的一项指标。审计常常是很费时间和空间的,所以DBMS往往都将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。 既然造成数据库不安全的一个主要原因是因为原始数据以可读(明文)形式存放在数据库中。一旦某一用户非法获取用户名和口令,或者绕过操作系统缄DBMs)的控制入侵到系统中,可以访问和修改数据库中的信息。 另外,数据存储介质(如磁盘、光盘、磁带等)丢失也会导致数据库中的数据泄漏。如果我们对数据库中的数据(明文)进行加密处理,那么上述问题就可以得到解决。即使某一用户非法入侵到系统中或者盗取了数据存储介质,没有相应的

医院信息系统数据库安全性分析及措施

医院信息系统数据库安全性分析及措施医院信息系统数据库安全性分析及措施 余大勇① ①四二一医院信息科,510000,广东省广州市新港中路468号 摘 要要 数据库系统已经渗透到医疗行业的各个方面,数据库系统的安全问题也时时在威胁医院业务正常的运行与发展。数据安全问题主要有几方面:硬件、系统软件出错,人为错误,计算机病毒,自然灾害等。通过对现数据库系统安全进行分析,统计了本医院数据库意外停机的原因。针对这些原因,提出了数据库安全措施,包括双机策略、磁盘备份策略、数据库容灾策略、数据库备份策略。这些措施对提高医院信息系统数据库安全提供比较可靠的保障。 关键词关键词 医院信息系统 数据库安全 双机备份; 1 1 引言 引言 随着计算机技术的发展,医院信息已成为医疗系统日常活动中十分重要的一个组成部分,医院信息系统的可靠性、安全性、数据的完整性越来越引起广泛的重视。与此同时,数据库系统的安全问题也正在威胁医院信息系统的正常运行。目前,数据安全问题主要有几方面:硬件、系统软件出错,人为错误,计算机病毒,自然灾害等。数据库的数据安全受到严峻的挑战。数据库安全问题已是影响业务安全、健康、高速发展的一大隐患。 2 2 数据丢失的原因数据丢失的原因 根据医院HIS数据丢失的情况,总结数据丢失原因主要是因为数据库系统停机造成的。一般来说,信息管理系统要求24小时不停机,可靠性要求高,不仅不允许出现系统故障后丢失数据,而且要求故障在几分钟甚至几秒之内迅速恢复[1]。 而数据库系统停机可以分为:计划内停机和意外(非计划内)停机。 意外停机主要包括:系统错误:电源突然断电或者服务器磁盘突然损坏或者操作系统突然崩溃 [2];数据逻辑错误及自然灾害:发生在数据的逻辑错误;自然灾害,如火灾、地震、台风、暴雨等;人为错误:人为误删除某一张表或人为不小心删除某些数据等;系统管理员在日常维护中误删除了某个数据文件。 计划内停机包括:系统维护:增加硬件或系统升级;数据维护:表都重新定义或索引重建或更改表结构等。 对医院信息系统意外停机进行了150次的统计,统计结果见表1。 表1 意外停机统计表 意外停机原因 次数 所占百分比

数据库的安全性与完整性

4 数据库的安全性与完整性 数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得重要关注的方面。 数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。 一般说来,对数据库的破坏来自以下4个方面: (1)非法用户 非法用户是指那些未经授权而恶意访问、修改甚至破坏数据库的用户,包括那些超越权限来访问数据库的用户。一般说来,非法用户对数据库的危害是相当严重的。 (2)非法数据 非法数据是指那些不符合规定或语义要求的数据,一般由用户的误操作引起。 (3)各种故障 各种故障指的是各种硬件故障(如磁盘介质)、系统软件与应用软件的错误、用户的失误等。 (4)多用户的并发访问 数据库是共享资源,允许多个用户并发访问(Concurrent Access),由此会出现多个用户同时存取同一个数据的情况。如果对这种并发访问不加控制,各个用户就可能存取到不正确的数据,从而破坏数据库的一致性。 针对以上4种对数据库破坏的可能情况,数据库管理系统(DBMS)核心已采取相应措施对数据库实施保护,具体如下: (1)利用权限机制,只允许有合法权限的用户存取所允许的数据,这就是本章4.1节“数据库安全性”应解决的问题。 (2)利用完整性约束,防止非法数据进入数据库,这是本章4.2节“数据库完整性”应解决的问题。 (3)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,此即本章4.3节“故障恢复技术”的内容。 (4)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行,此即本章4.4节“并发控制”的内容。

实验四 数据库安全性与完整性控制

实验题目:数据库安全性与完整性控制 目录 一、实验目的 (1) 二、实验内容 (1) 三、实验要点及说明 (1) 四、实现方法 (1) 五、实验结果 (2) 六、源程序清单 (4) 七、思考及总结 (5)

一、实验目的 通过本次实验,提高以下几个方面的能力 1. 创建新用户 2. 通过GRANT语句对新用户进行授权 3. 通过REVOKE语句完成权限的回收 4. 实体完整性的实现 5. 参照完整性实现 二、实验内容 1.完成教材中实例1-8 2.完成教材中相应于完整性的实例。 三、实验要点及说明 1.一定要熟练掌握GRANT语句与REVOKE语句的使用 2.一定要熟练掌握实体完整性与参照完整性控制 3.要读懂出错的提示信息 四、实现方法 未将创建的用户删除,有创建同一个用户。

删除localhost方法 五、实验结果 创建用户成功

登陆用户zhangsan 登陆用户zhangsan2 登陆用户lisi

用户zhangsan和zhangsan2信息显示用户lisi信息显示 分别给用户zhangsan和zhangsan2授权 授权之后查看zhangsan中信息 修改zhangsan2中数据 六、源程序清单 Create user 'zhangsan'@'%' identified by '1'; /*创建用户张三,密码为1*/ Create user 'zhangsan2'@'%' identified by password '*E6CC90B878B948C35E92B003C792C46C58C4AF40'; /*创建用户张三,密文定义密码为1*/

相关主题
文本预览
相关文档 最新文档