王 振,王作顺,廖 燃,郑小龙
(75130部队 广西 贵港 537100)
组通信技术能够使发送者以高效的方式将数据发送给所有的组成员,提高网络通信效率,已广泛应用于体育直播、视频会议等场合。同时,组通信系统中的安全问题也受到了越来越多的关注,为了保证只有合法的组用户才能获得组通信数据,通常使用共享密钥加密数据,实现单权限的信息流访问控制。但随着网络的不断大型化、复杂化,组通信系统中开始包括多个不同的信息流并且用户组拥有对不同信息流的不同访问权限,对组密钥管理提出更多的要求。现有大部分组密钥管理机制只针对单信息流进行的设计,如经典的LKH机制[1],不能满足系统中不同权限组访问控制的要求,在存在复杂信息流的大型环境中表现得尤为突出。
基于密钥管理的多权限访问控制已经有一些研究,如文献 [2-4],但对于组通信中的多权限访问控制的研究还不成熟。组通信中的多权限访问控制的一个主要的影响因素就是组的动态性。这里动态性指的是组成员权限的变化,由组成员的加入、离开和组间切换等动作引起。
结合复杂组通信系统中的安全需求,文中首次将多级安全的信息流策略引入到多权限的组通信系统中,同时改进文献[5]中完整密钥树图的思想,设计了一种基于信息流策略的多权限组密钥管理机制,包括密钥多树图的生成和组密钥的更新。
安全组通信系统中主要包括用户和资源两大实体,通过引入安全级对所有的资源和用户进行统一的标识与管理。信息流策略主要关注的是信息从一个安全级到另一个安全级的流动,也就是系统中的资源信息流向组用户的过程。安全组通信系统的一个主要特性就是组的动态性,组成员不仅加入或者离开组,而且可能从一个组切换到另一个组,这些都对信息流策略的实施产生很大影响。
下面对安全组通信系统中的信息流策略进行详细地描述。
首先,用到的符号说明如下:
R1:资源组,组通信中的资源可以划分为许多不同的组,同一资源组内的资源可以被同样的用户访问;
RG:资源组的集合,有 RG={R1,R2,…,Rm},m 是组通信资源组的数量;
Uj:用户组,与资源组的定义相似,将组通信中具有完全相同访问权限的用户组成一个用户组;
UG:用户组的集合,有 UG={U1,U2,…,Un},n 是组通信用户组的数量。
文中将多级安全的信息流策略引入到组通信中,参考文献[6]中对信息流策略的定义,结合组通信的特点对其进行了相应的修改,描述如下:
定义1组通信中多级安全的信息流策略是一个五元组(L,≤,UG,RG,λ),其中:
1)(L,≤)是安全级的偏序集,即具有自反性、传递性和反对称性,并且安全级L=(A,C),其中A表示密级,C表示范畴;
2)L是有限的;
3)L1≤L2iff A1≤A2,C1⊆C2;
4)λ:UG∪RG→L是用户组和资源组的安全级函数;
5)信息能够从Ri流向Uj当且仅当Ri的当前安全级小于等于 Uj的当前安全级,即 λ(Ri)≤λ(Uj)。
从定义1中可知,组通信中信息流策略允许信息在同一安全级中或向上一安全级流动,但不允许向下或无关的安全级流动。信息流策略的主要元素(L,≤)是一个有限的偏序集合,这种偏序关系可以表示为一个有向无环图(DAG),记为G=(V,{E}),其中 V 表示顶点集合,{E}表示有向边集合。 在DAG图中,顶点v代表一个安全级,通过安全级函数与组通信中的用户组或资源组对应起来。如果边(vi,vj)∈E,则称顶点 vi邻接到顶点 vj。λ(vi)≤λ(vj)当且仅当 i=j或 DAG 图中存在从vi到vj的有向路径,即vj从vi是可达的。如图1所示的多级安全信息流策略中, 资源组集合 RG={R1,R2,R3,R4},用户组集合,资源组和用户组对应的安全级如表1所示。这里需要说明的是 UG={U1,U3,U4,U5},用户和资源都与安全级相绑定,所以一个用户(或资源)只能属于一个用户组(或资源组),但多个用户组(或资源组)可以分配同一个安全级。
图1 信息流策略DAG图的例子Fig.1 Example of DAGfor information flow policy
表1 安全级的分配情况表Tab.1 Assignments of security labels
信息流策略实施的一种主要途径是使用密码技术,通过将安全级与密钥相关联,转化为基于信息流策略的密钥管理问题。因此,结合DAG图进行密钥的管理来控制信息流动,为每个顶点分配一个数据访问密钥,用来加密顶点中的资源组数据信息,保证只有合法的用户组才能拥有访问密钥以获得该信息流。但由于组的动态性变化引起密钥的频繁改变,密钥管理必须能够高效应对,文中应用完整密钥树图的思想,将信息流策略DAG图转化为密钥多树图,进而基于密钥多树图实现多权限组密钥管理。
1.2.1 基于密钥多树图的组密钥管理方法
将密钥管理组织成多树图的方式,文中称此图为密钥多树图。密钥多树图也是一种有向无环图,是由多个平衡二叉子树组成。根据信息流策略,将能够获得某一资源组信息流的用户组集合构成一棵子树,子树根节点为数据访问密钥DK,叶子节点为用户组密钥UK,中间节点为辅助密钥AK。然后将所有的密钥子树整合为一个完整的密钥多树图,所有的用户组共同构成了密钥多树图的叶子节点。需要说明的是,同一安全级的多个用户组共用同一个叶子密钥,可以将它们视为同一个用户组内的不同子组。在子树整合过程中尽可能多的重用关键的中间密钥节点,以减少密钥管理的存储和更新开销。
如图1所示的信息流策略DAG图可以构造成的密钥多树图如图2所示。用户组节点Ui与叶子密钥节点uki相对应,资源组信息流Ri由图中的数据访问密钥dki加密,只有其孩子节点中的用户组能够获得dki以访问信息流Ri。
图2 基于信息流策略的密钥多树图Fig.2 Key multi-tree graph based on information flow policy
从图中可以得出各用户组拥有的数据访问密钥集如表2所示,可以发现,每个用户组的可访问资源列表是满足信息流策略的。
表2 用户组拥有的数据访问密钥集Tab.2 Sets of data access key of user groups
在当前的信息流策略中,有些DAG顶点中不存在用户组,但在密钥多树图的构造过程中,为了提高密钥管理机制的可扩展性,以适应信息网络的动态环境,文中应用增加适当冗余的思想,为该类顶点分配虚用户组U′,虚用户组内部不包含任何成员,即 U′=Ø,其安全级 λ(U′)等于该顶点的安全级。因此,在密钥多树图的构造过程中,虚用户组与一般的用户组的处理方法是一致的,作为树图的叶子节点分配用户组密钥,如图2所示,代表顶点v2中虚用户组,u与相对应,并且 λ()=λ(v2)。
1.2.2 密钥更新过程
为了维持组通信系统中的信息流策略以及资源数据的前向安全和后向安全,当组成员关系发生变化时必须执行密钥的更新操作。文中组成员关系的变化是指成员安全级的改变,也即成员访问权限的改变,主要是由用户加入、离开用户组以及在用户组之间的切换引起。需要说明的是,这里组成员关系的变化不包含处于同一安全级的不同用户组之间的成员切换动作,这是由于其并没有引起访问权限的改变,不执行数据访问密钥的更新操作,只需更新受影响的用户组密钥,文中不做详细讨论。
下面结合信息流策略DAG图对用户动作进行描述。Ui→Uj表示用户从 Ui切换到 Uj,其安全级由 λ(vi)改变为λ(vj),i≠j。 使用 U0表示没有任何访问权限的用户组,其安全级为空,即 λ(U0)=Ø。 因此,Ui→Uj主要包括以下几种情况:
1)U0→Uj表示用户加入到组通信中,其安全级置为 λ(vj);2)Ui→U0表示用户离开组通信,其安全级置为空;
4)Ui→表示用户切换到虚用户组,此时顶点vj中的虚用户组由新用户组Uj替代;
5)Ui→Uj表示除去以上4种特殊情况之外的用户切换动作。
密钥多树图中用户组节点Ui(包括虚用户组)的辅助密钥集AKi是指从Ui对应的叶子节点到根节点的路径上的所有密钥的集合。对于用户切换动作Ui→Uj,首先,密钥管理中心KDC和拥有∩AKj中密钥的受影响的用户组使用伪随机数函数更新∩AKj中的密钥;其次,KDC生成与AKi∩中的所有原来密钥相独立的新密钥并安全分发给受影响的用户组。
这里需要说明的是:当Ui变成虚用户组时,uki更新为u;当Ui→时,u更新为ukj并分发给切换用户。通过这种方式维持动态变化的网络环境下密钥多树图结构的稳定性,提高密钥管理机制的可扩展性。
以图1所示的信息流策略为例对密钥更新过程进行描述。存在一用户的安全级由 λ(v3)变为 λ(v4),即 U3→U4发生。如图2所示,根据该密钥多树图,切换发生前,U3拥有辅助密钥 集 AK3={uk3,dk3,dk1},U4拥 有 辅 助 密 钥 集 AK4={uk4,k14,dk1,dk4,dk2}。 因 此,∩AK4={uk4,k14,dk4,dk2} 并且 AK3∩={uk3,dk3},如图 3 所示。
图3 成员切换示意图Fig.3 Member switch between groups
本节对多权限组密钥管理机制中用户切换动作Ui→Uj满足前向安全性和后向安全性进行分析,同时证明其很好地维持了组通信系统中的信息流策略。
更新AKi∩AKj中的所有密钥为其保护的数据提供了前向安全性。当切换用户离开Ui时,KDC生成新密钥以替换AKi∩中的原有密钥并安全分发,即使切换用户截获了组通信系统中之后的信息流,它也无法通过其拥有的原有密钥解密这些数据。可见,文中的机制满足前向安全性。
当用户切换动作Ui→Uj发生时,切换用户的安全级同时发生改变,根据定义1,通过对切换用户当前安全级与资源当前安全级进行比较,判断用户是否具有对资源的合法访问权限。切换用户从KDC获得其具有合法访问权限的资源组的数据访问密钥,同时,后向安全性和前向安全性避免用户通过频繁地更改安全级以获得对资源的非法访问权限的情况发生,从而保证了安全组通信系统中信息流策略的实施。
文中提出了一种适用于组通信系统的多权限组密钥管理机制。该机制通过将信息流策略DAG图转化为密钥多树图的方式,首次将信息流策略引入到安全组通信系统中。并应用虚用户组的方法来提出组密钥管理机制的可扩展性以更好适应组通信成员关系的动态性。安全性分析证明该机制达到了安全性的设计要求。下一步的研究重点是仿真验证机制的应用性能,以实现量化分析其密钥存储和更新开销。因此,该密钥管理机制适用于基于大型网络系统的组通信应用,如3G移动通信系统、空间无线网络通信等。
[1]Wong CK,Gouda M,Lam SS.Secure group communications using key graphs[J].IEEE/ACM Transactions on Networking,2000,8(1):16-30.
[2]Lin CH.Dynamic key management schemesfor accesscontrol in a hierarchy[J].Computer Communications,1997,20:1381-1385.
[3]Chen T S,Huang J Y.A novel key management scheme for dynamic access control in a user hierarchy[J].Applied Mathematics and Computation,2005,162:339-351.
[4]欧阳洁.多权限组播通信中基于单向函数的群组密钥管理协议[D].长沙:中南大学,2007.
[5]Sun Y,Liu K J R.Hierarchical group access control for secure multicast communications [J].IEEE/ACM Trans.Networking,2007(15):1514-1526.
[6]Crampton J,Martin K,Wild P.On key assignment for hierarchical access control[J].19th IEEE Computer Security Foundations Workshop,2006(1):98-111.