时空角色访问控制与基于次数的使用控制模型解析
时空角色访问控制模型
角色权限继承与激活层次
在角色层次结构中,高级角色会继承低级角色的权限,但这些权限受限于低级角色所受的时间和位置限制。例如,日间医生角色仅在白天处于医院时,才能继承日间护士角色的权限。
时间位置受限激活层次的定义如下:设 x 和 y 为角色,且 x ≽tl y,即高级角色 x 对低级角色 y 有角色激活关系。那么,被分配到角色 x 的用户仅能在角色 y 可启用的时间和地点激活角色 y,形式化表示为:
∀u, (x ≽tl y)∧UserRoleActivate(u,x,d,l)∧d ⊆RoleEnableDur(y)
∧l ⊆RoleEnableLoc(y) ⇒UserRoleActivate(u,y,d,l)
这意味着能激活高级角色的用户也可激活低级角色,但激活受限于低级角色可激活的时间和地点。如移动用户角色的用户,仅在周末处于美国时,才能激活周末移动用户角色。高级角色和低级角色也可能同时存在权限继承和激活层次关系,此时应用程序会选择所需的继承和激活层次类型。
时间和位置对静态职责分离的影响
职责分离(SoD)可防止用户可能造成的欺诈行为,可分为静态和动态两种。静态职责分离(SSoD)有两种形式:
-
用户角色分配方面
:
-
弱形式的 SSoD - 用户角色分配
:设 x 和 y 为两个不同角色,若满足 UserRoleAssign(u,x,d,l) ⇒¬ UserRoleAssign(u,y,d,l),则 x,y ∈SSODw(ROLES)。这表示若 x 和 y 存在 SSODw 关系,用户 u 在时间 d 和位置 l 被分配到角色 x 时,不能同时在该时间和位置被分配到角色 y。例如,用户不应同时在同一时间和位置被分配观众角色和移动用户角色。
-
强时间形式的 SSoD - 用户角色分配
:设 x 和 y 为两个不同角色,若满足 UserRoleAssign(u,x,d,l) ⇒¬ (∃d′ ⊆always•UserRoleAssign(u,y,d′,l)),则 (x,y) ∈SSODt(ROLES)。即若 x 和 y 存在 SSODt 关系,用户 u 在时间 d 和位置 l 被分配到角色 x 时,在同一位置的任何时间都不能被分配到角色 y。如石油公司 A 的顾问永远不会在同一国家被分配为石油公司 B 的顾问。
-
强空间形式的 SSoD - 用户角色分配
:设 x 和 y 为两个不同角色,若满足 UserRoleAssign(u,x,d,l) ⇒¬ (∃l′ ⊆universe•UserRoleAssign(u,y,d,l′)),则 (x,y) ∈SSODl(ROLES)。这意味着若 x 和 y 存在 SSODl 关系,用户 u 在时间 d 和位置 l 被分配到角色 x 时,在同一时间的任何位置都不能被分配到角色 y。例如,一个人不能同时被分配房地产经纪人和教师角色。
-
强形式的 SSoD - 用户角色分配
:设 x 和 y 为两个不同角色,若满足 UserRoleAssign(u,x,d,l) ⇒¬ (∃l′ ⊂universe,∃d′ ⊆always•UserRoleAssign(u,y,d′,l′)),则 (x,y) ∈SSODs(ROLES)。即若 x 和 y 存在 SSODs 关系,用户 u 在时间 d 和位置 l 被分配到角色 x 时,在任何时间和任何位置都不能被分配到角色 y。如同一员工在任何公司都不能同时被分配男性员工和女性员工角色。
-
权限角色分配方面
:
-
弱形式的 SSoD - 权限角色分配
:设 p 和 q 为两个不同权限,若满足 PermRoleAcquire(p,x,d,l) ⇒¬ PermRoleAcquire(q,x,d,l),则 (p,q) ∈SSOD PRAw。这表示若 p 和 q 通过弱 SSoD 权限角色分配相关,且角色 x 在时间 d 和位置 l 拥有权限 p,则在同一时间和位置不应被授予权限 q。
-
强时间形式的 SSoD - 权限角色分配
:设 p 和 q 为两个不同权限,若满足 PermRoleAcquire(p,x,d,l) ⇒¬ (∃d′ ⊆always• PermRoleAcquire(q,x,d′,l)),则 (p,q) ∈SSOD PRAt。即若 p 和 q 通过强时间 SSoD 权限角色分配相关,且角色 x 在时间 d 和位置 l 拥有权限 p,则在位置 l 的任何时间都不应获得权限 q。
-
强空间形式的 SSoD - 权限角色分配
:设 p 和 q 为两个不同权限,若满足 PermRoleAcquire(p,x,d,l) ⇒¬ (∃l′ ⊂universe• PermRoleAcquire(q,x,d,l′)),则 (p,q) ∈SSOD PRAt。这意味着若 p 和 q 通过强空间 SSoD 权限角色分配相关,且角色 x 在时间 d 和位置 l 拥有权限 p,则在同一时间不应被授予权限 q。
-
强形式的 SSoD - 权限角色分配
:设 p 和 q 为两个不同权限,若满足 PermRoleAcquire(p,x,d,l) ⇒¬ (∃l′ ⊂universe,∃d′ ⊆always•PermRoleAcquire(q,x,d′,l′)),则 (p,q) ∈SSOD PRAs。即若 p 和 q 通过强 SSoD 权限角色分配相关,同一角色永远不应被授予这两个冲突的权限。
时间和位置对动态职责分离的影响
静态职责分离确保用户不会被分配冲突的角色,或角色不会被分配冲突的权限。动态职责分离则解决用户在同一会话中不能激活冲突角色的问题。
-
弱形式的 DSoD
:设 x 和 y 为两个不同角色,若满足 SessionRole(u,x,s,d,l) ⇒¬ SessionRole(u,y,s,d,l),则 (x,y) ∈DSODs。这表示若角色 x 和 y 通过弱 DSoD 相关,用户 u 在会话 s 中为持续时间 d 和位置 l 激活角色 x 时,在该会话的同一时间和同一位置不能激活角色 y。例如,在同一会话中,用户可激活销售助理角色和客户角色,但不应在同一时间和同一位置同时激活。
-
强时间形式的 DSoD
:设 x 和 y 为两个不同角色,若满足 SessionRole(u,x,s,d,l) ⇒¬ (∃d′ ⊂always,•SessionRole(u,y,s,d′,l)),则 (x,y) ∈DSODs。即若角色 x 和 y 通过强时间 DSoD 相关,用户 u 在会话 s 中激活角色 x 后,在同一会话的同一位置任何时间都不能激活角色 y。如在教室的教学会话中,用户激活学生角色后,不能再激活评分员角色。
-
强空间形式的 DSoD
:设 x 和 y 为两个不同角色,若满足 SessionRole(u,x,s,d,l) ⇒¬ (∃l′ ⊆universe• SessionRole(u,y,s,d,l′)),则 (x,y) ∈DSODl。这意味着若角色 x 和 y 通过强 DSoD 相关,用户 u 在会话 s 中激活角色 x 后,在该会话的同一时间任何位置都不能激活角色 y。例如,用户在办公室激活研究生教学助理角色后,不能同时激活实验室操作员角色。
-
强形式的 DSoD
:设 x 和 y 为两个不同角色,若满足 SessionRole(u,x,s,d,l) ⇒¬ (∃l′ ⊂universe,∃d′ ⊆always• SessionRole(u,y,s,d′,l′)),则 (x,y) ∈DSODs。即若角色 x 和 y 通过强 DSoD 相关,用户 u 在会话 s 中激活角色 x 后,在同一会话中不能激活角色 y。如用户在同一会话中不能同时既是代码开发者又是代码测试者。
示例场景
以 SECURE 银行的访问控制策略为例:
1. 组织有五个用户:Tom、Leena、Diana、Nina 和 Sam。
2. 组织有六个角色:柜员、贷款专员、日间系统操作员、夜间系统操作员、系统操作员经理、审计员。
3. 柜员仅能在工作时间(周一至周五 9:00 AM - 6:00 PM)从柜员亭读写柜员文件。
4. 贷款专员仅能在工作时间从贷款办公室读写贷款文件。
5. 日间系统操作员(DTSO)能在工作时间从 SECURE 银行大楼的任何地方备份任何文件。
6. 夜间系统操作员(NTSO)能在夜间班次(周一至周五 6:00 PM - 9:00 AM)从 SECURE 银行大楼的任何地方备份和恢复任何文件。
7. 系统操作员经理(SOM)拥有日间系统操作员和夜间系统操作员的所有权限。
8. 审计员能在工作时间审计柜员文件。
9. 同一人不能在同一会话中既是柜员又是审计员。
10. 柜员文件和贷款文件仅能在工作时间写入。
可以使用 STRBAC 表示上述访问控制策略:
1. WorkingHours = {{2,3,4,5,6}.Days+ 10.Hours▷9.Hours}
2. NightTime = {{2,3,4,5,6}.Days+ 19.Hours▷14.Hours}
3. 时间间隔集合 = {WorkingHours,NighTime}
4. 位置集合 = {TellerBooth,LoanOf fice,ComputerRoom,Building}
5. 用户集合 = {Tom,Leena,Diana,Nina,Sam}
6. 角色集合 = {Teller,LoanOf ficer,Auditor,DTSO,NTSO,SOM}
7. 角色启用情况 = {(Teller, WorkingHours, TellerBooth), (Loaner, WorkingHours,
LoanerOffice), (DTSO, WorkingHours, Building), (NTSO, NightTime, Building),
(SOM, AnyTime, Building)}
8. 权限包括:
- readTellerFile = (Read, TellerFile, AnyTime, TellerBooth, ComputerRoom)
- writeTellerFile = (Write, TellerFile, WorkingHours, TellerBooth, Computer-
Room)
- readLoanerFile = (Read, LoanerFile, AnyTime, LoanerOffice, Computer-
Room)
- writeLoanerFile = (Write, LoanerFile, WorkingHours, LoanerOffice, Comput-
erRoom)
- WHBackupFile = (Backup, AllFile, WorkingHours, Anywhere, Computer-
Room)
- NTBackupFile = (Backup, AllFile, NightTime, Anywhere, ComputerRoom)
- NTRestoreFile = (Restore, AllFile, NightTime, Anywhere, ComputerRoom)
9. 用户分配情况 = {(Tom, Teller), (Leena, Loaner), (Diana, DTSO), (Nina,
NTSO), (Sam, SOM)}
10. 权限分配情况 = {(Teller, readTellerFile), (Teller, writeTellerFile), (Loaner, read-
LoanerFile), (Loaner, writeLoanerFile), (DTSO, WHBackupFile), (NTSO, NTBack-
File), (NTSO, NTRestoreFile)}
11. 角色层次结构 RH = (SOM ≿s,tl DTSO)∧(SOM ≿s,tl NTSO)
12. DSODs = (Teller,Auditor)
基于次数的使用控制模型(TUCON)
引言
信息技术的快速发展,特别是电子商务应用,对访问控制提出了新要求。在现代信息系统中,数字对象的使用不仅可以是与时间无关的读写操作,还可以是与时间和次数相关的,如按阅读次数或章节计费的基于支付的在线阅读,或只能播放 10 次的可下载音乐文件。在这些应用中,对对象的访问可能会随着对象的使用次数而减少、过期或被撤销。
传统和时间访问控制模型不适合上述需求,因为这些模型中的授权决策通常在请求时做出,难以识别对受次数限制的访问或立即撤销的持续控制。为满足现代访问控制的这些需求,本文提出了一种新的访问控制模型,即基于次数的使用控制(TUCON)。
与传统模型相比,TUCON 的特点在于特权的使用次数和数字对象使用的有效期限,这使得它能够更好地满足现代信息系统的需求。
TUCON 通过定义特权可以行使的最大次数,扩展了传统和时间访问控制模型。当特权的使用次数消耗到零或使用的时间间隔过期时,系统会自动撤销对对象行使的特权。本文给出了 TUCON 操作和规则的正式定义,并讨论了 TUCON 的实现。
这种模型的提出为现代信息系统的访问控制提供了一种新的解决方案,能够更好地应对数字对象使用的时间和次数限制问题。在实际应用中,可根据具体需求设置特权的使用次数和有效期限,以实现更精细的访问控制。例如,对于付费的在线服务,可以根据用户购买的次数或时长,为其分配相应的使用权限,当使用次数达到上限或时间过期时,自动停止服务。
综上所述,时空角色访问控制模型和基于次数的使用控制模型都为现代信息系统的安全访问提供了重要的技术支持,各自针对不同的应用场景和需求,具有重要的理论和实践意义。在未来的信息系统开发和管理中,可以根据具体情况选择合适的模型,以确保系统的安全性和有效性。
时空角色访问控制与基于次数的使用控制模型解析
时空角色访问控制模型(续)
模型分析与应用
时空角色访问控制模型(STRBAC)在实际应用中具有重要价值。通过前面的示例可以看出,它能够精确地定义不同角色在不同时间和位置的权限,以及角色之间的职责分离关系。这有助于构建安全、高效的信息系统。
从模型分析的角度来看,需要深入理解各个约束条件之间的相互作用。例如,不同形式的静态和动态职责分离约束,它们在不同的场景下发挥着不同的作用。在设计系统时,需要根据实际需求合理配置这些约束,以避免冲突和冗余。
以下是一个简单的流程图,展示了在一个会话中角色激活的流程:
graph TD;
A[用户发起角色激活请求] --> B{是否满足角色启用时间和位置条件};
B -- 是 --> C{是否存在职责分离冲突};
C -- 否 --> D[激活角色];
B -- 否 --> E[拒绝激活];
C -- 是 --> E;
在实际应用中,可以按照以下步骤进行操作:
1.
定义系统的基本要素
:包括用户、角色、权限、时间间隔和位置等。例如,在 SECURE 银行的例子中,明确了用户集合、角色集合、权限集合等。
2.
设置角色的启用条件
:确定每个角色在什么时间和位置可以被启用。这可以通过 RoleEnable 集合来表示。
3.
配置权限分配
:将权限分配给相应的角色,同时考虑时间和位置的限制。
4.
设置职责分离约束
:根据系统的安全需求,设置静态和动态职责分离的约束条件,以防止用户获得冲突的角色或权限。
5.
进行模型验证
:在实际使用之前,对模型进行验证,检查是否存在冲突和冗余的约束。
模型的优势与挑战
时空角色访问控制模型的优势在于它能够充分考虑时间和位置因素,提供更精细的访问控制。通过职责分离约束,可以有效地防止欺诈和滥用权限的行为。同时,角色的继承和激活层次结构使得权限管理更加灵活。
然而,该模型也面临一些挑战。首先,模型的复杂性较高,需要对各种约束条件有深入的理解和管理。其次,随着系统规模的增大,约束条件的数量可能会急剧增加,导致模型的分析和维护变得困难。此外,如何准确地获取用户的时间和位置信息也是一个实际问题。
基于次数的使用控制模型(TUCON)(续)
TUCON 模型的详细定义
TUCON 模型通过引入特权的使用次数和有效期限,对传统访问控制模型进行了扩展。下面详细介绍 TUCON 模型的一些关键概念和规则。
特权使用次数 :每个特权都有一个最大使用次数的限制。当用户行使该特权时,使用次数会相应减少。例如,一个可下载音乐文件的播放特权可能被设置为最多播放 10 次。
有效期限 :特权的使用还受到有效期限的限制。在有效期限内,用户可以按照规定的次数使用特权;一旦期限过期,特权将被自动撤销。
TUCON 模型的规则可以形式化地表示。假设 P 表示特权,U 表示用户,O 表示对象,N 表示使用次数,T 表示有效期限。则可以定义以下规则:
-
访问请求规则 :当用户 U 请求对对象 O 行使特权 P 时,系统会检查以下条件:
- 特权 P 的使用次数 N 是否大于 0。
- 当前时间是否在有效期限 T 内。
- 如果以上两个条件都满足,则允许用户行使特权,并将使用次数 N 减 1;否则,拒绝访问请求。
-
自动撤销规则 :当特权 P 的使用次数 N 减少到 0 或有效期限 T 过期时,系统会自动撤销用户对对象 O 行使特权 P 的权限。
TUCON 模型的实现与应用场景
TUCON 模型的实现需要考虑以下几个方面:
1.
数据存储
:需要存储每个特权的使用次数和有效期限信息。可以使用数据库来存储这些数据,以便于管理和查询。
2.
访问控制逻辑
:在系统的访问控制模块中,实现上述的访问请求规则和自动撤销规则。当用户发起访问请求时,系统会根据存储的信息进行判断,并做出相应的决策。
3.
时间和次数更新
:在用户行使特权时,需要及时更新使用次数和检查有效期限。可以使用触发器或定时任务来实现这些功能。
TUCON 模型适用于许多应用场景,例如:
1.
付费数字内容服务
:如在线阅读、音乐播放、视频观看等。可以根据用户的付费情况,为其分配一定的使用次数或时长,当使用次数达到上限或时间过期时,自动停止服务。
2.
软件授权
:对于一些商业软件,可以设置使用次数或使用期限的限制,以保护软件的版权和商业利益。
3.
资源共享系统
:在共享资源的系统中,可以限制用户对资源的使用次数,以确保资源的合理分配和使用。
以下是一个简单的表格,总结了 TUCON 模型与传统访问控制模型的对比:
| 模型特点 | 传统访问控制模型 | TUCON 模型 |
| — | — | — |
| 授权决策 | 主要在请求时做出 | 考虑使用次数和有效期限 |
| 持续控制 | 难以实现 | 支持对受次数限制的访问和立即撤销 |
| 适用场景 | 与时间和次数无关的访问 | 时间和次数相关的访问 |
综上所述,时空角色访问控制模型和基于次数的使用控制模型都为现代信息系统的安全访问提供了重要的技术支持。在实际应用中,可以根据具体的需求和场景,选择合适的模型或结合使用,以实现更安全、高效的访问控制。同时,还需要不断地对模型进行优化和改进,以应对不断变化的安全挑战。
超级会员免费看
2702

被折叠的 条评论
为什么被折叠?



