当前位置: 首页 > news >正文

数据库原理及应用_数据库管理和保护_第5章数据库的安全性_理论部分

前言

        "<数据库原理及应用>(MySQL版)".以下称为"本书"中第5章前6节内容

引入

        数据库的安全性是非常重要的,表现在两个方面:一数据的访问权限,二数据的物理安全.本书在这一章前6节基本上都是理论性的内容,选择其中重要部分进行解读.

5.1数据库安全性概述

大体在讲解数据库安全的重要性.其中提到了"自主"和"强制"存取的概念

自主存取控制

 读SELECT插入INSERT修改UPDATE删除DELETE
用户1YYYY
用户2YNNN
用户nYYNN
表A的自主存取控制表

如上表,对于每个表都可以设置一个自主存取权限表,列出每个用户的操作权限

 索引Index资源Resource修改Alteration撤销Drop
用户1YYYY
用户2YNNN
用户nYYNN
数据库B的自主存取权限表

同理对于每个数据库,也可设置一个权限表.

自主存取控制的优点是"精细",也是常见的方法.

强制存取控制

可以用两个表来说明含义

 用户等级 数据等级
用户11数据12
用户22数据24
  
用户n6数据n5
用户等级表数据等级表

 用户和数据(表或者数据库)的关系是:当用户等级数字小于数据等级数字,即拥有存取权限.例如用户1的等级为1等(假设为最高等),则对所有表(或所有数据库)的数据拥有权限.再例如用户n的等级为3等,有个表的数据等级为2等.则用户n被禁止访问这个表(或者可访问但禁止修改删除).

5.2数据库安全控制

        本节从4个方面来说明数据库安全性,图5-1计算机系统的安全模型

1.用户标识与鉴别能力

        例如用户名密码输入,搜索数据库中的user表,查找用户名,如果不能匹配,则显示"该用户不存在";匹配到之后用SELECT语句搜索其密码,再用输入密码与表中密码匹配,匹配成功允许登陆,否则显示"密码输入不正确"---以上也是登陆的需求描述,可以根据需求写出算法.

        本书P137提到了"用户的特有东西识别",例如先行用电子狗验证,再识别用户和密码.

        其余略

2.数据库用户存取权限控制

        和5.1节中内容相关,此处的授权与取消等内容,在后面有详细讲述.

3.操作系统安全保护

        数据库管理软件DBMS始终是安装在操作系统上的.他与数据的交互依赖于操作系统.如果操作系统有漏洞可能导致数据泄露或被破坏.但对于非操作系统的数据库程序员来说,要懂操作系统,本书并没有相关讲解.

4.数据加密存储

        即使数据被非法取得,数据的安全性也可以由加密来保护.在后面有所讲述.

5.3视图机制

        前面提到过视图的意思是:查询语句文件化.通过一个表的查询产生视图,相当于生成表的副本.

        视图机制是在视图(表副本)的基础上,给不同用户授予权限.

        ---笔者个人感觉用处不大,因为要建立视图需要多占空间.直接在数据库上定义权限更好.

5.4安全级别和审计追踪

        安全级别就是安全的等级.

        本书P141倒数第二段提到了审计追踪的概念:审计功能把用户对数据库的所有操作自动记录下来放入"审计日志"(audit log)中,称为审计追踪.关于日志的建立,上一帖中的触发器有讲解.利用触发器机制,建立日志,可查询数据的变化.

5.5 数据加密

        本书提到了两种加密法:替换加密法和转换加密法

替换加密法

        原文的字符用其他某个域的符号代替.假设有一段原文:"我从山中来,带着兰花草."包括标点在内共12个字符,选取域符号为所有英文小写字母{a,b,c,d,e,f,g,h,i,j,k,l,m,n.....z},表达为{abcdefghijkl},那么每个汉字分别有对应的字母.

        假设有n个字符的原文,去除重复后有m个字符,选取域符号有k个,那么有k*(k-1)*...*(k-m-1)种组合.例如这里就有26*25*....*13种可能.

转换加密法

        原文字符重新排序.假设有n个字符,那么排序可能有n!种

图示

        如果要解密的话,可能有k*(k-1)*...*(k-m-1)*(n!)种组合.如果字数很多,理论上解密时间是很长很长的.

        但这只是简单描述数据加密情况,还有一些要考虑:

        1>本书提到了替换加密法的问题:用多了可能被猜到.如果每次都用同一选取域,再根据写作的行文风格,是有这种可能的.站在加密方,准备很多个选取域.

        2>替换算法中间还可以增加,例如前一半的字符采用选取域A,后一半的字符采用选取域B

声明

        像以前的一些电影上一样,解密靠一本书或者字典.就是说密码破解可能很难,但设置容易.数据加密和解密是专门一门学科,某度可以搜"密码学",涵盖了概率论,数字逻辑,数论等许多和数学相关的学科.笔者只是一时兴起,仅根据本书内容做一点发散思考.

5.6统计数据库的安全性

        本书讲了不少,最后结论统计数据库基本上都不安全.但防范起来很简单,给很少的搜索权限即可

小结

        数据库安全性理论部分的解读

       

        


文章转载自:

http://j6XyZhWA.zqbrd.cn
http://2uYwdQmM.zqbrd.cn
http://A2nFelBE.zqbrd.cn
http://cHRyN37T.zqbrd.cn
http://wtQ7b90Q.zqbrd.cn
http://ykOrzzsG.zqbrd.cn
http://wxJJVw5d.zqbrd.cn
http://2WDBaej6.zqbrd.cn
http://0CsRgJjB.zqbrd.cn
http://FIa7HcGS.zqbrd.cn
http://EgCRt7Gs.zqbrd.cn
http://XiBFG9bY.zqbrd.cn
http://fpuNweuH.zqbrd.cn
http://B5yLwJoE.zqbrd.cn
http://sfJYA7a2.zqbrd.cn
http://LlRFjGEW.zqbrd.cn
http://AvXlRzbE.zqbrd.cn
http://W2GSfm0m.zqbrd.cn
http://qzXE7qNV.zqbrd.cn
http://aXuPU5sX.zqbrd.cn
http://LBNP2Lxp.zqbrd.cn
http://gl4cieAu.zqbrd.cn
http://9Ybr7C2O.zqbrd.cn
http://2471Lwnq.zqbrd.cn
http://1ESnwLSe.zqbrd.cn
http://paUmvB3N.zqbrd.cn
http://5ossIr5q.zqbrd.cn
http://dcMlQhKz.zqbrd.cn
http://d2hPsPh8.zqbrd.cn
http://7GBbyksX.zqbrd.cn
http://www.dtcms.com/a/370143.html

相关文章:

  • 开源OpenHarmony润开鸿HH-SCDAYU800A开发板开箱体验
  • 第27节:3D数据可视化与大规模地形渲染
  • 《云原生故障诊疗指南:从假活到配置漂移的根治方案》
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (5)
  • Kubernetes (k8s)
  • 交叉编译器介绍
  • 2025最新超详细FreeRTOS入门教程:第二章 FreeRTOS任务创建
  • Webpack热更新(HMR)底层原理详解
  • repo 学习教程
  • 54.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--实现手机邮箱注册
  • C/C++内存管理详解:从基础到精通的完整指南
  • 鸿蒙Next开发指南:UIContext接口解析与全屏拉起元服务实战
  • 系统编程day05-进程间通信-信号
  • OpenHarmony之有源NFC-connected_nfc_tag模块详解
  • 吴恩达机器学习合集
  • java基础学习(五):对象中的封装、继承和多态
  • 神马 M66S+ 282T矿机参数详解:SHA-256算法与Hydro冷却技术
  • AI 生成式艺术重塑动漫角色创作:从技术逻辑到多元可能性(一)
  • c++primer 个人学习总结-模板和泛型编程
  • solidity的高阶语法2
  • 9.FusionAccess桌面云
  • SpringBoot集成XXL-JOB保姆教程
  • Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
  • 阿里云对象存储OSS的使用
  • WSL2环境下因服务器重装引发的SSH连接问题排查记录
  • 02-Media-6-rtsp_server.py 使用RTSP服务器流式传输H264和H265编码视频和音频的示例程序
  • I/O 多路复用 (I/O Multiplexing)
  • Nginx性能调优:参数详解与压测对比
  • java接口和抽象类有何区别
  • C/C++动态爱心