工程科学与技术   2017, Vol. 49 Issue (5): 85-92
基于密钥超图和身份密码的多域光网络密钥管理方案
吴启武, 文闻     
武警工程大学 信息工程系,陕西 西安 710086
基金项目: 国家自然科学基金资助项目(61402529;61402147;61402531);陕西省自然科学基金研究计划资助项目(2015JQ6266)
摘要: 针对分层PCE架构下多域光网络的特点及其密钥管理需求,提出一种新型的基于密钥超图和身份密码的密钥管理方案(简称为KMS-KI)。与基于逻辑密钥树的经典分散式密钥管理方案不同,该方案首先将多域光网络的密钥关系建模成两层密钥超图,即用点表示顶点,用超边描述各层级密钥关系,使网络的密钥层次关系能够更好地反映在密钥超图模型中;然后使用基于分层的身份密码系统和改进的私钥生成策略分别完成主密钥、公私钥、会话密钥、层组密钥、域间密钥的生成和动态管理,较好地解决了私钥的安全保护和私钥生成中心存在的单点失效问题。同时,通过融合成员特征值思想,当群组成员加入或离开时,剩余群组成员利用pPCE或者cPCE传递的密钥特征值自行计算和更新组密钥,大大降低了新的组密钥被敌手破获的风险。通过分析表明,KMS-KI方案具备前向安全性、后向安全性、私钥保密性和抗共谋攻击能力,与典型的基于逻辑密钥树的分散式方案相比,不但支持分层身份密码系统,且在密钥存储量、cPCE通信量和加解密次数等方面取得了综合较优的性能。
关键词: 多域光网络    密钥管理    密钥超图    身份密码    
A Key Management Scheme Based on Key Hypergraph and Identity-based Cryptography in Multi-domain Optical Networks
WU Qiwu, WEN Wen     
Dept. of Info. Eng., Eng. Univ. of CAPF, Xi’an 710086, China
Abstract: In view of the characteristics of multi-domain optical networks under hierarchical PCE architecture,a novel key management scheme (referred to as KMS-KI) based on key hypergraph and identity-based cryptography was proposed in this paper.Differing from the classic decentralized key managements based on logic key tree,the key relationship of multi-domain optical networks was firstly modeled into key hypergraph with two layers,namely the vertices represented by points and the key relation at all levels described with hyperedge.In this way,the key layered relation of network can be better reflected in the model of key hypergraph.And then,the master keys,the public keys and private keys,the session keys,the layer group keys and the inter-domain keys were generated respectively and dynamically managed by using hierarchical identity-based cryptography and improved private key generation strategies.By the way,the security protection of private keys and the problem of single point’s failure of private key generation center were better solved.Meanwhile,by fusing the idea of member characteristic value,when the members join or leave the group,the remaining group members automatically used the key value of the pPCE or cPCE to calculate and update the group key.So,the risk that the new group key was uncovered by adversary was greatly reduced.The analytical results showed that,KMS-KI scheme has the forward and backward security,confidentiality of private keys and the ability of resisting collusive attack.Meanwhile,it not only supported hierarchical identity-based cryptography,but also had achieved better comprehensive performance than typical decentralized schemes in terms of numbers of the key storage,numbers of cPCE communication,encryption and decryption times.
Key words: multi-domain optical networks    key management    key hypergraph    identity-based cryptography    

针对多域光网络的路由问题,IETF提出两种不同的基于PCE(path computation element)构架的解决方案[1]:平坦型PCE方案[2]和层次型PCE方案[3]

但两类PCE方案均需要解决高功率信号串扰、隐私泄露、拒绝服务、消息篡改、伪造与重放、身份假冒等安全威胁[45]。尽管公开的专门针对PCE架构的安全解决方案很少,但是RFC 5440[6]和RFC 5920[7]提出了包括认证、加密、数字签名、攻击检测、隐私保护、密钥管理在内的安全性对策。由于各类安全策略离不开密钥的使用,因此RFC 5440提出了PCE架构下大规模多域光网络应该采取动态密钥管理的建议。虽然目前还没有公开的基于PCE架构的多域光网络的动态密钥管理方案,但对于一般网络环境下群组密钥管理的研究取得了长足的进展。总的来说,目前群组密钥管理方案可分为3大类[8]:集中式方案、分布式方案和分散式方案。例如,以GKMP[9]为代表的平坦型集中式方案;以LKH[10]、Pour07[11]为代表的逻辑层次型集中式方案;以GDH[12]为代表的分布式方案;以Iolus[13]、Saroit[14]为代表的分散式方案。按照组密钥更新对GKC(group key controller)的依赖程度可将这些方案分为3大类:完全依赖于GKC的方案,例如GKMP、LKH方案等;部分依赖于GKC的方案,例如Pour07、Saroit方案;完全不依赖于GKC的方案,例如GDH分布式方案。其中,集中式方案由于需要单独的GKC持续工作,因此容易发生单点失效问题;分布式方案较好地解决了集中式方案中的单点失效和GKC的信任问题,但是需要更多的通信量和计算量维持各节点之间的组成员密钥关系;分散式方案是一种介于集中式和分布式之间的折中解决方案,其将大的群组划分为多个相对较小的子组,每个子组都由其自身的GKC生成密钥并分发给其他子组成员,较适合于大型动态群组通信。

根据分层PCE多域光网络的特点,采用分散式的和部分依赖GKC的密钥管理方案相对合理,可以有效解决单点失效和“1影响n”的问题。出于安全性和效率考虑,若应用于分层PCE架构光网络,目前的分散式解决方案还有待进一步改进和完善。一方面,目前分散式解决方案大都是基于逻辑密钥树的形式进行设计的,即用一条边描述两个节点之间的关系,但是光网络域内和域间多节点之间的密钥关系无法直接用简单边描述;另一方面,典型的方案还需进一步改进。具体来说,Iolus方案由于采用基于平坦型结构的方式对子组成员进行管理,当子组成员离开时,子组GKC的通信量为m–1 (m为子组成员的数量)。针对Iolus方案的不足,Saroit等提出一种基于成员特征值的分散式方案(Saroit方案),将成员离开时子组GKC的通信量降为1,但存在敌手串谋攻击的隐患。Du等提出一种基于成员特征值的改进方案(简称为Du方案)[15],该方案能抵抗子组成员的串谋攻击,性能优于Iolus方案,将子组成员离开时子组密钥管理器的通信量从m–1降为lb m,但该方案是基于平衡逻辑密钥树进行密钥管理的,当应用于多域光网络时,管理效率相对较低,且当平衡条件不满足时,这种方法还需进一步设计和改进。另外,在基于超图的安全性研究方面,文献[16]研究了基于超图模型的隐私保护匿名化技术,并提出相关攻击模型和匿名模型;文献[17]提出一种基于超图的卫星网络组播密钥管理方案,可应用于大规模卫星网络动态组通信,并可降低卫星带宽的使用,但由于该方案是使用传统加解密手段实现的,因此安全成本相对较高。

因此,本文创新地将超图理论运用于多层PCE架构下多域智能光网络的密钥管理,将传统的逻辑密钥树变换成新型的密钥超图模型,然后使用基于分层的身份密码系统和改进的公私钥生成策略,完成各类密钥的生成和动态管理,同时融合成员特征值思想;当组成员离开时,剩余组成员可自行计算和更新组密钥。

1 工作基础 1.1 基于分层PCE的多域光网络模型

基于分层PCE的多域光网络[3]图1所示,示例中包括3个域,每个域成员分别编号为m1m15;同时每个域配有一个子路径计算单元cPCE(child-PCE),整个网络配置有一个父路径计算单元pPCE(parent-PCE)。假定源节点为m1,目的节点为m15,具体的算路和建路过程如下:

Step1:源节点m1作为PCC(path computation client)向本域的子PCE(即cPCE-1)发送跨域路径计算请求消息,然后cPCE-1将请求转发给父PCE(即pPCE)。

Step2:父PCE接收到请求后,首先确定目的节点所在的域,然后计算出一条源到目的节点的抽象路由,并发送算路请求给相关的子PCE,即要求子PCE联合计算出源点到边界点、边界点到边界点、边界点到目的的路径段。

图1 基于分层PCE的多域光网络模型 Fig. 1 Multi-domain optical network model based on layered-PCE

Step3:父PCE收到来自相关子PCE的路径段计算结果后,首先将这些路径段进行合并处理,得到多条端到端的跨域路径,然后从中选择一条满足约束条件的最优路径作为最终计算结果,并将该结果发送给子PCE1。

Step4:子PCE1 收到来自父PCE的算路结果后,将计算得到的路径信息发送给PCC,即完成了跨域路径的计算。

Step5:源节点启用RSVP-TE或CR-LDP信令协议进行建路处理,即完成可用波长等资源的收集和分配,从而完成整条端到端光路径的成功建立;如果建路失败,光连接请求被阻塞。

1.2 超图理论

1973年,Berge提出超图的概念[18],并首次创建了无向超图理论。随着研究的深入,超图理论在运筹学、网络通信等领域也有着广泛的应用[19]。下文给出超图的一般数学定义:

定义1 超图。设 $H = (V,E)$ ,其中V为所有节点的集合,EV中节点构成的超边集合;其中连接两个顶点的边为超边集合的特例,则称 $H = (V,E)$ 为超图。

1.3 分层的身份密码系统

针对基于公钥基础设施PKI(public key infrastructure)的密码体制存在证书管理结构复杂且成本过高等问题。1984 年,Shamir提出基于身份的密码系统IBC(identity-based cryptosystem)的思想[20]。此后,利用双线性对性质,基于身份的加密IBE(identity-based encryption)方案和基于身份的签名IBS(identity-based signature)方案相继被提出。由于基于单个私钥生成中心PKG(private key generator)的IBC方案存在单点失效影响全局的问题,因此分层的IBC方案引起了人们的重视[21],即引入子层PKG分担根节点PKG的密钥管理任务,每个PKG只为其子节点下的用户计算私钥,在一定程度上降低了系统的风险,下文引入双线性对的定义及其性质。

定义2 双线性对。设G1q阶的加法循环群,G2q阶的乘法循环群,其中q为一个大素数; $e:{G_1} \times {G_1} \to $ G2为一个双线性对映射,且满足如下性质:

1)双性线:对 $\forall A,B \in {G_1}$ $\alpha ,\beta \in Z_q^*$ ,其中 $Z_q^*$ 为模q的整数乘法群,使得 $e(\alpha A,\beta B) = e{(A,B)^{\alpha \beta }}$

2)非退化性:存在 $A,B \in {G_1}$ ,使得 $e(A,B) \ne 1$

3)可计算性:对 $\forall A,B \in {G_1}$ ,存在可计算 $e(A,B)$ 的算法。

2 多域光网络密钥超图模型

本文首次将超图理论应用于多域光网络密钥管理模型中,将密钥关系建模成两层密钥超图,即用点表示顶点,用超边描述各层级密钥关系,使网络的密钥层次关系能够更好地反映在密钥超图模型中。

定义3 多域光网络密钥超图。多域光网络密钥超图模型定义为层次型密钥超图 $G = (M,E)$ ,其中M = $ ({m_0},{m_2}, \!\cdots\! ,{m_{n - 1}}), \ $ $E= ({E_0}({K_{0}}), {E_1}(K_1), \cdots ,{E_d}({K_d}),{e_0}({k_0}), $ $ {e_1}({k_1}),\!\cdots\! ,{e_t}({k_{t - 1}}))$ $|{E_i}| \ge 1$ $\left| d \right|$ 表示自治域的总个数, $\left| t \right|$ 表示连接两个不同域顶点的总边数,Kiki表示Eiei所覆盖节点的群组密钥。整个密钥超图分为两层,即PCE层和自治域层。在PCE层中,pPCE作为各cPCE的PKG或KGC,cPCE作为各自治域的PKG或KGC。

图2为基于图1所示的网络拓扑的密钥超图模型。其中: ${E_0}({K_{0}})$ 表示各cPCE(即 ${m_0},{m_{16}},{m_{17}},{m_{18}}$ )共享群组密钥K0的超边; ${E_1}({K_1})$ ${E_2}({K_2})$ ${E_3}({K_3})$ 分别表示域1、域2和域3相关节点共享密钥K1K2K3的超边; ${e_0}({k_0})$ ${e_1}({k_1})$ 表示域1和域2、域2和域3边界节点之间共享密钥k0k1的超边,例如 ${e_0}({k_0})$ 表示 $\{ {m_5},{m_6}\} $ 共享密钥k0

图2 多域光网络密钥超图 Fig. 2 Key hypergraph of multi-domain optical networks

3 密钥管理方案KMS-KI

融合改进的私钥生成策略和基于成员特征值的密钥更新思想,本文提出一种基于密钥超图和身份密码的多域光网络密钥管理方案,简称为KMS-KI(key management scheme based on key hypergraph and identity cryptosystem in multi-domain optical networks)。

3.1 参数与符号定义

参考RFC 5440有关PCE架构下多域光网络的密钥管理建议,KMS-KI密钥管理方案涉及的参数与符号定义如表1所示,相关层次的密钥类型如表2所示。

表1 参数符号与定义 Tab. 1 Definition of symbols and parameters

表2 密钥类型 Tab. 2 Type of keys

3.2 KMS-KI的设计

KMS-KI分为PCE层和自治域层。本文围绕密钥管理的主要过程将两层统一进行描述,包括密钥建立、成员加入时的群组密钥更新和成员退出时的群组密钥更新等过程。

3.2.1 密钥建立

1)公私钥的建立

① pPCE公私钥的建立

pPCE作为PCE层的PKG,首先利用参数生成器,输入系统大素数q和安全参数kq,输出G1G2e,选取G1的一个生成元g和哈希函数 $h:{\{ 0,1\} ^*} \to {G_1}$ ,随机选择 ${k_{\rm s}} \in Z_q^*$ 作为PKG的系统主密钥,同时设置pPCE的私钥 ${R_{{\rm{pPCE}}}} = {k_{\rm s}}$ 、pPCE的公钥 ${P_{{\rm{pPCE}}}} = {k_{\rm s}}g$ ,生成系统密码套件的公开参数 $A{\rm{ = (}}{G_1},{G_2},q,g,{P_{{\rm{pPCE}}}},h)$

②cPCE公私钥的建立

Step1:初始化。离线对 ${\rm{cPC}}{{\rm{E}}_i}$ 预置公开参数A,然后 ${\rm{cPC}}{{\rm{E}}_i}$ 生成身份标识 ${\rm{I}}{{\rm{D}}_i} = {d_i}g$ 作为自己的公钥 ${P_{{\rm{cPCE(}}i)}}$ ,并计算会话密钥协商所需参数 $X = g{}^{{d_i}}\bmod q$ 。其中 ${d_i} \in Z_{_q}^*$ g为生成元,并将标识 ${\rm{I}}{{\rm{D}}_i}$ 和相应的用户口令W预置于pPCE中。

Step2: ${\rm{cPC}}{{\rm{E}}_i} \to {\rm{pPCE}}:{[{\rm{Request Key}},{\rm{I}}{{\rm{D}}_i},{\rm{W}},X]_{{P_{{\rm{pPCE}}}}}}$ ,即 ${\rm{cPC}}{{\rm{E}}_i}$ 请求pPCE为自己生成部分私钥信息,并使用pPCE的公钥加密此消息。

Step3:pPCE使用私钥解密请求消息及验证用户 ${\rm{cPC}}{{\rm{E}}_i}$ 的真实性后,计算 ${\rm{cPC}}{{\rm{E}}_i}$ 的部分私钥信息 ${k_{\rm s}}h({\rm{I}}{{\rm{D}}_i})$ ,并选择随机数 $p \in Z_{_q}^*$ ,计算会话密钥协商所需参数 $Y = {g^p}\bmod q$

Step4: ${\rm{pPCE}} \to {\rm{cPC}}{{\rm{E}}_i}:{[{k_{\rm s}}h({\rm{I}}{{\rm{D}}_i}),{[Y]_{{P_{{\rm{cPCE}}}}}}]_{{R_{{\rm{pPCE}}}}}}$

Step5: ${\rm{cPC}}{{\rm{E}}_i}$ 使用pPCE的公钥验证其签名的真实性后,计算自己的完整私钥 ${R_{{\rm{cPCE(}}i)}} = {d_i}{k_{\rm s}}h({\rm{I}}{{\rm{D}}_i})$ ,并使用私钥解密 ${[Y]_{{P_{{\rm{cPCE}}}}}}$

③域内节点公私钥的建立

在自治域层,由于pPCE需要完成域内集中式管理的路径计算单元工作,因此选择pPCE作为本域的PKG来完成密钥管理。域内节点公私钥建立过程与PCE层中cPCE的公私钥建立过程相同,pPCE仅需修改系统主密钥 ${k_{\rm s}} = {R_{{\rm{cPCE(}}i{\rm{)}}}}$ 、参数 $A{\rm{ = (}}{G_1},{G_2},q,g,$ $ {P_{{\rm{cPCE(}}i{\rm{)}}}},h)$

2)会话密钥的建立

①PCE层会话密钥的建立

Step1:pPCE与单个 ${\rm{cPC}}{{\rm{E}}_i}$ 之间采用Diffie-Hellman算法进行会话密钥协商,即pPCE计算 $k_{{\rm p} - {\rm c}}^i = {X^p}\bmod q$ ${\rm{cPC}}{{\rm{E}}_i}$ 计算 $k_{{\rm c} - {\rm p}}^i = {Y^{{d_i}}}\bmod q$ 。根据Diffie-Hellman算法原理,可得 $k_{{\rm p} - {\rm c}}^i = k_{{\rm c} - {\rm p}}^i$

Step2:cPCEi与cPCEj间的会话密钥采用身份密码学双性线的性质生成, ${\rm{cPC}}{{\rm{E}}_i}$ 计算 $k_{{\rm c} - {\rm c}}^{i - j} \!\!=\! e({R_{{{{\rm cPCE}(i)}}}},{\rm{I}}{{\rm{D}}_j}h({\rm{I}}{{\rm{D}}_j}))$ ${\rm{cPC}}{{\rm{E}}_j}$ 计算 $k_{{\rm c} - {\rm c}}^{j - i} = e({\rm{I}}{{\rm{D}}_i}h({\rm{I}}{{\rm{D}}_i}),{R_{{{{\rm cPCE}(j)}}}})$ ,根据双性对性质可得 $k_{{\rm c} - {\rm c}}^{i - j} = k_{{\rm c} - {\rm c}}^{j - i}$

②自治域层会话密钥的建立

在自治域层,域内节点与cPCE之间会话密钥协商和PCE层中cPCE与pPCE之间的会话密钥协商过程相同,域内节点与域内节点之间会话密钥的协商和cPCE与cPCE的会话密钥协商过程相同,这里重点描述域边界节点之间的会话密钥协商过程。假定域A中节点mi和域B中的节点mj具有密钥超边,两者的会话密钥协商步骤如下:

Step1:初始化。域A节点mi计算 $X = g{}^x\bmod q$ ,其中 $x \in Z_{_q}^*$ g为大素数q的生成元,域B节点mj计算 $Y \!\!=\!\! g{}^y\bmod q$ $y \in Z_{_q}^*$

Step2: ${m_i} \to {\rm{cPC}}{{\rm{E}}_{\rm{A}}}:{[X{\rm{, B - }}{m_j}{\rm{]}}_{k_{m - {\rm c}}^{\rm{A}}}}$ ,其中 ${\rm{B - }}{m_j}$ 表示此消息需要转发给域B中的节点mj

Step3: ${\rm{cPC}}{{\rm{E}}_{\rm{A}}} \ \to \ {\rm{cPC}}{{\rm{E}}_{\rm{B}}}:{[X{\rm{, B - }}{m_j}{\rm{]}}_{k_{{\rm c} - {\rm c}}^{{\rm{A - B}}}}}$ ${\rm{cPC}}{{\rm{E}}_{\rm{A}}}$ 将消息解密后,使用与 ${\rm{cPC}}{{\rm{E}}_{\rm{B}}}$ 共享的会话密钥 $k_{{\rm c} - {\rm c}}^{{\rm{A - B}}}$ 进行加密传递。

Step4: ${\rm{cPC}}{{\rm{E}}_{\rm{B}}} \to {m_j}:{[X{\rm{, B - }}{m_j}{\rm{]}}_{k_{{\rm c} - m}^j}}$ ${\rm{cPC}}{{\rm{E}}_{\rm{B}}}$ 将消息解密后,使用与mj共享的会话密钥 $k_{{\rm c} - m}^j$ 进行加密传递。

Step5:域B中的节点mj解密此消息后,计算 $ k_{j - i} = $ ${X^y}\bmod q$ ,采用Step2~4相反的顺序将Y加密传递给域A中节点mi

Step6:域A中的节点mj成功收到Y后,计算 $ {k_{i - j}} =$ $ {Y^x}\bmod q$ 。根据Diffie-Hellman原理,可得 ${k_{i - j}} = {k_{j - i}}$

Step7: ${\rm{cPC}}{{\rm{E}}_{\rm{A}}}$ 生成域间密钥超边 ${e_{i - j}}({k_{i - j}})$

3)层组密钥的建立

①PCE层组密钥的建立

Step1:pPCE生成PCE层级的组密钥 ${K_0} = h(r||{\rm{cPC}}{{\rm{E}}_1}|| $ $ \cdots||{\rm{cPC}}{{\rm{E}}_d}||{\rm{pPCE}}) $ ,其中 $r \in Z_q^*$ 表示随机数, ${\rm{cPC}}{{\rm{E}}_i}$ 代表cPCE所在域的编号,d表示自治域的总个数;然后在密钥超图中生成超边 ${E_0}({K_{0}})$

Step2: ${\rm{pPCE}} \to {\rm{cPC}}{{\rm{E}}_i}:{[{K_0}]_{k_{{\rm p} - {\rm c}}^i}}$ ,其中 $i \in [1,d]$

Step3: ${\rm{cPC}}{{\rm{E}}_i}$ 采用 $k_{{\rm c} - {\rm p}}^i$ 解密得到层组密钥K0

②自治域层组密钥的建立

Step1: ${\rm{cPC}}{{\rm{E}}_i}$ 生成该自治域层的组密钥 ${K_i} \!=\! h(r||{m_{\rm s}}|| $ $ \cdots ||{m_{\rm e}}||{\rm{cPC}}{{\rm{E}}_i})$ ,其中 $r \in Z_q^*$ 表示随机数,msme分别表示域内节点的起始编号和结束编号;然后在密钥超图中生成超边 ${E_i}({K_{i}})$

Step2: ${\rm{cPC}}{{\rm{E}}_i} \to \{ {m_{\rm s}} - {m_{\rm e}}\} :{[{K_i}]_{k_{{\rm c} - m}^i}}$ ,其中 $i \in [1,d]$

Step3: ${m_{\rm s}} - {m_{\rm e}}$ 采用 $k_{m - {\rm c}}^i$ 解密得到本域的组密钥Ki

3.2.2 成员加入时的组密钥更新

1)新cPCE加入时的群组密钥更新

当有新cPCE需要加入时,新cPCE成员的公私钥建立,与pPCE、cPCE之间会话密钥的协商过程见3.2.1节。但为了后向安全性考虑,需要对PCE层的组密钥进行更新。为简化更新过程,采用成员特征值的基本思想[11,15],即当新的PCE成员加入时,根据pPCE传递的密钥更新特征值,剩余PCE成员可自行计算和更换新的群组密钥,具体过程如下:

Step1:新成员 ${\rm{cPC}}{{\rm{E}}_d} \!\!\to\!\! {\rm{pPCE}}$ ,申请加入超边 ${E_0}({K_{0}})$

Step2:pPCE生成新的随机数 $r \in Z_q^*$ ,计算 $ {K_{0}}^\prime =({K_{0}}||$ $ hr||{\rm{I}}{{\rm{D}}_d})$ 作为新的组密钥,并更新超边 ${E_0}({K_{0}})$ ${E_0}({K_{0}}^\prime )$

Step3: ${\rm{pPCE}} \!\Rightarrow\!\! \{ E({K_0}) \!-\! {\rm{pPCE}}\} \!:\!{[r,{\rm{I}}{{\rm{D}}_d}]_{{K_0}}}$ ,其中 $r,{\rm{I}}{{\rm{D}}_d}$ 为pPCE传递的密钥更新特征值。

Step4: ${\rm{pPCE}} \to {\rm{PC}}{{\rm{E}}_d}:{[{K_0}^\prime ]_{k_{{\rm p} - {\rm c}}^d}}$

Step5:各 ${\rm{cPC}}{{\rm{E}}_i}$ ( $i \ne d$ )使用组密钥解密消息后,自行计算 ${K_{0}}^\prime = h({K_{0}}||r||{\rm{I}}{{\rm{D}}_d})$ 作为新的组密钥。

Step6: ${\rm{cPC}}{{\rm{E}}_d}$ 利用与pPCE之间的共享会话密钥解密得到新的组密钥 ${K_0}^\prime $

2)自治域新节点加入时的组密钥更新

在自治域层,当有新的节点需要加入时,需要更新密钥超边 ${E_i}({K_{i}})$ ,其中 $1 \le i \le d$ d表示自治域的个数,其组密钥更新过程与新cPCE加入时的密钥更新过程类似,如图3所示。当新节点m19请求加入cPCE3所在的自治域3时,其组密钥更新过程下:

Step1:新节点 ${m_{19}} \to {\rm{cPC}}{{\rm{E}}_3}$ ,申请加入超边 ${E_3}({K_{3}})$ 。然后,m19利用3.2.1节描述的方法,生成自身公私钥,并与 ${\rm{cPC}}{{\rm{E}}_3}$ (即m18)及原有节点 ${m_{11}} - {m_{15}}$ 协商会话密钥。

Step2: ${\rm{cPC}}{{\rm{E}}_3}$ 生成新的随机数 $r \!\in\! Z_q^*$ ,计算 $ {K_3}^\prime \!\!=\! h({K_3}||$ $ r||{\rm{I}}{{\rm{D}}_{19}})$ 作为新的组密钥,并更新超边 ${E_3}({K_3})$ ${E_3}({K_3}^\prime )$

Step3: ${\rm{cPC}}{{\rm{E}}_3} \Rightarrow \{ {m_{11}} - {m_{15}}\} :{[r,{\rm{I}}{{\rm{D}}_{19}}]_{{K_3}}}$

Step4: ${\rm{cPC}}{{\rm{E}}_3} \to {m_{19}}:{[{K_3}^\prime ]_{k_{{\rm c }- m}^{19}}}$

Step5: ${m_{11}} - \ {m_{15}}$ 分别自行计算新的组密钥 ${K_3}^\prime = $ $ h({K_3}||r||{\rm{I}}{{\rm{D}}_d})$

Step6:m19利用与 ${\rm{cPC}}{{\rm{E}}_3}$ 之间的共享会话密钥解密得到新的组密钥 ${K_3}^\prime $

图3 新节点加入时的组密钥更新 Fig. 3 Group key updating when new node joining

3.2.3 成员退出时的组密钥更新

1)cPCE退出时的组密钥更新

当有cPCE成员需要退出时,为前向安全性考虑,需要对PCE层的组密钥进行更新,具体过程如下:

Step1:成员 ${\rm{cPC}}{{\rm{E}}_k} \to {\rm{pPCE}}$ ,申请退出超边 ${E_0}({K_{0}})$

Step2:更新超边 ${E_0}({K_{0}})$ ${E_0}({K_{0}}^\prime )$ ,且 ${\rm{pPCE}} \!\!\to\!\! \{ E({K_0}) - $ $ {\rm{cPC}}{{\rm{E}}_k} - {\rm{pPCE}}\} :{[r,{\rm{I}}{{\rm{D}}_k}]_{K_{_{{\rm p} - {\rm c}}}^i}} $ ,其中 $r \in Z_q^*$

Setp3:各 ${\rm{cPC}}{{\rm{E}}_i}$ ( $i \ne k$ )使用与pPCE共享的会话密钥解密信息后,分别自行计算 ${K_{0}}^\prime = h({K_{0}}||r||{\rm{I}}{{\rm{D}}_k})$ 作为新的组密钥。

2)自治域成员退出时的组密钥更新

自治域内成员退出时的组密钥更新过程与PCE层中cPCP退出时基本相似,但还需要考虑域边界之间会话密钥的销毁。具体过程如下:

Step1:成员 ${m_k}\!\! \to\!\! {\rm{cPC}}{{\rm{E}}_i}$ ,申请退出超边 ${E_i}({K_i})$ ${\rm{cPC}}{{\rm{E}}_i}$ 首先判断mk是否为边界节点,若不是边界节点,则执行Step5;若是边界节点,则执行Step2。

Step2: ${\rm{cPC}}{{\rm{E}}_i} \Rightarrow {\rm{cPC}}{{\rm{E}}_j}:{[{m_k}]_{{k_0}}}$ ,即请求 ${\rm{cPC}}{{\rm{E}}_j}$ 通知与mk有关联边的域内节点销毁相关域边界节点之间的会话密钥。

Step3: ${\rm{cPC}}{{\rm{E}}_j}$ 解密此消息后, ${\rm{cPC}}{{\rm{E}}_j} \!\! \Rightarrow\!\! \{\! E({k_j}) \!-\!{\rm{cPC}}{{\rm{E}}_j}\} \!\! : $ $ {[{m_k}]_{{k_j}}}$ ,即请求域内相关节点销毁与mk有关联边的会话密钥。

Step4: ${\rm{cPC}}{{\rm{E}}_j}$ 所在域的相关节点使用域内组密钥解密此消息后,销毁与mk相关的会话密钥。

Step5: ${\rm{cPC}}{{\rm{E}}_i} \!\!\to\!\! \{ E({K_i}) \!-\! {\rm{cPC}}{{\rm{E}}_i} \!-\! {m_k}\} \!\!:\! \! {[r,{\rm{I}}{{\rm{D}}_k}]_{K_{_{{\rm c} \!-\! m}}^i}}, $ ${\rm{cPC}}{{\rm{E}}_i}$ 更新超边 ${E_i}({K_i})$ ${E_i}({K_i}^\prime )$ ,其中 $r \in Z_q^*$

Step6:域内其他成员mi( $i \ne k$ )使用与 ${\rm{cPC}}{{\rm{E}}_i}$ 共享的会话密钥解密信息后,分别自行计算 ${K_{\rm i}}^\prime = h({K_i}||r||{\rm{I}}{{\rm{D}}_k})$ 作为新的组密钥。

4 KMS-KI性能比较分析 4.1 安全性分析

1)前向安全性

本文方案中,当单个cPCE或单个域成员离开时,对应的pPCE或cPCE计算并使用节点会话密钥加密发送随机数 $r \in Z_q^*$ 和退出成员的ID给其他组成员,剩余成员可自行计算得到新的组密钥,但是离开的成员由于不知道其他组成员的会话密钥,因此不能计算出更新后的组密钥。同时,若该成员为边界节点,域边界邻居节点销毁了与退出成员之间的会话密钥。因此,方案可确保群组成员在退出群组后,无法获知其退出后的群组通信内容,即实现了前向安全性。

2)后向安全性

当单个新cPCE或单个新域成员申请加入时,采用与成员退出时类似的组密钥更新策略,可确保新加入的群组成员无法获知其加入前群组通信的内容,实现了后向安全性。

3)抗串谋攻击

假设节点mimj为串谋敌手,mi首先离开,mj可知道新的随机数rmi的ID值,从而计算出新的组密钥。但是当mj离开后,由于mimj均无法获得新的随机数r,即使他们联合,也无法计算出新的组密钥。因此,方案具有抗串谋攻击能力。

4)私钥保密性

方案中,由于用户的私钥由节点与cPCE或pPCE联合生成,cPCE或pPCE也无法知道其成员的私钥,因此,即使cPCE或pPCE的主密钥泄露,也不会造成成员节点的私钥和共享的会话密钥泄露。

5)支持分层身份密码系统

本文方案利用双线性对性质和分层身份密码的特点,建立的公私钥和协商出的会话密钥可用于后续通信中,实现基于身份的加密(IBE)和基于身份的数字签名(IBS),并降低单个PKG失效的风险。

本文选择典型的Iolus方案、Saroit方案和Du方案进行安全性对比,结果如表3所示,可见,Saroit方案不具备抗串谋攻击能力,Iolus、Saroit和Du方案目前均没有考虑对身份密码系统的支撑,本文KMS-KI方案具有前向安全与后向安全、抗串谋攻击、私钥保密性和支持身份密码系统的能力。

表3 安全属性比较 Tab. 3 Comparison of security attribution

4.2 性能比较分析

本文围绕密钥存储量、cPCE通信量和基于加解密次数的计算量进行分析,并与典型的分散式方案进行比较。为与其他方案的基本约定统一,设n表示所有域成员的总数量,m表示域(或cPCE)的个数,按域成员平均分配法,m/n表示每个域的成员数量;d表示逻辑密钥树的度数,对于二叉逻辑密钥树,取d=2。

4.2.1 密钥存储量分析

本文方案KMS-KI中,由于密钥存储在pPCE、cPCE和域内成员之中,因此这里分开进行分析。

pPCE中,需要存储1对自身的公私钥,m个与cPCE的会话密钥、1个层组密钥,因此其密钥存储量为m+3。

cPCE中,需要存储1对自身的公私钥和1个pPCE的公钥、1个与pPCE的会话密钥、m–1个与其他cPCE的会话密钥、n/m个与域成员的会话密钥、1个PCE层的组密钥、1个自治域层的组密钥,因此,其密钥存储量为5+m+n/m

在域内节点中,需要存储1对自身的公私钥和1个cPCE的公钥、1个与cPCE的会话密钥、n/m个与域成员的会话密钥、至多n/m个与域边界节点之间的会话密钥,因此,其密钥存储量至多为 $4 + 2(n/m)$

KMS-KI方案与Iolus、Saroit和Du方案的密钥存储量比较结果如表4所示。各方案中pPCE的密钥存储量区别不大,KMS-KI略高。cPCE的密钥存储量与自治域数量m关系较大,如图4所示(取n=60):当m较小时,Saroit的密钥存储量最高且区别较大,Du方案最小;当m增大后,KMS-KI方案相对较高。

表4 密钥存储量比较 Tab. 4 Comparison of key storage numbers

图4 cPCE密钥存储量比较 Fig. 4 Comparison of key storage numbers of cPCE

4.2.2 cPCE通信量分析

在各类节点,由于域内成员数量n/m一般大于cPCE的个数m,因此cPCE与域内成员节点通信量的大小可最大程度地反映出密钥管理方案的通信量。

当新的域内成员加入时,cPCE需要给原有成员发送一个组播消息,此消息包括新的随机数和新加入成员的ID值,用于原有成员自行计算新的组密钥;另外,cPCE还需要发送一个单播消息给新成员,此消息包括已经计算好的新的组密钥。因此,cPCE的通信量为2。

当域内成员退出时,若退出成员为边界节点,出于多域光网络邻域安全通信的考虑,cPCE需要给邻居cPCE发送一个组播消息,用于域边界节点之间会话密钥的销毁;另外,cPCE还需要发送n/m–1个单播消息给退出节点之外的成员。因此,当成员退出该域时,cPCE的最大通信量为n/m,最小通信量为n/m–1。

KMS-KI方案与Iolus、Saroit和Du方案的cPCE通信量比较结果如表5所示,当成员加入时,KMS-KI通信量与Iolus、Du方案相同,Saroit方案最高;当成员退出时,如图5所示(取n=60),Saroit方案通信量最低,但不能防范串谋攻击,KMS-KI方案的通信量与Iolus方案相当。

表5 cPCE通信量比较 Tab. 5 Comparison of communication numbers of cPCE

图5 成员退出时cPCE通信量比较 Fig. 5 Comparison of communication numbers of cPCE when member leaving

4.2.3 加解密次数

以本文选择自治域层中节点加入和节点退出时需要的加解密次数衡量方案的计算量。

在自治域层,当域内新成员加入时,cPCE需要使用原来的域内层组密钥加密新的随机数和新成员ID值,并以组播的形式发送给域内成员;另外cPCE还需要使用与新成员协商的会话密钥加密计算出的新的域内层组密钥,发送给新的域内成员,因此cPCE的加密次数是2,每个成员的解密次数为1。

在自治域层,当域内边界成员离开时,cPCE需要使用PCE层的组密钥加密并发送一个用于边界节点之间会话密钥销毁的组播消息给邻域cPCE;另外,cPCE还需要使用与每个非退出域内成员的会话密钥加密并发送n/m–1个单播消息给退出节点之外的成员。可见,当域内边界成员退出该域时,cPCE的加密次数为n/m;当域内非边界成员退出该域时,cPCE的加密次数为n/m–1,每个域内成员的解密次数为1。

KMS-KI方案与Iolus、Saroit和Du方案的cPCE加、解密次数比较结果如表6所示。当成员加入时,本文KMS-KI方案与Iolus方案的cPCE加密次数最小,Saroit方案的成员解密次数最多;当成员退出时,Saroit方案的cPCE加密次数和成员解密次数最小,但不能防范串谋攻击,本文KMS-KI方案与Iolus方案的cPCE加密次数和成员解密次数相同。

表6 自治域层加解密次数比较 Tab. 6 Comparison of encryption and decryption times in autonomous domain layer

5 结 论

由于光网络通信量巨大,其安全问题已引起了行业的高度重视。针对高功率信号串扰、隐私泄露、拒绝服务、消息篡改、伪造与重放、身份假冒等安全威胁,各类安全解决方案需要使用加密、认证、数字签名、攻击检测和隐私保护等多项安全性保护措施,而这些安全机制离开不密钥的使用,因此密钥如何有效管理是光网络中的重要问题。针对此问题,以PCE构架下的多域光网络为研究对象,提出一种新的基于超图理论和身份密码学的密钥管理方案(KMS-KI)。此方案具备前向安全、后向安全和抗共谋攻击能力,与典型的基于逻辑密钥树的分散式方案相比,在支持分层身份密码系统的同时,在密钥存储量、cPCE通信量和加解密次数等方面取得了较优的综合性能。下一步的研究将重点考虑如何将密钥管理与信誉管理进行融合,提高多域光网络的安全性。

参考文献
[1]
Lehman T, Xi Y, Guok C P. Control plane architecture and design considerations for multi-service,multi-layer,multi-domain hybrid networks[J]. IEEE Communications Magazine, 2012, 11(11): 67-71.
[2]
F Farrel A,Vasseur A,Ash J.RFC 4655 A path computation element (PCE) based architecture [S].New York:IETF,2006.
[3]
King D,Farrel A.RFC 6805 The application of the path computation element architecture to the determination of a sequence of domains in MPLS and GMPLS internet engineering task force[S].New York:IETF,2012.
[4]
Fork M P, Wang Z X, Deng Y H. Optical layer security in fiber-optical network[J]. IEEE Transaction on Information Forensics and Security, 2012, 6(3): 725-736.
[5]
Lee Y,Bernstein G,Martensson J,et al.RFC 7449.Path computation element communication protocol (PCEP) requirements for wavelength switched optical network (WSON) routing and wavelength assignment [S].New York:IETF,2013.
[6]
Vasseur J P,Roux Le J L.RFC 5440 Path computation element (PCE) communication protocol[S].New York:IETF,2009.
[7]
Fang L,Behringer M,Callon R,et al.RFC 5920 Security framework for MPLS and GMPLS networks[S].New York:IETF,2010.
[8]
Hardjono T,Dondeti L.Multicast and group security [M].London:Artech House,2003.
[9]
Harney H,Muckenhirn C.RFC 2094 Group key management protocol (GKMP) architecture[S].New York:IETF,1997.
[10]
Wallner D,harder E,Agee R.RFC2627 Key management for multicast:Issues and architecture[S].New York:IETF,1998.
[11]
Pour A N, Kumekawa K, Kato T. A hierarchical group key management scheme for secure multicast increasing efficiency of key distribution in leave operations[J]. Computer Networks, 2007, 51(17): 4727-4743. DOI:10.1016/j.comnet.2007.07.007
[12]
Steiner M,Tsudik G,Waidner M.Diffie-Hellman key distribution extended to group communication [C]//The 3rd ACM Conference on Computer and Communications Security.New York:ACM Press,1996:31–37.
[13]
Mittra S. Iolus:A framework for scalable secure multicast[J]. ACM Computer Communication, 1997, 27(3): 277-288.
[14]
Saroit I A, El-Zoghdy S F, Matar M. A scalable and distributed security protocol for multicast communications[J]. International Journal of Network Security, 2011, 12(1): 50-64.
[15]
Du X Q, Bao W, Fu X Q. A multicast key management scheme based on characteristic values of members[J]. Journal of Electronics, 2012, 29(3): 294-301.
[16]
Li Yuechuan.A study of hypergraph based privacy preserving anonymization techniques [D].Beijing:Beijing Jiaotong University,2016. [李越川.基于超图模型的隐私保护匿名化技术研究[D].北京:北京交通大学,2016.]
[17]
Ding Y,Zhou X W,Cheng Z M,et al.Key management in secure satellite multicast using key hypergraphs[J].Journal of Electronics,2014,70(4):1859–1883.
[18]
Berge C.Graphs and hypergraphs [M].Amsterdam:North Holland,1973.
[19]
Jeong I R, Lee D H. Key agreement for key hypergraph[J]. Computers and Security, 2007, 26(78): 452-458.
[20]
Shamir A.Identity-based cryptosystems and signature schemes[C]//Cryptology-Crypto’84,Berlin:Springer-Verlag,1984:47–53
[21]
Horwitz J,Lynn B.Toward hierarchical identity-based encryption [C]//Advances in Cryptology:Eurocrypt 2002.Berlin:Springer-Verlag,2002:466–481.