版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库原理与应用》第9章数据库安全性1第9章数据库安全性9.1数据库安全性概述9.2数据库安全控制方法9.3存取控制内容导学3学习目标了解数据库系统存在的不安全因素了解数据库安全控制的主要方法理解并掌握自主存取控制技术和方法理解强制存取控制技术学习重点数据库系统的安全控制方法数据库管理系统的存取控制方法思政导学4关键词:数据库安全性,安全控制方法,存取控制技术。内容要意:数据在数据库系统中大量集中存放,并且为多个终端用户直接共享,这些数据目前已经成为个人、企业或国家的无形资产,因此数据库的安全性问题更为突出。系统安全保护措施是否有效是衡量数据库系统性能的主要指标之一。本章首先讨论引起数据库不安全的因素有哪些,接着介绍数据库安全控制的主要方法,最后重点介绍数据库的访问控制技术。思政点播:通过一些著名的黑客事件来体现数据库系统存在的不安全因素及其带来的各种严重问题;通过世界上“头号电脑黑客”凯文·米特尼克的经历,引出计算机专业人员应当具备的职业道德规范;通过我国的信息安全标准引出工匠精神。思政目标:培养学生勤奋刻苦钻研的专业探究精神;加强学生的计算机系统安全意识,提升职业道德;引导学生在工作学习中要“尊重标准,向标准看齐”;培养学生解决问题精益求精的精神。9.1数据库安全性
问题的提出数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性数据库安全性(续)数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统主要的性能指标之一。9.1数据库安全性概述9.1.1数据库的不安全因素9.1.2数据库安全性控制1.非授权用户对数据库的恶意存取和破坏一些黑客(Hacker)和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据。数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。9.1.1数据库的不安全因素2.数据库中重要或敏感的数据被泄露黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。审计日志分析数据库的不安全因素(续)数据库的不安全因素(续)3.安全环境的脆弱性数据库的安全性与计算机系统的安全性紧密联系计算机硬件、操作系统、网络系统等的安全性建立一套可信(Trusted)计算机系统的概念和标准9.1数据库安全性概述9.1.1数据库的不安全因素9.1.2数据库安全性控制9.1.2数据库安全性控制计算机系统中,安全措施是一级一级层层设置计算机系统的安全模型系统根据用户标识鉴定用户身份,合法用户才准许进入计算机系统数据库管理系统还要进行存取控制,只允许用户执行合法操作操作系统有自己的保护措施数据以密码形式存储到数据库中存取控制流程首先,数据库管理系统对提出SQL访问请求的数据库用户进行身份鉴别,防止不可信用户使用系统。然后,在SQL处理层进行自主存取控制和强制存取控制,进一步可以进行推理控制。还可以对用户访问行为和系统关键操作进行审计,对异常用户行为进行简单入侵检测。数据库安全性控制(续)数据库安全性控制(续)数据库安全性控制的常用方法用户标识和鉴定存取控制视图审计数据加密第9章数据库安全性9.1数据库安全性概述9.2数据库安全控制方法9.3存取控制9.2数据库安全控制方法9.2.1用户身份鉴别9.2.2存取控制9.2.3视图机制9.2.4审计9.2.5数据加密9.2.1用户身份鉴别用户身份鉴别(Identification&Authentication)系统提供的最外层安全保护措施用户标识:由用户名和用户标识号组成(用户标识号在系统整个生命周期内唯一)用户身份鉴别(续)用户身份鉴别的方法1.静态口令鉴别静态口令一般由用户自己设定,这些口令是静态不变的2.动态口令鉴别口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法3.生物特征鉴别通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等9.2数据库安全控制方法9.2.1用户身份鉴别9.2.2存取控制9.2.3视图机制9.2.4审计9.2.5数据加密9.2.2存取控制存取控制机制组成定义用户权限,并将用户权限登记到数据字典中用户对某一数据对象的操作权力称为权限
DBMS提供适当的语言来定义用户权限,存放在数据字典中,称做安全规则或授权规则合法权限检查用户发出存取数据库操作请求DBMS查找数据字典,进行合法权限检查用户权限定义和合法权检查机制一起组成了数据库管理系统的存取控制子系统存取控制(续)常用存取控制方法自主存取控制(DiscretionaryAccessControl,简称DAC)
C2级用户对不同的数据对象有不同的存取权限不同的用户对同一对象也有不同的权限用户还可将其拥有的存取权限转授给其他用户存取控制(续)常用存取控制方法(续)强制存取控制(MandatoryAccessControl,简称MAC)B1级每一个数据对象被标以一定的密级每一个用户也被授予某一个级别的许可证对于任意一个对象,只有具有合法许可证的用户才可以存取9.2数据库安全控制方法9.2.1用户身份鉴别9.2.2存取控制9.2.3视图机制9.2.4审计9.2.5数据加密9.2.3视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护间接地实现支持存取谓词的用户权限定义视图机制(续)[例9.1]建立计算机学院学生的视图,把对该视图的SELECT权限授于马娟,把该视图上的插入权限授于刘涛。先建立计算机学院学生的视图JSJ_StudentCREATEVIEWJSJ_StudentASSELECT*FROMStudentWHEREDno='DP02';视图机制(续)在视图上进一步定义存取权限
GRANTSELECTONJSJ_StudentTO马娟;
GRANTINSERTONJSJ_StudentTO刘涛;9.2数据库安全控制方法9.2.1用户身份鉴别9.2.2存取控制9.2.3视图机制9.2.4审计9.2.5数据加密9.2.4审计什么是审计启用一个专用的审计日志(AuditLog)将用户对数据库的所有操作记录在上面审计员利用审计日志
监控数据库中的各种行为,找出非法存取数据的人、时间和内容C2以上安全级别的DBMS必须具有审计功能审计(续)审计功能的可选性审计很费时间和空间DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能审计功能主要用于安全性要求较高的部门审计(续)1.审计事件服务器事件审计数据库服务器发生的事件系统权限对系统拥有的结构或模式对象进行操作的审计要求该操作的权限是通过系统权限获得的语句事件对SQL语句,如DDL、DML、DQL及DCL语句的审计模式对象事件对特定模式对象上进行的SELECT或DML操作的审计
审计(续)2.审计功能基本功能提供多种审计查阅方式多套审计规则:一般在初始化设定提供审计分析和报表功能审计日志管理功能防止审计员误删审计记录,审计日志必须先转储后删除对转储的审计记录文件提供完整性和保密性保护只允许审计员查阅和转储审计记录,不允许任何用户新增和修改审计记录等提供查询审计设置及审计记录信息的专门视图用户级审计任何用户可设置的审计主要是用户针对自己创建的数据库表和视图进行审系统级审计只能由数据库管理员设置监测成功或失败的登录要求、监测授权和收回操作以及其他数据库级权限下的操作审计(续)9.2数据库安全控制方法9.2.1用户身份鉴别9.2.2存取控制9.2.3视图机制9.2.4审计9.2.5数据加密9.2.5数据加密数据加密防止数据库中数据在存储和传输中失密的有效手段加密的基本思想根据一定的算法将原始数据—明文(Plaintext)变换为不可直接识别的格式—密文(Ciphertext加密方法存储加密传输加密数据加密(续)存储加密透明存储加密内核级加密保护方式,对用户完全透明将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可
内核级加密方法:性能较好,安全完备性较高非透明存储加密通过多个加密函数实现数据加密(续)传输加密链路加密在链路层进行加密传输信息由报头和报文两部分组成报文和报头均加密端到端加密在发送端加密,接收端解密只加密报文不加密报头所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息第9章数据库安全性9.1数据库安全性概述9.2数据库安全控制方法9.3存取控制9.3存取控制
9.3.1登录名和用户管理9.3.2自主存取控制9.3.3授权与收回权限9.3.4角色管理9.3.5强制存取控制9.3.1登录名和用户管理
一般一个数据库管理系统的安全性控制包括登录认证、用户认证和权限认证。登录认证:用户连接数据库服务器时、数据库服务器将验证该用户的账户和口令,确定该用户是否有连接到数据库服务器的资格,属于服务器级别的用户身份验证。登录名和用户管理(续)
(1)创建登录名
创建登录名的基本语法格式如下:
CREATELOGIN登录名
WITHPASSWORD=‘密码’
DEFAULT_DATABASE=数据库名登录名和用户管理(续)
[例9.2]创建登录账户L1,密码为‘login1’,登录后的默认数据库为SP。
CREATELOGINL1
WITHPASSWORD=’login1’,
DEFAULT_DATABASE=SP;还可以用命令修改登录密码和删除账户。
ALTERLOGINL1WITHPASSWORD=’loginuser1’;
---修改登录密码
DROPLOGINL1;---删除登录账户登录名和用户管理(续)
(2)创建数据库用户
登录账户创建成功后,还需要创建与登录名映射的数据库用户,以此来获得访问数据库的权限。创建用户的基本语法格式如下:
CREATEUSER用户名FORLOGIN登录名登录名和用户管理(续)
(2)创建数据库用户
登录账户创建成功后,还需要创建与登录名映射的数据库用户,以此来获得访问数据库的权限。创建用户的基本语法格式如下:
CREATEUSER用户名FORLOGIN登录名登录名和用户管理(续)
[例9.3]为登录账户L1创建用户U1。
CREATEUSERU1FORLOGINL1;也可以在数据库管理系统的对象资源管理器中用图形用户界面创建登录名和用户。9.3存取控制
9.3.1登录名和用户管理9.3.2自主存取控制9.3.3授权与收回权限9.3.4角色管理9.3.5强制存取控制9.3.2自主存取控制方法通过SQL的GRANT
语句和REVOKE
语句实现用户权限组成数据对象操作类型定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作定义存取权限称为授权
自主存取控制方法(续)关系数据库系统中存取控制对象对象类型对象操作类型数据库模式模式CREATESCHEMA基本表CREATETABLE,ALTERTABLE视图CREATEVIEW索引CREATEINDEX
数据基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALLPRIVILEGES属性列SELECT,INSERT,UPDATE,REFERENCES,ALLPRIVILEGES关系数据库系统中的存取权限9.3存取控制
9.3.1登录名和用户管理9.3.2自主存取控制9.3.3授权与收回权限9.3.4角色管理9.3.5强制存取控制9.3.3授权:授予与回收1.GRANTGRANT语句的一般格式:
GRANT<权限>[,<权限>]...ON<对象类型><对象名>[,<对象类型><对象名>]…TO<用户>[,<用户>]...[WITHGRANTOPTION];语义:将对指定操作对象的指定操作权限授予指定的用户GRANT(续)发出GRANT:数据库管理员数据库对象创建者(即属主Owner)拥有该权限的用户按受权限的用户一个或多个具体用户PUBLIC(即全体用户)WITHGRANTOPTION子句WITHGRANTOPTION子句:指定:可以再授予没有指定:不能传播例题
[例9.4]
把查询表Department的权限授予用户U1。
GRANTSELECTONDepartment
TOU1;例题(续)[例9.5]把对表Project的查询权限授予所有用户。
GRANTSELECT
ONProject
TOPUBLIC;例题(续)[例9.6]把查询表Department和修改学院编号Dno的权限授予用户U2。
GRANTSELECT,UPDATE(Dno)ONDepartment
TOU2;这里,实际上要授予U2用户的是对基本表Department的SELECT权限和对属性列Dno的UPDATE权限。对属性列进行授权时必须明确指出相应的属性列名。例题(续)[例9.7]把对表SP的INSERT权限授予U3,并允许U3将此权限再授予其他用户。
GRANTINSERT
ONSP
TOU3
WITHGRANTOPTION;
执行此SQL语句后,U3不仅拥有了对表SP的INSERT权限,还可以传播此权限,例如U3可以此权限授予U4。例题(续)[例9.8]用户U3将对表SP的INSERT权限授予U4,并允许U4将此权限再授予其他用户。首先应该以U3的身份重新登录数据库,然后再进行授权。GRANTINSERTONSP
TOU4
WITHGRANTOPTION;例题(续)
[例9.9]用户U4将对表SP的INSERT权限授予U5,首先应该以U4的身份重新登录数据库,然后再进行授权。
GRANTINSERT
ONSP
TOU5;
因为U4未给U5传播的权限,因此U5不能再传播此权限。授权:授予与回收(续)2.REVOKE授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回REVOKE语句的一般格式为:
REVOKE<权限>[,<权限>]...ON<对象类型><对象名>[,<对象类型><对象名>]…FROM<用户>[,<用户>]...[CASCADE|RESTRICT]REVOKE(续)[例9.10]收回用户U2对Department表的学院编号Dno的更新权限。
REVOKEUPDATE(Dno)
ONDepartmeREVOKE(续)[例9.11]收回所有用户对表Project的查询权限,命令执行后,刚才授予的对表Project具有查询权限的用户,都将不再拥有此权限。
REVOKESELECT
ONProject
FROMPUBLIC;REVOKE(续)[例9.12]收回用户U3对SP表的INSERT权限。
REVOKEINSERT
ONSP
FROMU3CASCADE;
由于U3将对SP表的INSERT操作级联授予了用户U4,U4又级联授予了用户U5,因此将用户U3的INSERT权限收回的时候必须级联收回,不然系统将拒绝执行该命令。9.3存取控制
9.3.1登录名和用户管理9.3.2自主存取控制9.3.3授权与收回权限9.3.4角色管理9.3.5强制存取控制9.3.4数据库角色数据库角色:被命名的一组与数据库操作相关的权限角色是权限的集合可以为一组具有相同权限的用户创建一个角色简化授权的过程数据库角色(续)1.角色的创建CREATEROLE<角色名>2.给角色授权
GRANT<权限>[,<权限>]…ON<对象类型>对象名
TO<角色>[,<角色>]…数据库角色(续)3.将一个角色授予其他的角色或用户GRANT<角色1>[,<角色2>]…TO<角色3>[,<用户1>]…[WITHADMINOPTION该语句把角色授予某用户,或授予另一个角色授予者是角色的创建者或拥有在这个角色上的ADMINOPTION指定了WITHADMINOPTION则获得某种权限的角色或用户还可以把这种权限授予其角色一个角色的权限:直接授予这个角色的全部权限加上其他角色授予这个角色的全部权4.角色权限的收回REVOKE<权限>[,<权限>]…ON<对象类型><对象名>FROM<角色>[,<角色>]…用户可以回收角色的权限,从而修改角色拥有的权限REVOKE执行者是角色的创建者拥有在这个(些)角色上的ADMINOPTION数据库角色(续)数据库角色(续)[例9.13]创建角色R1。
CREATEROLER1;[例9.14]给角色授权,使得角色R1拥有对表Student的SELECT、UPDATE、INSERT权限。
GRANTSELECT,UPDATE,INSERT
ONStudent
TOR1;数据库角色(续)[例9.15]将用户U1、U3添加到角色R1中来。将U1、U3添加到角色R1中之后,U1、U3就拥有了R1拥有的所有权限,即对表Student的SELECT、UPDATE、INSERT的权限。(SQLSERVER用存储过程sp_addrolemember将用户加入某个角色。)EXECsp_addrolemember’R1’,’U1’;---将用户U1加入角色R1EXECsp_addrolemember’R1’,’U3’;---将用户U3加入角色R1[例9.16]删除角色R1,该命令执行后,该角色将被删除。DROPROLER1;9.3存取控制
9.3.1登录名和用户管理9.3.2自主存取控制9.3.3授权与收回权限9.3.4角色管理9.3.5强制存取控制自主存取控制缺点可能存在数据的“无意泄露”原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记解决:对系统控制下的所有主客体实施强制存取控制策略
9.3.5强制存取控制方法强制存取控制(MAC)保证更高程度的安全性用户不能直接感知或进行控制适用于对数据有严格而固定密级分类的部门军事部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胸腔引流护理指导
- 消防安全证书续期指南
- 急性牙周炎健康宣教内容
- 新闻台消防安全知识要点
- 黄浦消防安全专业机构
- 消防安全技能大赛方案
- 2026年大学生校园消防安全知识
- 消防安全动漫简笔画教程
- 2026年电力系统调度员招聘试题
- 网络就业及前景报告
- 跨国公司投资中国40年
- T/CCMA 0048-2017二手工程机械评估师
- 2025+CSCO宫颈癌诊疗指南解读 课件
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- DBS 62-014-2023 食品安全地方标准 兰州百合
- 搅拌站安全培训课件
- 2024年小学科学教师专业考试试题及答案(三套)
- ZYJ7道岔故障处理
- (正式版)SHT 1844-2024 工业用乙烯、丙烯中痕量氢气、一氧化碳、二氧化碳的测定 气相色谱-氦离子化检测法
- 销售技巧-连带销售课件
- 国家开放大学创业教育形考答案
评论
0/150
提交评论