数据库学习该注意什么?数据库安全性 重中之重

目录

一. 数据库安全性问题

1.1 安全性问题提出背景

1.2 什么是数据库的安全性

1.3 什么是数据的保密 

二. 计算机安全性概论 

2.1 计算机系统的三类安全性问题

2.1.1 什么是计算机系统安全性

2.1.2 计算机安全涉及问题 

2.2 可信计算机系统评测标准 

2.2.1 TCSEC/TDI安全级别划分 

三. 数据库安全性控制

3.1 数据库安全性控制概述

3.1.1 非法使用数据库的情况

3.1.2 计算机系统中的安全模型 

3.1.3 数据库安全性控制的常用方法

3.2 用户标识与鉴别 (Identification & Authentication)

3.2.1 基本方法

3.2.2 用户标识自己的名字或身份

3.3 存取控制 

3.3.1 存取控制机制的功能

3.3.2 常用存取控制方法 

四. 自主存取控制方法 

4.1 存取权限  

4.2 关系系统中的存取权限 

4.3 授权

4.3.1 操作权限 

4.3.2 用户的权限

4.3.3 WITH GRANT OPTION子句 

4.4 收回权限 

4.4.1 收回权限的功能

4.4.2 权限的级联回收

4.4.3 SQL灵活的授权机制 

五. 强制存取控制方法

5.1 强制存取控制的定义

5.2 主体与客体

5.3 敏感度标记 

5.4 强制存取控制规则

六. 视图机制 

七. 审计 

7.1 审计的概念

7.2 审计功能的可选性

7.3 审计功能相关 

八. 数据加密 

8.1 数据加密

8.2 加密的基本思想

8.3 加密方法  

九. 数据库安全性总结 

十. 数据库专栏  


一. 数据库安全性问题

1.1 安全性问题提出背景

  • 数据库的一大特点是数据可以共享;
  • 但数据共享必然带来数据库的安全性问题;
  • 数据库系统中的数据共享不能是无条件的共享;

例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、 客户档案、医疗档案、银行储蓄数据 

1.2 什么是数据库的安全性

        数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。

1.3 什么是数据的保密 

  • 数据保密是指用户合法地访问到机密数据后能否对这些数据保密。
  • 通过制订法律道德准则和政策法规来保证。


二. 计算机安全性概论 

2.1 计算机系统的三类安全性问题

2.1.1 什么是计算机系统安全性

        为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。

2.1.2 计算机安全涉及问题 

  • 计算机系统本身的技术问题:
  1. 计算机安全理论与策略;
  2. 计算机安全技术;
  • 管理问题:
  1. 安全管理;
  2. 安全评价;
  3. 安全产品;
  • 政策法规

2.2 可信计算机系统评测标准 

        为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准:

  • TCSEC (桔皮书);
  • TDI (紫皮书);

2.2.1 TCSEC/TDI安全级别划分 

  • 四组(division)七个等级 :
  1. D ;
  2. C(C1,C2);
  3.  B(B1,B2,B3);
  4. A(A1);
  • 按系统可靠或可信程度逐渐增高;
  • 各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。
不同安全级别对安全指标的支持情况


三. 数据库安全性控制

3.1 数据库安全性控制概述

3.1.1 非法使用数据库的情况

  • 用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;
  • 直接或编写应用程序执行非授权操作;
  • 通过多次合法查询数据库从中推导出一些保密数据;
  • 破坏安全性的行为可能是无意的,故意的,恶意的。

3.1.2 计算机系统中的安全模型 

3.1.3 数据库安全性控制的常用方法

  • 用户标识和鉴定;
  • 存取控制;
  • 视图;
  • 审计;
  • 密码存储;

3.2 用户标识与鉴别 (Identification & Authentication)

系统提供的最外层安全保护措施;

3.2.1 基本方法

  • 系统提供一定的方式让用户标识自己的名字或身份;
  • 系统内部记录着所有合法用户的标识;
  • 每次用户要求进入系统时,由系统核对用户提供的身份标识;
  • 通过鉴定后才提供机器使用权;
  • 用户标识和鉴定可以重复多次 ;

3.2.2 用户标识自己的名字或身份

  • 用户名/口令:简单易行,容易被人窃取;
  • 每个用户预先约定好一个计算过程或者函数:
  1. 系统提供一个随机数;
  2. 用户根据自己预先约定的计算过程或者函数进行计算;
  3. 系统根据用户计算结果是否正确鉴定用户身份;

3.3 存取控制 

3.3.1 存取控制机制的功能

        存取控制机制的组成:

  • 定义存取权限;
  • 检查存取权限;   

用户权限定义和合法权检查机制一起组成了DBMS的安全子系统;

1)定义存取权限 

        在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。

2)检查存取权限

        对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。

3.3.2 常用存取控制方法 

  • 自主存取控制(Discretionary Access Control ,简称DAC):C2级—— 灵活;
  • 强制存取控制(Mandatory Access Control,简称 MAC):B1级——严格;

四. 自主存取控制方法 

4.1 存取权限  

        存取权限由两个要素组成:

  • 数据对象;
  • 操作类型;

4.2 关系系统中的存取权限 

4.3 授权

  • GRANT语句的一般格式:

GRANT <权限>[,<权限>]... 
    [ON <对象类型> <对象名>]
     TO <用户>[,<用户>]...
    [WITH GRANT OPTION];

  • 谁定义?DBA和表的建立者(即表的属主);
  • REVOKE功能:将对指定操作对象的指定操作权限授予指定的用户。 

4.3.1 操作权限 

4.3.2 用户的权限

  • 建表(CREATETAB)的权限:属于DBA;
  • DBA授予-->普通用户;
  • 基本表或视图的属主拥有对该表或视图的一切操作权限;
  • 接受权限的用户:
  1. 一个或多个具体用户;
  2. PUBLIC(全体用户);

4.3.3 WITH GRANT OPTION子句 

  • 指定了WITH GRANT OPTION子句:   获得某种权限的用户还可以把这种权限再授予别的用户。
  • 没有指定WITH GRANT OPTION子句:   获得某种权限的用户只能使用该权限,不能传播该权限

4.4 收回权限 

4.4.1 收回权限的功能

  • REVOKE语句的一般格式为:      

REVOKE <权限>[,<权限>]...      

        [ON <对象类型> <对象名>]      

        FROM <用户>[,<用户>]...;

  • 功能:从指定用户那里收回对指定对象的指定权限

4.4.2 权限的级联回收

  • 系统将收回直接或间接从U5处获得的对SC表的INSERT权限:      -->U5--> U6--> U7     
  • 收回U5、U6、U7获得的对SC表的INSERT权限:     <--U5<-- U6<-- U7

4.4.3 SQL灵活的授权机制 

  • DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。
  • 用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。
  • 被授权的用户如果有“继续授权”的许可,还可以把获得的权限再授予其他用户。
  • 所有授予出去的权力在必要时又都可以用REVOKE语句收回。

五. 强制存取控制方法

5.1 强制存取控制的定义

  • 强制存取控制(MAC)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。
  • MAC不是用户能直接感知或进行控制的。
  • MAC适用于对数据有严格而固定密级分类的部门:军事部门、政府部门;

5.2 主体与客体

  • 在MAC中,DBMS所管理的全部实体被分为主体和客体两大类 主体是系统中的活动实体;
  • DBMS所管理的实际用户  
  • 代表用户的各进程 客体是系统中的被动实体,是受主体操纵的文件、基表、索引、视图;

5.3 敏感度标记 

  • 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label);  
  • 敏感度标记分成若干级别:
  1. 绝密(Top Secret);
  2. 机密(Secret);
  3. 可信(Confidential);
  4. 公开(Public);
  • 主体的敏感度标记称为许可证级别(Clearance Level)
  • 客体的敏感度标记称为密级(Classification Level)
  • MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体 

5.4 强制存取控制规则

        当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循下面两条规则:

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

六. 视图机制 

  • 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来;  
  • 视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。

        视图机制与授权机制配合使用:

  • 首先用视图机制屏蔽掉一部分保密数据;
  • 视图上面再进一步定义存取权限;
  • 间接实现了支持存取谓词的用户权限定义;

七. 审计 

7.1 审计的概念

  • 启用一个专用的审计日志(Audit Log):将用户对数据库的所有操作记录在上面;
  • DBA可以利用审计日志中的追踪信息:找出非法存取数据的人;
  • C2以上安全级别的DBMS必须具有审计功能;

7.2 审计功能的可选性

  • 审计很费时间和空间;
  • DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。 

7.3 审计功能相关 

  • 强制性机制:用户识别和鉴定、存取控制、视图;
  • 预防监测手段:审计技术 

八. 数据加密 

8.1 数据加密

防止数据库中数据在存储和传输中失密的有效手段;

8.2 加密的基本思想

  • 根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text);
  • 不知道解密算法的人无法获知数据的内容;

8.3 加密方法  

  • 替换方法:使用密钥(Encryption Key)将明文中的每一个字符转换为密文中的一个字符;
  • 置换方法:将明文的字符按不同的顺序重新排列;
  • 混合方法:美国1977年制定的官方加密标准:数据加密标准(Data Encryption Standard,简称DES)

九. 数据库安全性总结 

  • 随着计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要。
  • DBMS是管理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制。
  • 可信计算机系统评测标准》TCSEC/TDI是目前各国所引用或制定的一系列安全标准中最重要的一个。
  • CSEC/TDI从安全策略、责任、保证和文档四个方面描述了安全性级别的指标。
  • 实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术和审计技术。
  1. 目前许多大型DBMS 达到了C2级,其安全版本达到了B1;
  2. C2级的DBMS必须具有自主存取控制功能和初步的审计功能;
  3. B1级的DBMS必须具有强制存取控制和增强的审计功能;
  4. 自主存取控制功能一般是通过SQL 的GRANT语句和REVOKE语句来实现的;

十. 数据库专栏  

https://blog.csdn.net/weixin_53919192/category_11813282.html?spm=1001.2014.3001.5482https://blog.csdn.net/weixin_53919192/category_11813282.html?spm=1001.2014.3001.5482

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据库系统的安全机制 数据库系统的安全机制是用于实现数据库的各种安全策略的功能集合,正是由这些 安全机制来实现安全模型,进而实现保护数据库系统安全的目标。保证数据库安全的安 全机制一般包括:用户的标识与鉴别、存取控制、数据库加密、推理控制和审计跟踪等 。近年来,对用户的标识与鉴别、存取控制、数据库加密及推理控制等安全机制的研究 取得了不少新的进展。 (一)用户标识与鉴别 用户标识与鉴别是安全系统的第一道防线,以防止非法用户访问系统。用户身份标 识与鉴别是数据库管理系统对访问者授权的前提,数据库系统必须建立严格的用户标识 与鉴别机制。用户标识是指用户向系统出示自己的身份证明,最简单的方法是输入用户 ID和密码,系统验证其是否合法。标识机制用于唯一标志进入系统的每个用户的身份, 因此必须保证用户身份的唯一性。鉴别是指系统检查验证用户的身份证明,用于检验用 户身份的合法性。标识和鉴别功能保证了只有合法的用户才能访问系统中的资源。 由于数据库用户的安全等级是不同的,因此分配给他们的权限也是不一样的,数据 库系统必须建立严格的用户认证机制。身份的标识和鉴别是DBMS对访问者授权的前提, 并且通过审计机制使DBMS保留追究用户行为责任的能力。功能完善的标识与鉴别机制也 是访问控制机制有效实施的基础,犄别是在一个开放的多用户系统的网络环境中,识别 与鉴别用户是构筑DBMS安全防线的第一个重要环节。 近年来标识与鉴别技术发展迅速,一些实体认证的新技术在数据库系统中得到应用 。目前,常用的方法有口令认证、数字正书认证、智能卡认证和个人特征识别等。 (二)存取控制 数据库中存放着许多数据,也有很多不同的用户。实际上,大多数用户只需要访问 数据库中的一部分数据,允许用户对所有数据无限制地访问是不安全的,因此DBMS应提 供一种机制来控制用户对数据的访问。存取控制的目的是确保用户对数据库只能进行经 过授权的有关操作,防止非法用户进入系统以及合法用户对系统资源的非法使用。 存取控制机制主要包括两部分: (1)定义用户权限,并将用户权限登记到数据字典中。 用户对某一数据对象的操作权利称为权限。某个用户应该具有何种权限是管理和政 策问题而不是技术问题,DBMS的功能是保证这些决定的执行。为此DBMS必须提供适当的 语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称为安全规则或授权 规则。 (2)合法权限检查。 每当用户发出存取数据库的操作请求后(请求一般应包括操作类型、操作对象和操 作用户等信息),DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作 请求超出了定义的权限,系统将拒绝执行此项操作。 用户权限定义和合法权限检查机制一起组成了DBMS的安全子系统。 在存取控制机制中,一般把被访问的资源,如数据、表、记录、元组、字段等称为 "客体",把以用户名义进行资源访问的进程、事务等实体称为"主体"。 (三)视图机制 视图机制是指为不同的用户定义不同的视图,把数据对象限制在一定的范围内,从 而限制各个用户的访问范围。通过视图机制把要保护的数据对无权存取的用户隐藏起来 ,从而自动地对数据提供一定程度的安全保护。例如数据库中的某个表(如"部门"表) 涉及20个部门的职工信息,可以在其上定义20个视图,每个视图只包含一个部门的职工 信息,并只允许每个部门的领导查询和修改本部门的有关职工信息的视图。 但是视图机制的安全性保护不太精细,往往不能达到应用系统的要求,其主要功能 在于提供了数据库的逻辑独立性。在实际应用中,通常将视图机制与授权机制结合起来 使用,首先用视图机制屏蔽一部分保密数据,然后在视图机制上进一步定义存取权限。 (四)数据库审计 数据库审计足指监视和记录用户对数据库所施加的各种操作的机制。按照美国国防 部标准中关于安全策略的要求,审计功能是数据库系统达到C2以上安全级别必不可少的 一项指标。 审计功能自动记录用户对数据库的所有操作,并且存入审计日志。事后可以利用这 些信息重现导致数据库现有状况的一系列事件,提供分析攻击者线索的依据。与前面介 绍的保证数据库安全的阻止技术不同,通过审计技术数据库管理员可以利用审计跟踪的 信息,找出非法存取数据的人、时间和内容等,发现拥有合法权限的用户的不合法操作 ,这是阻止技术做不到的。 审计的策略库一般由两个方面因素构成,即数据库本身可选的审计规则和管理员设 计的触发策略机制。当这些审计规则或策略机制一旦被触发,则将引起相关的表操作。 这些表可能是数据库自定义的,也可能是管理员另外定义的,最终这些审计的操作都将 被记录在特定的表中以备查证。一般地,将审计跟踪和数据库日志记录结合起来,会达 到更好的安全审计效果。 对于审计粒度与审计对象的选择,需要考虑系统运行效率与存储空间消耗的问题。 为了达到审计
数据库系统全书》是由美国计算机科学家林智仁所编写的一本经典的数据库系统教材。该书的第一版于2000年出版,至今已经出版了多个版本,是学习和理解数据库系统的重要参考书之一。 该书全面介绍了数据库系统的理论、设计与实现等各个方面的知识。首先,书中详细介绍了数据库的基本概念、数据模型和数据库管理系统的架构。接着,书中深入讲解了关系模型和关系数据库的理论基础,包括关系代数、关系演算、函数依赖等。同时,还对数据库设计的过程和方法进行了详细讲解,包括数据库范式、数据模型转换和物理数据库设计等内容。 此外,该书还介绍了数据库查询语言(如SQL)的使用和优化技巧,以及事务的定义与管理等重要概念。同时,还讨论了数据库安全性和完整性问题,以及如何进行备份和恢复操作。对于分布式数据库、并行数据库和数据仓库等高级主题也有所涉及。 总的来说,数据库系统全书在内容上比较全面、系统,并且注重理论与实践的结合。通过学习这本书,读者可以对数据库系统的原理和应用有更深入的理解,掌握数据库的设计、管理和优化等技能。因此,无论是计算机科学与技术的学生、程序员还是数据库管理员,都可以从中受益匪浅。 需要注意的是,《数据库系统全书》是一本非常厚重的教材,读者需要花费相当的时间和精力来进行阅读和理解。此外,由于该书是英文原版,对于英语能力较差的读者可能有一定的困难。但是可以通过网络上搜索到的《数据库系统全书》中文pdf版本来辅助阅读,以便更好地理解和学习

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hulake_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值