数据库安全性控制的一般方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库安全性控制的一般方法(SQL采取DAC控制用户的存取权限)

2009-05-18 18:39

数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。数据库管理系统安全性保护,就是通过种种防范措施以防止用户越权使用数据库。安全保护措施是否有效是衡量数据库系统的主要性能指标之一。

9.1 数据库安全性控制的一般方法

9.1.1 安全性级别

对数据库不合法的使用称为数据库的滥用。数据库的滥用可分为无意滥用和恶意滥用。无意滥用主要是指经过授权的用户操作不当引起的系统故障、数据库异常等现象。恶意滥用主要是指未经授权的读取数据(即偷窃信息)和未经授权的修改数据(即破坏数据)。

数据库的完整性尽可能的避免对数据库的无意滥用。数据库的安全性尽可能避免对数据库的恶意滥用。

为了防止数据库的恶意滥用,可以在下述不同的安全级别上设置各种安全措施。

(1)环境级:对计算机系统的机房和设备加以保护,防止物理破坏。

(2)职员级:对数据库系统工作人员,加强劳动纪律和职业道德教育,并正确的授予其访问数据库的权限。

(3)操作系统级:防止未经授权的用户从操作系统层着手访问数据库。

(4)网络级:由于数据库系统允许用户通过网络访问,因此,网络软件内部的安全性对数据库的安全是很重要的。

(5)数据库系统级:检验用户的身份是否合法,检验用户数据库操作权限是否正确。

本节主要讨论数据库系统级的安全性问题。

9.1.2 数据库安全控制的一般方法

数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。

1.标识与鉴别

用户标识和鉴别是DBMS提供的最外层保护措施。用户每次登录数据库时都

要输入用户标识,DBMS进行核对后,对于合法的用户获得进入系统最外层的权限。用户标识和鉴别的方法很多,常用的方法有:

(1)身份(Identification)认证

用户的身份,是系统管理员为用户定义的用户名(也称为用户标识、用户账号、用户ID),并记录在计算机系统或DBMS中。用户名是用户在计算机系统中或DBMS中的惟一标识。因此,一般不允许用户自行修改用户名。

身份认证,是指系统对输入的用户名与合法用户名对照,鉴别此用户是否为合法用户。若是,则可以进入下一步的核实;否则,不能使用系统。

(2) 口令(Password)认证

用户的口令,是合法用户自己定义的密码。为保密起见,口令由合法用户自己定义并可以随时变更。因此,口令可以认为是用户私有的钥匙。口令记录在数据库中。

口令认证是为了进一步对用户核实。通常系统要求用户输入口令,只有口令正确才能进入系统。为防止口令被人窃取,用户在终端上输入口令时,口令的内容是不显示的,在屏幕上用特定字符(用“*”或“●”的较为常见)替代。

(3)随机数运算认证

随机数认证实际上是非固定口令的认证,即用户的口令每次都是不同的。鉴别时系统提供一个随机数,用户根据预先约定的计算过程或计算函数进行计算,并将计算结果输送到计算机,系统根据用户计算结果判定用户是否合法。例如算法为:“口令=随机数平方的后三位”,出现的随机数是36,则口令是296。

2.取控制(授权机制)

通过了用户标识鉴别的用户不一定具有数据库的使用权。DBMS还要进一步对用户进行识别和鉴定,以拒绝没有数据库使用权的用户(非法用户)对数据库进行存取操作。DBMS的存取控制机制是数据库安全的一个重要保证,它确保具有数据库使用权限的用户访问数据库并进行权限范围内的操作,同时令未被授权的用户无法接近数据。

(1)存取机制的构成

存取控制机制主要包括两部分:

1)定义用户权限

用户权限是指用户对于数据对象能够进行的操作种类。要进行用户权限定

义,DBMS必须提供有关定义用户权限的语言,该语言称为数据控制语言DCL。

具有授权资格的用户使用DCL描述授权决定,并把授权决定告知计算机。授权决定描述中包括将哪些数据对象的哪些操作权限授予哪些用户,计算机分析授权决定,并将编译后的授权决定存放在数据字典中。从而完成了对用户权限的定义和登记。

2)进行权限检查

每当用户发出存取数据库的操作请求后,DBMS首先查找数据字典,进行合法权限检查。如果用户的操作请求没有超出其数据操作权限,则准予执行其数据操作;否则,DBMS将拒绝执行此操作。

(2)存取机制的类别

当前网络版的DBMS一般都支持自主存取控制(DAC),有些大型DBMS还支持强制存取控制(MAC)。本节主要介绍自主存取控制。

在自主存取控制方法中,用户对于不同的数据对象可以有不同的存取权限,不同的用户对同一数据对象的存取权限也可以各不相同,用户还可以将自己拥有的存取权限转授给其他用户。

在强制存取控制方法中,每一个数据对象被标以一定的密级;每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。

显然,自主存取控制比较灵活,强制存取控制比较严格。

3.视图机制

进行存取权限的控制,不仅可以通过授权来实现,而且还可以通过定义用户的外模式来提供一定的安全保护功能。在关系数据库中,可以为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权操作的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。对视图也可以进行授权。

视图机制使系统具有数据安全性、数据逻辑独立性和操作简便等优点。

4.审计方法

审计功能就是把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)中,一旦发生数据被非法存取,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

由于任何系统的安全保护措施都不可能无懈可击,蓄意盗窃、破坏数据的人

相关文档
最新文档