当前位置:   article > 正文

数据库系统概述之数据库的安全性_]链路加密所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息

]链路加密所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息

一、数据库安全性概述

定义:保护数据库以防止不合法使用所造成的数据泄露,更改或破坏。

二、不安全因素

非授权用户对数据库的恶意存取和破坏一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据
数据库中重要或敏感的数据被泄露黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露
安全环境的脆弱性计算机硬件、操作系统、网络系统等的安全性直接影响数据库的安全
管理制度不健全,有法不依、执法不严单位内部用户有意无意地泄露用户信息

三、数据库安全标准

1.发展历程

时间名称评估准则
1985年美国国防部(DoD)正式颁布《DoD可信计算机系统评估准则》(简称TCSEC或DoD85)欧洲的信息技术安全评估准则(ITSEC) 加拿大的可信计算机产品评估准则(CTCPEC) 美国的信息技术安全联邦标准(FC)
1993CTCPEC、FC、TCSEC和ITSEC联合行动,解决原标准中概念和技术上的差异,称为CC(Common Criteria)项目-----------
1999CC V2.1版被ISO采用为国际标准, 2001年 CC V2.1版被我国采用为国家标准-----------

目前CC已基本取代了TCSEC,成为评估信息产品安全性的主要标准
在这里插入图片描述
TCSEC/TDI安全级别划分
在这里插入图片描述

四、CC安全标准内容

  1. CC ,提出国际公认的表述信息技术安全性的结构,把信息产品的安全要求分为:

安全功能要求 安全保证要求

  1. CC评估保证级

在这里插入图片描述

五、我国信息系统安全保护等级

《信息安全等级保护管理办法》规定,信息系统的安全保护等级分为以下五级,一至五级等级逐级增高:

第一级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益造成损害,但不损害国家安全、社会秩序和公共利益。第一级信息系统运营、使用单位应当依据国家有关管理规范和技术标准进行保护。
第二级,信息系统受到破坏后,会对公民、法人和其他组织的合法权益产生严重损害,或者对社会秩序和公共利益造成损害,但不损害国家安全。国家信息安全监管部门对该级信息系统安全等级保护工作进行指导。
第三级,信息系统受到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。
第四级,信息系统受到破坏后,会对社会秩序和公共利益造成特别严重损害,或者对国家安全造成严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行强制监督、检查。
第五级,信息系统受到破坏后,会对国家安全造成特别严重损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行专门监督、检查。

我国安全法相关的法律法规

1.《中华人民共和国网络安全法》,2017年6月1日起施行。
2. 《中华人民共和国个人信息保护法(草案)》。
3.《互联网信息服务管理办法》,2000年9月25日施行。
4.《计算机信息网络国际联网安全保护管理办法》,1997年12月30日实施。
5.中办、国办《关于进一步加强互联网管理工作的意见》(中办发[2004]32号)。
6.中央网信办《关于加强党政机关网站安全管理的通知》(中网办发文[2014]1号)。

六、 数据库安全控制

  1. 非法掌控数据库几种情况
  • 编写合法程序绕过数据库管理系统及其授权机制;
  • 直接或编写应用程序执行非授权操作;
  • 通过多次合法查询数据库从中推导出一些保密数据。
  1. 计算机系统进行防范举措
  • 系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统。
  • 数据库管理系统还要进行存取控制,只允许用户执行合法操作 。
  • 操作系统有自己的保护措施 。
  • 数据以密码形式存储到数据库中。
  1. 存取控制流程

第一,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。
第二,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。
第三 对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。

  1. 用户身份鉴别
静态口令鉴别静态口令一般由用户自己设定,这些口令是静态不变的。
动态口令鉴别口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。
生物特征鉴别通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等。
智能卡鉴别智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能。
  1. 存取控制
    存取控制机制主要包括定义用户权限和合法权限检测两部分:
    • 定义用户权限(将用户权限登记到数据字典中去):用户对某一个数据对象的操作权力称为权限
    • 合法权限检查: DBMS提供适当的语言来定义用户权限,存放在数据字典中,称做安全规则或授权规则合法权限检查; 用户发出存取数据库操作请求,DBMS查找数据字典,进行合法权限检查; 用户权限定义和合法权检查机制一起组成了数据库管理系统的存取控制子系统。
  2. 常见的存取控制方法
方法级别描述
自主存取控制(DAC)C2级用户对不同的数据对象有不同的存取权限;不同的用户对同一对象也有不同的权限;用户还可将其拥有的存取权限转授给其他用户。
强制存取控制(MAC)B1级每一个数据对象被标以一定的密级;每一个用户也被授予某一个级别的许可证;对于任意一个对象,只有具有合法许可证的用户才可以存取。

关系数据库系统中的存取权限
在这里插入图片描述

七、授权(GRANT)

1、语法

GRANT <权限>[,<权限>]... 
ON <对象类型> <对象名>[,<对象类型> <对象名>]TO <用户>[,<用户>]...
[WITH  GRANT OPTION] ;   
说明:WITH  GRANT OPTION  表示用户可以转授此权限。 
  • 1
  • 2
  • 3
  • 4
  • 5

2、功能

将对指定操作对象的指定操作权限授予指定的用户 。

3、能执行GRANT命令的数据库用户:

数据库管理员 数据库对象创建者(即属主Owner) 拥有该权限的用户

4、按受权限的用户

一个或多个具体用户
PUBLIC(即全体用户)

5、权限不能循环转授
、、、
6、实例

把查询XXX表的权限授予用户UserGRANT SELECT ON TABLE Student TO U1;
把对S1表和S2表的全部权限授予用户U1和U2。GRANT ALL PRIVILIGES ON TABLE S1 ,S2 TO U1,U2
把对表SC的查询权限授予所有用户GRANT SELECT ON TABLE SC TO PUBLIC
把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION

说明:U5不仅拥有了对表SC的INSERT权限, 还可以转授此权限

八、回收授权(REVOKE)

1、语法
REVOKE <权限>[,<权限>]…
ON <对象类型> <对象名>[,<对象类型><对象名>]…
FROM <用户>[,<用户>]…[CASCADE | RESTRICT];
说明:

2、功能
收回授予用户的权限,授予的权限可以由数据库管理员或其他授权者用户。

把用户U修改学生学号的权限收回REVOKE UPDATE(Sno) ON TABLE STUDENT FROM U
收回所有用户对表SC的查询权限REVOKE SELECT ON TABLE SC FROM PUBLIC
把用户U5对SC表的INSERT权限收REVOKE INSERT ON TABLE SC FROM U5 CASCADE

注意:CASCADE:级联 RESTRICT: 限制;

此处:将用户U5的INSERT权限收回的时候应该使用CASCADE,否则拒绝执行该语句 ;
如果U6或U7还从其他用户处获得对SC表的INSERT权限,则他们仍具有此权限,系统只收回直接或间接从U5处获得的权限 。

3.小结

数据库管理员(DBA):拥有所有对象的所有权限;根据实际情况不同的权限授予不同的用户。
用户拥有自己建立的对象的全部的操作权限;可以使用GRANT,把权限授予其他用户。
被授权的用户如果具有“继续授权”的许可,可以把获得的权限再授予其他用户;所有授予出去的权力在必要时又都可用REVOKE语句收回。

九、 CREATE USER语句

1.语法: 数据库管理员在创建用户时实现
CREATE USER < username>
[ WITH] [DBA|RESOURCE|CONNECT];

注:CREATE USER不是SQL标准,各个系统的实现相差甚远
2.CREATE USER语句说明:

  • 只有系统的超级用户才有权创建一个新的数据库用户; 新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA;
  • 如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库;
  • 拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主。但不能创建模式,不能创建新的用户;
  • 拥有DBA权限的用户是系统中的超级用户,可以创建新的用户、创建模式、创建基本表和视图等;DBA拥有对所有数据库对象的存取权限,还可以把这些权限授予一般用户
    在这里插入图片描述

十、数据库角色

1、数据库角色定义

是一个具有一组确定数据库权限的对象,用户与该角色绑定便获得了该角色具有的权限。

2、创建角色

CREATE ROLE <角色名>

3、给角色授权

GRANT <权限>[,<权限>]…
ON <对象类型>对象名
TO <角色>[,<角色>]…

4、将一个角色授予其他的角色或用户

GRANT <角色1>[,<角色2>]…
TO <角色3>[,<用户1>]…
[WITH ADMIN OPTION]

说明:
该语句把角色授予某用户,或授予另一个角色; 授予者是角色的创建者或拥有在这个角色上的ADMIN OPTION; 指定了WITH ADMIN
OPTION则获得某种权限的角色或用户还可以把这种权限授予其他角色; 一个角色的权限:直接授予这个角色的全部权限加上其他角色,授予这个角色的全部权限。

5、角色权限的收回

REVOKE <权限> [,<权限>]…
ON <对象类型> <对象名>
FROM <角色>[,<角色>]…
说明:
用户可以回收角色的权限,从而修改角色拥有的权限;
REVOKE执行者是角色的创建者,拥有在这个(些)角色上的ADMIN OPTION。

6、实例
创建一个角色:R1—》

GRANT ROLE R1
  • 1

赋予查询,更新,插入权限给角色R1

GRANT SELECT ,UPDATE,INSERT ON TABLE T1 TO R1 
  • 1

赋予XXXR1的所有权限

GRANT R1 TO XXX
  • 1

删除R1的删除权限

REVOKE DELETE ON TABLE T1 FROM R1 
  • 1

十一、强制存取控制(MAC)

1、在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类:

1、主体是系统中的活动实体 ,数据库管理系统所管理的实际用户, 代表用户的各进程。
2、客体是系统中的被动实体,受主体操纵 的数据对象 文件、基本表、索引、视图

实现强制存取控制时要首先实现自主存取控制
原因:较高安全性级别提供的安全保护要包含较低级别的所有保护
2、敏感标记
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label), 敏感度标记分成若干级别:

  • 绝密(Top Secret,TS)
  • 机密(Secret,S)
  • 可信(Confidential,C)
  • 公开(Public,P)TS>=S>=C>=P
    主体的敏感度标记称为许可证级别(Clearance Level)
    客体的敏感度标记称为密级(Classification Level)

3、强制存取控制规则

1、仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体。
2、仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体

4、DAC + MAC安全检查
在这里插入图片描述
先进行自主存取控制检查,通过自主存取控制检查的数据对象再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。

十二、审计

审计功能把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计日志监控数据库的各种行为。
1、审计事件

  • 服务器事件
  • 审计数据库服务器发生的事件
  • 系统权限
  • 对系统拥有的结构或模式对象进行操作的审计要求该操作的权限是通过系统权限获得的
  • 语句事件
  • 对SQL语句,如DDL、DML及DCL语句的审计
  • 模式对象事件
  • 对特定模式对象上进行的SELECT或DML操作的审计

2、审计功能
基本功能:提供多种审计查阅方式提供多种审计查阅方式
多套审计规则:一般在初始化设定
提供审计分析和报表功能
审计日志管理功能

防止审计员误删审计记录, 审计日志必须先转储后删除
对转储的审计记录文件提供完整性和保密性保护
只允许审计员查阅和转储审计记录不允许任何用户新增和修改审计记录等

提供查询审计设置及审计记录信息的专门视图

3、AUDIT语句和NOAUDIT语句

AUDIT语句:设置审计功能
NOAUDIT语句:取消审计功能

4、实例
对修改SC表结构或修改SC表数据的操作进行审计

AUDIT  ALTER,UPDATE ON  SC;
  • 1

取消对SC表的一切审计

NOAUDIT ALTER UPDATE ON CS;
  • 1

十三、数据加密

1、数据加密
防止数据库中数据在存储和传输中失密的有效手段。

1.1、加密的基本思想
根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式­—密文(Cipher text)。

加密方法
存储加密
传输加密

2、存储加密

  • 透明存储加密 内核级加密保护方式,对用户完全透明 将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密
  • 数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可 内核级加密方法: 性能较好,安全完备性较高 非透明存储加密
  • 通过多个加密函数实现

3、传输加密

链路加密 在链路层进行加密 传输信息由报头和报文两部分组成
报文和报头均加密
端到端加密
在发送端加密,接收端解密
只加密报文不加密报头
所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息

在这里插入图片描述

十四、其他安全保护

  • 推理控制

处理强制存取控制未解决的问题
避免用户利用能够访问的数据推知更高密级的数据

  • 常用方法

基于函数依赖的推理控制 基于敏感关联的推理控制

  • 隐蔽信道

处理强制存取控制未解决的问题

  • 数据隐私保护

描述个人控制其不愿他人知道或他人不便知道的个人数据的能力
范围很广:数据收集、数据存储、数据处理和数据发布等各个阶段

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/785439
推荐阅读
相关标签
  

闽ICP备14008679号