【自用】Chapter_4_数据库安全性

一、数据安全性概念

1、数据库安全性:保护数据库以防止不合法使用造成的数据泄露、更改和破坏

2、数据库的三类安全问题:

  • 技术安全
  • 管理安全
  • 政策法律安全

3、数据库的不安全因素:

  • 非授权用户对数据库的恶意存取和破坏
  • 数据库中重要或敏感的数据被泄露
  • 安全环境的脆弱性

4、安全标准(重点学习TCSEC和CC两个标准)

(1)TCSEC(Trusted Computer System Evaluation Criteria)《DoD可信计算机系统评估标准》

  • 从四个方面来描述安全性级别的划分标准:安全策略、责任、保证、文档
  • 将系统划分为4组7个等级(可信度由低到高):D、C(C1,C2)、B(B1,B2,B3)、A(A1)
    TCSEC/TDI安全级别划分

    安全级别

    定义
    A1验证设计(verified design)
    B3安全域(security domains)
    B2结构化保护(structural protection)
    B1标记安全保护(labled security protection)
    C2受控的存取保护(controlled access protection)
    C1自主安全保护(discrectionary security protection)
    D最小保护(minimal protection)

(2)CC(Common Criteria)《通用准则》

  • 把信息产品的安全要求分为两部分:安全功能要求、安全保证要求(均以“类-子类-组件”的结构表述)
  • 文本分为三部分:简介和一般模型、安全功能要求(11大类+66子类+135组件)、安全保证要求(7大类+26子类+74组件)
  • 提出评估保证级,从EAL1-EAL7,保证程度逐渐增高

    CC评估保证机(EAL)的划分

    评估保证级 定义 近似TCSEC安全级别 EAL1 功能测试

    EAL2

    结构测试 C1 EAL3 系统地测试和检查 C2 EAL4 系统地设计、测试和复查 B1 EAL5 半形式化设计和测试 B2 EAL6 半形式化验证的设计和测试 B3 EAL7 形式化验证的设计的测试 A1

二、数据库安全性控制 

1、用户标识与鉴别 常用方法:

  • 静态口令鉴别
  • 动态口令鉴别
  • 生物特征鉴别
  • 智能卡鉴别

2、存取控制 

(1)自主存取控制(DAC) 

  • 包括定义用户权限、合法权限检查两部分
  • 用户对不同的数据对象有不同的存取权限,不同用户对同一数据对象有不同的存取权限
  • 用户可将其拥有的存取权限转授给其他用户

a)创建&删除用户

-- u1从192.168.1某个IP主机登陆,密码为123456
CREATE USER u1@192.168.1.%
IDENTIFIED BY 123456;
--必须给出账号和主机号
DROP USER u1@'%',admin@'localhost';

b) 授权:授予与收回   

--给admin用户在本地登陆授予school数据库的所有权限,并拥有转授权限
GRANT ALL
ON school.*
TO 'admin'@'localhost'
WITH GRANT OPTION;
--给ustudent用户任意处登陆授予student表中sno,sname的查阅权限
GRANT SELECT(sno,sname)
ON school.student
TO 'ustudent'@'%';
--撤销ustudent用户在任意处登陆时对student表的查阅权限
REVOKE SELECT
ON school.student
FROM 'ustudent'@'%';

c)数据库角色

  • 定义:被命名的一组与数据库操作相关的权限
  • 作用:可以为一组具有相同权限的用户创建角色
--创建角色
CREATE ROLE 'app_developer,'app_read','app_write';
--给角色授权
GRANT ALL 
ON app_db.*
TO 'app_developer';

GRANT SELECT 
ON app_db.*
TO 'app_read';

GRANT INSERT,UPDATE
ON app_db.*
TO 'app_write';
--使用角色为用户授权
GRANT 'app_developer' TO 'dev_1'@'localhost';
GRANT 'app_read' TO 'read_user'@'localhost';
GRANT 'app_write' TO 'write_user'@'localhost';

(2)强制存取控制(MAC) 

  • 将全部实体划分为主体、客体
  • 为每个主体和客体的实例指派一个敏感度标记(被划分为若干级别)                                      TopSecret > = Secret > =  Confidential > =  Public
  • 存取规则:1)仅当主体的许可证级别 >= 客体的密级时,主体能读取客体                                        2)仅当主体的许可证级别 <= 客体的密级时,主体能写入客体

三、视图机制 

  • 可以为不同用户定义不同的视图,把数据对象限制在一定范围内。
  • 间接地实现支持存取谓词的用户权限定义。
--建立视图
CREATE VIEW JSJ_student
AS
SELECT *
FROM student
WHERE sdept='计算机系';

--为教师用户授予读取权限
GRANT SELECT
ON JSJ_student
TO teacher_user;

--为系主任用户授予全部权限
GRANT ALL PRIVILEGES
ON JSJ_student
TO leader_user;

四、审计

  • 审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)
  • 审计员利用审计日志监控数据库中发生的各种行为

五、数据加密 

  • 加密的基本思想:根据一定的算法将原始数据(明文,plain text)变换为不可直接识别的格式(密文,cipher text)
  • 数据加密主要包括存储加密传输加密
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值