著录项信息
专利名称 | 一种量子密码网络动态路由方法 |
申请号 | CN201310005105.1 | 申请日期 | 2013-01-07 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2013-03-27 | 公开/公告号 | CN103001875A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/733 | IPC分类号 | H;0;4;L;1;2;/;7;3;3;;;H;0;4;L;9;/;0;8查看分类表>
|
申请人 | 山东量子科学技术研究院有限公司;安徽量子通信技术有限公司 | 申请人地址 | 山东省济南市高新区新泺大街1768号信息通信研究院大厦B座
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 山东量子科学技术研究院有限公司,科大国盾量子技术股份有限公司,北京国盾量子信息技术有限公司 | 当前权利人 | 山东量子科学技术研究院有限公司,科大国盾量子技术股份有限公司,北京国盾量子信息技术有限公司 |
发明人 | 原磊;黄勇;赵梅生;武宏宇;赵勇 |
代理机构 | 济南圣达知识产权代理有限公司 | 代理人 | 张勇 |
摘要
本发明公开了一种量子密码网络动态路由方法,该方法根据量子密码网络的中继节点之间量子密钥量的变化,实现利用量子密码进行加密通信的动态路由选择。本方法为整个量子密码网络的中继节点设置路由服务器,设定量子密码网络的拓扑更新周期;在每个拓扑更新周期内,各个中继节点收集并处理本中继节点的状态信息,将结果上报于路由服务器。路由服务器收集各个中继节点的拓扑状态信息后,生成下一个拓扑更新周期内的量子密码网络拓扑状态信息,并将其发送给量子密码网络的所有中继节点。各个中继节点根据从路由服务器获得的量子密码网络拓扑状态信息,按照最短路径法则计算并确定目的中继节点为任意一个其他中继节点的通信数据的下一跳路由。
一种量子密码网络动态路由方法\n技术领域\n[0001] 本发明涉及量子通信网络和经典通信网络构建的量子密码网络的通信领域,尤其涉及一种量子密码网络动态路由方法。\n背景技术\n[0002] 量子通信是近二十年发展起来的新型交叉学科,是量子论和信息论相结合的新的研究领域。近来这门学科已逐步从理论走向实验,并向实用化发展。高效安全的信息传输日益受到人们的关注。\n[0003] 物理上,量子通信可以被理解为在物理极限下,利用量子效应实现的高性能通信。\n信息学上,我们则认为量子通信是利用量子力学的基本原理(如量子态不可克隆原理和量子态的测量塌缩性质等)或者利用量子态隐形传输等量子系统特有属性,以及量子测量的方法来完成两地之间的信息传递。\n[0004] 以量子密钥分配(QKD)协议为基础的量子密码技术是现阶段量子通信最重要的实际应用之一。传统的密码学是以数学为基础的密码体制,而量子密码以量子力学为基础,它的安全性是建立在测不准原理、量子的不可克隆及量子相干性等物理特性之上的,被证明是绝对安全的,所以量子密码引起了学术界的高度重视。\n[0005] 量子密码网络便是采用量子密码术的一种安全通信网络。如附图1所示,量子密码网络是由经典通信网络和QKD网络共同构建而成。QKD网络主要由QKD终端设备和量子链路组成,用于密钥分发。经典通信网络使用量子密钥实现数据的加解密和加密数据的传输。一个量子密码网络节点一般是由一个连接于经典通信网络的经典通信终端和连接于量子通信网络的QKD设备终端组成。量子密码网络的网络节点一般分为终端节点和中继节点两种。由于量子通信最大距离的限制以及出于网络搭建成本的考虑,许多终端之间并不存在直连的量子链路,不能实现量子密钥的直接分发,它们之间的加密通信数据需要借助中继节点的转发。图2和图3分别演示了终端节点Alice和Bob通过一个中继节点和多个中继节点实现量子密钥加密通信的过程。\n[0006] 规模较大的量子密码网络会具有大量的中继节点,终端节点间的加密通信数据会借助一个或几个中继节点的中转,而且在数据中转时会有不同的可选的中继节点。如何选择量子密码网络中任意两个节点的通信数据由初始节点到达目的节点所要按顺序经过的中继节点,我们称之为量子密码网络路由。\n[0007] 结构简单的量子密码网络,即中继节点和终端节点的数量较少且网络结构相对固定的量子密码网络,一般是通过静态路由方式,即在中继节点中静态的写入所有终端节点之间的路由线路,实现通信数据加解密的路由选择。静态路由的缺点在于当整个网络添加或删除一个中继节点时,几乎需要重新规划网络的路由路径,并更新所有相关的中继节点的路由路径。另一缺点在于当一条路径的量子密钥量不足时,通信双方只能等待这条路径上的QKD设备生成足够的量子密钥才能继续通信。\n[0008] 量子密码网络规模不断增加。现在量子密码网络已扩展为城域网范围,终端节点可达上千,中继节点数量可达上百,且由于节点维护和网络规模的扩展,网络拓扑是不断变化的。在这种情况下,配置繁琐的静态路由方法已不再适合,我们需要一种适合量子密码网络的动态路由方法。\n[0009] 由于量子密码网络的特殊性,量子密码网络的动态路由方法的设计必须充分考虑以下因素:\n[0010] 1.网络拓扑变化频繁。在量子密码网络中通信数据能否由一个网络节点到达另一个网络节点,即两个节点之间是否存在路由路径,取决于这两个节点之间是否存在足够用的量子密钥,即量子密钥量决定了路由路径是否可用。而量子密钥是不断地被消耗和生成的,因此路径是否可用也可能是在不断变化的。\n[0011] 2.量子密码网络路由需要充分考虑并提高量子密钥的利用率。由于通信数据每经过一跳路径都需要消耗一定量的量子密钥,而量子密钥是量子密码网络最宝贵的网络资源,具有很高的生成成本,所以量子密码网络的路由方法要尽最大可能使通信数据从初始节点到目的节点经历最少跳数路径,以达到消耗最少量量子密钥的目的。\n[0012] 3.量子密码网络路由需要考虑通信数据的安全性,即要保证通信数据所要经过的路由路径的每一步具有足够的量子密钥实现数据加密,以实现量子密码网络的绝对安全性。\n[0013] 由于以上因素,量子密码网络路由与经典网络的路由具有如下本质的区别:\n[0014] 1.经典网络的路由节点一般为路由器或交换机,只实现数据的转发功能,不对通讯数据进行处理,而量子密码网络路由的中继节点为带有QKD设备的网络节点,需要对数据进行解密和加密处理;\n[0015] 2.经典网络路由节点之间的路径是否可用取决于网络带宽或是否存在可靠物理连接,而量子密码网络路由的中继节点之间的路径是否可用(即通信数据是否可以从一个中继节点到达另一个中继节点)取决于路径两端的中继节点之间是否存在可用的量子密钥;\n[0016] 3.量子密码网络的加密机制需要消耗大量的密钥,有时密钥消耗速度远大于生成速度,量子密码网络的路径会由于路径两端的量子密钥量不足而处于不可用状态,故相对于经典网络,量子密码网络的路径状态变化往往较为频繁。\n[0017] 以上特点决定了量子密码网络的路由不能直接采用经典网络路由方法。相对于经典网络路由,量子密码网络的动态路由方法必须具有以下特点:一是网络中路径两端的量子密钥量是决定网络拓扑状态的一个最重要的路由参数之一;二是中继节点必须更快更准确的收集中继节点和路径的变化信息;三是量子密码网络路由需要具有更快的网络拓扑收敛速度;四是量子密码网络路由要具有较高的量子密钥利用率。\n[0018] 而迄今为止,还没有一种完善的适合量子密码网络的动态路由方法被提出。能检索到的量子密码网络路由的相关专利如下所述:\n[0019] 中国专利No.201010144106.0公开了“用于多用户光量子通信网络的量子路由器及其路由方法”,此专利方案应用于量子通信网络,通过控制光交叉连接器,实现两个用户之间的连接,并没有考虑通信路径上的量子密钥量是否充足。美国专利NO.8,122,242B2、NO.7,392,378B1和NO.7,441,267B1,这三篇专利是一系列相关专利,讲的是网络节点系统对将要进入通信网络的数据流在已知多条量子密码网络路由路径的前提下如何选择路由路径的技术方案,节点系统的不同路由路径具有不同的加密能力,根据某条路径的密钥量等参数估计该条路径的加密能力,选择加密能力最强的路径作为下一跳的路径。但是,该专利方案存在两个缺点:第一,该专利方案所选择的总体路由路径可能不是最短路径;第二,该专利方案所选择的总体路由路径中加密能力最低的某一跳路径,可能比另一条可选的总体路由路径中加密能力最低的某一跳路径的加密能力更低,而一条路径的加密能力往往受制于其加密能力最低的那一跳路径的加密能力。\n[0020] 以上量子密码网络路由相关专利,均没有提供量子密码网络动态路由的完整方案,即如何根据量子密码网络拓扑状态的变化,将通信数据从初始节点通过选择中继节点传送到目的节点,并能在保证通信安全性的同时消耗较少的量子密钥。\n发明内容\n[0021] 本发明提出一种量子密码网络动态路由方法,该方法根据量子密码网络拓扑状态的变化实现通信数据在量子密码网络节点之间加密通信的动态路由选择,可允许量子密码网络动态扩展并根据网络拓扑状态的变化实现数据安全通信。量子密码网络中,一般一个中继节点会直接连接数个终端节点和中继节点,一个终端节点通常只连接唯一的一个中继节点。\n[0022] 本发明的技术方案如下所述:\n[0023] 量子密码网络中的每个中继节点所获取的网络拓扑状态信息每隔固定时间更新一次,间隔的时间我们称之为拓扑更新周期。\n[0024] 为整个网络的中继节点设置路由服务器,各个中继节点在每个拓扑更新周期内收集并处理本中继节点状态信息,各个中继节点收集的本中继节点的状态信息包括:\n[0025] (1)本中继节点与各个邻接节点之间的量子链路是否处于正常工作状态;\n[0026] (2)本中继节点与各个邻近节点之间的量子密钥量;\n[0027] (3)本中继节点与各个邻近节点之间的量子密钥量的变化速度。\n[0028] 其中状态信息(3)取决于量子链路量子密钥的生成速度和经典信道加解密时量子密钥的消耗速度,一般根据密钥量的统计值计算得出。\n[0029] 中继节点根据上述状态信息(2)、(3)判断在下一个拓扑更新周期内本中继节点的邻接路径是否可用。邻接路径是指本中继节点与邻近节点之间的最短量子密码网络路由路径。邻接路径是否可用取决于路径两端是否存在足够的量子密钥。\n[0030] 中继节点的状态信息可能不仅限于上述列举的信息,其他所有与网络拓扑状态相关的信息或可能影响网络拓扑状态的信息,根据实际应用情况都可以位于被考虑之列。\n[0031] 在每一个拓扑更新周期内,各中继节点将邻接路径的状态,即在下一个拓扑更新周期内是否可用,和所述可用的邻接路径两端所预测的剩余量子密钥量,以及邻接量子链路的工作状态、中继节点信息等,上报于路由服务器。路由服务器收集各个中继节点的拓扑状态信息后,生成下一个拓扑更新周期内的网络拓扑状态信息,并将其发送给网络的所有中继节点,更新各个中继节点的网络拓扑状态信息。路由服务器每隔固定时间(即一个拓扑更新周期),向各个中继节点下发一次最新的网络拓扑状态信息。此处的网络拓扑状态信息特指量子密码网络中继节点信息、量子链路的状态信息以及各中继节点之间的邻接路径信息。各中继节点可以根据从服务器获得的网络拓扑状态信息,计算本中继节点到其他中继节点的最短路径,即跳数最少的路径,为经过本中继节点的网络终端通信数据提供路由选择。\n[0032] 上述邻接路径的状态(即在下一个拓扑更新周期内是否可用)的判断方法如下:\n[0033] 根据邻接路径两端剩余的量子密钥量及其变化速度,计算并预测下一个拓扑更新周期邻接路径两端的剩余量子密钥量,如果剩余的量子密钥量小于预定的门限值,则认为此路径在下一个拓扑更新周期内不可用,反之可用。\n[0034] 如果中继节点与其邻接节点的量子链路的工作状态发生变化,则随时将工作状态上报给路由服务器。如果中继节点通过QKD设备获知其与某邻接节点之间的量子链路处于异常状态,并将此异常状态上报给路由服务器,则路由服务器立即发送存活检测信号确认该条量子链路另一端的中继节点是否存活,如果路由服务器在预定的延迟时间内没有收到该中继节点的反馈信息和其拓扑状态上报信息,则认为此量子链路另一端的中继节点不可用,删除另一端的中继节点对应的网络拓扑状态信息。\n[0035] 对于新接入网络的中继节点,新中继节点需要向路由服务器上报其基本信息及所有的邻接量子链路的工作状态,同时新中继节点的邻接节点也需要上报与该新中继节点之间的量子链路的工作状态;对于在两个中继节点之间新接入的直连的量子链路,量子链路两端的中继节点需要上报本链路的工作状态。此外,新量子链路两端的中继节点在收到路由服务器的拓扑更新信息后,要上报邻接路径在下一个拓扑更新周期内是否可用,以及所述可用的邻接路径两端所预测的剩余量子密钥量。路由服务器收到相关中继节点的上报信息后,将新中继节点信息和/或新路径信息添加到网络拓扑结构上。\n[0036] 上述最短路径的计算方法如下:\n[0037] 1)假设整个网络的拓扑信息用图(G,E)表示,其中G表示顶点的集合,E表示路径的集合,本中继节点对应G中的一个顶点,用s表示,构造一个以s为根节点的树,将根节点s作为树的第一层节点;\n[0038] 2)t为G中任意一个其他顶点,t≠s,如果E中存在有s到t的路径(s,t),则将t作为根节点s的子节点,也是树的一个第二层节点,并将与路径(s,t)相应的边也添加到树中,搜索添加G中所有满足条件的第二层节点,并添加相应的边;\n[0039] 3)已构造的树的层数用L表示,将G中不属于树的剩余顶点的集合表示为 对于任意顶点 考虑u到树的第L层节点的路径的数量n:\n[0040] 如果n=0,则考虑下一个 中的顶点;\n[0041] 如果n>0,如果u与某个第L层节点r存在路径,则将此路径相应的边添加到树中,同时将u添加到树中,作为树的第L+1层节点,如果此路径对应的第L层节点r在第L层出现m次,则将此路径相应的边添加到树中m次,同时u也相应添加m次,使节点u与每一个第L层节点r一一对应;如果u到树的第L层节点的所有路径对应的边均已添加完毕,则将u从 中删除;\n[0042] 4)如果G中还有顶点没有添加到树中,将L=L+1,重复步骤3),直到所有G中的顶点均添加到树中,或重复步骤3)后 中顶点的数量没有变化为止;\n[0043] 5)对于任意一个中继节点v,在树中s到v的路径即对应图(G,E)中s到v的最短路径,即在网络中中继节点s到v的最短路径;如果存在多于一条最短路径,则将各条最短路径中每一跳路径的剩余量子密钥量各自按升序排列,首先比较剩余量子密钥量的最小值,选取最小值最大的那条路径,若最小值均相同,则比较次最小值,选取次最小值最大的那条路径,依次类推,若各条最短路径的剩余量子密钥量完全相同,则随机选取一条路径。\n[0044] 如果搜索到的最短路径的下一跳路径不可用,则本中继节点在网络拓扑状态信息中删除到下一跳的路径,重新按照所述的方法寻找次最短路径。下列情况有可能导致最短路径的下一跳路径不可用:\n[0045] i.网络设备工作状态异常;\n[0046] ii.一个拓扑更新周期没有结束,量子密钥提前消耗殆尽。\n[0047] 对本发明所采用的一些术语,解释如下:\n[0048] 量子密码网络:采用量子密码术的一种安全通信网络,是由经典通信网络和QKD网络共同构建而成,QKD网络主要由QKD终端设备和量子链路组成,用于密钥分发,可在两个QKD终端设备之间共享用于加解密通信的量子密钥,经典通信网络使用量子密钥实现数据的加解密和加密数据的传输。\n[0049] 量子链路:QKD网络中用于连接QKD终端设备、实现量子密钥分发的连接链路,一般为光纤或自由空间。\n[0050] 量子密码网络中继节点:简称为中继节点,区别于终端节点,用于实现不存在直连的量子链路的终端节点之间加密通信数据的安全中转,如附图2和附图3所示。\n[0051] 量子密码网络路由:量子密码网络中的通信数据按顺序经由一个或几个中继节点从初始终端节点到达目的终端节点所经过的中继节点所构成的路径。\n[0052] 邻接节点:与本中继节点搭建直连的量子链路、可直接生成共享量子密钥的其他中继节点。\n[0053] 邻近节点:与本中继节点存在共享量子密钥的其他中继节点,但与本中继节点之间不一定存在直连的量子链路。\n[0054] 邻接路径:本中继节点与邻近节点之间的最短量子密码网络路由路径。\n[0055] 本发明的工作原理如下:\n[0056] 1.集中式网络拓扑管理。为整个量子密码网络的中继节点设置路由服务器,设定量子密码网络的拓扑更新周期;在每个拓扑更新周期内,各个中继节点收集并处理本中继节点的状态信息,将结果上报于路由服务器;路由服务器收集各个中继节点的拓扑状态信息后,生成下一个拓扑更新周期内的量子密码网络拓扑状态信息,并将其发送给量子密码网络的所有中继节点;各个中继节点根据从路由服务器获得的量子密码网络拓扑状态信息,计算本中继节点到其他中继节点的最短路径,即跳数最少的路径,为经过本中继节点的网络终端通讯信息提供路由选择。\n[0057] 2.中继节点状态信息收集。在每个拓扑更新周期内,网络中的各个中继节点收集本中继节点的状态信息,包括本中继节点与各个邻接节点之间的量子链路的工作状态、本中继节点与各个邻近节点之间的剩余的量子密钥量、本中继节点与各个邻近节点之间的量子密钥量的变化速度。\n[0058] 3.中继节点预测下一个拓扑更新周期内邻接路径是否可用。在每个拓扑更新周期内,中继节点根据与邻近节点之间的剩余量子密钥量和量子密钥量的变化速度,计算并预测下一个拓扑更新周期内中继节点间的剩余量子密钥量,如果剩余量子密钥量小于预定的门限值,则认为此路径在下一个拓扑更新周期不可用,反之可用,将这一结果和所述可用的邻接路径两端所预测的剩余量子密钥量上报于路由服务器,每个拓扑更新周期上报一次。\n[0059] 4.量子链路工作状态的上报。如果QKD设备故障或链路故障或其它故障导致量子链路不能正常产生量子密钥,则均认为此量子链路处于异常状态;否则,认为此量子链路处于正常状态。中继节点可以通过QKD设备获知其邻接量子链路是否处于异常状态,并将结果上报于路由服务器,每个拓扑更新周期上报一次。如果中继节点与邻接节点的量子链路的工作状态发生变化,则随时将工作状态上报给路由服务器。\n[0060] 5.路由服务器接收并处理拓扑状态信息。路由服务器接收各个中继节点的拓扑状态信息。所述的中继节点的拓扑状态信息主要包括本中继节点的节点信息、本中继节点的邻接路径在下一个拓扑更新周期内是否可用、所述可用的邻接路径两端所预测的剩余量子密钥量和本中继节点的邻接量子链路是否处于正常工作状态。所述的本中继节点的节点信息,主要是指本中继节点的标识信息,以及一些路由协议中可能涉及到的相关信息。\n[0061] 如果一条路径两端的中继节点同时判定此路径可用,则路由服务器判定此路径可用;如果路径两端的任意一个中继节点判定此路径不可用,则路由服务器判定此路径不可用。正常情况下路径两端中继节点的判定结果应该是一致的。\n[0062] 如果路由服务器获知一个中继节点的邻接量子链路工作状态异常,则立即发送信号到此量子链路的另一端的中继节点,探测其是否处于存活状态。如果路由服务器在预定的延迟时间内没有收到该中继节点的反馈信息和其上报的拓扑状态信息,则判定此量子链路两端的中继节点之间的邻接路径不可用。\n[0063] 6.路由服务器分发网络拓扑状态信息。所述的网络拓扑状态信息包括网络中的中继节点信息、量子链路的状态信息、中继节点之间的邻接路径是否可用以及所述可用的邻接路径两端所预测的剩余量子密钥量的信息。路由服务器每隔一个拓扑更新周期定期地将最新的网络拓扑状态信息分发给每个中继节点。中继节点收到最新的网络拓扑状态信息后,立即按照3所述的方法计算预测并上报本中继节点的邻接路径在下一个拓扑更新周期内是否可用以及所述可用的邻接路径两端所预测的剩余量子密钥量的信息,并按照4所述的方法上报本中继节点的邻接量子链路是否处于正常工作状态,以及将本中继节点的节点信息上报给路由服务器。\n[0064] 7.中继节点的删除。路由服务器向中继节点主动发送存活检测信息,如果路由服务器在预定的延迟时间内没有收到该中继节点的反馈信息,并且也没有收到该中继节点上报的拓扑状态信息,则认为此中继节点已死亡,删除此中继节点对应的网络拓扑状态信息。\n一般下列情况,路由服务器会向中继节点主动发送存活检测信息:\n[0065] 如果中继节点对于路由服务器分发的网络拓扑状态信息在一个拓扑更新周期内,没有上报本中继节点的拓扑状态信息。\n[0066] 如果量子链路一端的中继节点上报此链路工作状态异常,路由服务器会向此量子链路另一端的中继节点发送存活检测信息。\n[0067] 8.中继节点和量子链路的接入。对于新接入网络的中继节点,新中继节点需要向路由服务器上报其基本信息及所有的邻接量子链路的工作状态,同时新中继节点的邻接节点也需要上报与该新中继节点之间的量子链路的工作状态;对于在两个中继节点之间新接入的直连的量子链路,量子链路两端的中继节点需要上报本链路的工作状态。此外,新量子链路两端的中继节点在收到路由服务器的拓扑更新信息后,要上报邻接路径在下一个拓扑更新周期内是否可用,以及所述可用的邻接路径两端所预测的剩余量子密钥量。路由服务器收到相关中继节点的上报信息后,将新中继节点信息和/或新路径信息添加到网络拓扑结构上。\n[0068] 9.最优路由路径的计算。中继节点从服务器获得整个网络的拓扑状态信息,按照下列方法计算本中继节点到其他中继节点的最短路径:\n[0069] 1)假设整个网络的拓扑信息用图(G,E)表示,其中G表示顶点的集合,E表示路径的集合,本中继节点对应G中的一个顶点,用s表示,构造一个以s为根节点的树,将根节点s作为树的第一层节点;\n[0070] 2)t为G中任意一个其他顶点,t≠s,如果E中存在有s到t的路径(s,t),则将t作为根节点s的子节点,也是树的一个第二层节点,并将与路径(s,t)相应的边也添加到树中,搜索添加G中所有满足条件的第二层节点,并添加相应的边;\n[0071] 3)已构造的树的层数用L表示,将G中不属于树的剩余顶点的集合表示为 对于任意顶点 考虑u到树的第L层节点的路径的数量n:\n[0072] 如果n=0,则考虑下一个 中的顶点;\n[0073] 如果n>0,如果u与某个第L层节点r存在路径,则将此路径相应的边添加到树中,同时将u添加到树中,作为树的第L+1层节点,如果此路径对应的第L层节点r在第L层出现m次,则将此路径相应的边添加到树中m次,同时u也相应添加m次,使节点u与每一个第L层节点r一一对应;如果u到树的第L层节点的所有路径对应的边均已添加完毕,则将u从 中删除;\n[0074] 4)如果G中还有顶点没有添加到树中,将L=L+1,重复步骤3),直到所有G中的顶点均添加到树中,或重复步骤3)后 中顶点的数量没有变化为止;\n[0075] 5)对于任意一个中继节点v,在树中s到v的路径即对应图(G,E)中s到v的最短路径,即在网络中中继节点s到v的最短路径;如果存在多于一条最短路径,则将各条最短路径中每一跳路径的剩余量子密钥量各自按升序排列,首先比较剩余量子密钥量的最小值,选取最小值最大的那条路径,若最小值均相同,则比较次最小值,选取次最小值最大的那条路径,依次类推,若各条最短路径的剩余量子密钥量完全相同,则随机选取一条路径。\n[0076] 10.次最优路由路径的计算。如果中继节点检测到通过9计算的最短路径的下一跳路径不可用,则本中继节点在网络拓扑状态信息中删除到下一跳的路径,重新按照9所述的方法寻找次最优路由路径。\n[0077] 本发明上述技术方案的有益效果如下:\n[0078] i.本发明提出一种完善的量子密码网络动态路由方案。网络节点之间的通信数据在量子密码网络中的中继路径,不再是单一的静态路径,而是依据网络拓扑状态的变化动态选择的最短路径。\n[0079] ii.本技术方案的路由方法对于网络中继节点的删除和添加具有自适应性。这有利于网络的动态扩展。\n[0080] iii.根据量子密码网络的规模和复杂性设置路由服务器采用集中式网络拓扑管理。这种方式满足量子密码网络对网络状态具有较快收敛速度的要求。\n[0081] iv.量子密码网络最宝贵的网络资源是量子密钥,在最优路由路径的选择上采用最短路径优先法则,节约了量子密钥,提高了网络资源利用率,提高了网络性能。\n[0082] v.本路由方案充分考虑了所选路径每一跳的安全性,从而保证了通信数据的安全性。\n附图说明\n[0083] 图1:量子密码网络的一般结构,为现有技术附图;\n[0084] 图2:终端节点Alice和Bob通过一个中继节点实现量子密钥加密通信,为现有技术附图;\n[0085] 图3:终端节点Alice和Bob通过多个中继节点实现量子密钥加密通信,为现有技术附图;\n[0086] 图4:城域量子密码网络局部;\n[0087] 图5:量子密码网络路由架构图;\n[0088] 图6:路由服务器主要功能模块;\n[0089] 图7:路由客户端主要功能模块;\n[0090] 图8:量子密码网络中继节点路径连接状态示意图;\n[0091] 图9:表示网络拓扑结构的邻接矩阵;\n[0092] 图10:中继节点27到其他中继节点的最短路径搜索树;\n[0093] 图11:本动态路由方法的一般工作流程;\n[0094] 其中,1、第一量子集控站,2、第二量子集控站,3、第三量子集控站,4、第四量子集控站,5、光交换机,6、一级用户,7、二级用户,8、路由服务器,9、经典通信设备,10、量子通信设备,11、经典通信层,12、量子通信层,13、路由客户端,14、第一网络接口模块,15、第一拓扑信息收发模块,16、中继节点存活检测模块,17、拓扑信息逻辑处理模块,18、第一中继节点信息数据库模块,19、第二网络接口模块,20、第二拓扑信息收发模块,21、存活检测反馈模块,22、路由计算模块,23、拓扑信息处理模块,24、拓扑信息收集模块,25、路由选择模块,\n26、第二中继节点信息数据库模块,27、第一中继节点,28、第二中继节点,29、第三中继节点,30、第四中继节点,31、第五中继节点,32、第六中继节点,33、第七中继节点,34、第八中继节点。\n具体实施方式\n[0095] 下面结合附图和实施例对本发明作进一步说明:\n[0096] 本实施例针对的是一个城域范围的量子密码网络,终端节点上千,中继节点少于\n100个。本城域网的中继节点为量子集控站,集控站一般直接下挂几个终端节点或通过光交换机5下挂数个终端节点。附图4为城域量子密码网络局部示意图,第一量子集控站1、第二量子集控站2直接下挂终端节点,第四量子集控站4通过光交换机5下挂终端节点,第三量子集控站3直接下挂终端节点同时通过光交换机5下挂终端节点。其中,量子集控站通过光交换机5下挂的终端节点为一级用户6,量子集控站直接下挂的终端节点为二级用户\n7。\n[0097] 城域量子密码网络终端节点之间的安全通信可分为下列三种情况;\n[0098] 1.同一光交换机5下终端节点的通信;\n[0099] 2.同一集控站下不同光交换机5下终端节点的通信,包括直接下挂终端节点的通信;\n[0100] 3.不同集控站下终端节点的通信。\n[0101] 前两种情况较为简单,本实施例只考虑第3种情况。第3种情况中由于终端节点与集控站的路径唯一,所以只考虑终端节点所属集控站之间的路由即可。\n[0102] 一、路由度量和路由准则\n[0103] 路由度量和路由准则是路由算法所要考虑的最重要的两个方面。我们以跳数作为路由度量,以最短跳数作为路由准则。当有多条路径到达相同的目的节点时,中继节点需要一种机制来计算最优路径。度量是指派给路由的一种变量,作为一种手段,度量可以按最好到最坏,或按最先选择到最好选择的顺序对路由进行等级划分。\n[0104] 考虑到量子密码网络路由的特殊性,我们用跳数作为路由度量。由于每经过一个集控站中继节点便需要一次解密加密过程,同一通信数据路由跳数越少,其加密通信消耗的量子密钥量越少。现阶段量子密码网络通信量受限于量子密钥生成速度,以路径的最短跳数作为路由的第一准则,以增大量子密钥的使用效率。\n[0105] 二、拓扑收敛\n[0106] 拓扑收敛是指网络中的中继节点所获得的关于整个网络的拓扑状态信息与整个网络的真实拓扑状态信息相一致。量子密码网络中通信数据在集控站之间的每一步中继都以集控站之间存在量子密钥为先决条件,量子密钥消耗殆尽,此路径即为不可用路径,整个网络的中继节点需要立即甚至提前获知这种拓扑状态信息的变化。\n[0107] 为了满足快速收敛的要求,我们采用集中式拓扑信息管理策略,所有的中继节点只需要直接与路由服务器8进行两点之间的交互即可获知整个网络的拓扑状态信息,这很明显优于传统经典网络路由基于洪泛的拓扑状态信息传递方法的收敛速度,后置收敛需要信息交互的次数往往与网络或网络局部的直径有关,远大于前者。\n[0108] 三、基于集中式网络拓扑管理的路由算法框架\n[0109] 设置路由服务器8,设定拓扑更新周期;在每个拓扑更新周期内,位于集控站节点的路由客户端13收集并处理本中继节点的状态信息,将结果上报于路由服务器8。路由服务器8收集各个路由客户端13的拓扑状态信息后,生成下一个拓扑更新周期内的整个网络的拓扑状态信息,包括网络中的中继节点信息、量子链路的状态信息、表示网络拓扑结构的邻接矩阵以及可用的邻接路径两端所预测的剩余量子密钥量,并将其发送给网络的所有路由客户端13。路由服务器8每隔一个拓扑更新周期,向各个路由客户端13下发一次最新的网络拓扑状态信息。各个路由客户端13根据从路由服务器8获得的网络拓扑状态信息,计算本中继节点到其他集控站节点的最短路径(跳数最少的路径),为经过本中继节点的网络终端通信数据提供路由选择。\n[0110] 本实施例中为了与设置的路由服务器8相对应,将中继节点中即集控站中负责路由信息处理的模块称之为路由客户端13,所有路由模块均为软模块,置于高性能计算机中,其相关的路由计算具有足够好的计算速度。同时路由客户端13和路由服务器8的网络带宽环境足够好,其路由拓扑信息的传递有足够小的网络延迟。\n[0111] 附图5为量子密码网络路由架构图。整个量子密码网络路由架构分为经典通信层\n11和量子通信层12。量子通信层12由集控站中的量子通信设备10及量子通信设备之间的量子链路构成,用于密钥分发,可在两个量子通信设备10之间共享用于加解密通信的量子密钥。经典通信层11由集控站中的含有路由客户端13的经典通信设备9及路由服务器8构成,用于实现数据的加解密和加密数据的传输。集控站中的含有路由客户端13的经典通信设备9之间存在邻接路径,与量子链路相对应。在每个拓扑更新周期内,集控站中的含有路由客户端13的经典通信设备9的路由客户端13根据所收集的本中继节点的状态信息,计算并预测下一个拓扑更新周期内邻接路径两端的剩余量子密钥量,如果剩余量子密钥量小于预定的门限值,则认为此邻接路径不可用,反之可用,将这一结果和所述可用的邻接路径两端所预测的剩余量子密钥量上报于路由服务器8,每个拓扑更新周期上报一次。集控站中的含有路由客户端13的经典通信设备9的路由客户端13通过集控站中的量子通信设备10获知量子链路是否处于正常工作状态,并将结果上报于路由服务器8,每个拓扑更新周期上报一次。如果量子链路的工作状态发生变化,则随时将工作状态上报给路由服务器\n8。\n[0112] 四、路由服务器功能\n[0113] 路由服务器8的主要功能模块如附图6所示,包括第一网络接口模块14、第一拓扑信息收发模块15、中继节点存活检测模块16、拓扑信息逻辑处理模块17和第一中继节点信息数据库模块18。\n[0114] 第一网络接口模块14,按照网络通信协议收发网络数据,并校验数据收发的准确性,并负责网络通信的并发处理。\n[0115] 第一拓扑信息收发模块15,负责接收网络数据中各个路由客户端13的拓扑状态信息,将整个网络的拓扑状态信息发送到路由客户端13。\n[0116] 中继节点存活检测模块16,向中继节点发送存活检测信息,接收中继节点的反馈信息,负责确认中继节点是否存活。\n[0117] 拓扑信息逻辑处理模块17,通过数据库存储、查询各个中继节点的基本配置信息和量子链路的状态信息,根据路由客户端13上报的拓扑状态信息和中继节点存活检测模块16的信息,生成表示网络拓扑结构的邻接矩阵;将第一拓扑信息收发模块15获得的网络各中继节点信息和量子链路的状态信息存入中继节点信息数据库。\n[0118] 第一中继节点信息数据库模块18,存储各个中继节点的基本配置信息和量子链路的状态信息。\n[0119] 五、路由客户端功能\n[0120] 路由客户端13的主要功能模块如附图7所示,包括第二网络接口模块19、第二拓扑信息收发模块20、存活检测反馈模块21、路由计算模块22、拓扑信息处理模块23、拓扑信息收集模块24、路由选择模块25和第二中继节点信息数据库模块26。\n[0121] 第二网络接口模块19,按照网络通信协议收发网络数据,并校验数据收发的准确性。\n[0122] 第二拓扑信息收发模块20,负责接收路由服务器8发送的网络拓扑状态信息,将本中继节点的拓扑状态信息上报到路由服务器8。\n[0123] 存活检测反馈模块21,接收路由服务器8发送的存活检测信息,并发送反馈信息,告知路由服务器8本中继节点仍存活。\n[0124] 路由计算模块22,按照路由服务器8发送的表示网络拓扑结构的邻接矩阵、可用的邻接路径两端所预测的剩余量子密钥量和数据库中的中继节点信息计算本中继节点到其他中继节点的最短路径,并将最短路径存入数据库。\n[0125] 拓扑信息处理模块23,处理拓扑信息收集模块24收集的信息,确定上报路由服务器8的拓扑状态信息,包括本中继节点信息、本中继节点的邻接路径在下一个拓扑更新周期内是否可用、所述可用的邻接路径两端所预测的剩余量子密钥量和本中继节点的邻接量子链路是否处于正常工作状态;将第二拓扑信息收发模块20获得的网络各中继节点信息和量子链路的状态信息存入中继节点信息数据库。\n[0126] 拓扑信息收集模块24,收集本中继节点的状态信息,包括本中继节点与各个邻接节点之间的量子链路的工作状态、本中继节点与各个邻近节点之间的剩余的量子密钥量、本中继节点与各个邻近节点之间量子密钥的生成速度和消耗速度。\n[0127] 路由选择模块25,读取中继节点信息数据库中的路径信息,为通信数据提供下一跳路由。\n[0128] 第二中继节点信息数据库模块26,存储各个中继节点的基本配置信息、量子链路的状态信息和路由计算模块22计算得到的路径信息。\n[0129] 六、最短路径算法\n[0130] 中继节点从服务器获得整个网络的拓扑状态信息,按照下列方法计算本中继节点到其他中继节点的最短路径:\n[0131] 1)假设整个网络的拓扑信息用图(G,E)表示,其中G表示顶点的集合,E表示路径的集合,本中继节点对应G中的一个顶点,用s表示,构造一个以s为根节点的树,将根节点s作为树的第一层节点;\n[0132] 2)t为G中任意一个其他顶点,t≠s,如果E中存在有s到t的路径(s,t),则将t作为根节点s的子节点,也是树的一个第二层节点,并将与路径(s,t)相应的边也添加到树中,搜索添加G中所有满足条件的第二层节点,并添加相应的边;\n[0133] 3)已构造的树的层数用L表示,将G中不属于树的剩余顶点的集合表示为 对于任意顶点 考虑u到树的第L层节点的路径的数量n:\n[0134] 如果n=0,则考虑下一个 中的顶点;\n[0135] 如果n>0,如果u与某个第L层节点r存在路径,则将此路径相应的边添加到树中,同时将u添加到树中,作为树的第L+1层节点,如果此路径对应的第L层节点r在第L层出现m次,则将此路径相应的边添加到树中m次,同时u也相应添加m次,使节点u与每一个第L层节点r一一对应;如果u到树的第L层节点的所有路径对应的边均已添加完毕,则将u从 中删除;\n[0136] 4)如果G中还有顶点没有添加到树中,将L=L+1,重复步骤3),直到所有G中的顶点均添加到树中,或重复步骤3)后 中顶点的数量没有变化为止;\n[0137] 5)对于任意一个中继节点v,在树中s到v的路径即对应图(G,E)中s到v的最短路径,即在网络中中继节点s到v的最短路径;如果存在多于一条最短路径,则将各条最短路径中每一跳路径的剩余量子密钥量各自按升序排列,首先比较剩余量子密钥量的最小值,选取最小值最大的那条路径,若最小值均相同,则比较次最小值,选取次最小值最大的那条路径,依次类推,若各条最短路径的剩余量子密钥量完全相同,则随机选取一条路径。\n[0138] 七、集控站节点和量子链路的接入。\n[0139] 对于新接入网络的集控站节点,新中继节点需要向路由服务器8上报其基本配置信息及所有的邻接量子链路的工作状态,同时新中继节点的邻接节点也需要上报与该新中继节点之间的量子链路的工作状态;对于在两个中继节点之间新接入的直连的量子链路,量子链路两端的中继节点需要上报本链路的工作状态。此外,新量子链路两端的中继节点在收到路由服务器8的拓扑更新信息后,要上报邻接路径在下一个拓扑更新周期内是否可用,以及所述可用的邻接路径两端所预测的剩余量子密钥量。路由服务器8收到相关节点的上报信息后,将新中继节点和/或新路径信息添加到网络拓扑结构上。\n[0140] 图8给出了一个小型的量子密码网络中继节点在某一个拓扑更新周期内的预测连接图,其中虚线表示路径上的量子密钥不足,不能实现此路径上的量子密钥加密通信,即路径不可用;实线表示可以进行此路径上的量子密钥加密通信,即路径可用。\n[0141] 图9给出了表示图8网络拓扑结构的邻接矩阵。矩阵维数为8X8,表示图8中的第一中继节点27到第八中继节点34这8个中继节点之间邻接路径是否可用。矩阵元素(i,j)(其中1≤i≤8,1≤j≤8)表示第i个中继节点到第j个中继节点的邻接路径是否可用,其值为1表示可用,为0表示不可用或不存在邻接路径;矩阵对角元素均为0,表示中继节点与自身不构成邻接路径。例如,图8中的第一中继节点27到第四中继节点30的邻接路径可用,则相应的图9中的矩阵元素(1,4)的值为1;图8中的第二中继节点28到第六中继节点32的邻接路径不可用,则相应的图9中的矩阵元素(2,6)的值为0;图8中的第五中继节点31与第七中继节点33之间不存在邻接路径,则相应的图9中的矩阵元素(5,7)的值为0;图8中第三中继节点29与第八中继节34点之间不存在邻接路径,则相应的图9中的矩阵元素(3,8)的值为0。\n[0142] 图10表示了第一中继节点27根据图9邻接矩阵所表示的网络拓扑结构构造的最短路径搜索树。特别地,第一中继节点27到第六中继节点32存在两条最短路径,而第一中继节点27到第八中继节点34存在三条最短路径,此时需要根据本发明中所述最短路径算法的步骤5)来选取一条最短路径。例如,若第一中继节点27与第四中继节点30、第七中继节点33之间所预测的剩余量子密钥量分别为70kB和50kB,而第六中继节点32与第四中继节点30、第七中继节点33之间所预测的剩余量子密钥量分别为40kB和60kB;由于第一中继节点27到第六中继节点32的两条最短路径中,各自每一跳路径所预测的剩余量子密钥量的最小值分别为40kB和50kB,且50kB大于40kB,则选取第一中继节点27经由第七中继节点33到达第六中继节点32的这条路径,作为第一中继节点27到第六中继节点32的最短路径。\n[0143] 如图11所示,本路由算法的一般的实现流程,分为以下具体步骤:\n[0144] 步骤(1),设置路由服务器;\n[0145] 步骤(2),中继节点状态信息周期性收集处理;\n[0146] 步骤(3),中继节点拓扑状态信息周期性上报;\n[0147] 步骤(4),路由服务器收集并处理各中继节点的拓扑状态信息;\n[0148] 步骤(5),路由服务器向各个中继节点分发网络拓扑状态信息;\n[0149] 步骤(6),中继节点的最优路径计算。\n[0150] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |