数据库安全性和完整性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据对象 概念模式
操作类型 建立、修改、检索
模式
外模式
建立、修改、检索
数据
内模式 表
属性列
建立、修改、检索 查找、插入、删除、修改 查找、插入、删除、修改
SQL的数据控制
当数据库管理员建立了一个新用户之后,必须授 予它一定的权限,该用户才能使用数据库。在数 据库系统中可以授予用户两类权限:
– 用户级权限 用户级权限是数据库管理员为每个用户 授予的特定权限。这种权限与整个数据库相关,与 数据库中具体的关系无关。这种权限是对用户使用 整个数据库的权限的限定。
全区域
人员、组织安全控制
– 建立安全管理机构和相应安全评估、管理制度 – 明确组织间的访问安全关系 – 明确明确组织内的安全角色和责任 – 建立人员聘用和考察制度,通过合同条款和保密协
议,明确每个人的安全保密责任 – 建立责任追究制度
外部安全控制
过程安全控制
– 确定业务操作过程的安全需求 – 制订访问控制规则,并明确个人用户(或组
– 例:收回Liming对Student表的全部权限
Revoke ALL On Student From Liming;
– 收回权限时,若该用户已将权限授予其它用 户,则也一并收回。
用户权限定义表
用户名 王平
张明霞 张明霞 张明霞 张明霞 张明霞
数据对象名 关系Student 关系Student 关系Course Sc.Grade Sc.Sno Sc.Cno
对数据库的安全威胁的分类
偶然地、无意地接触或修改DBMS管理 下的数据
– 自然的或意外的事故 – 硬件或软件的故障/错误导致数据丢失 – 人为的失误,如错误的输入和应用系统的不
正常使用。
对数据库的安全威胁的分类(I)
蓄意的侵犯和敌意的攻击
– 授权用户可能滥用其权力 – 信息的非正常扩散-泄密 – 由授权读取的数据推论出不应访问的数据 – 对信息的非正常修改 – 敌对方的攻击,内部的或外部的非授权用户从不同
[With Grant Option]
关系级权限的授予与收回
授予用户Liming在Student表上的Select和 Insert权限。
– Grant Select , Update On Student To Liming With Grant Option;
Liming授予用户SCOTT在Student表的Sno列 上的Update权限。
和鉴别 安全保护 安全保护
加密
本章只涉及由数据库本身提供的安全机制。
用户标识与鉴别
用户标识和鉴别是系统提供的最外层安 全保护措施。标识是指系统采用一定的 方式标识其用户或应用程序的名字或身 份。鉴别是指系统在用户或应用程序登 录时判断其是否为合法的授权用户。应 用系统、网络系统、操作系统、DBMS 都可以进行用户标识和鉴别,通常的做 法是采用用户名和口令。
用户)的权限 – 建立访问管理制度,确定用户、特权、密码
等的管理措施和操作过程规定 – 明确用户在密码使用和设备安全等方面的责
任 – 建立监测和审查制度 – 建立安全事故管理制度
数据库安全性控制
数据库系统的安全保护是由多个层次的 构成的。
网络
OS
DBMS
DB
用户标识 网络系统 操作系统 存取控制 数据
– Grant Select On CS_Student To Wangping;
强制存取方法
主体 是系统中的活动实体,既包括DBMS所管 理的实际用户,也包括代表用户的各进程。
客体 是系统中的被动实体,是受主体操纵的, 包括文件、基本表、索引、视图等
对于主体和客体,DBMS为他们每个实例(值) 指定一个敏感度标记。敏感度表被分为若干级 别,如绝密、机密、可信、公开等。主体的敏 感度标记称为许可证级别,客体的敏感度标记 称为密级。
– 关系级权限 关系级权限是数据库管理员或数据库对 象的拥有者为用户授予的与关系或视图有关的权限。 这种权限是对用户使用关系和视图的权限的限定。
角色与用户组
为了管理数据库特权的方便,数据库还 支持角色和用户组的概念。
– 角色是一组权限的集合,可以把它授予用户 或其他角色。当把某个角色授予用户(或角 色)或从用户(或角色)处收回时,就同时 授予或收回了该角色代表的全部权限。
可信计算机评测标准(续I)
安全级别


A1 验证设计(Verified Design)
B3 安全域(Security Domain)
B2 结构化保护(Structural Protection)
B1 标记安全保护(Labeled Security Protection)
C2 受控存取保护(Controlled Access Protection)
– 强制存取控制(mandatory access control,简 称MAC)。每一个数据对象被标以一定的密 级,每一个用户也被授予某一个级别的许可 证。对于任一个对象,只有具有合法许可证 的用户才可以存取。
自主存取控制方法
用户权限由两个要素组成,数据对象和操作类 型。定义一个用户的存取权限就是要定义这个 用户可以在哪些数据对象上进行哪些类型的操 作,在数据库系统中称之为授权。
存取控制
存取控制确保合法用户按照指定的权限使用 DBMS和访问数据,而非法用户或不具有相关 权限的用户则不能。
存取控制机制主要包括两个部分:
– 定义用户权限,并将用户权限记录到数据字典中, 形成安全规则或授权规则。其中,用户权限是指不 同的用户对于不同的数据对象允许执行的操作权限。
– 合法权限检查,每当用户发出数据库操作请求后, DBMS根据数据字典中的安全规则进行合法权限检 查,决定是否接受用户的操作请求。
第九章 数据库的安全性和完整性
计算机系统的安全性
计算机系统的安全性是指为计算机系统 建立和采取的各种安全保护措施,以保 护计算机系统中的硬件、软件和数据, 防止其因偶然或恶意的原因使系统遭到 破坏,数据遭到更改或泄漏等。
计算机系统安全问题的分类
技术安全类
– 技术安全是指计算机系统中采用具有一定安全性的 硬件、软件来实现对计算机系统及其所存数据的安 全保护,当计算机受到有意的或无意的攻击时仍能 保证系统的正常运行,保证系统内的数据不增加、 不丢失、不泄露。
– Grant Update(Sno) On Student To SCOTT;
将Student表上的全部权限授予全体用户。
– Grant ALL On Student To PUBLIC;
关系级权限的授予与收回
回收权限
– Revoke ALL|<表级权限> [{,<表级权限>}] On <表名>|<视图名> [{,<表名> | <视图名>}] From {<用户>[{,<用户>}]|PUBLIC}
C1 自主安全保护(Discretionary Security Protection)
D 最小保护(Minimal Protection)
对数据库的安全威胁
原则上,凡是造成对数据库内存储数据 的非授权访问–读取,或非授权的写入– 增加、删除、修改等,都属于对数据库 的数据安全造成了威胁或破坏。另一方 面,凡是影响授权用户以正常方式使用 数据库系统的数据服务的,也称之为造 成侵犯,对数据库的安全形成了威胁或 破坏。
将权限授予角色
– Grant Create table to Student_role;
将角色授予角色
– Grant Resource to Student_role;
将角色授予用户组
– Grant Student_role to PUBLIC;
用户级权限与角色的授予与收回
当要取消一个用户或角色的权限时,可 以使用REVOKE语句将其收回:
允许的操作类型 SELECT UPDATE ALL UPDATE SELECT SELECT
利用视图实现安全控制
为不同的用户定义不同的视图,可以将 用户对数据的访问限制在一定的范围内。
例:限制王平只能检索Student表中计算 机系学生的学号和姓名。
– Create View CS_Student As Select Sno, Sname From Student Where Sdept = ‘CS’;
数据库安全控制涉及多个方面,它可分 为内部安全控制和外部安全控制。
– 内部安全控制由计算机系统的软硬件实现。 它必须与管理系统物理存取的适当的外部安 全控制相配合。
– 外部安全控制解决内部安全控制不能解决的 问题
外部安全控制
实体安全控制
– 划定安全区域,设置安全屏障和建立安全控制 – 评估安全风险,将涉密设备和材料放置在不同的安
– 向授权用户提供可靠的信息服务。 – 同时,拒绝非授权的对数据的存取访问请求,
保证数据库管理下的数据的可用性、完整性 和一致性,进而保护数据库所有者和使用者 的合法权益。
数据库安全性控制
管理、技术、 操作
多个方面
安 全
物理、网络、系统、应 用
多个层次
设计、构建、运行、 维护
整个周期
数据库安全性控制
– 用户权限定义和合法权限检查机制一起组成了 DBMS的安全子系统。
DAC与MAC
存取控制可以分为:
– 自主存取控制(discretionary access control, 简称DAC)。用户对于不同的数据对象拥有 不同的存取权限,不同的用户对同一对象也 有不同的权限,而且用户还可以将其拥有的 权限转授给其他用户。
Revoke <用户级权限>|<角色> [{,<用户级权限>|<角色>}] From <用Hale Waihona Puke Baidu名>|<角色>|public [{,<用户名>|<角色>}]
例:取消用户SCOTT的Create Table权 限。
– Revoke Create Table From SCOTT;
关系级权限的授予与收回
管理安全类
– 技术安全之外的,诸如软硬件意外故障、场地的意 外事故、管理不善导致的计算机设备和数据介质的 物理破坏、丢失等安全问题视为管理安全。
政策法律类
– 指政府部门建立的有关计算机犯罪、数据安全保密 的法律道德准则和政策法规、法令。
可信计算机评测标准
1985年,美国国防部制定了可信计算机评估标 准TCSEC(Trusted Computer System Evaluation Criteria)。1991年4月,美国国家计 算机安全中心NCSC发布《可信计算机系统评 估标准关于数据库系统的解释TDI(Trusted Database Interpretation),将TCSEC扩展到数 据库管理系统。它们从安全策略、责任、保证、 文档四个方面描述了安全级别划分的指标。
每一个用户都拥有自己定义的数据库对象如 (基本表、视图等),除了他自己和拥有DBA 权限的用户以外,其他用户都不能访问这些数 据库对象。如果想和其他用户共享其中一部分 数据库对象,就必须将这些数据库对象上的部 分或全部权限授予其他用户。其语法格式为:
Grant ALL| <权限> [{,<权限>}] On <表名> | <视图名> [{,<表名> | <视图名>}] To {<用户> [{, <用户>}] | public}
其中,public指数据库中的全部用户。With Grant Option则允许被授权的用户将指定的用 户级权限或角色授予其他用户。
用户级权限与角色的授予与收回
为用户授予用户级权限
– Grant Create Session to SCOTT;
为用户授予角色
– Grant Connect to SCOTT;
– 用户组是一组具有相同特性用户的集合。在 授权或收回权限时,可以以用户组为单位进 行。
用户级权限与角色的授予与收回
在SQL语言中,通过Grant语句为用户授予用 户级权限或角色,其语法格式为:
Grant <用户级权限>|<角色> [{,<用户级权限>|<角色>}] To <用户名>|<角色>|public [{,<用户名>|<角色>}] [With Grant Option]
渠道进行攻击。 – 敌对方对软件和硬件的蛮力破坏 – 绕过DBMS直接对数据进行读写 – 病毒、特洛伊木马、天窗 – 通过各种途径干扰DBMS的正常工作状态,使之在
正当用户提出数据请求时,不能正常提供服务。
数据库的安全性
数据库的安全性是指保护数据库以防止 不合法的使用所造成的数据泄漏、更改 和破坏。它包括两个方面的含义:
相关文档
最新文档