【数据库】数据库安全性
目录
前言:
一、数据库安全概述
1.数据库的不安全因素
2.安全标准
TCSEC/TDI安全级别划分:
二、数据库安全性控制
1.用户身份鉴定
2.存取控制
3.自主存取控制
(1)GRANT(向用户授予对数据的操作权限)
(2)REVOKE(回收用户对数据的操作权限)
(3)数据库角色
4.强制存取控制
5.视图机制
6.审计
7.数据加密
(1)存储加密
(2)传输加密
8.其他安全保护
(1)推理控制
(2)隐蔽通道
(3)数据隐私
前言:
数据库的安全性是指保护数据库以防止不合法使用造成数据的泄漏、更改或破坏。
数据库系统中由于大量数据集中存放,而众多的用户直接共享数据,从而使得数据库安全问题尤为突出。
一、数据库安全概述
1.数据库的不安全因素
(1)非授权用户对数据库的恶意存取和破坏。
(2)数据库中重要或敏感的数据被泄漏。
(3)安全环境的脆弱性
2.安全标准
1999年CC(通用准则) V2.1版成为国际标准(2001年被我国采用为国家标准)。
TCSEC/TDI安全级别划分:
二、数据库安全性控制
数据库安全性主要包括用户身份鉴定、多层存取控制、审计、视图和数据加密等。
1.用户身份鉴定
用户身份鉴定是数据库管理系统提供的最外层安全保护措施。每个用户在系统中拥有一个用户标识(由用户名和用户标识号两部分组成)。
常用的用户身份鉴定方法:
(1)静态口令鉴别
静态口令一般由用户自己设定,鉴别时按要求输入正确的口令,系统将允许用户使用数据库管理系统。例如:电话、生日等
(2)动态口令鉴定
每次鉴别时均使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。例如:短信密码、动态令牌等
(3)生物特征鉴别
采用图像处理和模式识别等技术实现基于生物特征的认证,例如:指纹、虹膜等
(4)智能卡鉴别
登录数据库管理系统时用户将智能卡插入专用的读卡器进行身份验证。
2.存取控制
存取控制机制包括定义用户权限和合法权限检查两部分。
(1)定义用户权限(用户对某一数据对象的操作权力),将用户权限登记到数据字典中
(2)合法权限检查(用户发出存取数据库的操作请求后,数据库管理系统就和查找数据字典,进行合法权限检查,对超出权限的操作,系统拒绝执行此操作)
3.自主存取控制
SQL标准对于自主存储控制提供了相关支持,通过 grant 和 revoke 实现。
用户权限:数据库对象+操作类型
授权:定义存取权限
在非关系数据库中,用户只能对数据进行操作,存取控制的数据库对象也仅限于数据本身。
在关系数据库中,存取控制的对象不仅有数据本身(基本表的数据、属性列上的数据),还有数据库模式(包括模式、基本表、视图、索引等的创建)
关系数据库系统中的存取权限:
(1)GRANT(向用户授予对数据的操作权限)
一般语法规则:
GRANT <权限>...
ON <对象类型><对象名>,..
TO <用户>
[with grant option]
【注意】
接受权限的用户可以是一个或多个具体用户,也可以是public(全体用户)。
指定了with grant option,则获得某种用户权限的用户还可以将此权限再授予其他用户(不允许循环授权)。如果没有此语句,获得某权限的用户只能使用该权限,不能传播权限。
(2)REVOKE(回收用户对数据的操作权限)
一般语法规则:
REVOKE <权限>...
ON <对象类型><对象名>,..
FROM <用户>...[CASCADE|RESTRICT]
【注意】
cascade(级联)
用户可以自主决定将数据的存取权限授予任何人、决定是否授权的权限授予别人,因此称这种存取控制为自主存取控制。
(3)数据库角色
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。
①角色创建
create role <角色名>
②给角色授权
grant <权限1>,<权限2>...
ON <对象类型>对象名
TO <角色1>,<角色2>...
③将一个角色授予其他的角色或用户
grant <角色1><角色2>...
TO <角色3><用户>...
[with admin option]
授予者或角色创建者拥有这个角色的admin option。
指定了with admin option子句,则获得某种权限的角色或用户还可以把这个权限再授予其他角色。
④角色权限的回收
REVOKE <权限1>,<权限2>...
ON <对象类型>对象名
from <角色1>,<角色2>...
4.强制存取控制
强制存取控制中,数据库管理系统所管理的全部实体分为主体和客体两大类。
主体:系统中的活动实体,既包括数据库管理系统所管理的实际用户,也包括代表用户的各进程。
客体:系统中的被动实体,是受主体操纵的,包括文件、基本表、索引、视图等。
对于主体和客体,数据库管理系统为它们每个实例指派一个敏感度标记。
敏感度标记分级:绝密(Top Secret,TS),机密(Secret,S),可信(Confidential,C),公开(public,P)密级逐次递减
强制存取控制对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供更高级别的安全性。
5.视图机制
可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。
6.审计
审计功能是数据库管理系统达到C2以上安全级别必不可少的指标。
审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)。审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容。
审计通常是很费时间和空间的,所有数据库管理系统往往都将审计设置为可选特征,允许数据库管理员根据具体应用对安全性的要求灵活打开或关闭审计功能。、
(1)审计事件
①服务器事件:数据库服务器的启动、停止、服务器配置文件的重新加载
②系统权限:对系统拥有的结构或模式对象进行操作的审计
③语句事件:对特定模式对象进行select和数据定义语言操作的审计。
(2)审计功能
- 提供多种审计阅读方式
- 提供多套审计规则
- 提供审计分析和报表功能
- 审计日志管理功能(防止审计员误删审计记录)
- 系统提供查询审计设置及审计记录信息的专门视图。
(3)audit(设置审计功能)和NOAUDIT(取消审计功能)
数据库安全审计系统提供了一个事后检查的安全机制。
7.数据加密
加密基本思想:根据一定算法将原始数据(明文)变换为不可直接识别的格式(密文),从而使得不知道解密算法的人无法获知数据的内容。
数据加密包括存储加密和传输加密。
(1)存储加密
存储加密一般提供透明和非透明两种存储加密方式。
透明加密是内核级加密保护方式,对用户完全透明;非透明加密是通过多个加密函数实现。
透明存储加密是数据在写到磁盘时对数据进行加密,授权用户读取数据时在对其进行解密。
(2)传输加密
在客户/服务器结构中,数据库用户与服务器之间若采用明文方式传输数据,容易被网络恶意用户截获或篡改,存在网络安全隐患。因此为了保证两者之间安全数据交换,数据库管理系统提供了传输加密功能。
①链路加密
链路加密对传输数据在链路层进行加密,它的传输信息由报头和报文两部分组成,前者是路由选择信息,而后者是传送的数据信息。这种方式对报头和报文都加密。
②端到端加密
端到端加密对传输数据在发送端加密,接收端解密。它只对报文加密,不加密报文头。(容易被非法监听者发现并从中获取敏感信息)
基于安全套接层协议SSL(Security Socket Layer)的数据传输方案。通信双方协议建立可信连接,一次会话采用一个密钥,传输数据在发送端加密,接收端解密,有效降低重放攻击和恶意篡改
8.其他安全保护
(1)推理控制
推理控制机制用来避免用户利用其能够访问的数据推知更高密级的数据,即用户利用其被允许的多次查询的结果,结合相关领域背景知识以及数据之间的约束,推导出其不能访问的数据。
(2)隐蔽通道
利用未被强制存取控制的SQL执行后反馈的信息进行间接信息传递。
高安全等级用户按事先约定方式主动向低安全等级用户传输信息,使得信息流从高安全等级向低安全等级流动,从而导致高安全等级敏感信息泄露。
(3)数据隐私
控制不愿被他人知道或他人不便知道的个人数据的能力。
【数据库】数据库安全性相关推荐
- Oracle数据库——数据库安全性管理
一.涉及内容 1.验证系统权限管理. 2.验证角色管理. 3.验证概要文件管理. 二.具体操作 (一) 1.根据以下要求进行系统权限的授予与回收操作. (1)创建用户user1,并为它授予create ...
- 『数据库』无聊到爆炸的数据库文章--数据库的安全性
『数据库』 朴实无华且枯燥的数据库教程–入门必看!(不收藏,真的吃亏了) 文章目录 计算机安全性概述 数据库安全性控制 视图机制 审计(Audit) 数据加密 统计数据库安全性 问题的提出 数据库的一 ...
- 在SQL2005中,关闭SQL Browser服务,增强数据库的安全性
关闭SQL Browser服务,增强数据库的安全性 1. 在SQL 2005中,SQL Browser服务关闭后,如果客户端需要访问SQL Server数据库,并且SQL Server服务的端口非默认 ...
- 医院信息系统中服务器配置的原则,如何保障医院信息系统(HIS)中数据库的安全性...
张博岩+贾兵 [摘 要] 医院信息系统的正常.良好运行,离不开后台数据库的完整和安全,因此保障数据库的安全性和稳定性极其重要.在医院信息系统中,要从硬件及软件两方面入手,尽量采用高配置的硬件设备和数据 ...
- 【数据库】数据库的安全性
问题的提出 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 计算机安全性概述 一.计算机安全性 计算机系统安全性 为计算机系统建立和采取的 ...
- MySQL实验7 数据库的安全性
实验7数据库的安全性 实 验 过 程 目的要求: (1)掌握数据库用户账号的建立与删除方法 (2)掌握数据库用户权限的授予方法 实验准备: (1)了解数据库安全的重要性 (2)了解数据库用户账号的建立 ...
- 远程数据库链接安全性_远程工作面临着隐藏的挑战数据安全性是专家如何克服的挑战
远程数据库链接安全性 By Cameron Albert-Deitch 卡梅伦·阿尔伯特·迪奇 Social Security numbers. Bank account information. C ...
- 数据库第五次试验:数据库的安全性
数据库第五次试验:数据库的安全性 前言 一.实验目的 二.实验要求 三.实验原理.方法和手段 四.实验组织运行要求 五.实验条件 六.实验步骤 七.思考题 八.实验报告 前言 为了帮助同学们完成痛苦的 ...
- 数据库的安全性->学习日记
数据库的安全性 数据库的安全性数据库的一项重要指标,我国采用的最新的安全评判指标是CC标准,分为七个等级(具体可以自行了解) 数据库的安全性目标是要保护数据的完整性.可用性.保密性.可审计性. 完整性 ...
- 隔墙有耳之数据库的安全性
隔墙有耳之数据库的安全性 现在这个时代数据的价值是非常高的,尤其游戏服务器的后台数据库,公司老板就是靠他挣钱的啊!!!但是现在黑客的技术也越来越高 ...
最新文章
- VS2017登陆不了,TFS无法连接成功的问题
- python os.system 不打印_Python初体验之我爱你
- Cocos2dx-demo演示项目:Part1
- 自定义ToolBar
- 洛谷 - P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查(最大流最小割)
- 解决Javascript疲劳的方法-以及其他所有疲劳
- 第二季3:海思MPP模块与视频缓冲池
- 码云上传项目时出现空目录的解决办法
- LeetCode 199. 二叉树的右视图(DFS)(特殊的递归)
- dps软件计算机64位的安装,DPS数据处理系统
- 01-【分析】神策系统的拆解与分析
- html5之Fullscreen全屏API
- C#: 数字经纬度和度分秒经纬度间的转换
- mysql 查询本月所有天数统计对应数据
- linux基础(五)----linux命令系统学习----系统管理命令
- SuperMap Hi-Fi 3D SDK 11i(2022) for Unity插件开发——选中对象隐藏
- java 重启路由器
- jq简单实现点击按钮跳转页面到指定tab内容
- 如何将WIN10自带浏览器Microsoft Edge中的书签导出
- 基础的网络服务器开发
热门文章
- C++ 设计模式 面向对象设计原则 相关概念介绍(结合UnrealEngine4)
- 计算机中模拟和数字信号,模拟信号和数字信号的区别是什么
- 防关联软件技术分析之跨境电商防关联云服务器之超级VPS管理器
- 玩转云服务器,怎样用云服务器架设搭建游戏:浪剑天下架设教程,手把手教你架设游戏服务器,小白一看就会
- conda安装编译好了的caffe, ImportError: cannot import name ‘_validate_lengths‘
- This scheduler instance (XXXXX) is still active but was recovered by another
- BFO:Big Faceless PDF Library for JAVA
- PHP 7从零基础到项目实战,PHP 7从零基础到项目实战
- 关于工作后定居城市的思考以及房价预测(天涯原创)
- 2022-2028年中国太阳能发电系统市场调查与市场需求预测报告