数据库系统概论第四章-安全性控制.ppt
1,第4章 数据库安全性,4.1 基本原理4.1.1 概述1.概念防止对DB中的数据的非授权使用。(避免泄露、更改或破坏)。在妥当的时刻,以妥当的形式,向妥当的人,提供妥当的数据。,2,2.安全控制机制,3.DBS中的一般方法1)用户鉴别 2)存取控制 3)密码存储4.1.2 用户鉴别1.口令,口令常用的一种用户标识,固定口令 随机口令 口令时限2.可读声份卡片声波、指纹、签名、图像,3,4.1.3 访问控制防止非授权访问。1)用户权限定义 生成安全规则或者授权规则。,数据对象名:模式、子模式、表、属性(不同粒度)操作类型:Create,Select,update,insert,all其它:如操作时间、范围,2)用户权限的检查 DBMS查找资料字典,并控制用户的存取权限。上述这两部分合起来可以作为DBMS的一个安全子系统。存取控制分为自主存取控制和强制存取控制,其中强制存取控制的安全级别较高。,4,自主存取控制(DAC):不同的用户有不同的存取权限,而且用户可以自主的将自己的权限授予其它用户。强制存取控制(MAC):(可防止非法拷贝)相关概念(主体、客体、敏感度标记、许可证级别)强制存取控制适用于对资料有严格而固定密级分类的部门。“资料”对象被标定以相应的保密级别,每个用户被授予相应每个保密级别的许可证。用户只能 1)读取保密级别小于或者等于自身许可证级别的资料;2)修改保密级别大于或者等于自身许可证级别的资料。强制存取控制中,密级标记和数据是不可分割的整体。,5,较高安全级别的数据保护要包含较低级别的所有保护,所以在实现强制存取控制(MAC,Mandatory)时首先要实现自主存取控制(DAC,Discretionary),6,最高密级主体,最低密级主体,强制存取控制原理:,7,4.1.4 审计控制对用户使用系统资源(H、S)情况的登记和审查。1.功能1)设备安全审计主要审查系统资源的安全策略、各种安全保护措施、故障恢复计划等。2)操作审计各种操作的记录、分析(事务、操作类型、用户、终端、操作时间、审计时间、),8,3)应用审计应用系统功能、控制逻辑、数据流正确与否的审计。4)攻击审计已发生攻击操作及危害系统安全事件的检测和审计。2.技术1)静态技术利用软件设计说明书、流程图分析、明确易被攻击的环节。2)动态技术 实际运行测试(控制逻辑,)性能测试(测试用例、仿真程序)3)结果验证 数据的选择、收集和分析。,9,4.1.5 数据加密以密码文形式保存和传输数据(只有知道密钥的用户才能访问)。1.处理流程处理流程如下图所示:,2.加密方法1.信息编码 2.信息换位 3.信息替换,10,4.2 ORACLE安全控制 用户鉴别;操作授权控制;安全审计;用户定义安全控制。4.2.1 用户鉴别 最外层安全措施;用户标识用户名;最多可重复标识三次。4.2.2 操作授权1.权限类别1)系统权限 2)访问对象权限2、授权机制非集中式授权。1)DBA负责授予回收系统权限。2)用户负责授予与回收其创建的访问对象的权限。,11,3、系统权限。1)权限责制(80多种系统权限)创建会话、创建表、创建视图、创建用户。2)角色一组系统权限的集合,利于减化权限管理。CONNECT角色:允许用户登录DB、查询及操纵(ALTER TABLECREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROPI NDEX,GRANT,REVOK,INSERT,UPDATE,DELETE,AUDIT,NOAUDIT等),12,RESOURCE角色:允许用户建立表(CREATE TABLE)创建该表的用户具有对该表的各种操作权限。DBA角色:权力最大。具有上两种角色的所有权限。其它管理权限(如将Connect 角色授予某个用户,可省掉十八条GRANT语句)。4、访问对象权限1)对象基本表、视图、序列、同义词、存储过程、函数,13,2)基本表安全性(最重要)表级行级列级3)表级安全性 权限ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE、ALL 授权命令:GRANT 回收命令:REVOKE,14,4)行级安全性由视图操作授权实现(视图是表的子集,相当于行级)。权限 同上述表级。授权命令:GRANT 回收命令:REVOKE5)列级安全性由视图操作授权实现或在基本表上实现。权限:基本表:UPDATE(回收不对列,而是对整个表)视图:同行级,15,授权命令:GRANT例GRANT UPDATE(XH,XM)ON Student to user1 回收命令:REVOKE STUDENT(整个表的DELETE权回收)4.2.3 安全审计1、任务:登记和监测各类操作。2、级别:用户级 系统级3、用户级审计用户自行设置的审计。(1)审计对象用户创建的基本表用户创建的的视图(2)审计内容对用户自己创建的基本表、视图的所有SQL操作的记录和监测。,16,4、系统级审计由DBA设置的一审计。审计对象DB一级 审计内容GRANTREVOKE其它DB级操作5、说明 用户有权决定审计对象与内容AUDIT ALTER,UPDATE ON STUDENT(用户要求对STUDENT的ALTER、UPDATE操作实施审计)用户有权取消审计NOAUDIT ALL ON STUPENT(取消对STUDENT的各种操作的审计),17,4.2.4 用户定义安全控制1、控制内容 审计精度更细的审计精度 操作约束特殊的操作控制(如操作时间限制)2、控制技术建立触发器。例:(不能在星期六、星期天删除student中的数据)。CREATE OR REPLACE TRTGGER TGR-STUDENT BEFORE DELETE ON STUDENT BEGINIF(TO_CHAR(Sysdate,DY)IN(SAT,SUN))THEN RAISE-APPLICATION-ERROR(-20506,此时,你不能册除该数据);END IFEND;,