﻿ 可变动RBAC模型的密钥管理研究
 计算机系统应用  2018, Vol. 27 Issue (11): 180-185 PDF

1. 中国科学技术大学 信息安全测评中心, 合肥 230027;
2. 中国科学技术大学 计算机科学与技术学院, 合肥 230027

Key Management for Changeable RBAC System
JIANG Fan1, WEI Yi-Xiang2, CHENG Shao-Yin1
1. Information Technology Security Evaluation Center, University of Science and Technology of China, Hefei 230027, China;
2. School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China
Abstract: RBAC model is a solution which defines users with different roles, and the roles are in different classes which mean the users with different roles have different permission. Usually, we can use secret keys to discriminate the different roles. However, the role in this access control model is a security class including some users. Changes will appear in this system with personnel changes frequently. Due to the keys are corresponding to the roles, how to update the keys in these frequent changes is the focus of this study. There are three kinds of model in RBAC, the linear model, the tree model, and Directed Acyclic Graph (DAG). This paper discusses the changes of users and security class from the linear and tree model. The problem in the method where the inferior keys are determined by the superior keys is also discussed. Thus, key management for changeable RBAC system is effectively realized.
Key words: access control     key management     linear hierarchies     extensible method

1 引言

2 问题定义 2.1 密级模型

1) 传递性: 假设有三个不同的密级集合, SCi,SCj,SCk, 如果有SCi≤SCj且SCj≤ SCk, 那么SCi≤SCk.

2) 自反性: 对任何密级集合SCi都有SCi≤SCi .

3) 非对称性: 如果SCi≤SCj且SCj≤SCi那么必定有i = j. 话句话说, SCi≤SCj∩SCj≤SCi $\Leftarrow \Rightarrow$ SCi和SCj是对应于同一角色的密级集合.

 图 1 三种结构类型示意图

2.2 密钥分配

(1) 为每个角色分别指定一个互不相同的质数. 对于每个vV , 选择一个与其他质数p均不同的质数pv.

(2) 利用这些质数, 通过如下方法, 为每个角色生成一个标记(token).

 ${{t}_{v}}=\left\{ {\begin{array}{*{20}{l}} 1&if\;\;{{A}_{v}}=V \\ \prod\limits_{u\notin {{A}_{v}}}{{p}_{u}}&{\rm {otherwise}} \\\end{array}} \right.$

(3) 随机选择两个不同的大质数pq, 计算n= p·q. 然后选择根密钥k0使得1<k0<n.

(4) 对于每一个vV, 计算出 $k_{v}=k_{0}^{t_{v}}$ mod n. 其中Av表示从属于v的所有密级集合的集合.

3 KTLHs

Hassen等人提出的密钥管理方法利用了额外空间来存储密钥表. 他们将此方法称为“对线性多层结构的基于密钥表的密钥管理方法”(KTLHs)[12]. 第一次使用KTLHs时, 它会随机生成一个K1, 然后每一个Kt+1都能使用一个单向哈希函数H来生成, Kt+1= H(Kt). 这样一来, 对于每一个SCt的成员来说, 任意密级集合SCu (SCu≤SCt)的密钥可以通过ut次哈希函数来得到. 密钥表将记录下每个密级集合已经得到的密钥以及版本号, 用Ktp来表示密级集合SCt在进行过第p–1次更新后的密钥. 更新密钥时, 将会进行以下操作:

3.1 加入/离开

(1) 控制中心随机生成一个新的密钥Ktp+1.

(2) 对每个满足SCc≤SCt的SCc, 使用单向函数H计算出Kcp+1并发送至相应的集合.

(3) 对每个满足SCt≤SCs的SCs, 发送消息对(t, Ktp+1)至对应集合.

(4) 每个密级集合更新自己的密钥表.

3.2 升级/降级

(1) 控制中心随机生成一个新的密钥Ktp+1.

(2) 然后对每个满足SCu−1≤SCc≤SCt+1的SCc, 使用单向函数H计算出Kcp+1并发送至相应的集合.

(3) 满足SCt≤SCs的SCs将会收到消息对(t, Ktp+1); 满足SCu–1≤SCs的SCs将会收到消息对(u, Kup+1).

(4) 每个密级集合更新自己的密钥表.

3.3 密级集合变化

3.4 空间消耗增多的情形

4 本文方法

4.1 模型结构

4.2 线性模型

 图 2 在变化时发生的更新

K0作为根密钥由中心控制器直接随机生成.

1) SCt选择一个随机数r, 计算出Ktnew= Ktgr.

2) 计算并更新itnew.

3) 上级密钥的参数it–1new更新.

Data: 由 CA 生成的K0

Result: 各自保存自身密钥的 RBAC 模型

1 initialization;

2 foreach 非根节点角色 do

3 Kt=H(Kt-1,it-1);

4 end

5 while SCt发生变动 do

6 SCt 选择随机数r;

7 计算 $\scriptstyle K_t^{\rm {new}} = {K_t} \cdot r$ ;

8 $\scriptstyle i_t^{\rm {new}} = \left( {{K_t} \oplus {i_t}} \right) \oplus K_t^{\rm {new}}$ ;

9 $\scriptstyle i_{t - 1}^{\rm {new}} = \left( {{K_{t - 1}} \oplus {i_{t - 1}} + r} \right) \oplus {K_{t - 1}}$ ;

10 end

Data: 由 CA 生成的K0

Result: 各自保存自身密钥的 RBAC 模型

1 initialization;

2 while SCt 删除 do

3 SCt的直接指派关系移交至其直接父亲(假设为SCt–1);

4 $\scriptstyle i_{t - 1}^{\rm {new}} = {K_t} \oplus {i_t} \oplus {K_{t - 1}}$ ;

5 end

6 while SCt 插入子节点 SCt+1 do

7 SCt 的直接指派关系移交至 SCt+1 ;

8 设置新参数itnew;

9 计算 $\scriptstyle {K_{t + 1}} = H\left( {{K_t},i_t^{\rm{new}}} \right)$ ;

10 $\scriptstyle i_{t + 1}^{\rm {new}} = {K_{t + 1}} \oplus {K_t} \oplus {i_t}$ ;

11 $\scriptstyle i_{t - 1}^{\rm {new}} = {K_t} \oplus {i_t} \oplus {K_{t - 1}}$ ;

12 end

4.3 树形模型

 图 3 计算并更新密钥

5 安全性证明及实验 5.1 安全性

 ${\rm{Dec}}(x',g,p) = x,{\text{其中}}x' = {g^{(x + i)}}.$

1) 这里, 该公开模p循环群, g为其生成元.

2) Alice选择一个随机数a作为密钥. 那么公钥则是(g, ga, p).

3) 在这个情境下, Dec则输出ai. 而其中i = 0.

5.2 计算复杂度

 $\sum \limits_{i = 1}^N {p_i} \cdot {u_i}$

5.3 真实场景模拟

 图 4 线性结构用户变动响应效率对比

 图 5 线性结构角色变动响应效率对比

6 结论与展望

 [1] Garrison WC, Shull A, Myers S, et al. On the practicality of cryptographically enforcing dynamic access control policies in the cloud. Proceedings of 2016 IEEE Symposium on Security and Privacy. San Jose, CA, USA. 2016. 819–838. [2] 李凤华, 苏铓, 史国振, 等. 访问控制模型研究进展及发展趋势. 电子学报, 2012, 40(4): 806-813. [3] Sandhu R, Ferraiolo D, Kuhn D. The NIST model for role-based access control: Towards a unified standard. Proceedings of the 5th ACM Workshop on Role-based Access Control. Berlin, Germany. 2000. 47–63. [4] Ferraiolo DF, Sandhu R, Gavrila S, et al. Proposed NIST standard for role-based access control. ACM Transactions on Information and System Security, 2001, 4(3): 224-274. DOI:10.1145/501978.501980 [5] Chang CC, Buehrer DJ. Access control in a hierarchy using a one-way trap door function. Computers & Mathematics with Applications, 1993, 26(5): 71-76. [6] Leitner M, Rinderle-Ma S. A systematic review on security in process-aware information systems-constitution, challenges, and future directions. Information and Software Technology, 2014, 56(3): 273-293. DOI:10.1016/j.infsof.2013.12.004 [7] Lin CH. Dynamic key management schemes for access control in a hierarchy. Computer Communications, 1997, 20(15): 1381-1385. DOI:10.1016/S0140-3664(97)00100-X [8] Akl SG, Taylor PD. Cryptographic solution to a problem of access control in a hierarchy. ACM Transactions on Computer Systems (TOCS), 1983, 1(3): 239-248. DOI:10.1145/357369.357372 [9] Odelu V, Das AK, Goswami A. A secure effective key management scheme for dynamic access control in a large leaf class hierarchy. Information Sciences, 2014, 269: 270-285. DOI:10.1016/j.ins.2013.10.022 [10] D’Arco P, De Santis A, Ferrara AL, et al. Variations on a theme by Akl and Taylor: Security and tradeoffs. Theoretical Computer Science, 2010, 411(1): 213-227. DOI:10.1016/j.tcs.2009.09.028 [11] Shen VRL, Chen TS. A novel key management scheme based on discrete logarithms and polynomial interpolations. Computers & Security, 2002, 21(2): 164-171. [12] Hassen HR, Bettahar H, Bouadbdallah A, et al. An efficient key management scheme for content access control for linear hierarchies. Computer Networks, 2012, 56(8): 2107-2118. DOI:10.1016/j.comnet.2012.02.006