30、基于时间的使用控制模型TUCON:原理与应用

基于时间的使用控制模型TUCON:原理与应用

在当今数字化时代,访问控制对于保护系统资源和数据安全至关重要。传统的访问控制模型在处理复杂的授权需求时存在一定的局限性,而TUCON(Times - Based Usage Control Model)模型的出现为解决这些问题提供了新的思路。

1. TUCON模型概述

TUCON模型主要用于表达消耗性特权并定义其周期约束。在该模型中,使用次数可以由活动任务触发。例如,互联网用户支付10美元给在线音乐系统后,可获得10次在线收听特权。当主体在TUCON中访问对象时,其使用次数会减1。若使用次数消耗至零或使用时间间隔过期,主体的授权将被撤销。与传统和时间访问控制模型中的授权相比,TUCON中的授权具有可变性和灵活性。

通过设置使用次数约束,TUCON可以防止系统资源和特权被滥用。一些蠕虫和病毒会通过占用大量资源来攻击计算机系统,若为系统资源设置合理的使用次数,就能在很大程度上避免此类攻击。

2. 相关工作回顾

访问控制模型的发展经历了漫长的历史,主要有两种研究方法:
- 传统访问控制模型 :最早源于对自主访问控制(DAC)的研究。DAC存在信息可从一个对象复制到另一个对象的固有弱点,难以执行安全策略和防范某些安全攻击。为克服这一缺点,强制访问控制(MAC)被发明用于执行基于格的机密性策略,但它未考虑隐蔽通道,且消除隐蔽通道成本高昂。后来,基于角色的访问控制(RBAC)被提出,被认为是DAC和MAC的有前途的替代方案。传统访问控制虽有进展,但核心仍围绕访问矩阵模型。
- 时间访问控制模型 :将时间属性引入传统访问控制,基于时间逻辑。Bertino等人首先提出了基于授权有效时间间隔和授权之间时间依赖关系的时间授权模型,并不断扩展时间间隔范围,提出支持周期性约束和时间推理的访问控制模型。此外,还有Temporal - RBAC(TRBAC)、Temporal Data Authorization Model(TDAM)等模型。这些模型主要考虑受特定时间段约束的授权决策,但授权仍然是基于主体对目标对象权限的静态决策。

Sandhu、Park等人提出的使用控制(UCON)模型将传统访问控制模型和时间访问模型统一起来,考虑了时间和消耗属性作为主体或对象的可变属性。然而,UCON模型由于授权管理复杂,难以实施,尚未投入实际应用。而TUCON模型专注于访问的周期和使用次数,使访问控制更简单易实现,适合现实世界的应用。

3. 激励示例

考虑一个简单的数字对象使用次数受限的应用场景:注册用户预付10美元后可享受10次在线音乐服务。特权可以在两个注册用户之间转移,并且在以下两种情况下特权将被撤销:
- 使用次数撤销 :在使用数字对象期间,使用次数为零。
- 时间间隔撤销 :授权的时间间隔过期。

为满足这些授权要求,需要三个不同的属性:
- 时间间隔 :包括开始时间和结束时间。在开始时间,数字对象的使用次数大于零时允许访问;在结束时间,使用对象的特权被撤销。
- 有效期限 :只有在使用的有效期限内,才能允许访问对象,否则拒绝。
- 使用次数 :限制主体访问对象的最大值。当对象的使用次数为零时,主体被禁止访问该对象,系统自动撤销其特权。

以下是基于上述分析的时间使用控制动作的状态转换图:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([Initial]):::startend --> B(Triggers):::process
    B --> C(Authorization):::process
    C --> D{Transfer privilege?}:::decision
    D -->|Yes| E(Derived Authorization):::process
    D -->|No| F(Access request):::process
    E --> F
    F --> G(Checking):::process
    G --> H{Permitted?}:::decision
    H -->|Yes| I(Accessing):::process
    H -->|No| J([Deny]):::startend
    I --> K{End access?}:::decision
    K -->|Yes| L([End]):::startend
    K -->|No| M{Revoke privilege?}:::decision
    M -->|Yes| N([Revoke]):::startend
    M -->|No| F

状态和动作解释如下:
1. 初始(Initial) :系统的初始状态。
2. 触发(Triggers) :系统的触发授权,是授予访问权限必须满足的要求。在示例中,用户必须在系统中注册并预付10美元才能享受在线服务。在TUCON中,触发条件被抽象为逻辑表达式。
3. 授权(Authorization) :如果用户满足系统的授权要求,将授予服务特权。
4. 转移特权(Transfer privilege) :用户可以通过减少自己的使用次数将对象的特权转移给另一个用户。
5. 派生授权(Derived authorization) :通过转移特权或行使特权派生的授权。
6. 访问请求(Access request) :用户请求访问数字对象。
7. 检查(Checking) :检查授权的使用次数和期限。
8. 允许和拒绝(Permitted and denied) :在有效期限内,使用次数大于零且时间间隔未过期时,允许访问数字对象,否则拒绝。
9. 访问中(Accessing) :主体正在访问数字对象,此状态下主体的使用次数需要减1。
10. 撤销特权和结束访问(Revoke privilege and endaccess) :访问后,若使用次数不为零且使用期限仍然有效,系统不进行更新,这是结束访问动作;否则,系统将撤销某些主体的特权并更新授权,这是撤销特权动作。
11. 拒绝、撤销和结束(Deny, Revoke and End) :三个最终状态。拒绝是拒绝访问但不撤销特权的状态;撤销是撤销特权后的最终状态;结束是结束访问后的状态。

从TUCON的状态和动作分析可以看出,访问不是一个简单的动作,而是由主体和系统的一系列动作和活动任务组成。在整个访问过程中,授权需要不断更新,这超出了传统和时间访问模型的处理范围。

4. TUCON模型详解

TUCON模型由基于时间的授权和授权规则两部分组成,在讨论这两部分之前,先了解一些预备知识。

4.1 预备知识

为保持TUCON的通用性并保护不同数据模型的信息,不做基本数据假设,因此易于应用于其他数据模型。假设U表示主体(用户)集合,O表示对象集合,P表示对象的特权集合,N表示自然数集合,T表示具有全序关系≤的时间间隔集合。
- 周期表达式(Periodic Expression) :定义为$Q = \prod_{i = 1}^{n} O_i.C_i \triangleleft.C_d$,其中$O_1 \in 2^N \cup {all}$,$O_i \in 2^N$($i = 2, \cdots, n$),$C_i$和$C_d$是日历($i = 2, \cdots, n$),$C_d \subseteq C_n$,$d \in N$。设D表示所有有效周期的集合,则$Q \in D$。以下是一些周期表达式示例:
| 周期表达式 | 含义 |
| — | — |
| weeks{2,6}.Days | 周二和周六 |
| 15.Days Months | 每月15号 |
| Years 7.Months 2.Months | 每年7月和8月的暑假 |
| Weeks{1,…,5}.Days | 工作日 |
| Weeks{1,…,5}.Days 9.Hours 3.Hours | 每个工作日的上午9点到12点 |
- 使用次数(Times) :是自然数的集合,正式定义为${pt \in N}$。

4.2 授权相关定义
  • 时间授权(Times Authorization) :是一个6元组$(pt, s, o, priv, pn, g)$,其中$pt \in N$,$s, g \in S$,$o \in O$,$priv \in P$,$pn \in {+, -}$。例如,$(6, Tom, Sun, read, +, Sam)$表示Sam授权Tom对书籍Sun有6次阅读特权。为方便起见,使用符号$\sigma$来投影元组的指定区域。在TUCON中,所有授权由系统统一授权,转移特权时,系统可视为转移特权的用户g,消耗的次数会降低转移能力。撤销特权时,只需在系统中删除特权,避免了传统访问控制模型中因特权转移导致的级联等问题。
  • 非时间授权(Non - Times Authorization) :当时间授权元组中$pt = -1$时,称为非时间授权。
  • 基于时间的授权(Times - Based Authorization) :是一个3元组$(time, period, auth)$,其中$time$表示时间间隔$[t_a, t_b]$($0 \leq t_a \leq t_b \in T$),$period$是周期表达式,$auth$是6元组授权。例如,$([1/12/2001, 12/24/2005], Weeks + 2.days, (6, Tom, file, read, +, Sam))$表示在2001年1月12日至2005年12月24日期间,Tom在每周二对文件file有6次阅读特权。
4.3 授权规则

为组织授权,引入了具有类似语义的授权规则,首先介绍一些谓词符号:
- access :三元谓词符号,是一个授权令牌,其第一个区域是时间间隔,第二个是周期表达式,第三个是6元组授权,代表管理员明确插入的授权。
- deraccess :与access语义相同,代表系统使用逻辑推理规则派生的授权。
- force access :与access语义相同,代表每个主体对每个对象都适用的授权,用于执行冲突解决策略。
- $L_i$($0 \leq i \leq n$) :可以代表上述所有谓词符号,也可以是系统所需的触发表达式。

具体的授权规则如下:
- 授予规则(Grant Rule) :定义为$access ( time, period, auth) \leftarrow L_1 \& \cdots \& L_n$,其中$L_i$是触发条件表达式。授予规则用于允许主体访问,规则是否成立取决于条件表达式是否满足。在TUCON中,授权只允许授予正授权($pn = ‘+’$),不允许授予负授权($pn = ‘-’$)。例如,在应用系统Business system中,注册用户Bob预付1000美元后,可在2006年9月12日起的每个周五享受6次超级服务m,该授权可表示为:

access( [09/12/2006,+ ∞] , Weeks+5.days, (6, Bob , m, super, +, Business system)) ←prepay(Bob,1000) & register(Bob)

其中$prepay(Bob, 1000)$表示Bob预付1000美元,$register(Bob)$表示Bob是注册用户。
- 派生规则(Derived Rule) :定义为$deraccess ( time, period, auth) \leftarrow L_1 \& \cdots \& L_n$,其中$L_i$可以是带有条件表达式的access。派生规则用于在进行使用控制时更新使用次数,访问时使用次数减1,但只更新时间授权,不更新非时间授权。例如,Bob想将享受服务m的3次特权转移给Alice,可定义如下派生规则:

deraccess( [09/12/2006,+ ∞] , Weeks+5.days, (3, Alice , m, super, +, Business system)) ←access ( [09/12/2006,+ ∞] , Weeks+5.days, (6, Bob , m, super, +, Business system)) & give(3, Alice, m, super, Bob) & less(3,6)
deraccess( [09/12/2006,+ ∞] , Weeks+5.days, (3, Bob , m, super, +, Business system)) ←access ( [09/12/2006,+ ∞] , Weeks+5.days, (6, Bob , m, super, +, Business system)) & give(3, Alice, m, super, Bob) & less(3,6)

其中$give(3, Alice, m, super, Bob)$表示Bob将3次超级特权转移给Alice,$less(m,n)$表示m小于n时为真。
- 解决规则(Resolution Rule) :定义为$force access ( time, period, auth) \leftarrow L_1 \& \cdots \& L_n$,其中$L_i$可以是access、deraccess或条件表达式。解决规则用于强制做出最终明确的决策,可用于撤销授权、合并多次时间授权、访问后更新非时间授权以及解决时间和非时间授权共存时的冲突。例如,在上述Bob转移特权给Alice的例子中,如果Alice原本有4次超级服务m的权利,转移后可使用解决规则合并授权:

force access( [09/12/2006,+ ∞] , Weeks+5.days, (7, Alice , m, super, +, Business system)) ←access ( [09/12/2006,+ ∞] , Weeks+5.days, (4, Alice , m, super, +, Business system)) & deraccess ( [09/12/2006,+ ∞] , Weeks+5.days, (3, Alice , m, super, +, Business system))

如果Alice有非时间权利,可使用如下解决规则:

force access( [09/12/2006,+ ∞] , Weeks+5.days, (-1, Alice , m, super, +, Business system)) ←access ( [09/12/2006,+ ∞] , Weeks+5.days, (-1, Alice , m, super, +, Business system)) & deraccess ( [09/12/2006,+ ∞] , Weeks+5.days, (3, Alice , m, super, +, Business system))

如果Bob转移后使用次数为0,可使用解决规则撤销其授权:

force access( [09/12/2006,+ ∞] , Weeks+5.days, (0, Bob , m, super, -, Business system)) ←deraccess ( [09/12/2006,+ ∞] , Weeks+5.days, (0, Bob , m, super, +, Business system))

通过这些授权规则,TUCON可以更好地处理复杂的授权需求,为现代访问控制提供了一种有效的解决方案。不同的应用场景可以根据这些规则进行定制,以满足特定的安全和管理需求。例如,系统管理员可以根据不同情况,利用解决规则做出强制授权决策,防止拒绝服务攻击等安全问题。总之,TUCON模型在处理复杂授权场景方面具有显著优势,值得在实际应用中进一步推广和探索。

基于时间的使用控制模型TUCON:原理与应用

5. TUCON模型的实际应用与优势分析

在实际应用中,TUCON模型展现出了多方面的优势,能够有效应对现代访问控制中的各种挑战。

5.1 应对资源滥用问题

如前文所述,一些蠕虫和病毒会通过占用大量系统资源来发动攻击,像Code Red和Dukes等。TUCON模型通过设置使用次数约束,能够很好地防止此类资源滥用情况的发生。具体操作步骤如下:
1. 确定资源使用次数 :系统管理员根据资源的性质和使用需求,为不同的资源设定合理的使用次数上限。例如,对于一个数据库查询接口,设定每个用户每天最多可以进行100次查询操作。
2. 监控使用情况 :系统在运行过程中,实时监控用户对资源的使用次数。当用户发起访问请求时,系统首先检查其剩余使用次数是否大于零。
3. 撤销授权 :如果使用次数消耗至零,系统自动撤销该用户对该资源的访问授权,从而避免资源被过度占用。

5.2 处理特权转移问题

在许多应用场景中,用户之间可能需要进行特权转移。TUCON模型在处理特权转移时具有简单高效的特点,具体步骤如下:
1. 发起转移请求 :用户A想要将自己对某个对象的部分使用次数特权转移给用户B,向系统发起转移请求。例如,用户A有10次对某在线课程的观看特权,想将其中3次转移给用户B。
2. 系统检查 :系统检查用户A的剩余使用次数是否足够进行转移,以及转移是否符合系统的规则和策略。
3. 更新使用次数 :如果检查通过,系统减少用户A的使用次数,同时增加用户B的使用次数。例如,转移后用户A剩余7次观看特权,用户B获得3次观看特权。
4. 更新授权信息 :系统更新授权信息,确保新的授权状态得到正确记录。

5.3 灵活的授权管理

TUCON模型的授权规则提供了灵活的授权管理方式,能够满足不同应用场景的需求。
- 授予规则的应用 :在一些应用中,需要根据用户的特定行为来授予授权。例如,在一个电商系统中,用户完成首次购物后,可以获得一定次数的优惠券使用特权。系统可以通过授予规则来实现这一功能:

access( [start_time,+ ∞] , Always, (3, user1, coupon, use, +, system)) ←first_purchase(user1)

其中 first_purchase(user1) 表示用户1完成了首次购物。
- 派生规则的应用 :派生规则可以用于在用户使用资源过程中动态更新使用次数。例如,在一个文件下载系统中,用户每次下载文件,使用次数减1:

deraccess( [start_time,+ ∞] , Always, (pt - 1, user2, file, download, +, system)) ←access ( [start_time,+ ∞] , Always, (pt, user2, file, download, +, system)) & downloading(user2, file, download)
  • 解决规则的应用 :当出现授权冲突时,解决规则可以帮助系统做出明确的决策。例如,在一个多用户共享资源的系统中,用户A和用户B都对某个资源有授权,可能会出现冲突。系统可以使用解决规则来合并或撤销授权:
force access( [start_time,+ ∞] , Always, (total_pt, user3, resource, use, +, system)) ←access ( [start_time,+ ∞] , Always, (pt1, user3, resource, use, +, system)) & deraccess ( [start_time,+ ∞] , Always, (pt2, user3, resource, use, +, system))

其中 total_pt = pt1 + pt2 ,表示将两个授权的使用次数合并。

6. 与其他模型的比较

与传统访问控制模型和时间访问控制模型相比,TUCON模型具有明显的优势。

6.1 与传统访问控制模型的比较

传统访问控制模型如DAC、MAC和RBAC,核心围绕访问矩阵模型,授权相对静态,难以应对复杂的动态访问需求。而TUCON模型引入了使用次数和时间周期的概念,授权具有可变性和灵活性。例如,在传统模型中,一旦用户获得了对某个对象的访问权限,通常可以在一定时间内无限制地访问;而在TUCON模型中,用户的访问次数受到限制,更加符合实际应用中的资源管理需求。

6.2 与时间访问控制模型的比较

时间访问控制模型主要考虑受特定时间段约束的授权决策,但授权仍然是基于主体对目标对象权限的静态决策。TUCON模型不仅考虑了时间因素,还引入了使用次数的概念,能够更好地处理动态的访问场景。例如,在一个视频播放平台中,时间访问控制模型可能只规定用户在某个时间段内可以访问视频,但无法限制用户的观看次数;而TUCON模型可以同时限制观看的时间段和观看次数。

6.3 与UCON模型的比较

UCON模型将传统访问控制模型和时间访问模型统一起来,考虑了时间和消耗属性作为主体或对象的可变属性。然而,UCON模型由于授权管理复杂,难以实施,尚未投入实际应用。TUCON模型专注于访问的周期和使用次数,使访问控制更简单易实现,适合现实世界的应用。

7. 未来发展趋势与展望

随着信息技术的不断发展,访问控制面临着越来越多的挑战和机遇。TUCON模型作为一种新兴的访问控制模型,具有广阔的发展前景。

7.1 与新兴技术的融合

未来,TUCON模型可能会与人工智能、区块链等新兴技术进行融合。例如,结合人工智能技术,可以实现更加智能的授权决策,根据用户的行为模式和历史数据来动态调整使用次数和授权期限。结合区块链技术,可以提高授权信息的安全性和不可篡改性,确保授权过程的透明和可信。

7.2 应用领域的拓展

TUCON模型目前主要应用于数字对象的访问控制,未来可能会拓展到更多的领域,如物联网、云计算等。在物联网中,设备之间的访问控制需求日益增长,TUCON模型可以为物联网设备提供灵活的访问控制机制,确保设备之间的安全通信和数据共享。在云计算中,对于云资源的访问控制也可以采用TUCON模型,提高云资源的使用效率和安全性。

7.3 模型的进一步优化

为了更好地适应不同的应用场景,TUCON模型可能会进行进一步的优化和扩展。例如,引入更复杂的周期表达式和时间逻辑,以满足更加精细的授权需求;优化授权规则的执行效率,提高系统的响应速度。

总之,TUCON模型为现代访问控制提供了一种有效的解决方案,具有简单易实现、灵活高效等优点。在未来的发展中,TUCON模型有望在更多的领域得到应用,并不断完善和发展,为信息安全和资源管理做出更大的贡献。

总结

本文详细介绍了基于时间的使用控制模型TUCON,包括其原理、相关工作、激励示例、模型详解、实际应用、与其他模型的比较以及未来发展趋势。TUCON模型通过引入使用次数和周期约束的概念,解决了传统和时间访问控制模型在处理动态授权需求时的局限性。其授权规则提供了灵活的授权管理方式,能够有效应对资源滥用、特权转移等问题。与其他模型相比,TUCON模型具有简单易实现、适合现实世界应用的优势。未来,TUCON模型有望与新兴技术融合,拓展应用领域,并进行进一步的优化和发展。相信在不断的研究和实践中,TUCON模型将在现代访问控制领域发挥越来越重要的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值