数据库系统安全的概念
数据库安全(DataBase Security)是指采取各种安全措施对数据库及其相关文件和数据进行保护。数据库系统的重要指标之一是确保系统安全,以各种防范措施防止非授权使用数据库,主要通过DBMS实现的。数据库系统中一般采用用户标识和鉴别、存取控制、视图以及密码存储等技术进行安全控制。
数据库安全的核心和关键是其数据安全。数据安全是指以保护措施确保数据的完整性、保密性、可用性、可控性和可审查性。由于数据库存储着大量的重要信息和机密数据,而且在数据库系统中大量数据集中存放,供多用户共享,因此,必须加强对数据库访问的控制和数据安全防护。
数据库系统安全的内涵
从系统与数据的关系上, 也可将数据库安全分为数据库的系统安全和数据安全。
数据库系统安全主要利用在系统级控制数据库的存取和使用的机制,包含:
(1) 系统的安全设置及管理,包括法律法规、政策制度、实体安全等;
(2) 数据库的访问控制和权限管理;
(3) 用户的资源限制,包括访问、使用、存取、维护与管理等;
(4) 系统运行安全及用户可执行的系统操作;
(5)数据库审计有效性;
(6) 用户对象可用的磁盘空间及数量。
数据安全是在对象级控制数据库的访问、存取、加密、使用、应急处理和审计等机制,包括用户可存取指定的模式对象及在对象上允许作具体操作类型等。
一般数据库系统安全涉及5个层次。
(1)用户层:侧重用户权限管理及身份认证等,防范非授权用户以各种方式对数据库及数据的非法访问;
(2)物理层:系统最外层最容易受到攻击和破坏,主要侧重保护计算机网络系统、网络链路及其网络节点的实体安全;
(3)网络层:所有网络数据库系统都允许通过网络进行远程访问,网络层安全性和物理层安全性一样极为重要;
(4)操作系统层:操作系统在数据库系统中,与DBMS交互并协助控制管理数据库。操作系统安全漏洞和隐患将成为对数据库进行非授权访问的手段;
(5)数据库系统层:数据库存储着重要程度和敏感程度不同的各种数据,并为拥有不同授权的用户所共享,数据库系统必须采取授权限制、访问控制、加密和审计等安全措施。
为了确保数据库安全,必须在所有层次上进行安全性保护措施。若较低层次上安全性存在缺陷,则严格的高层安全性措施也可能被绕过而出现安全问题。
可信DBMS体系结构分为两类:TCB子集DBMS体系和可信主体DBMS体系。
1)TCB子集DBMS体系结构
执行安全机制的可信计算基(TCB)子集DBMS利用位于DBMS外部的可信计算基(常为可信操作系统或可信网络),执行对数据库客体的强制访问控制。该体系将多级数据库客体按安全属性分解为单级断片(属性相同的数据库客体属同一断片),分别进行物理隔离存入操作系统客体中。每个操作系统客体的安全属性就是存储于其中的数据库客体的安全属性。之后,TCB对此隔离的单级客体实施强制存取控制(MAC)。
该体系的最简单方案是将多级数据库分解为单级元素,安全属性相同的元素存在一个单级操作系统客体中。使用时,先初始化一个运行于用户安全级的DBMS进程,通过操作系统实施的强制访问控制策略,DBMS仅访问不超过该级别的客体。之后,DBMS从同一个关系中将元素连接起来,重构成多级元组,返回给用户,如图7-2所示。
2)可信主体DBMS体系结构
该体系结构与上述结构极不相同,自身执行强制访问控制。按逻辑结构分解多级数据库,并存储在几个单级操作系统客体中。而每个单级操作系统客体中可同时存储多种级别的数据库客体(如数据库、关系、视图、元组或元素),并与其中最高级别数据库客体的敏感性级别相同。该体系结构的一种简单方案如图7-3所示,DBMS软件仍在可信操作系统上运行,所有对数据库的访问都须经由可信DBMS。
图1 TCB子集DBMS体系结构
图1 TCB子集DBMS体系结构
图2 可信主体DBMS体系结构