【数据库系统概论】数据库安全性和存取控制和视图机制以及审计、数据加密--复习极简总结版

1. 数据库安全性概述

1.1 数据库安全性的重要性

数据库安全性是保护数据库防止非法访问、数据泄露、篡改或破坏的能力。它随着数据共享和网络化应用的普及而变得至关重要。
现实案例:

  • 2016年,某国医院遭受黑客攻击,黑客加密数据库并勒索赎金,这揭示了数据库安全防护的重要性。

1.2 数据库的不安全因素

  1. 非法用户的恶意操作:
    黑客窃取用户凭证,进行伪装访问,破坏、修改甚至勒索数据库数据。

  2. 敏感数据泄露:
    如通过 SQL注入 攻击,使未授权用户执行操作,泄露或篡改敏感信息。

  3. 脆弱的安全环境:
    数据库依赖的计算机系统(硬件、操作系统、网络)存在漏洞,可能成为攻击的突破口。


1.3 安全标准简介

  1. TCSEC(可信计算机系统评估准则):
    • 美国国防部提出的安全标准,安全级别从低到高分为 D、C1、C2、B1、B2、B3、A1
    • D级最低(无安全保护),A1级最高(形式化验证设计)。
  2. CC(通用准则):
    • 国际安全标准,评估保证级别分为 EAL1 - EAL7,安全性逐渐提高。

2. 数据库安全性控制

2.1 用户身份鉴别

鉴别方法
  1. 静态口令鉴别:
    使用用户自己设定的固定口令,安全性较低。建议结合 双因子鉴别(口令 + 数字证书)。

  2. 动态口令鉴别:
    口令动态变化(如验证码、动态令牌),安全性较高。

  3. 生物特征鉴别:
    基于指纹、虹膜、掌纹等,安全性更高。

  4. 智能卡鉴别:
    通过智能卡结合 个人身份识别码(PIN) 实现身份验证。

  5. 入侵检测:
    通过检测规则和实时分析,发现并处理入侵行为(如邮件报警、锁定用户)。


2.2 存取控制

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

    • 用户根据权限操作数据对象,并可将权限转授他人。
    • 如:SQL GRANT 和 REVOKE 语句
      GRANT SELECT ON TABLE Student TO U1;
      REVOKE SELECT ON TABLE Student FROM U1;
      
  2. 强制存取控制(MAC):

    • 基于数据的密级(如绝密、机密)和用户许可证级别。
    • 规则:
      • 读权限: 主体的许可证级别 ≥ 客体的密级。
      • 写权限: 主体的许可证级别 ≤ 客体的密级。
    • 应用场景: 军事、政府等高敏感数据环境。
  3. 角色管理机制:

    • 通过角色分组简化权限管理:
      CREATE ROLE R1;
      GRANT SELECT, INSERT ON TABLE Student TO R1;
      GRANT R1 TO 用户1, 用户2;
      

2.3 数据库安全性控制模型

数据库安全控制包括以下层次:

  1. 事前控制:
    身份鉴别与入侵检测。

  2. 事中控制:
    SQL语句处理层提供访问权限检查。

  3. 事后控制:
    审计用户行为。

  4. 存储保护:
    敏感数据加密存储。

  5. 传输保护:
    通过链路加密或端到端加密保证数据传输安全。


3. 视图机制

视图是数据库安全性的辅助技术,可以隐藏敏感数据,对不同用户赋予不同权限。

视图定义及权限设置示例
CREATE VIEW CS_Student AS
SELECT * FROM Student WHERE Smajor='计算机科学与技术';
GRANT SELECT ON CS_Student TO 王平;
GRANT ALL PRIVILEGES ON CS_Student TO 张明;
  • 含义: 王平只能查询视图,张明可以查询并修改视图。

4. 审计

审计通过记录用户对数据库的操作,监控非法访问和关键操作。

审计功能

  1. 事件类型:

    • 语句事件:对 SQL 操作(如 DDL、DML)进行审计。
    • 模式对象事件:审计表或视图上的 SELECT 和 DML 操作。
  2. 审计设置示例

    -- 开启审计功能
    SET AUDIT_TRAIL TO ON;
    -- 对 SC 表的修改操作审计
    AUDIT ALTER, UPDATE ON SC BY ACCESS;
    
  3. 审计日志管理:

    • 日志需先转储再删除。
    • 只允许审计员查看和转储,防止篡改。

5. 数据加密

数据加密是保护数据存储和传输的主要手段。

加密类型

  1. 存储加密:

    • 内核级加密:对用户透明,性能高。
    • 非透明加密:需要应用程序调用加密函数。
  2. 传输加密:

    • 链路加密: 报头和报文都加密。
    • 端到端加密: 仅加密报文,效率更高。

加密算法

  • 对称加密: AES算法(速度快)。
  • 非对称加密: RSA算法(安全性高)。

6. 其他安全性保护

  1. 推理控制:
    防止用户通过低密级数据推测高密级信息。

  2. 隐蔽信道:
    解决数据泄露的隐蔽通道问题。

  3. 数据隐私:
    管控个人数据的收集、存储和发布。

  4. 三权分立:
    分离数据库管理员的权限,避免权限过于集中。


总结

数据库的安全性机制是保障数据可靠性、保密性的重要组成部分。本章涵盖了以下技术:

  1. 用户身份鉴别与入侵检测
  2. 存取控制(自主存取控制与强制存取控制)
  3. 视图机制与权限分配
  4. 审计与日志管理
  5. 数据加密与传输安全

随着大数据、云计算、物联网的发展,数据库安全面临新的挑战。未来需要更多创新的技术支持,如 隐私保护统计发布分布式数据访问控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

精神病不行计算机不上班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值