数据库安全性
1、数据库安全性概述
(1.1)数据库的不安全因素
(1)非授权用户对数据库的恶意存取和破坏
① 一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。
② 数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。
(2)数据库中重要或敏感的数据被泄露
① 黑客和敌对分子千方百计盗窃数据库中的重要数据, 一些机密信息被暴露。
② 数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。
③ 审计日志分析。
(3)安全环境的脆弱性
① 数据库的安全性与计算机系统的安全性紧密联系。
计算机硬件、操作系统、网络系统等的安全性。
② 建立一套可信(Trusted)计算机系统的概念和标准。
(1.2)安全标准简介
(1)TCSEC 标准
TCSEC/TDI 标准的基本内容,从四个方面来描述安全性级别划分的指标:安全策略、责任、保证、文档。
TCSEC/TDI 安全级别划分:

D级:将一切不符合更高标准的系统均归于 D 组。
典型例子:DOS 是安全标准为 D 的操作系统。因为 DOS 在安全性方面几乎没有什么专门的机制来保障。
C1级:非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制( DAC),保护或限制用户权限的传播。
例如:现有的商业系统稍作改进即可满足。
C2级:是安全产品的最低档次。提供受控的存取保护,将 C1 级的 DAC 进一步细化,以个人身份注册负责,并实施审计和资源隔离。达到 C2 级的产品在其名称中往往不突出 “安全” 这一特色。
典型例子:Windows 2000、Oracle 11g。
B1级:标记安全保护。“安全” 或 “可信的” 产品。对系统的数据加以标记,对标记的主体和客体实施强制存取控制(MAC)、审计等安全机制。
典型例子:
操作系统:
惠普公司的 HP-UX BLS release 9.09+;
数据库:
Oracle 公司的 Trusted Oracle;
Sybase 公司的 Secure SQL Server version 11.0.6。
B2级:结构化保护。建立形式化的安全策略模型并对系统内的所有主体和客体实施 DAC 和 MAC。
B3级:安全域。该级的 TCB 必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。
A1级:验证设计,即提供 B3 级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。
(2)CC 标准
CC 提出了国际公认的表述信息技术安全性的结构。把信息产品的安全要求分为:安全功能要求、安全保证要求。
CC 评估保证级(EAL)划分:

2、数据库安全性控制
计算机系统中,安全措施是一级一级层层设置。
![]()
计算机系统的安全模型 (1)系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统;
(2)数据库管理系统进行存取控制,只允许用户执行合法操作;
(3)操作系统有自己的保护措施;
(4)数据以密码形式存储到数据库中。
数据库安全性控制的常用方法:用户身份鉴别、存取控制、视图、审计、数据加密。
(2.1)用户身份鉴别
用户身份鉴别:系统提供的最外层安全保护措施。用户标识:由用户名和用户标识号组成 (用户标识号在系统整个生命周期内唯一)
用户身份鉴别的方法:
(1)静态口令鉴别:
静态口令一般由用户自己设定,这些口令是静态不变的。
(2)动态口令鉴别:
口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。
(3)智能卡鉴别:
智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。
(4)生物特征鉴别:
通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等。
(2.2)存取控制
存取控制机制组成:
(1)定义用户权限,并将用户权限登记到数据字典中:
① 用户对某一