数据库安全[一]
一、概述
1.1、计算机系统系统安全性问题分类
技术安全、管理安全、政策法律。
1.2、安全标准
-
TCSEC(又称桔皮书)是美国国防部1985年正式颁布的《DoD可信计算机系统评估准则》;
-
CTCPEC、FC、TCSEC、ITSEC于1993年开始联合行动,集合成一组单一的、能被广泛使用的IT安全准则,这一行为被称为CC项目;
-
CC V2.1版1991年被ISO采用为国际标准,2001年被我国采用为国家标准。
-
CC评估保证级划分
评估保证级 定义 TCSEC安全级别(近似) EAL1 功能测试 EAL2 结构测试 C1 EAL3 系统地测试和检查 C2 EAL4 系统地设计、测试和复查 B1 EAL5 半形式化设计和测试 B2 EAL6 半形式化验证的设计和测试 B3 EAL7 形式化验证的设计和测试 A1 -
TCSEC/TDI
组 安全级别 定义 实际系统eg A A1 验证设计(Verified Design) B B3 安全域 B2 结构化保护 B1 标记安全保护 C C2 受控的存取保护 C1 自主安全保护 D D 最小保护
1.3、数据库安全性控制
-
在MAC中DBMS管理的全部实体被分为主体和客体两类:
-
1.仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;
-
2.仅当主体的许可证级别小于客体的密级时,该主体才能写相应的客体。
-
A、主体:系统中的活动实体,包括:
-
①DBMS所管理的实际用户;
-
②代表用户的各进程;
-
B、客体:系统中的被动实体,是受主体操纵的。包括:①文件;②基本表;③索引;④视图。
-
C、DBMS为每个客体的每个实例(值)只拍一个敏感度标记(Label)
-
D、当某一用户以标记Label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:
-
目前SQL标准也对自主存取控制提供支持。
-
SQL的GRANT语句用来授权,REVOKE语句收回授予的权限。
-
定义用户权限,将用户权限登记到数据字典;
-
合法权限检查:一般大型DBMS都支持C2级中的自助存取控制(DAC:Discretionary Access Control),有些DBMS支持B1中的强制存取控制(MAC:Mandatory Access Control)
-
自主存取控制:用户对不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,用户还可以将其拥有的存取权限转授给其他用户
-
强制存取控制:每个数据库对象被标以一定的密级,每个用户也被授予某一个级别的许可。对任意一个对象,只有具有合法许可证的用户才可以存取。
-
用户标识:用用户名或者用户标识号(UID)
-
口令:为了进一步核实用户,用户在终端上输入的口令不显示在屏幕上。
-
用户标识和鉴别
-
存取控制包括两部分:
-
自主存取控制(DAC)方法
-
强制存取控制(MAC)方法
1.4、视图和审计
-
可以为不同用户定义不同视图,可以通过视图机制把要保密的数据对无权限存取的用户隐藏起来。
-
审计功能:把用户对数据库的所有操作自动记录下来存入审计日志。
1.5、加密安全
根据一定的算法将原始数据(明文)变换为不能直接识别的格式(密文)
- 加密方法:
- ①替换法,使用密钥将明文中的每个字符转换为密文;
- ②置换方法。