武警工程大学 文 闻
分层PCE多域光网络身份认证机制设计
武警工程大学 文 闻
从光网络信息安全角度对分层PCE多域光网络的身份认证机制进行详细设计,以期待光网络节点能智能识别通信对象身份的真实性。
分层PCE;多域光网络;身份认证;安全机制
RFC 6805[1]提出的分层PCE架构,但该草案并未提出相应的安全机制保证光路建立的安全性。本文将结合分层PCE的特殊结构,对其中的身份认证模块进行详细设计。
基于分层PCE的多域光网络架构如图1所示,在整个网络中配一个父路径计算单元pPCE(parent-PCE),每个域中配一个子路径计算单元cPCE(child-PCE)。pPCE采用集中式算路结构,各cPCE间没有TED消息的往来。以图1为例,介绍其架构下的建路过程。其中包括3个自治域(Domain)D1,D2,D3,网络中有若干节点(Router)m1,m2…,m15作为域成员节点,假设源节点为m1,目的节点为m15。
图1 分层PCE架构
①源节点m1作为PCC向本域cPCE(即cPCE1)发送跨域路径计算请求消息,然后cPCE1将该请求转发给pPCE。
②pPCE接收到请求后,首先通过向其他域cPCE广播目的地址,确定目的节点所在的域,然后计算出一条源到目的节点的抽象路径,并发送算路请求给相关的cPCE,即要求计算源节点到边界节点、边界节点到边界节点、边界节点到目的节点的路径段。
③pPCE收到各相关cPCE提交的路径计算结果后,将这些路径段合并处理,得到多条端到端跨域路径,然后从中选择一条满足约束条件的最优路径作为最终计算结果,将该结果发送到cPCE1。
④cPCE1收到来自pPCE的算路结果后,将计算得到的路径信息发送给PCC,即完成了跨域路径的计算。
⑤若算路成功,则开始建路阶段,与分布式PCE的建路过程相同。
身份认证是实现安全算路和安全建路的前提,其主要发生在PCC与PCE或节点与节点之间。由于PCC与PCE之间运行TCP,因此本文选择RFC 5246[2]建议的基于TCP的TLS握手协议来完成实体间的双向认证。但是大多数TLS握手协议需要利用公钥基础设施来完成身份认证,存在证书管理效率较低和通信开销较大等问题,因此本文运用IBC[3](基于身份密码学)的TLS握手协议来完成实体之间的身份认证。
表1 TLS参数符号
假设网络实体a和b之间进行身份认证,当a和b均为节点或均为cPCE时,称a与b为同层实体;当a与b一个为节点一个为cPCE时,或一个为cPCE一个为pPCE时,称a与b为异层实体。协议使用表1所示的符号进行描述。
①各PCC、PCE交互之前,均通过离线或安全信道传输的方式预置了PKG(密钥产生中心)生成的公私钥对(Pub,Pri)。
②a向发送ClientHello,向b协商安全参数。当a与b是同层实体时,Ra为a产生的随机数。当a与b是异层实体时,Ra由密钥管理系统产生。
a→b:ClientHello{Vera,Cipa,IDaRa,SessionID}
③b收到ClientHello后向a发送ServerHello,告知a选择协议的版本和密码套件。然后计算会话密钥,当a与b为同层实体时,Keya,b按公式(1)计算。
当a与b是异层实体时,Keya,b按公式(2)计算,其中Kb是离线配置时b产生的随机数,不能更改。
b选取协商数Rb。当a与b是同层实体时,Rb为b产生的随机数。当a与b是异层实体时,Rb由密钥管理系统产生。用自己的私钥签名后用Keya,b加密后通过ServerKeyExchange发送给a。
b→a:ServerHello{Vera,Cipa,IDaRa,SessionID}
ServerHelloDone
④a收到ServerHello、ServerKeyExchange、ServerHelloDone后,计算会话密钥,当a与b为同层实体时,Keya,b按公式(3)计算:
当a与b是异层实体时,Keya,b按公式4计算,其中Ka是离线配置时a产生的随机数,不能更改。
通过Keya,b解密后,再用b的公钥解密ServerKeyExchange得到的如果是Ra,则a便完成了身份认证,否则身份认证失败,a断开TLS握手,向LMP模块发送警告消息。然后a将Rb用自己的私钥签名后用Keya,b加密后放入ClientKeyExchange中,用新的密钥Keya,b发送Finished给b,Finished中message1表示本次认证除本消息外的所有消息,a随后切换到会话密钥的加密信道通信。
⑤b收到ClientKeyExchange、Finished后,通过Keya,b解密后再用a的公钥解密ClientKeyExchange,如果得到Rb,则b使用新的密钥Keya,b发送Finished给a,表示完成身份认证,Finished中message2表示本次认证除本消息外的所有消息,b随后切换到会话密钥通信,通过消息4给a。若未通过身份认证,b断开TLS握手,向LMP模块发送警告消息。
其交互过程如图2所示,当异层实体需要对公钥和私钥进行更新时,可以使用协商好的Keya,b在ApplicationData阶段将密钥参数在该加密信道上重新配置,公私密钥更新后须重新进行握手。同层实体只能通过协商好的会话密钥更新会话密钥。
图2 基于TLS的双向身份认证
身份认证是通信双发进行安全交流的第一步,多层多域的特点使得分层PCE多域光网络进行身份认证机制较对等实体间的身份认证更加复杂。本文从同层实体间和异层实体间两个层面对其进行设计,为光网络信息安全提出了新的解决方案。
[1]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].
[2]RFC 5246.The Transport Layer Security(TLS)Protocol[S].
[3]谌双双,陈泽茂,王浩.基于身份的无线传输层安全握手协议改进方案[J].计算机应用,2011,31(11):2954-2956.