数据库安全机制

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

数据库安全机制

数据库安全机制是用于实现数据库的各种安全策略的功能集合,正是由这些安全机制来实现安全模型, 进而实现保护数据库系统安全的目标。

数据库系统的安全机制如图所示:

1.1.1用户标识与鉴别

用户标识是指用户向系统出示自己的身份证明,最简单的方法是输入用户ID和密码。标识机制用于惟

一标志进入系统的每个用户的身份,因此必须保证标识的惟一性。鉴别是指系统检查验证用户的身份证明,用于检验用户身份的合法性。标识和鉴别功能保证了只有合法的用户才能存取系统中的资源。

由于数据库用户的安全等级是不同的,因此分配给他们的权限也是不一样的,数据库系统必须建立严格的用户认证机制。身份的标识和鉴别是DBMS对访问者授权的前提,并且通过审计机制使DBMS保留追究用户行为责任的能力。功能完善的标识与鉴别机制也是访问控制机制有效实施的基础,特别是在一个开放的多用户系统的网络环境中,识别与鉴别用户是构筑DBMS安全防线的第1个重要环节。

近年来一些实体认证的新技术在数据库系统集成中得到应用。目前,常用的方法有通行字认证、数字证书认证、智能卡认证和个人特征识别等。

通行字也称为口令”或密码”它是一种根据已知事物验证身份的方法,也是一种最广泛研究和使用的身份验证法。在数据库系统中往往对通行字采取一些控制措施,常见的有最小长度限制、次数限定、选择字符、有效期、双通行字和封锁用户系统等。一般还需考虑通行字的分配和管理,以及在计算机中的安全存储。通行字多以加密形式存储,攻击者要得到通行字,必须知道加密算法和密钥。算法可能是公开的,但密钥应该是秘密的。也有的系统存储通行字的单向Hash值,攻击者即使得到密文也难以推出通行字的明

文。

数字证书是认证中心颁发并进行数字签名的数字凭证,它实现实体身份的鉴别与认证、信息完整性验证、机密性和不可否认性等安全服务。数字证书可用来证明实体所宣称的身份与其持有的公钥的匹配关系,使得实体的身份与证书中的公钥相互绑定。

智能卡(有源卡、IC卡或Smart卡)作为个人所有物,可以用来验证个人身份,典型智能卡主要由微处理器、存储器、输入输出接口、安全逻辑及运算处理器等组成。在智能卡中引入了认证的概念,认证是智能卡和应用终端之间通过相应的认证过程来相互确认合法性。在卡和接口设备之间只有相互认证之后才能进行数据的读写操作,目的在于防止伪造应用终端及相应的智能卡。

根据被授权用户的个人特征来进行确证是一种可信度更高的验证方法,目前已得到应用的个人生理特征包括指纹、语音声纹(voice- print )、DNA、视网膜、虹膜、脸型和手型等。

1.1.2 访问控制

1.1.

2.1 概述

访问控制的目的是确保用户对数据库只能进行经过授权的有关操作。在存取控制机制中,一般把被访问的资源称为“客体”,把以用户名义进行资源访问的进程、事务等实体称为“主体”。传统的存取控制机制有两种,即DAC(Discretionary Access Control ,自主存取控制)和MAC(Mandatory Access Control,强制存取控制)。近年来,RBAC (Role-based Access Control,基于角色的存取控制)得到了广泛的

关注。

1.1.

2.2 数据访问级别和类型

DBMS中的安全系统必须具有伸缩性以便为各种数据级别授权。数据级别有以下几种:整个数据库、单个关系表(所有行和所有列)、关系表中特定列(所有行)、关系表中的特定行(所有列)以及关系表的特定行和特定列。

数据的所有访问模式和类型如下:插入或建立。在文件中添加数据,不销毁任何数据。读取。用户可通过应用程序或数据库查询,将数据从数据库复制到用户环境。更新。编写更新值。

删除。删除和销毁特定数据库对象。移动。移动数据对象,但没有读取内容的权限。执行。使用执行需要的权限,运行程序或过程。确认存在性。确认数据库是否存在特定数据库对象。

1.1.

2.3 任意控制(DAC )

采用该方法以若干种指派模式授予各个用户访问特定数据项的权限或权力。基于权限说明,用户能以读取、更新、插入或删除模式随意访问数据项。建立数据库对象的用户自动得到此对象的所有访问权限,包括将此对象的权限再授予他人。

在授予或撤消访问权限时,有两种主要级别:数据库对象:数据项或数据元素,一般是基本表或视图用户:可以用一些授权标识符识别的单个用户或用户组授权通常都是在这两种级别上进行。

1. 授权

DBMS提供了功能强大的授权机制,它可以给用户授予各种不同对象(表、视图、存储过程等)的不同使用权限(如Select、update 、insert、delete 等)。

在用户级别,可以授予数据库模式和数据操纵方面的以下几种授权,包括:创建和删除索引、创建新关系、添加或删除关系中的属性、删除关系、查询数据、插入新数据、修改数据、删除数据等。

在数据库对象级别,可将上述访问权限应用于数据库、基本表、视图和列等。

2. 数据库角色如果要给成千上万个雇员分配许可,将面临很大的管理难题,每次有雇员到来或者离开时,就得有

分配或去除可能与数百张表或视图有关的权限。这项任务很耗时间而且非常容易出错。即使建立SQL 过程来帮忙,也几乎需要时时去维护。一个相对特别简单有效的解决方案就是定义数据库角色。数据库角色是被命名的一组与数据库操作相关的权限,角色是一组相关权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

先创建一个角色,并且把需要的许可分配给角色,而不是分配给个人用户,然后再把角色分配给特定用户。当有新的雇员到来时,把角色添加给用户就提供了所有必要的权限。

授权管理机制如图4-3 所示。

DBA

用户用户用户用户

1.124强制控制(MAC)

强制访问控制模型基于与每个数据项和每个用户关联的安全性标识(Security Label)。安全性标识被分为若干级别:绝密(Top Secret)、机密(Secret卜秘密(Confidential)、一般(Public)。数据的标识称为密级(Security Classification),用户的标识称为许可级别证(Security Clearanee)。

在计算机系统中,每个运行的程序继承用户的许可证级别,也可以说,用户的许可证级别不仅仅应用于作为人的用户,而且应用于该用户运行的所有程序。当某一用户以某一密级进入系统时,在确定该用户能否访问系统上的数据时应遵守如下规则:

当且仅当用户许可证级别大于等于数据的密级时,该用户才能对该数据进行读操作。当且仅当用户的许可证

级别小于或等于数据的密级时,该用户才能对该数据进行写操作。

第二条规则表明用户可以为其写入的数据对象赋予高于自己许可证级别的密级,这样的数据被写入后用户自己就不能再读该数据对象了。这两种规则的共同点在于它们禁止了拥有高级许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄露。

1.125基于角色的存取控制(RBAC)

RBAC在主体和权限之间增加了一个中间桥梁一一角色。权限被授予角色,而管理员通过指定用户为特

定角色来为用户授权。从而大大简化了授权管理,具有强大的可操作性和可管理性。角色可以根据组织中的不同工作创建,然后根据用户的责任和资格分配角色,用户可以轻松地进行角色转换。而随着新应用和新系统的增加,角色可以分配更多的权限,也可以根据需要撤销相应的权限。

RBAC核心模型包含了5个基本的静态集合,即用户集(users)、角色集(roles)、特权集?(perms)(包括对象集(objects)和操作集(operators)),以及一个运行过程中动态维护的集合,即会话集(sessio ns), 如图1-1所示。

用户集包括系统中可以执行操作的用户,是主动的实体;对象集是系统中被动的实体,包含系统需要保护的信息;操作集是定义在对象上的一组操作,对象上的一组操作构成了一个特权;角色则是RBAC模型的核心,通过用户分配(UA)和特权分配(PA)使用户与特权关联起来。

RBAC属于策略中立型的存取控制模型,既可以实现自主存取控制策略,又可以实现强制存取控制策略。

它可以有效缓解传统安全管理处理瓶颈问题,被认为是一种普遍适用的访问控制模型,尤其适用于大型组织的有效的访问控制机制。

1.1.

2.6视图机制

几乎所有的DBMS都提供视图机制。视图不同于基本表,它们不存储实际数据,数据库表存储数据,视图好象数据库表的窗口,是虚拟表。当用户通过视图访问数据时,是从基本表获得数据,但只是由视图中定义的列构成。视图提供了一种灵活而简单的方法,以个人化方式授予访问权限,是强大的安全工具。在授予用户对特定视图的访问权限时,该权限只用于在该视图中定义的数据项,而未用于完整基本表本身。因此,在使用视图的时候不用担心用户会无意地删除数据或者给真实表中添加有害的数据,并且可以限制用户只能使用指定部分的数据,增加了数据的保密性和安全性。

相关文档
最新文档