当前位置:文档之家› 北航计算机学院_数据库_8

北航计算机学院_数据库_8


DB
数据加密
• • • •
用户标识与认证 访问控制(存取控制) 加密技术 审计
• 推理的控制 • 隐通道分析技术
4
用户标识与鉴别
• 用户标识和认证是系统提供的最外层安全 保护措施。
– 标识是指系统采用一定的方式标识其用户或应 用程序的名字或身份。 – 认证是指系统在用户或应用程序登录时判断其 是否为合法的授权用户。 – 常用的方法是采用用户名和口令。
–列约束主要是列的类型、取值范围、精度等 约束条件; –元组约束是元组中各个字段间联系的约束; –关系约束是若干元组间、关系之间的联系的 约束。
25
完整性约束条件分类
• 完整性约束可分为静态约束和动态约束。
–静态约束是指数据库在每一确定状态数据对 象所应满足的约束条件,它是反映数据库状态 合理性的约束。 –动态约束是指数据库从一种状态转变为另一 种状态时,新、旧值之间所应满足的约束条件, 它是反映数据库状态变迁的约束。
模式
数据
•对于用户存取权限的定义称为授权。在授权中应指明:用户 名,数据对象名,允许的操作类型。
8
SQL的数据安全性控制
• 在SQL中可以授予用户两类权限:
– 用户级权限
• 是数据库管理员为每个用户授予的特定权限。这种权 限与整个数据库相关,与数据库中具体的关系无关。 CS_Student As Select Sno, Sname From Student Where Sdept = ‘CS’; Grant Select On CS_Student To Wangping;
17
数据安全性控制的其它方法(2)
• 审计
– 把用户对数据库的所有操作都自动记录下来放 入审计日志中。DBA可以利用审计跟踪的信 息,重现导致数据库现有状况的一系列事件, 找出非法存取数据的人、时间和内容等;
• 将权限授予角色
– Grant Create table to Student_role;
• 取消用户SCOTT的Create Table权限。
– Revoke Create Table From SCOTT;
12
关系级权限的授予与收回
• DBA和数据库对象所有者将这些数据库对象上的 部分或全部权限授予其他用户。语法格式为:
23
数据完整性与数据安全性
• 数据完整性控制是为了防止数据库中存在 不符合语义的数据,防止错误信息的输入 和输出; • 数据安全性控制是保护数据库防止恶意的 破坏和非法存取; • 安全性防范的是非法用户和非法操作,完 整性措施的防范对象是不合语义的数据。
24
完整性约束条件
• 施加在数据库数据之上的语义约束条件称 为数据库完整性约束条件。数据库系统依 据完整性约束条件进行完整性检查。 • 完整性约束条件作用的对象可以是列、元 组、关系三种。
26
静态约束
• 静态列级约束是对一个列的取值域的说明, 包括对数据类型(包括数据类型、长度、 单位、精度等) 、数据格式、取值范围或 取值集合、空值等的约束。 • 静态元组约束规定了组成一个元组的各个 列之间的约束关系。 • 静态关系约束规定了一个关系的若干元组 或者若干关系之间常常存在的各种联系或 约束。包括:实体完整性约束、参照完整 性约束、函数依赖、统计约束等。
• 数据加密
– 防止数据库中数据在存储和传输中失密。加密 的基本思想是根据一定的算法将原始数据(明 文)变换为不可识别的格式(密文),从而使 得不知道解密算法的人无法获知数据的内容。
18
安全数据库体系结构示例
用户 注册 接收SQL语句 语法检查 审计日志 语义检查与优化 安全策略 数据库表 安全审计
Grant ALL| <权限> [{,<权限>}] On <表名> | <视图名> [{,<表名> | <视图名>}] To {<用户> [{, <用户>}] | public} [With Grant Option]
• 回收权限
–Revoke ALL|<表级权限> [{,<表级权限>}] On <表名>|<视图名> [{,<表名> | <视图名>}] From {<用户>[{,<用户>}]|PUBLIC}
– 每一个数据对象被标以一定的密级,每一个用 户也被授予某一个级别的许可证。对于任一个 对象,只有具有合法许可证的用户才可以存取。
7
自主存取控制
• 系统根据预先定义好的用户权限进行存取控制。用户权 限是指不同的用户对于不同的数据对象允许执行的操作 权限,由数据对象和操作类型两个要素组成 。 数据对象 模式 外模式 内模式 表 属性列 操作类型 建立、修改、检索 建立、修改、检索 建立、修改、检索 查找、插入、删除、修改 查找、插入、删除、修改
–收回权限时,若该用户已将权限授予其它用 户,则也一并收回。
13
示例
• 授予用户Liming在Student表上的Select和 Insert权限。
– Grant Select , Update On Student To Liming With Grant Option;
• 将Student表上的全部权限授予全体用户。
5
存取控制
• 存取控制确保合法用户按照指定的权限使用 DBMS和访问数据,而非法用户或不具有相关权 限的用户则不能。 • 存取控制机制主要包括两个部分:
–用户权限定义:将用户权限记录到数据字典中,形成 安全规则或授权规则。 –合法权限检查,每当用户发出数据库操作请求后, DBMS根据数据字典中的安全规则进行合法权限检查, 决定是否接受用户的操作请求。 –用户权限定义和合法权限检查机制一起组成了DBMS的 安全子系统。
第八章 数据库保护
• 数据库安全性控制 • 数据库完整性控制
1
数据库安全性控制
• 数据库安全性含义 • 数据库安全性控制
– – – – 用户标识与鉴别 自主存取控制 强制存取方法 其它方法
• 安全数据库体系结构示例 • 可信计算机系统评测标准
2
数据库系统的安全性
• 数据库的安全性是指保护数据库以防止不 合法的使用所造成的数据泄漏、更改和破 坏。它包括两个方面的含义:
– Grant ALL On Student To PUBLIC;
• 收回Liming对Student表的全部权限
Revoke ALL On Student From Liming;
14
强制存取方法
• 在MAC中,DBMS所管理的全部实体被分为主 体和客体两类。
– 主体 是系统中的活动实体,既包括DBMS所管理的实 际用户,也包括代表用户的各进程。 – 客体 是系统中的被动实体,是受主体操纵的,包括文 件、基本表、索引、视图等。
– 仅当主体的许可证级别大于或等于客体的密级 时,该主体才能读取相应的客体; – 仅当主体的许可证级别等于客体的密级时,该 主体才能写相应的客体。
16
数据安全性控制的其它方法(1)
• 视图机制
– 为不同的用户定义不同的视图,可以将用户对 数据的访问限制在一定的范围内。 – 例:限制王平只能检索Student表中计算机系 学生的学号和姓名。
– 向授权用户提供可靠的信息服务。 – 拒绝非授权的对数据的存取访问请求,保证数 据库管理下的数据的可用性、完整性和一致性, 进而保护数据库所有者和使用者的合法权益。
3
数据库安全性控制
• 包含数据库系统的计算机系统安全模型:
用户 /应用系统
用户标识和 认证
DBMS
存取控制
OS&Network
操作系统与网 络安全保护
29
完整性检查的时机
• 完整性约束条件按照完整性检查的时机分 为立即执行约束和延迟执行约束。
–立即执行约束是指在执行用户事务的过程中, 在一条语句执行完后立即进行完整性约束的检 查。若违背了完整性约束,系统将拒绝该操作。 –延迟执行约束是指在整个用户事务执行完毕 后,再进行完整性约束的检查,结果正确方能 提交。否则系统将拒绝整个事务。
DCL: DBA 建 立 新用户
DDL: 用户建立 新表
DML: 处理元组
安全策略
19
结果输出
可信计算机系统评测标准
• TCSEC(Trusted Computer System Evaluation Criteria)
– 1985年,美国国防部制定了可信计算机评估标准 TCSEC
• TDI/TCSEC
A1
数据完整性控制
• 数据完整性含义 • 完整性约束条件 • 完整性控制
22
数据完整性控制
• 数据完整性是指数据的正确性和相容性。
– 正确性是指数据应具有合法的类型,并在有效 的取值范围之内。 – 相容性是指表示同一个事实的两个数据应该相 同。
• 数据库能否保持完整性关系到数据库系统 是否能够真实的反映现实世界,因此维护 数据库的完整性十分重要。
10
用户级权限与角色的授予与收回
• 在SQL语言中,通过Grant语句授予用户 数据库中的 用户级权限或角色,其语法格式为:
Grant <用户级权限>|<角色> [{,<用户级权限>|<角色>}] To <用户名>|<角色>|public [{,<用户名>|<角色>}] 允许被授权的用户将指 [With Grant Option] 定的用户级权限或角色
– 关系级权限
• 是数据库管理员或数据库对象的拥有者为用户授予的 与关系或视图有关的权限。这种权限是对用户使用关 系和视图的权限的限定。
9
角色与用户组
相关主题