数据库安全概述

安全问题不是数据库系统所独有的,所有的计算机都普遍遇到这样的问题。

数据库的安全是指保护数据,不把数据泄露给不相关的人员,避免数据库被不法人员所攻陷。

计算机系统的安全性问题

随着计算机网络技术的日益发展和壮大,计算机安全性问题越来越得到了人们的重视。所谓计算机的安全性,我们一般考虑保护计算机的硬件、软件以及数据,防止因为偶然或者恶意的原因使系统遭到破坏,数据找到篡改或者泄露等。
计算机安全不仅涉及计算机系统本身的技术问题、管理问题,而且还涉及到犯罪学、心理学等。
通常人们将计算机安全系统的问题分为三大类:
1、技术安全
    在计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统以及所存储数据的保护如:
        ⑴、硬件防火墙
        ⑵、杀毒软件
    使用这些技术来防止计算机系统所受到无意的或者恶意的攻击。保证我们的系统在运行的时候数据不丢失、不泄露也不增加。黑客攻击是非常危险的,比如黑客盗取QQ密码、银行账户、在网页上挂马等。我们采用一定的硬件和软件,保证我们的系统受到攻击的时候仍然能够正常的运行。
2、管理安全
    在技术安全之外,比如说:软硬件的意外故障、场地的意外事故、管理不善导致的计算机设备或者数据介质的损害、丢失这些安全问题,通常视为管理安全。
    比如911事件之后,大量设在美国世界贸易中心的投资公司,他们的电脑都损坏了,因此丢失了大量的数据。数据丢失非常遗憾但实际上还是管理不善导致的。
3、政策法律安全
    政策法律它主要是指政府部门建立的有关计算机犯罪、数据安全保密等等先关的法律道德准则。

计算机系统安全性的评测等级

由于人们对计算机系统的安全性的要求越来越高,为此在计算机安全技术方面逐步发展了一套可信计算机评测标准。
(图一)
 
如图一,可信计算机评测标准它将计算机系统的安全等级分为4类7级.
分别是ABCD四类,每个类分为几个等级。 从低级到高级依次为D、C、B和A四类,A是最高的一类,每一类都代表一个保护敏感信息的评判准则,并且一类比一类严格。
D类:D类是最小的保护类。这是安全级别最低的一类,不再分级,这类是那些通过评测但达不到较高级别安全要求的系统。早期的商用系统属于这一类。
C类:C类是无条件的保护类。C类提供的无条件的保护也就是“需要则知道”(Need-to-Known)的保护,C类分为C1和C2两个子类。
    ①C1是无条件的安全保护类。这是C类中安全级别较低的一个子类,提供的安全策略是无条件的访问控制,具有识别与授权的责任。早期的UNIX系统属于这一类。
    ② C2是有控制的存取保护类。这是C类中安全级别较高的一个子类,除了提供C1中的策略与责任外,还有访问保护和审计跟踪功能。如SCOUNIX。
B类:B类是属强制保护类,要求系统在其生成的数据结构中带有标记,并要求提供对数据流的监视,B类分为B1、B2和B3三个子类。
    ①B1是标记安全保护类,是B类中的安全级别最低的子类,除满足C类要求外,要求提供数据标记。
    ② B2是结构安全保护类,是B类中的安全级别居中的子类,除满足B1要求外,要实行强制性的控制。
    ③B3是安全域保护类,是B类中的安全级别最高的子类,提供可信设备的管理和恢复,即使计算机崩溃,也不会泄露系统信息。
A类:A类是经过认证的保护类,是安全系统安全级别最高的类,这类系统可建立在具有结构、规范和信息流密闭的形式模型基础之上。A1类也是经过认证保护类。在TCSEC准则中,共定义了四类7级可信计算机系统准则。例如,银行界一般都使用满足C2级或更高级别的计算机系统。 

数据库安全控制

在互联网迅速发展的今天,数据安全是每个企业最关心的问题,数据库的安全也就成为了大家关注的焦点。数据库一般采用用户标识和鉴别存取控制视图机制密码存储等这些技术用来进行安全控制。
用户标识和鉴别的方法很多,常用的方法是:
1、用户标识和鉴别
    ⑴身份认证
        用户身份是系统管理员为用户定义的用户名,也称为用户的标示、账号、用户ID、登录名等。它通常记录在计算机系统中,或者数据库中。比如我们使用的SQL Server 2008数据库,它有两种认证方式,一种是Windows身份认证,它的登录名保存在计算机系统中;一种是SQL Server身份验证,它的登录名保存在数据库中。身份认证时将用户输入的用户名与系统合法的用户名进行匹配。从而鉴别这个用户是否是合法的用户,如果是则进入下一步的审核如:密码审核;如果不是则用户不能使用该系统。
    ⑵口令认证
        用户口令是指合法用户自己定义的密码,为了安全性口令是由用户自己定义并且随时可以修改,口令认证是为了进一步对用户进行核实,通常系统要求输入口令,只有口令正确才能进入系统。例如:我们登陆SQL Server 2008输入登录名和密码,只有登录名正确才能进行密码的核实。如果密码正确才可以进入数据库管理系统,反之如果不正确则不能进入。
存取控制
2、存取控制
存取控制是数据库安全的重要保证,它确保只让有资格的用户去访问数据库。并在其权限内操作数据库中的相关数据,这样没有授权的用户就没办法访问数据库中的数据。存取控制主要由:定义用户权限检查权限两个部分组成
    ⑴、定义用户权限
对数据库对象,我们可以进行各种的操作,比如:查询、添加、修改、删除等。或者在指定的数据库中创建数据表,那么在一个系统中不同角色的人员,或者说不同身份的人员他们可以操作的内容不同。
    ⑵、检查权限
        当用户发出存取数据库的操作之后,数据库管理系统首先检查用户,看它是否有权限。如果有就允许;如果没有则阻止。

视图机制

在关系型数据库中,可以给不同的用户定义不同的视图,通过视图机制可以把要保密的数据对没有权限的人员隐藏,从而提供一定程度的安全保护,并且也可以对试图进行授权
数据机制的优点:
    ⑴数据安全性
    ⑵数据逻辑独立性
    ⑶操作简便

审核方法

审核功能就是将用户对数据库的所有操作都记录下来,一旦发现数据被非法的存取,那么数据库管理员就可以利用这些日志,去重现发生非法存取的时候是哪个用户登录,事件发生的时间以及所窃取的内容等。
⑴记录所有数据库的操作
⑵重现数据非法存取导致的现状的一系列事件
⑶运行审核所消耗的时间和空间
⑷数据库管理员根据对安全性的要求,灵活打开或关闭审计功能

数据加密

对于一些高度敏感的数据,比如:银行系统中的用户密码、财务数据、军事数据等,除了上面介绍的数据保护之外,还需要数据加密的技术,数据加密是防止数据在存储或者传输的过程中被窃取的有效手段。
加密的基本思想是将原始的数据,通过一定的算法将原始数据(明文)变换为一种不可识别的格式,也就是密文。
从而使不知道数据算法的人无法获取数据的真正内容,从而保证数据的安全性。
加密的方法通常有两种:
    ⑴替换方法
        使用密钥将明文中的每一个字符替换为密文中的字符。
    ⑵置换方法
        将明文明文中的字符按照不同的顺序重新排列。
 

3 Replies to “数据库安全概述”

回复 落落 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据