第五章.数据库安全策略
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动作(Action):系统中的安全策略所要控制
的访问模式。
简单模式SA为三元组(s,o,tp), 复杂模式CA为六元组(s,o,tp,tk,r,te
)。
8
5.3 安全策略模型
5.3.1 Harrison-Ruzzo-Ullman(HRU)模型
HRU模型使用存取控制表ACL来实现访问控制。应 用于OS和关系数据库安全控制。 HRU模型的访问方式有两种:静态和动态。 静态访问方式有读、写、执行和拥有等。 动态访问方式有对进程的控制权、授予/撤销权 限等。
第五章 数据库安全策略
1
本 章 概 要
5.1 5.2 5.3 5.4
安全策略的定义 安全策略语言 安全策略模型 关系数据库的授权机制
2
5.1 安全策略的定义
安全策略:是粗线条描述安全需求以及规 则的说明,是一组规定如何管理、保护 和指派敏感信息的法律、规则及实践经 验的集合。
3
数据库系统的安全策略:是由物理控制、使用 方案、操作系统安全及数据库管理系统构成的 一个整体安全策略。
REVOKE的语法格式基本类似,可以表示为: REVOKE [ALL RIGHTS|<privileges>] ON <table> FROM <user-list>。 允许用户撤销REVOKE先前由他授予的权限,增 加了授权机制的复杂性。必须保留授权者的身 份信息。 例:A->C,B->C,若A撤销对C的权限,B对C的权 限还在,若不指出授权者,分不清C的权限。
15 0
0 20
E
D
EMP
EMP
D
C
பைடு நூலகம்25
30
25
0
25
30
28
多用户间的授权序列 (授权传播树 )
多用户间的授权序列
假定在t=35时,B执行命令 B:REVOKE ALL RIGHTS ON EMP FROM D;
E的DELETE权利被撤销。
执行多用户授权序列后SYSAUTH有关数据 (t=35时,撤销B对D的授权命令)
检查直接在缓存中实现。
5.4.7 视图的授权与撤销
一、视图的授权 视图创建者不具备完全权限的两个原因: 视图语义:有些操作不能在视图上执行, 如创建索引,统计类型的视图无法更新。 取决于定义者本身具备的访问权限:对视 图的访问权限是底层所有相关表访问权限 的交集。 视图可以被授予权限: 被授予者即使不具备底层表的访问权限也 可以访问上层视图。 视图的授权方法与表的授权方法一致,是 所有授权者所有可授予权限的并集。
18
5.4.2 GRANT命令
授权机制贯穿于关系及视图动态创建、
动态撤销整个过程,包括授予(GRANT)、 检查(CHECKING)、撤销(REVOKE)等动态 环节。 通常,授权可以通过访问控制列表方式 实现,这种方式支持撤销。
19
•
• • •
•
在System R中,任意用户可以授权创建新Table。 创建者被惟一全权授予Table的所有访问控制权 限。如果希望其他用户共享某些访问控制,必须 向各种用户授予指定的权限。可以授予的权限包 括: READ:允许通过查询使用Table,包括读 取关系元组、根据关系定义视图等。 INSERT:向Table添加新行(元组)。 DELETE:从Table中删除行(元组)。 UPDATE:修改Table中现存数据,可以限 制于一定的列(属性)。 DROP:删除整个Table。
17
5.4.1 授权规则
肯定授权(Positive Authorization)。
否定授权(Negative Authorization)。 冲突解决(Conflict Resolution)。 强授权与弱授权(Strong and Weak Authorization) 。 授权规则的传播(Propagation of Authorization Rules)。 特殊规则(Special Rules)。 一致和完整性规则(Consistency and Completeness of Rules)。
物理控制:数据库系统的使用环境和硬件应保
证安全。
使用方案:是数据库系统使用过程中应该采
取的安全手段。
操作系统安全:是支撑数据库的操作系统必
须稳定、漏洞少而效率高。
数据库管理:是数据库系统自身提供的安全
机制。
4
针对数据库管理而言,数据库系统至少具有以 下一些安全策略
保证数据库的存在安全:确保主机硬件、操作
例:
32
(t=5)A: GRANT ALL RIGHTS ON EMP TO C WITH GRANT OPTION AND LABEL L1 (t=10)B: GRANT ALL RIGHTS ON EMP TO C WITH GRANT OPTION AND LABEL L2 (t=15)C: GRANT ALL RIGHTS ON EMP TO D WITH LABEL L1
15
主体表
访问权限表
客体表
删除主体,命令形式: Destroy Subject Si, Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , A’[S,O]=A[S,O] , S’⊂S,O’⊂O
5.4 关系数据库的授权机制
授权机制是关系数据库实现安全与保护 的重要途径。 授权机制的总体目标是提供保护与安全 控制,允许授权用户合法地访问信息。
7
任务(Task):任务一般记为TK={tk1,„,tkn}. 转换过程(TP,Tansformation
procedure):可 以是通常的读、写操作或一系列简单操作组合 形成的特定应用过程。
Expression):
时序表达式(TE,Temporal
TE=Before(t)|During(t1,t2)|After(t)|At(t)。
理完整性是指存储介质和运行环境的完整性。 逻辑完整性主要有实体完整性和引用完整性。 元素完整性是指数据库元素的正确性和准确 性。
6
5.2 安全策略语言
5.2.1 安全策略基本元素
安全策略定义语言具有以下一些基本概念与标记 主体(Subject):系统中的活动实体,主体 在系统中的活动受安全策略控制。主体一般记 为S={s1,„,sn}。 客体( Object ):是系统中的被动实体,每个 客体可以有自己的类型。客体一般记为 O={o1,„,on}。 类型(Type):每个客体都可以有自己的类型. 角色(Role):在系统中进行特定活动所需权限 的集合。角色可以被主体激活,主体可以同时 担任不同的角色。角色一般记为R={r1,„,rn}.
14
(6)删除客体 命令形式: Destroy Object Oi,Oi ∈O,OiS 操作顺序: S’=S,O’=O-{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’
HRU模型逻辑关系明确,操作管理方便。但是因 为每次访问时需要扫描整个矩阵,效率低下, 所以必须采用一定的方法来解决提高效率的问 题。
USERID TNAME
GRANTOR
READ
INSERT
DELETE
D E D
EMP EMP EMP
A D C
15 25 30
15 25 0
0 0 30
31
5.4.5 标签GRANT
标签授权的格式:
GRANT [ALL RIGHTS]|<privileges>|ALL BUT <privileges>|ON<table> TO <user-list> WITH [GRANT OPTION AND] LABEL <name>。
20
授权的语法格式:
GRANT [ALL RIGHTS|<privileges>|ALL BUT<privileges>] ON <table> TO <user-list> [WITH GRAND OPTION]。
可以对表所有权限进行授权,或者授予 指定系列的权限,或者授予明确声明以 外所有权限。
系统及网络的安全。
保证数据库的可用性。数据库管理系统的可
用性表现在两个方面:一是需要阻止发布某 些非保护数据以防止敏感数据的泄漏;二是 当两个用户同时请求同一记录时进行仲裁。
保障数据库系统的机密性。主要包括用户身
份认证、访问控制和可审计性等。
5
保证数据库的完整性。数据库的完整性包括
物理完整性、逻辑完整性和元素完整性。物
上例中, C:GRANT ALL RIGHTS ON EMP TO D 已 经没有意义了。若没有后续授权,就不用递归撤 销了。 被撤销者拥有与撤销权限相同但来源独立的权限, 可继续保持有关权限。不必执行递归撤销动作。 25
5.4.4 递归REVOKE
如何决定递归撤销那些权利,沿着授权链回溯
到表的创建者,如果所有路径都穿过撤销者,
则D的权限必被撤销。但如果存在另外的路径 无需穿过撤销者,D执行完撤销后仍然可以保 持权限。
26
授权链中的环
执行多用户授权序列后SYSAUTH有关数据
USERID TNAME
GRANTOR
READ
INSERT
DELETE
D D
EMP EMP
A B
15 20
23
例如,执行授权撤销序列后的权限: A:GRANT READ,INSERT,UPDATE ON EMP TO C B:GRANT READ,UPDATE ON EMP TO C A:REVOKE INSERT,UPDATE ON EMP FROM C 被撤销者拥有与撤销权限相同但来源独 立的权限,可继续保持有关权限。
9
HRU模型的操作有六条,操作后状态变换表示 为Q ├op Q’。其中符号A[Si,Oj]表示Si对Oj 的访问权限集合,r表示某一权限,如读、写 等。 (1)授予权限 命令形式: Enter r into A[Si,Oj],Si∈S,Oj∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] ∪{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j
24
5.4.4 递归REVOKE
递归撤销权限:就是连续撤销后续权限。 递归撤销现象可以通过下面的实例说明
A:GRANT ALL RIGHTS ON EMP TO C
WITH GRANT OPTION C:GRANT ALL RIGHTS ON EMP TO D
A:REVOKE ALL RIGHTS ON EMP FROM C
21
例:被授予者进一步向其他用户授权 A:GRANT READ,INSERT ON EMP TO B WITH GRANT OPTION A:GRANT READ ON EMP TO C WITH GRANT OPTION B:GRANT READ,INSERT ON EMP TO C
22
5.4.3 REVOKE命令
10
(2)撤销权限 命令形式: Delete r from A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] -{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j
11
(3)添加主体 命令形式: Create Subject Si,Si S 操作顺序: S’=S ∪{Si} ,O’=O∪ {Si} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[Si,O]= φ ,O⊂O’ A’[S,Oi]=φ ,S⊂S’
12
(4)删除主体 命令形式: Destroy Subject Si,Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , A’[S,O]=A[S,O] ,S’⊂S,O’⊂O
13
(5)添加客体 命令形式: Create Object Oi,Oi O 操作顺序: S’=S ,O’=O∪{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[S,Oi]=φ ,S⊂S’
视图的授权
二、视图的撤销 视图的撤销方法 首先撤销视图的权限 视图的重新授权:计算视图剩余的权限集 合。 结束视图:已结束视图A的所有权限都自动 撤销。结束视图A的同时,建立在已结束视 图上的视图B应自动结束,删除其视图定义 。
33
5.4.6 授权的检查
动态进行授权检查,将授权检查与撤销操作分 开,减少重新计算授权表的时间。
执行事务进行授权检查时只计算一次授权表。
对于表的创建者,直接返回“YES” 非创建者访问SYSAUTH授权表,可以授权执行
有关操作返回“YES”,否则返回“NO”。
授权表保存在内存中,相同事务的后续授权
的访问模式。
简单模式SA为三元组(s,o,tp), 复杂模式CA为六元组(s,o,tp,tk,r,te
)。
8
5.3 安全策略模型
5.3.1 Harrison-Ruzzo-Ullman(HRU)模型
HRU模型使用存取控制表ACL来实现访问控制。应 用于OS和关系数据库安全控制。 HRU模型的访问方式有两种:静态和动态。 静态访问方式有读、写、执行和拥有等。 动态访问方式有对进程的控制权、授予/撤销权 限等。
第五章 数据库安全策略
1
本 章 概 要
5.1 5.2 5.3 5.4
安全策略的定义 安全策略语言 安全策略模型 关系数据库的授权机制
2
5.1 安全策略的定义
安全策略:是粗线条描述安全需求以及规 则的说明,是一组规定如何管理、保护 和指派敏感信息的法律、规则及实践经 验的集合。
3
数据库系统的安全策略:是由物理控制、使用 方案、操作系统安全及数据库管理系统构成的 一个整体安全策略。
REVOKE的语法格式基本类似,可以表示为: REVOKE [ALL RIGHTS|<privileges>] ON <table> FROM <user-list>。 允许用户撤销REVOKE先前由他授予的权限,增 加了授权机制的复杂性。必须保留授权者的身 份信息。 例:A->C,B->C,若A撤销对C的权限,B对C的权 限还在,若不指出授权者,分不清C的权限。
15 0
0 20
E
D
EMP
EMP
D
C
பைடு நூலகம்25
30
25
0
25
30
28
多用户间的授权序列 (授权传播树 )
多用户间的授权序列
假定在t=35时,B执行命令 B:REVOKE ALL RIGHTS ON EMP FROM D;
E的DELETE权利被撤销。
执行多用户授权序列后SYSAUTH有关数据 (t=35时,撤销B对D的授权命令)
检查直接在缓存中实现。
5.4.7 视图的授权与撤销
一、视图的授权 视图创建者不具备完全权限的两个原因: 视图语义:有些操作不能在视图上执行, 如创建索引,统计类型的视图无法更新。 取决于定义者本身具备的访问权限:对视 图的访问权限是底层所有相关表访问权限 的交集。 视图可以被授予权限: 被授予者即使不具备底层表的访问权限也 可以访问上层视图。 视图的授权方法与表的授权方法一致,是 所有授权者所有可授予权限的并集。
18
5.4.2 GRANT命令
授权机制贯穿于关系及视图动态创建、
动态撤销整个过程,包括授予(GRANT)、 检查(CHECKING)、撤销(REVOKE)等动态 环节。 通常,授权可以通过访问控制列表方式 实现,这种方式支持撤销。
19
•
• • •
•
在System R中,任意用户可以授权创建新Table。 创建者被惟一全权授予Table的所有访问控制权 限。如果希望其他用户共享某些访问控制,必须 向各种用户授予指定的权限。可以授予的权限包 括: READ:允许通过查询使用Table,包括读 取关系元组、根据关系定义视图等。 INSERT:向Table添加新行(元组)。 DELETE:从Table中删除行(元组)。 UPDATE:修改Table中现存数据,可以限 制于一定的列(属性)。 DROP:删除整个Table。
17
5.4.1 授权规则
肯定授权(Positive Authorization)。
否定授权(Negative Authorization)。 冲突解决(Conflict Resolution)。 强授权与弱授权(Strong and Weak Authorization) 。 授权规则的传播(Propagation of Authorization Rules)。 特殊规则(Special Rules)。 一致和完整性规则(Consistency and Completeness of Rules)。
物理控制:数据库系统的使用环境和硬件应保
证安全。
使用方案:是数据库系统使用过程中应该采
取的安全手段。
操作系统安全:是支撑数据库的操作系统必
须稳定、漏洞少而效率高。
数据库管理:是数据库系统自身提供的安全
机制。
4
针对数据库管理而言,数据库系统至少具有以 下一些安全策略
保证数据库的存在安全:确保主机硬件、操作
例:
32
(t=5)A: GRANT ALL RIGHTS ON EMP TO C WITH GRANT OPTION AND LABEL L1 (t=10)B: GRANT ALL RIGHTS ON EMP TO C WITH GRANT OPTION AND LABEL L2 (t=15)C: GRANT ALL RIGHTS ON EMP TO D WITH LABEL L1
15
主体表
访问权限表
客体表
删除主体,命令形式: Destroy Subject Si, Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , A’[S,O]=A[S,O] , S’⊂S,O’⊂O
5.4 关系数据库的授权机制
授权机制是关系数据库实现安全与保护 的重要途径。 授权机制的总体目标是提供保护与安全 控制,允许授权用户合法地访问信息。
7
任务(Task):任务一般记为TK={tk1,„,tkn}. 转换过程(TP,Tansformation
procedure):可 以是通常的读、写操作或一系列简单操作组合 形成的特定应用过程。
Expression):
时序表达式(TE,Temporal
TE=Before(t)|During(t1,t2)|After(t)|At(t)。
理完整性是指存储介质和运行环境的完整性。 逻辑完整性主要有实体完整性和引用完整性。 元素完整性是指数据库元素的正确性和准确 性。
6
5.2 安全策略语言
5.2.1 安全策略基本元素
安全策略定义语言具有以下一些基本概念与标记 主体(Subject):系统中的活动实体,主体 在系统中的活动受安全策略控制。主体一般记 为S={s1,„,sn}。 客体( Object ):是系统中的被动实体,每个 客体可以有自己的类型。客体一般记为 O={o1,„,on}。 类型(Type):每个客体都可以有自己的类型. 角色(Role):在系统中进行特定活动所需权限 的集合。角色可以被主体激活,主体可以同时 担任不同的角色。角色一般记为R={r1,„,rn}.
14
(6)删除客体 命令形式: Destroy Object Oi,Oi ∈O,OiS 操作顺序: S’=S,O’=O-{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’
HRU模型逻辑关系明确,操作管理方便。但是因 为每次访问时需要扫描整个矩阵,效率低下, 所以必须采用一定的方法来解决提高效率的问 题。
USERID TNAME
GRANTOR
READ
INSERT
DELETE
D E D
EMP EMP EMP
A D C
15 25 30
15 25 0
0 0 30
31
5.4.5 标签GRANT
标签授权的格式:
GRANT [ALL RIGHTS]|<privileges>|ALL BUT <privileges>|ON<table> TO <user-list> WITH [GRANT OPTION AND] LABEL <name>。
20
授权的语法格式:
GRANT [ALL RIGHTS|<privileges>|ALL BUT<privileges>] ON <table> TO <user-list> [WITH GRAND OPTION]。
可以对表所有权限进行授权,或者授予 指定系列的权限,或者授予明确声明以 外所有权限。
系统及网络的安全。
保证数据库的可用性。数据库管理系统的可
用性表现在两个方面:一是需要阻止发布某 些非保护数据以防止敏感数据的泄漏;二是 当两个用户同时请求同一记录时进行仲裁。
保障数据库系统的机密性。主要包括用户身
份认证、访问控制和可审计性等。
5
保证数据库的完整性。数据库的完整性包括
物理完整性、逻辑完整性和元素完整性。物
上例中, C:GRANT ALL RIGHTS ON EMP TO D 已 经没有意义了。若没有后续授权,就不用递归撤 销了。 被撤销者拥有与撤销权限相同但来源独立的权限, 可继续保持有关权限。不必执行递归撤销动作。 25
5.4.4 递归REVOKE
如何决定递归撤销那些权利,沿着授权链回溯
到表的创建者,如果所有路径都穿过撤销者,
则D的权限必被撤销。但如果存在另外的路径 无需穿过撤销者,D执行完撤销后仍然可以保 持权限。
26
授权链中的环
执行多用户授权序列后SYSAUTH有关数据
USERID TNAME
GRANTOR
READ
INSERT
DELETE
D D
EMP EMP
A B
15 20
23
例如,执行授权撤销序列后的权限: A:GRANT READ,INSERT,UPDATE ON EMP TO C B:GRANT READ,UPDATE ON EMP TO C A:REVOKE INSERT,UPDATE ON EMP FROM C 被撤销者拥有与撤销权限相同但来源独 立的权限,可继续保持有关权限。
9
HRU模型的操作有六条,操作后状态变换表示 为Q ├op Q’。其中符号A[Si,Oj]表示Si对Oj 的访问权限集合,r表示某一权限,如读、写 等。 (1)授予权限 命令形式: Enter r into A[Si,Oj],Si∈S,Oj∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] ∪{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j
24
5.4.4 递归REVOKE
递归撤销权限:就是连续撤销后续权限。 递归撤销现象可以通过下面的实例说明
A:GRANT ALL RIGHTS ON EMP TO C
WITH GRANT OPTION C:GRANT ALL RIGHTS ON EMP TO D
A:REVOKE ALL RIGHTS ON EMP FROM C
21
例:被授予者进一步向其他用户授权 A:GRANT READ,INSERT ON EMP TO B WITH GRANT OPTION A:GRANT READ ON EMP TO C WITH GRANT OPTION B:GRANT READ,INSERT ON EMP TO C
22
5.4.3 REVOKE命令
10
(2)撤销权限 命令形式: Delete r from A[Si,Oj],Si ∈S,Oj ∈O 操作顺序: S’=S,O’=O A’[Si,Oj]=A[Si,Oj] -{r}, A’[Sk,Ol]=A[Sk,Ol],k ≠i,l ≠j
11
(3)添加主体 命令形式: Create Subject Si,Si S 操作顺序: S’=S ∪{Si} ,O’=O∪ {Si} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[Si,O]= φ ,O⊂O’ A’[S,Oi]=φ ,S⊂S’
12
(4)删除主体 命令形式: Destroy Subject Si,Si ∈S 操作顺序: S’=S-{Si} ,O’=O-{Si} , A’[S,O]=A[S,O] ,S’⊂S,O’⊂O
13
(5)添加客体 命令形式: Create Object Oi,Oi O 操作顺序: S’=S ,O’=O∪{Oi} , A’[S,O]=A[S,O] ,S⊂S’,O⊂O’ A’[S,Oi]=φ ,S⊂S’
视图的授权
二、视图的撤销 视图的撤销方法 首先撤销视图的权限 视图的重新授权:计算视图剩余的权限集 合。 结束视图:已结束视图A的所有权限都自动 撤销。结束视图A的同时,建立在已结束视 图上的视图B应自动结束,删除其视图定义 。
33
5.4.6 授权的检查
动态进行授权检查,将授权检查与撤销操作分 开,减少重新计算授权表的时间。
执行事务进行授权检查时只计算一次授权表。
对于表的创建者,直接返回“YES” 非创建者访问SYSAUTH授权表,可以授权执行
有关操作返回“YES”,否则返回“NO”。
授权表保存在内存中,相同事务的后续授权