超高效聚合历史无关持久认证字典与基于角色访问控制的集合覆盖问题
持久认证字典(PADs)相关内容
-
签名与存储分析
- 假设每次更新后都进行快照,作者每次更新需签署一定数量的元组。当$E_2 = n^{\frac{2}{3}}$且$E_1 = n^{\frac{1}{3}}$时,签署元组数量可最小化至$O(\sqrt[3]{n})$。一般来说,若有$C$代,查找证明包含$C$个签名,作者需签署$O(C\sqrt[C]{n})$个元组,若不使用元组替代,每次更新的存储量为$O(C\sqrt[C]{n})$。
- 推测和元组替代技术:推测可减少作者签名总数,从而减少服务器存储签名所需空间。它可自然地与元组替代(使用或不使用迭代哈希)结合,将服务器每次更新必须保存的元组数量减少到$O(C)$。 -
基于RSA累加器的元组PADs
- RSA累加器是一种用简洁的$O(1)$摘要对集合进行认证的有用方法,可使用数字签名进行签名。动态累加器允许对累加器进行高效增量更新,而无需重新生成。集合中元素的成员资格通过见证来证明,见证可由不可信服务器计算。
- 最新进展包括支持高效非成员证明的累加器或见证的批量更新。通过将元组存储在签名累加器中,快照的更新大小可减少到$O(1)$,同时支持根认证器。 -
评估
- 介绍了多种实现PAD的算法,并在表1中与现有相关工作进行比较,从键的数量$n$和快照数量$v$的角度比较了每个算法的空间使用和摊销预期运行时间。假设每次更新后都进行快照。
- 对于基于树的PAD,查询时间包括在认证器缓存中进行二分搜索的$O(\log v)$成本;对于基于元组的PAD,查询时间包括在持久树中搜索元组的时间。还指出了哪些设计支持根认证器、Merkle聚合,以及是否是规范的或历史无关的。
- 由于签名中使用的模幂运算比许多密码哈希运算昂贵得多,为了更准确地比较,用$\beta$表示验证签名中使用的幂运算成本。表1描述了以下内容:- 服务器存储(每次更新):服务器每次更新的存储量。
- 成员证明大小:发送给客户端的成员证明的大小。
- 查询时间(历史):为旧快照生成成员证明的时间。
- 查询时间(当前):为当前快照生成成员证明的时间。
- 验证时间:客户端验证成员证明的时间。
- 更新信息:发送给服务器的更新大小。
- 作者更新时间:作者生成更新所需的时间。
- 服务器更新时间:服务器处理更新所需的时间。
| Reference | Storage | Query Time (historical) | Query Time (current) | Proof Size | Verify Time | Update Time (author) | Update Time (server) | Update Size | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Path Copy Skiplist | $O(\log n)$ | $O(\log n)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Root. | |
| Path Copy Red - black | $O(\log n)$ | $O(\log n)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Root. | |
| Treap (Path Copy) | $O(\log n)$ | $O(\log n)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Canonical. Root. Aggregates. | |
| Treap (Versioned Node) (No Cache) | $O(1)$ | $O(n)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Canonical. Root. Aggregates. | |
| Treap (Versioned Node) (Cache Everywhere) | $O(\log n)$ | $O(\log v\cdot\log n)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Canonical. Root. Aggregates. | |
| Treap (Versioned Node) (Median Cache) | $O(1)$ | $O(\sqrt{n}\log v)$ | $O(\log n)$ | $O(\log n)\beta + O(\log n)$ | $\beta + O(\log n)$ | $O(\log n)$ | $O(\log n)$ | Canonical. Root. Aggregates. | |
| Solitary Tuple | $O(n)$ | $O(\log n)$ | $O(\log n)$ | $O(1)$ | $\beta + O(1)$ | $O(\beta n)$ | $O(n)$ | $O(n)$ | |
| Solitary Tuple (Speculating) | $O(C\sqrt[C]{n})$ | $O(C\log n)$ | $O(C\log n)$ | $O(C)$ | $\beta C$ | $O(\beta C\cdot\sqrt[C]{n})$ | $O(C\sqrt[C]{n})$ | $O(C\sqrt[C]{n})$ | |
| Solitary Tuple (Speculating) (+Superseding) | $O(C)$ | $O(C\log n)$ | $O(C\log n)$ | $O(C)$ | $\beta C$ | $O(\beta C\cdot\sqrt[C]{n})$ | $O(C\sqrt[C]{n})$ | $O(C\sqrt[C]{n})$ | |
| Solitary Tuple (Speculating) (+Superseding+IterHash) | $O(C)$ | $O(C\log n)$ | $O(C\log n)$ | $O(C)$ | $(\beta + D)C$ | $O(C\sqrt[C]{n}(\frac{\beta}{D}+D))$ | $O(C\sqrt[C]{n})$ | $O(C\sqrt[C]{n})$ |
基于角色访问控制(RBAC)中的集合覆盖问题
-
引言
- 近年来,基于角色的访问控制(RBAC)受到了广泛研究,它被广泛接受作为传统 discretionary 和 mandatory 访问控制的替代方案,一些商业产品如 Windows Authorization Manager 和 Oracle 9 实现了某种形式的 RBAC。
- 在 RBAC 背景下出现了一些有趣的计算问题,包括域间角色映射(IDRM)问题、用户授权查询(UAQ)问题、静态职责分离约束的可执行性以及基于角色的静态职责分离(RSSoD)约束的生成。然而,现有工作并不总是提出最合适的问题,或者没有确定问题的计算复杂性。这些问题似乎都与集合覆盖问题相关,集合覆盖问题的决策版本是 NP 完全的,优化问题是 NP 难的。
- 主要贡献是定义了最小覆盖问题(集合覆盖问题的推广),并使用它来确定 IDRM - 可用性问题的计算复杂性,同时识别了一些有趣的辅助问题并确定了它们的计算复杂性,还建立了一套处理 RBAC 中类似问题的词汇和技术。 -
背景
- RBAC 模型- RBAC96 系列模型是最著名的 RBAC 模型,为 ANSI RBAC 标准提供了基础。最简单的 RBAC0 模型定义了用户集$U$、会话集$S$、角色集$R$、权限集$P$、用户 - 角色分配关系$UA\subseteq U\times R$和权限 - 角色分配关系$PA\subseteq P\times R$。用户$u$被授权使用角色$r$当且仅当$(u, r)\in UA$;角色$r$被授权使用权限$p$当且仅当$(p, r)\in PA$;用户$u$被授权使用权限$p$当且仅当存在角色$r$使得$(u, r)\in UA$且$(p, r)\in PA$。RBAC0 状态表示为$(UA, PA)$。
- RBAC1 引入了角色层次结构的概念,建模为角色集$(R, \leq)$上的偏序。角色层次结构语义提供了一种经济的方式来表示 RBAC 状态。在本文中,假设角色层次结构已被“扁平化”,即所有授权关系都编码在用户 - 角色和权限 - 角色关系中,因此 RBAC 状态简单地由 RBAC0 状态$(UA, PA)$表示。任何 RBAC1 状态都可以在多项式时间内转换为等效的 RBAC0 状态。
- 用$Prms(r, PA)$表示角色$r\in R$被授权的权限集,对于$S\subseteq R$,用$Prms(S, PA)$表示$S$中角色集体被授权的权限集,即$Prms(r, PA)={p\in P:(p, r)\in PA}$,$Prms(S, PA)=\bigcup_{s\in S}Prms(s, PA)$。
下面是一个简单的 mermaid 流程图,展示基于角色访问控制的基本授权流程:
graph TD;
A[用户请求权限] --> B{检查用户 - 角色关系};
B -- 存在授权角色 --> C{检查角色 - 权限关系};
C -- 存在授权权限 --> D[授予权限];
B -- 不存在授权角色 --> E[拒绝权限];
C -- 不存在授权权限 --> E;
在持久认证字典部分,不同的技术在空间使用、查询时间等方面有不同的表现。例如,基于树的 PAD 和基于元组的 PAD 在查询时间的构成上有所不同。而在基于角色访问控制中,RBAC0 和 RBAC1 模型有不同的特点和转换方式,这些都为进一步研究和应用提供了基础。
超高效聚合历史无关持久认证字典与基于角色访问控制的集合覆盖问题
最小覆盖问题及其应用
-
最小覆盖问题的定义与复杂度
- 最小覆盖问题是集合覆盖问题的推广。集合覆盖问题旨在找到一个最小的集合族,使得这些集合的并集覆盖给定的全集。而最小覆盖问题在此基础上进行了拓展。
- 通过分析最小覆盖问题与基本集合覆盖问题的关系,可以推导出其计算复杂度。由于集合覆盖问题的决策版本是 NP 完全的,优化问题是 NP 难的,最小覆盖问题也具有较高的计算复杂度。 -
在 RBAC 问题中的应用
- IDRM - 可用性问题- 利用最小覆盖问题可以确定 IDRM - 可用性问题的计算复杂度。IDRM 问题涉及在不同域之间进行角色映射,以实现用户在不同系统中的授权。
- 步骤如下:
- 首先,将 IDRM 问题转化为最小覆盖问题的形式。将不同域中的角色和权限信息进行整理,构建出类似于集合覆盖问题的模型。
- 然后,根据最小覆盖问题的复杂度分析,得出 IDRM - 可用性问题的复杂度。
- 其他相关问题
- 除了 IDRM 问题,最小覆盖问题还可以应用于用户授权查询(UAQ)问题、静态职责分离约束的可执行性以及基于角色的静态职责分离(RSSoD)约束的生成等问题。
- 对于 UAQ 问题,可将用户的授权请求和系统的角色 - 权限关系转化为集合覆盖的形式,通过求解最小覆盖问题来确定用户是否具有相应的授权。
- 在静态职责分离约束的可执行性和 RSSoD 约束的生成方面,同样可以利用最小覆盖问题来分析和解决。例如,在生成 RSSoD 约束时,可将职责分离的要求转化为集合覆盖的条件,通过求解最小覆盖问题来得到合适的约束。
总结与展望
-
总结
- 在持久认证字典方面,介绍了多种实现 PAD 的算法,通过不同的技术手段如推测、元组替代、RSA 累加器等,在空间使用、查询时间等方面进行了优化。不同算法在支持根认证器、Merkle 聚合以及是否是规范的或历史无关等方面存在差异,用户可以根据具体需求选择合适的算法。
- 在基于角色访问控制中,引入了最小覆盖问题,通过它确定了 IDRM - 可用性问题的计算复杂度,并可应用于其他相关问题。同时,对 RBAC0 和 RBAC1 模型进行了详细介绍,明确了它们之间的转换关系。 -
展望
- 持久认证字典- 未来可以对各种 PAD 算法进行实证评估,了解每个算法在不同操作下的具体成本,以便为不同的应用场景选择最合适的算法。
- 进一步研究基于 RSA 累加器和其他密码技术的 PAD,完善其设计和评估。
- 探索创建基于完全持久数据结构的完全持久认证字典,以及将设计扩展到支持外包存储的场景,利用可信设备检测不可信存储中的故障。
- 基于角色访问控制
- 对于 RBAC 中的各种问题,如 UAQ 问题、静态职责分离约束等,需要进一步研究更高效的算法,降低计算复杂度。
- 可以将最小覆盖问题的研究成果应用到更多的 RBAC 相关问题中,拓展其应用范围。
- 随着 RBAC 在更多商业产品中的应用,需要不断优化和完善相关技术,以提高系统的安全性和效率。
下面是一个表格,总结持久认证字典和 RBAC 相关内容的关键信息:
| 领域 | 关键概念 | 技术手段 | 应用问题 | 复杂度 |
| — | — | — | — | — |
| 持久认证字典 | 根认证器、Merkle 聚合、规范或历史无关 | 推测、元组替代、RSA 累加器 | 空间使用优化、查询时间优化 | 不同算法复杂度不同 |
| 基于角色访问控制 | RBAC0、RBAC1、最小覆盖问题 | 角色映射、权限查询 | IDRM 问题、UAQ 问题、职责分离约束 | 部分问题可通过最小覆盖问题确定复杂度 |
以下是一个 mermaid 流程图,展示利用最小覆盖问题解决 RBAC 问题的流程:
graph TD;
A[RBAC 问题] --> B{转化为最小覆盖问题};
B -- 成功转化 --> C{分析最小覆盖问题复杂度};
C -- 得出复杂度 --> D[解决 RBAC 问题];
B -- 无法转化 --> E[采用其他方法];
综上所述,持久认证字典和基于角色访问控制在信息安全领域具有重要的应用价值。通过对不同技术和问题的研究,可以不断提高系统的性能和安全性。在未来的研究中,需要进一步探索和优化相关技术,以应对不断变化的安全需求。
超级会员免费看
169万+

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



