三大数据库安全性控制方法比较分析

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

三大数据库安全性控制方法比较分析

武汉大学国际软件学院,湖北省武汉市 430079

摘要:近几年来,数据库的应用已越来越广泛,但同时也带来了数据的安全隐患。本文选取

市场占有最大的三种数据库,从维护数据库系统安全的角度,讨论ORCAL、DB2、SQL SERVER

数据库访问控制,并提出三种数据库应用时的安全措施,从而有效的增强数据库的安全性。关键字:ORACLE,DB2,SQL,数据库,安全性

1 引言

数据库的一大特点是数据可以共享,但数据共享必然带来数据库的安全性问题,因此数据库系统中的数据共享不能是无条件的共享。

数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据

数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一

2 用户标识与鉴别

用户标识与鉴别是系统提供的最外层安全保护措施。系统提供一定的方式让用户标识自己的名字或身份;系统内部记录着所有合法用户的标识;每次用户要求进入系统时,由系统核对用户提供的身份标识;通过鉴定后才提供机器使用权。

几乎所有数据库产品基本都涉及这个流程,只是各个侧重点和安全性要求不同。

2.1 ORACLE的用户标识和鉴定

在ORACLE中,最外层的安全性措施是让用户标识自己的名字,然后由系统进行核实。ORACLE允许用户标识重复三次,如果三次仍未通过,系统自动退出。

通过验证目的和用户的同,Oracle验证分为SYS用户验证和普通用户验证。

SYS用户验证:SYS用户拥有数据库的完全控制权,对其验证时,数据库往往还未启动,ORACLE采用两种方式来验证SYSDBA用户:操作系统验证和口令文件验证。

操作系统验证(外部身份认证)

操作系统认证:即oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆(即为操作系统用户提供的一种登陆方式)。

操作系统验证具有最高优先级,当设置为他时,口令文件验证不起作用。

口令文件验证

要使用口令文件验证,首先禁用操作系统验证,其次是设置口令验证配置参数。Oracle 认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。

普通ORACLE用户验证:SYS用户是在数据库还没启动时登录数据库进行启动操作,而

普通用户是在数据库启动后操作不同方案下的对象。普通用户采用的是数据字典的验证方式。

2.2 IBM DB2的用户标识和鉴定

在IBM DB2用户验证由DB2之外的安全性工具完成,这个工具通常是操作系统的一部分或独立产品。

安装 DB2 数据库系统时就包括了依赖于基于操作系统的认证的缺省认证安全插件模块。DB2 数据库管理器还提供了用于 Kerberos 和轻量级目录访问协议(LDAP)的认证插件模块。可以构建自己的认证安全插件模块。具体由配置参数来确定如何检验认证信息和标识,从而确定是否权访问实例和数据库。

2.3 SQL Server的用户标识和鉴定

在SQL Server中对应的是Windows NT/2000登录账号和口令以及SQL Server用户登录账号和口令。SQL Server支持Windows身份验证模式和混合模式两种身份验证模式。这两

种身份验证模式的区别有:

(1) Windows 身份验证模式

只进行 Windows 身份验证。用户不能指定 SQL Server 2000 登录 ID。这是 SQL Server 2000 的默认身份验证模式。不能为在 Windows 98 上运行的 SQL Server 实例指定 Windows 身份验证模式,因为此操作系统不支持 Windows 身份验证。

(2) 混合模式

如果用户在登录时提供了 SQL Server 2000 登录 ID,则系统将使用 SQL Server 身份验证对其进行验证。如果没有提供 SQL Server 2000 登录 ID 或请求 Windows 身份验证,则使用 Windows 身份验证对其进行身份验证。

3 GRANT、REVOKE语句及视图关系

3.1 授权语句GRANT

GRANT语句一般格式:

GRANT(priv-type priv)[,…]

ON{table|view|storage process|sql sequence|all-except(sql sequence)} AS name

TO{PUBLIC|group number|user name}

[WITH grant-opt]

[AT condition]

GRANT语句一次将一个客体的一组固定类型的授权授予一个主体。可执行GRANT操作的用户包括客体的所有者和组管理员。

3.2 取消授权语句REVOKE

REVOKE{(priv-type priv),[,…]|all}

ON{table|view|storage process|sql sequence|all-except(sql sequence)|name} FROM{PUBLIC|group number|user name}

REVOKE语句可将授予一个或者多个主体的授权取消。FROM后使用PUBLIC关键字的话则取消所有被当前授权支持的授权。可执行REVOKE操作的用户为客体的拥有者和组管理员。

3.3 GRANT、REVOKE与视图的关系分析

Grant和revoke主要是给表、视图、列上分配或失去权限的。视图使得数据库结构得到逻辑上的扩充,数据库设计者可以在不改变视图列(用户使用)的情况下,基于业务修改数据库。简化数据库结构和关系图,将复杂查询转化为视图,方便检索。安全性提高。可以对视图进行加密处理。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库GRANT、REVOKE授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。同时,视图机制的安全保护功能太不精细,往往不能达到应用系统的要求,其主要功能在于提供了数据库的逻辑独立性。在实际应用中,通常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上再进一步定义存取权限。

4 角色、权限和特权

4.1 ORACLE访问控制方法

ORACLE的权限包括系统权限和数据库对象的权限,采用非集中式的授权机制,即DBA 负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限。ORACLE允

相关文档
最新文档