数据库安全性精编版

上传人:ahu****ng1 文档编号:145153536 上传时间:2020-09-17 格式:PPTX 页数:38 大小:1.07MB
返回 下载 相关 举报
数据库安全性精编版_第1页
第1页 / 共38页
数据库安全性精编版_第2页
第2页 / 共38页
数据库安全性精编版_第3页
第3页 / 共38页
数据库安全性精编版_第4页
第4页 / 共38页
数据库安全性精编版_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《数据库安全性精编版》由会员分享,可在线阅读,更多相关《数据库安全性精编版(38页珍藏版)》请在金锄头文库上搜索。

1、数据库安全性,数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库的安全性和计算机系统的安全性是紧密联系、相互支持的。,计算机系统的安全性问题,技术安全类 采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护。 管理安全类 软硬件意外故障,场地的意外事故,计算机设备和数据介质的物理破坏、丢失等安全问题。 政策法律类 政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令。,可信计算机系统评测标准, 为降低进而消除对系统的安全攻击,尤其是弥补原有系统在安全保护方面的缺陷,在计算机安全技术方面逐步建立了一套可信标准。在目前各国所引

2、用或制定的一系列安全标准中,最有影响的当推1985年美国国防部(DoD)正式颁布的DoD可信计算机系统评估标准,简称TCSEC或DoD85,以及CC这两个标准。 在TCSEC推出后的10年里,不同的国家都开始启动开发建立在TCSEC概念上的评估准则,如欧洲的ITSEC,加拿大的CTCPEC,美国的FC等。这些准则比TCSEC更加灵活,适应了IT技术的发展。 这些准则的发起组织于1993年起开始联合行动,解决原标准中概念和技术上的的差异,将各自独立的准则集合成一组单一的、能被广泛使用的IT安全准则,这一行动被称为CC(Common Criteria)项目。历经多次讨论和修订,CC V2.1版于1

3、999年被ISO采用为国际标准,2001年被我国采用为国家标准。目前CC已经基本取代了TCSEC。,TDITCSEC标准,TCSEC又称桔皮书,1991年4月美国NCSC(国家计算机安全中心)颁布了可信计算机系统评估标准关于可信数据库系统的解释,简称TDI。将TCSEC扩展到数据库管理系统。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDITCSEC标准从以下四个方面来描述安全性级别划分的指标: 安全策略, 责任, 保证和文档. 每个方面又细分为若干项。, 根据计算机系统对标准中各项指标的支持情况,TCSEC (TDI)将系统划分为四组七个等级:(详细见书

4、),数据库安全性控制,在一般计算机系统中,安全措施是一级一级层层设置的: 用户标识与鉴别 一般通过用户名和口令来实现。,用户,DBMS,OS,DB,用户标识 和鉴别,存取控制,操作系统 安全保护,数据密码存储,存取控制,数据库安全性所关心的主要是 DBMS的存取控制机制。 确保只有合法用户才能访问数据库,一般通过授权来实现。 存取控制机制主要包括两部分: (1)定义用户权限 定义不同用户对于不同的数据对象允许执行的操作权限。系 统提供适当的语言来定义,经编译后存放在数据字典中。 (2)合法权限检查 每当用户发出存取数据库的操作请求后,DBMS查找数据字典中存储的权限定义,检查用户操作的合法性。

5、 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。,TDI安全策略中的存取控制, 自主存取控制 用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。 当前大型的DBMS一般都支持C2级中的自主存取控制(DAC),SQL标准也通过GRANT语句和REVOKE语句对其提供了支持。 强制存取控制 每一数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。 有些DBMS也支持B1级中的强制存取控制(MAC)。,自主存取控制方法,用

6、户权限是由两个要素组成的: (1) 数据对象 (2) 操作类型 定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。 存取权限的定义称为授权。,关系系统中的存取权限,SQL中的自主存取控制,在SQL中通过GRANT语句来进行授权: GRANT , ON , TO , WITH GRANT OPTION; 功能:将对指定操作对象的指定操作权限授予指定的用户。 谁定义?DBA和表的建立者(即表的属主) 指定了WITH GRANT OPTION子句: 获得某种权限的用户还可以把这种权限再授予别的用户。 没有指定WITH GRANT OPTION子句: 获得某种权限的用户只

7、能使用该权限,不能传播该权限,例题,例1 把查询和插入Student表权限授给 用户U1 GRANT SELECT , INSERT ON TABLE Student TO U1;,例题(续),例2 把对Student表和Course表的全部权限授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;,例4,例题(续),例3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC;,例题(续),例4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UP

8、DATE(Sno), SELECT ON TABLE Student TO U4;,例题(续),例5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;,传播权限,执行例5后,U5不仅拥有了对表SC的INSERT 权限, 还可以传播此权限: GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以将此权限授予U7: GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。 U5- U

9、6- U7,例题(续),例6 DBA把在数据库S_C中建立表的权限授予用户U8 GRANT CREATETAB ON DATABASE S_C TO U8;,通过REVOKE语句来收回权限:,REVOKE , ON , FROM , CASCADE | RESTRICT; 功能:从指定用户那里收回对指定对象的指定权限,例题,例7 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4;,例题(续),例8 收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC;,例题(续),例9

10、 把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE;,权限的级联回收,系统将收回直接或间接从U5处获得的对SC 表的INSERT权限: -U5- U6- U7 收回U5、U6、U7获得的对SC表的INSERT 权限: -U5- U6- U7,支持存取谓词的用户权限定义(提供与数据值/内容有关的授权),创建数据库模式的权限,GRANT和REVOKE语句向用户授予或收回对数据的操作权限。对数据库模式的授权则由DBA在创建用户时实现。 CREATE USER WITH DBA|RESOURCE|CONNECT; 只有系统的超

11、级用户才有权创建一个新的数据库用户。 新创建的数据库用户有三种权限:CONNECT、RESOURCE和DBA。,数据库角色,角色是权限的集合,使用角色可以简化授权的过程。 角色的创建 CREATE ROLE 刚刚创建的角色是空的,没有任何内容,可以用GRANT为角色授权。 给角色授权 GRANT , ON 对象名 TO , 将一个角色授予其他角色或用户 GRANT , TO , WITH ADMIN OPTION 角色权限的收回 REVOKE , ON FROM , ,强制存取控制(MAC)方法,MAC适用于那些对数据有严格而固定密级分类的部门。 在MAC中,DBMS所管理的全部实体被分为主体

12、和客体两大类: 主体是系统中的活动实体(用户、进程等);客体是系统中的被动实体(文件,基表、索引等),是受主体操纵的。 DBMS为每个主体和客体指派一个敏感度标记(Label),主体称为许可证级别,客体称为密级。,主体对客体的存取必须遵循如下规则:,(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体; (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。 强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。,视图机制,视图是实施安全性控制的一种 有效机

13、制。通过为不同用户定义不同的视图,并对每个用户授予在某个视图上的存取权限。这样可以严格限制每个用户对基表的存取操作,如只能存取基表中的某些列、某些行,从而把要保密的数据对无权存取的用户隐藏起来,自动地对数据提供一定程度的安全保护。 视图机制间接地实现了支持存取谓词的用户权限定义。,例子,CREATE VIEW CS_Student AS SELECT * FROM Student WHERE Sdept=CS; GRANT SELECT ON CS_Student TO 王平;,审计(Audit),按照TDI/TCSEC标准中安全策略的要求,“审计”功能是DBMS达到C2以上安全级别必不可少的

14、一项指标。 审计功能把用户对数据库的所有操作自动记录下来放入审计日志(Audit Log)中。DBA可以利用审计跟踪的信息,找出非法存取数据的人、时间和内容等。 审计通常是很费时间和空间的,一般可以根据应用对安全性的要求,灵活地打开或关闭审计功能。,数据加密,对于高度敏感性数据,除以上安全性措施外,还可以采用数据加密技术。 数据加密是防止数据库中数据在存储和传输中失密的有效手段。 目前有些数据库产品提供了数据加密(例行)程序,可根据用户的要求自动对存储和传输的数据进行加密处理。 数据加密与解密程序会占用大量系统资源且耗时,因此数据加密功能通常也作为可选特征。,Oracle数据库的安全性措施,用

15、户标识和鉴定 授权与检查机制 与前面讲的存取控制方法基本相同。 Oracle的审计技术 (1) 用户级审计 用户针对自己创建的数据库表或试图进行审计,记录所有用户对这些表或视图的一切成功或不成功的访问要求以及各种类型的SQL操作。 (2) 系统级审计 由DBA设置,用以监测成功或失败的登陆要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作。,Oracle的审计功能,Oracle的审计功能很灵活,是否使用审计,对哪些表进行审计,对那些操作进行审计等都可以由用户选择。 对修改SC表结构或数据的操作进行审计可使用如下语句: AUDIT ALTER, UPDATE ON SC; 取消对

16、SC表的一切审计可使用如下语句: NOAUDIT ALL ON SC; 审计设置以及审计内容均存放在数据字典中。,用户定义的安全性措施,除了系统级的安全性措施外,Oracle还允许用户用数据库触发器定义特殊的更复杂的用户级安全性措施。 例如,规定只能在工作时间内更新Student表,可以定义如下触发器: CREATE TRIGGER secure_student BEFORE INSERT OR UPDATE OR DELETE ON Student BEGIN IF (TO_CHAR(sysdate, DY) IN (SAT, SUN) OR (TO_NUMBER(sysdate, HH24) NOT BETWEEN 8 AND 17) THEN

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号