第四章数据库安全性_第1页
第四章数据库安全性_第2页
第四章数据库安全性_第3页
第四章数据库安全性_第4页
第四章数据库安全性_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章数据库安全性4.1数据库安全性概述4.2数据库安全性控制第四章数据库安全性4.1计算机的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。安全性问题不是数据库系统所独有的,所有计算系统都有这个问题。但数据库中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。第四章数据库安全性4.1计算机的安全性数据库的安全性和计算机系统的安全性,是紧密联系、相互支持的。包括计算机硬件、操作系统、网络系统等的安全性。第四章数据库安全性4.1.1计算机系统的三类安全性问题计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。第四章数据库安全性4.1.1计算机系统的三类安全性问题计算机安全不仅涉及到计算机系统本身的技术问题、管理问题,还涉及法学、犯罪学、心理学的问题。计算机系统的安全性问题可分为三大类,即技术安全类、管理安全类和政策法律类。第四章数据库安全性4.1.1计算机系统的三类安全性问题技术安全是指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。第四章数据库安全性4.1.1计算机系统的三类安全性问题管理安全是指由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障以及场地的意外事故等安全问题。政策法律则指政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。4.1.2

安全标准简介安全标准计算机以及信息安全技术方面有一系列的安全标准,最有影响的当推TCSEC和CC这两个标准。TCSEC又称橘皮书1991年4月美国NCSC(国家计算机安全中心)颁布了《可信计算机系统评估准则关于可信数据库系统的解释》(TrustedDatabaseInterpretation,简称TDI,即紫皮书),将TCSEC扩展到数据库管理系统。TDI中定义了数据库系统的设计与实现中需满足和用以进行安全性级别评估的标准。CC提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。4.2

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

应用DBMSOS

DB低高安全性控制层次方法:

用户标识和鉴别

数据库安全保护操作系统安全保护

数据密码存储计算机系统中的安全模型4.2数据库安全性控制的常用方法用户标识和鉴定(Identification&Authentication)系统提供的最外层安全保护措施存取控制访问权限通过视图调整授权定义可向用户授权数据库特定部分的用户视图审计追踪信息,重现导致数据库现有状况的一系列事件密码存储使用加密技术保护机密数据4.2.1用户标识与鉴定用户标识和鉴别是系统提供的最外层安全性保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。用户标识和鉴定的方法有很多种,常用的方法有:用户标识用一个用户名或者用户标识号来标明用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否是合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。4.2.1用户标识与鉴定口令为了进一步核实用户,系统常常要求用户输入口令。为了保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以鉴别用户身份。通过用户名和口令来鉴定用户的方法简单易行,但用户名与口令容易被人窃取,因此还可以用更复杂的方法。例如每个用户都预先约定好一个计算过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据用户计算结果是否正确进一步确定用户身份。用户可以约定比较简单的计算过程或函数以便计算起来方便;也可以约定比较复杂的计算过程或函数,以便安全性更好。4.2.1用户标识和鉴定SQLServer提供两种不同的方法来验证用户进入服务器。用户可以根据自己的网络配置决定使用其中一种。Windows验证NT以上O.S.:允许SQLServer使用O.S.的用户名和口令SQLServer验证用户传给服务器的登录信息与系统表syslogins中的信息进行比较。如果两个口令匹配,SQLServer允许用户访问服务器。如果不匹配,SQLServer不允许访问,并且用户会从服务器上收到一个出错信息4.2.2存取控制数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。4.2.2存取控制存取控制机制主要包括两部分:1.定义用户权限,并将用户权限登记到数据字典中。DBMS提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称做安全规则或授权规则。2.合法权限检查当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。4.2.2存取控制两类方法(1)在自主存取控制方法中,用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。(2)在强制存取控制方法中,每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制相对比较严格。4.2.3

自主存取控制(DAC)方法SQL的GRANT语句和REVOKE语句来实现。用户权限是由两个要素组成的:数据库对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据库对象上进行哪些类型的操作。在数据库系统中,定义存取权限称为授权。4.2.4授权(Authorization)与回收谁定义?DBA和表的建立者(即表的属主)如何定义?SQL语句:GRANT-将对指定操作对象的指定操作权限授予指定的用户REVOKE-从指定用户那里收回对指定对象的指定权限4.2.4授权与回收GRANT语句的一般格式:grant<权限>[,<权限>]…[on<对象类型><对象名>]to<用户>[,<用户>…][withgrantoption];例子:把查询Students表的权限授给用户wang

grantselectonStudentstowang;4.2.4授权与回收withgrantoption子句例子:把对表SC的查询权限、修改成绩权限授给wang和zhang,并允许wang和zhang将该权限授予他人

grant

select,update(Grade)

on

SC

towang,zhang

withgrantoption;DBA、对象的建立者和经过withgrantoption授权的用户可以把他们对该对象具有的操作权限授予其它的合法用户USER1USER2USER3USER44.2.5授权与回收授出的权限可以由DBA或其他的授权者收回revoke

<权限>[,<权限>]…[on<对象类型><对象名>]from<用户>[,<用户>…]例子:把用户wang和zhang修改成绩的权限收回

revokeupdate(Grade)

on

SCfromwang,zhang;授权回收操作是级联的USER1USER2USER3USER44.2.6数据库角色(Role)如果要给成千上万个雇员授权,将面临很大的管理难题,每次有雇员到来或者离开时,就得有人分配或去除可能与数百张表或视图有关的权限。这项任务不但耗时,而且容易出错。一个相对简单有效的解决方案就是定义数据库角色。数据库角色是被命名的一组与数据库操作相关的权限,即一组相关权限的集合。可以为一组具有相同权限的用户创建一个角色。使用角色来管理数据库权限可以简化授权的过程。4.2.6

数据库角色(Role)角色示例createrolehihihigrantselectonstudenttohihihisp_addrolememberhihihi,userli4.2.6强制存取控制(MAC)方法在MAC中,DBMS所管理的全部实体被分为主体和客体两大类。主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等等。对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。4.2.6强制控制敏感度标记被分成若干级别,例如绝密(TopSecret)、机密(Secret)、可信(Confidential)、公开(Public)等。主体的敏感度标记称为许可证级别(ClearanceLevel),客体的敏感度标记称为密级(ClassificationLevel)。MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。当某一用户(或一主体)以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;(2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。4.3视图机制视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护4.3视图机制在实际应用中通常是视图机制与授权机制配合使用,首先用视图机制屏蔽掉一部分保密数据,然后在视图上面再进一步定义存取权限这时视图机制实际上间接实现了支持存取谓词的用户权限定义4.3视图机制例如:USER1只能检索计算机系学生的信息(1)先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECT*FROMStudentWHERESdept=‘CS’;(2)在视图上进一步定义存取权限GRANTSELECTONCS_StudentTOUSER1;4.4审计审计功能把用户对数据库的所有操作自动记录下来放入审计日志(AuditLog)中。DBA可以利用审计日志中的追踪信息,重现导致数据库现有状况的一系列事件,以找出非法存取数据的人、时间和内容等。C2以上安全级别的DBMS必须具有审计功能4.4审计审计很费时间和空间,所以DBMS往往都将其作为可选特征。DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。当数据相当敏感,或者对数据的处理极为重要时,就必须使用审计技术。4.4审计审计一般可以分为用户级审计是任何用户可设置的审计,主要是针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测Grant和Revoke操作以及其他数据库级权限下的操作4.5

数据加密数据加密是防止数据库中数据在存储和传输中失密的有效手段。根据一定的算法将原始数据(术语为明文,Plaintext)变换为不可直接识别的格式(术语为密文,Ciphertext)不知道解密算法的人无法获知数据的内容4.5

数据加密替换方法使用密钥(EncryptionKey)将明文中的每一个字符转换为密文中的一个字符置换方法将明文的字符按不同的顺序重新排列这两种方法结合能提供相当高的安全程度

4.6

统计数据库安全性一般地,统计数据库允许用户查询聚集类型的信息(例如合计、平均值等),但是不允许查询单个记录信息。例如,查询“程序员的平均工资是多少?”是合法的,但是查询“程序员张勇的工资是多少?”是不允许的。在统计数据库中存在着特殊的安全性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论