数据库原理与技术6安全性.ppt_第1页
数据库原理与技术6安全性.ppt_第2页
数据库原理与技术6安全性.ppt_第3页
数据库原理与技术6安全性.ppt_第4页
数据库原理与技术6安全性.ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、高 级 数 据 库 安 全 性,汤 娜 中山大学计算机科学系 ,系统篇,数据库完整性 数据库恢复技术 并发控制 数据库安全性,数据库安全性,1 安全概论 2 数据库安全性控制 3 统计数据库安全性 4 小结,数据库安全性,问题的提出 数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享 例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据,数据库安全性(续),数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据 数

2、据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一,数据库安全性(续),什么是数据库的安全性 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。 什么是数据的保密 数据保密是指用户合法地访问到机密数据后能否对这些数据保密。 通过制订法律道德准则和政策法规来保证。,数据库安全性级别,安全性与完整性的比较 安全性:非法用户对数据库故意的破坏 完整性:合法用户的数据库不经意的破坏,数据库安全性级别,安全性级别 环境级:计算机系统的机房和设备应加以保护,防止有人进行物理破坏。 职员级:工作人员应清正廉洁,正确授予用户访问数据库的权限。 OS级:应防止未经授权的用

3、户从OS处着手访问数据库。 网络级:由于大多数DBS都允许用户通过网络进行远程访问,因此网络软件内部的安全性是很重要的。 DBS级:DBS的职责是检查用户的身份是否合法及使用数据库的权限是否正确。,安全标准,为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标准 TCSEC (桔皮书) TDI (紫皮书),可信计算机系统评测标准(续),TCSEC/TDI安全级别划分,数据库安全性,1 安全概论 2 数据库安全性控制 3 统计数据库安全性 4 小结,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制

4、方法 2.6 视图机制 2.7 审计 2.8 数据加密,2.1 数据库安全性控制概述,非法使用数据库的情况 用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据; 直接或编写应用程序执行非授权操作;,数据库安全性控制概述(续),通过多次合法查询数据库从中推导出一些保密数据 例:某数据库应用系统禁止查询单个人的工资,但允许查任意一组人的平均工资。用户甲想了解张三的工资,于是他: 首先查询包括张三在内的一组人的平均工资 然后查用自己替换张三后这组人的平均工资 从而推导出张三的工资 破坏安全性的行为可能是无意的,故意的,恶意的。,计算机系统中的安全模型,方法

5、:,用户标识 和鉴定,存取控制 审计 视图,操作系统 安全保护,密码存储,数据库安全性控制概述(续),数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 密码存储,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制方法 2.6 视图机制 2.7 审计 2.8 数据加密,2.2 用户标识与鉴别,用户标识与鉴别(Identification & Authentication) 系统提供的最外层安全保护措施,2.2 用户标识与鉴别,基本方法 系统提供一定的方式让用户标识自己的名字或身份; 系统内部

6、记录着所有合法用户的标识; 每次用户要求进入系统时,由系统核对用户提供的身份标识; 通过鉴定后才提供机器使用权。 用户标识和鉴定可以重复多次,用户标识自己的名字或身份,用户名/口令 简单易行,容易被人窃取 每个用户预先约定好一个计算过程或者函数 系统提供一个随机数 用户根据自己预先约定的计算过程或者函数进行计算 系统根据用户计算结果是否正确鉴定用户身份 有些DBMS除了访问DBMS的账号外,为了访问制定的数据库,还需要另外的账号,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制方法 2.6 视图机制 2

7、.7 审计 2.8 数据加密,2.3 存取控制,存取控制机制的功能 存取控制机制的组成 定义存取权限 检查存取权限 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统,存取控制(续),常用存取控制方法 自主存取控制(Discretionary Access Control ,简称DAC) C2级 灵活 强制存取控制(Mandatory Access Control,简称 MAC) B1级 严格,自主存取控制方法,同一用户对于不同的数据对象有不同的存取权限 不同的用户对同一对象也有不同的权限 用户还可将其拥有的存取权限转授给其他用户,强制存取控制方法,每一个数据对象被标以一定的密级 每一

8、个用户也被授予某一个级别的许可证 对于任意一个对象,只有具有合法许可证的用户才可以存取,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制方法 2.6 视图机制 2.7 审计 2.8 数据加密,2.4 自主存取控制方法,定义存取权限 存取权限 存取权限由两个要素组成 数据对象 操作类型,自主存取控制方法(续),关系系统中的存取权限 数据对象操作类型 模 式 模 式建立、修改、删除、检索 外模式 修改、删除、检索 数 据 表查找、插入、修改、删除 属性列查找、插入、修改、删除 系统活动 执行 程序 创建、改

9、变、使用 存储过程 执行 索引 创建、删除 ?参照,自主存取控制方法(续),关系系统中的存取权限(续) SQL2中的用户权限及其操作GRANT/REVOKE 用户权限:SELECT INSERT DELETE UPDATE REFERENCES USAG 授权语句 GRANT ON TO WITH GRANT OPTION 回收语句 REVOKE ON FROM RESTRICT | CASCADE,SQL中的权限操作实例,GRANT SELECT,UPDATE ON S TO WANG WITH GRANT OPTION GRANT INSERT ON SC (Sno,Cno) TO LOU

10、 WITH GRANT OPTION GRANT REFERENCES ON C(CNO) TO BAO WITH GRANT OPTION GRANT USAGE ON DOMAIN AGE TO CHEN,SQL中的权限操作实例,grant create table create index to user5,user9 grant trace to user6 grant execute on proc1 to user1,user9 REVOKE SELECT,UPDATE ON S FROM WANG CASCADE REVOKE GRANT OPTION FOR REFERENCE

11、S ON C (Cno) FROM BA,权限的授予和回收,权限转授图,一个用户拥有权限的充分必要条件是在权限图中从根结点到该用户结点存在一条路经,DBA,U1,U2,U3,授权的一些其他问题,如果一个用户创建了一个对象(关系视图角色),则拥有对此基表的全部权限(包括授予别人权限的权限)! 授权的一些缺陷: 不能实现元组级的授权(可以通过视图或触发器来实现) 视图的一些问题 With the growth in Web access to databases, database accesses come primarily from application servers. End user

12、s dont have database user ids, they are all mapped to the same database user id All end-users of an application (such as a web application) may be mapped to a single database user,The task of authorization in above cases falls on the application program, with no support from SQL Benefit: fine graine

13、d authorizations, such as to individual tuples, can be implemented by the application. Drawback: Authorization must be done in application code, and may be dispersed all over an application Checking for absence of authorization loopholes becomes very difficult since it requires reading large amounts

14、 of application code,视图机制(续),视图机制与授权机制配合使用: 首先用视图机制屏蔽掉一部分保密数据 视图上面再进一步定义存取权限 实现了水平子集和垂直子集上的安全 间接实现了支持存取谓词的用户权限定义,视图机制(续),例:王平只能检索计算机系学生的信息 先建立计算机系学生的视图CS_Student CREATE VIEW CS_Student AS SELECT FROM Student WHERE Sdept=CS;,视图机制(续),在视图上进一步定义存取权限 GRANT SELECT ON CS_Student TO 王平 ;,视图的权限问题,创建视图不需要授权,如

15、果对基表没有任何权限,系统会拒绝创建视图! The creator of a view gets only those privileges that provide no additional authorization beyond that he already had. create view cust-loan as select branchname, customer-name from borrower, loan where borrower.loan-number = loan.loan-number E.g. if creator of view cust-loan ha

16、d only read authorization on borrower and loan, he gets only read authorization on cust-loan,自主存取控制方法(续),关系系统中的存取权限(续) 定义了存取权限后,记录在数据字典中 用户名 数据对象名 允许的操作类型 王 平 关系Student SELECT 张明霞 关系Student UPDATE 张明霞 关系Course ALL 张明霞 SC. Grade UPDATE 张明霞 SC. Sno SELECT 张明霞 SC. Cno SELECT,Data Dictionary Storage,数据字

17、典 (也称为 system catalog) stores metadata: that is, data about data, such as Information about relations names of relations names,domain,lengths and types of attributes physical file organization information(占用多少块,所使用的存储方法) statistical data such as number of tuples in each relation integrity constraint

18、s view definitions user and accounting information information about indices,Data Dictionary Storage (Cont.),Catalog structure: can use either 专门的数据结构 designed for efficient access 作为一个表的集合, 采用现存系统中实现和管理关系的技术来实现有效的存取。 The latter alternative is usually preferred,安全报表,DBA可以使用sql语句或系统存储过程检索系统目录表中的安全信息。

19、 要保证系统目录的安全,只有SA,DBA,安全管理员需要访问系统目录中的安全信息 随着需求变动,数据库安全也需要变动。所以要定期做安全复查。安全复查的信息来源于系统目录表的报表,自主存取控制方法(续),检查存取权限 对于获得上机权后又进一步发出存取数据库操作的用户 DBMS查找数据字典,根据其存取权限对操作的合法性进行检查 若用户的操作请求超出了定义的权限,系统将拒绝执行此操作,自主存取控制方法(续),授权粒度 授权粒度是指可以定义的数据对象的范围 它是衡量授权机制是否灵活的一个重要指标。 授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统就越灵活。,自主存取控制方法(续

20、),关系数据库中授权的数据对象粒度 数据库 表 属性列 行,授权角色和组(SQL99),除了给个别用户授予权限,DBMS可能还提供以下的授权功能 给一个角色制定权限,然后把角色赋予用户 给用户制定内建的权限组 有的DBMS中的角色就是组,或者组就是角色,授权角色和组,角色 一旦定义一个角色,该角色便可以被用来给用户赋予一个或多个预先分配好的权限,DBA可以创建角色并给这个角色分配特定的权限,然后再将这个角色分配给一个或多个用户或或者角色 create role manager grant select on employee to manager grant insert,update,del

21、ete on job-title to manager grant execute on payroll to manager grant mamager to user1,授权角色和组,组 组一级授权和角色类似。 每一种DBMS提供了不可改变的内建组 系统管理员(sa或sysadm) 数据库管理员(dba,dbadm) 数据库维护(dbmaint) 比如:运行实用工具和提交命令的能力 安全管理员 口令管理、审计、安全配置,执行grant,revoke语句) 操作控制(oper或sysopr) 操作性任务,如备份、恢复或结束出问题的任务,自主存取控制方法小结,定义存取权限 用户 检查存取权限

22、DBMS,自主存取控制方法小结,授权粒度 数据对象粒度:数据库、表、属性列、行 数据值粒度:存取谓词 授权粒度越细,授权子系统就越灵活,能够提供的安全性就越完善。但另一方面,因数据字典变大变复杂,系统定义与检查权限的开销也会相应地增大。,自主存取控制方法小结,优点 能够通过授权机制有效地控制其他用户对敏感数据的存取 缺点 可能存在数据的“无意泄露” 原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。 解决:对系统控制下的所有主客体实施强制存取控制策略,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制

23、方法 2.5 强制存取控制方法 2.6 视图机制 2.7 审计 2.8 数据加密,2.5 强制存取控制方法,什么是强制存取控制 强制存取控制(MAC)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段。 MAC不是用户能直接感知或进行控制的。 MAC适用于对数据有严格而固定密级分类的部门 军事部门 政府部门,强制存取控制方法(续),主体与客体 在MAC中,DBMS所管理的全部实体被分为主体和客体两大类 主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程 客体是系统中的被动实体,是受主体操纵的 文件 基表 索引 视图,强制存取控制

24、方法(续),敏感度标记 对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label) 敏感度标记分成若干级别 绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),强制存取控制方法(续),主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level) MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体,强制存取控制方法(续),强制存取控制规则 当某一用户(或某一主体)以标记label注册入系统时,系统要求他对任何客体的

25、存取必须遵循下面两条规则: (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。,强制存取控制方法(续),修正规则: 主体的许可证级别 =客体的密级 主体能写客体 用户可为写入的数据对象赋予高于自 己的许可证级别的密级 一旦数据被写入,该用户自己也不能再读该数据对象了。,强制存取控制方法(续),规则的共同点 禁止了拥有高许可证级别的主体更新低密级的数据对象,强制存取控制方法(续),强制存取控制的特点 MAC是对数据本身进行密级标记 无论数据如何复制,标记与数据是一个不可分的整体 只有符合密级标记要求的

26、用户才可以操纵数据 从而提供了更高级别的安全性,MAC与DAC,DAC与MAC共同构成DBMS的安全机制 原因:较高安全性级别提供的安全保护要包含较低级别的所有保护 先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。,强制存取控制方法(续),DAC + MAC安全检查示意图 SQL语法分析 & 语义检查 DAC 检 查 安全检查 MAC 检 查 继 续,比较的例子,有一张成绩表,只有张老师可以通过一个程序访问,则学生可以在数据库中建立一个表image,并将表的插入的权限给与张老师,再通过修改老师程序的代码,将成绩表的记录内容插入image,

27、将成绩表拷贝出来 将成绩表的级别定为s,老师也给与s的级别,学生给与c的级别,由于学生只能创建c或比c更低级别的对象,即使修改老师程序的代码,也无法修改表image,绝密(Top Secret) 机密(Secret) 可信(Confidential) 公开(Public),2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制方法 2.6 审计 2.7 数据加密,2.7 审计,什么是审计 启用一个专用的审计日志(Audit Log) 将用户对数据库的所有操作记录在上面 DBA可以利用审计日志中的追踪信息 找出

28、非法存取数据的人 C2以上安全级别的DBMS必须具有审计功能,审计(续),审计功能的可选性 审计很费时间和空间 DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。,审计(续),强制性机制: 用户识别和鉴定、存取控制、视图 预防监测手段: 审计技术,2 数据库安全性控制,2.1 数据库安全性控制概述 2.2 用户标识与鉴别 2.3 存取控制 2.4 自主存取控制方法 2.5 强制存取控制方法 2.6 视图机制 2.7 审计 2.8 数据加密,2.8 数据加密,数据加密 防止数据库中数据在存储和传输中失密的有效手段 加密的基本思想 根据一定的算法将原始数据(术语为明文,Plain text)变换为不可直接识别的格式(术语为密文,Cipher text) 不知道解密算法的人无法获知数据的内容,数据加密(续),加密方法 替换方法 使用密钥(Encryption Key)将明文中的每一个字符转换为密文中的一个字符 置换方法 将明文的字符按不同的顺序重新排列 混合方法 美国1977年制定的官方加密标准:数据加密标准(Data Encryption Standard,简称DES),数据加密(续),DBMS中的数据加密 有些数据库产品提供了数据加密例行程序 有些数据库产品本身未提供加密程序,但提供了接口,数据加密(续),数据加密功能通常也作

温馨提示

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

评论

0/150

提交评论