CN115865334B - 量子密钥分发方法、装置及电子设备 - Google Patents

量子密钥分发方法、装置及电子设备 Download PDF

Info

Publication number
CN115865334B
CN115865334B CN202211486216.4A CN202211486216A CN115865334B CN 115865334 B CN115865334 B CN 115865334B CN 202211486216 A CN202211486216 A CN 202211486216A CN 115865334 B CN115865334 B CN 115865334B
Authority
CN
China
Prior art keywords
key
message
protocol
end node
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211486216.4A
Other languages
English (en)
Other versions
CN115865334A (zh
Inventor
方堃
李诣非
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211486216.4A priority Critical patent/CN115865334B/zh
Publication of CN115865334A publication Critical patent/CN115865334A/zh
Application granted granted Critical
Publication of CN115865334B publication Critical patent/CN115865334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种量子密钥分发方法、装置及电子设备,涉及量子计算技术领域,具体涉及量子通信技术领域。具体实现方案为:通过第一协议,接收第一端节点发送的第一报文;基于第一请求标识、第一分发路径、第一节点标识和密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,通过第一协议将第二报文发送给第二端节点;在接收到第二端节点针对第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于中继节点相邻的两个节点的类型和密钥特征信息,通过第二协议和/或第三协议获取中继节点分别与两个节点之间的第一密钥;通过第一协议将基于第一密钥生成的密钥密文发送给目标端节点。

Description

量子密钥分发方法、装置及电子设备
技术领域
本公开涉及量子计算技术领域,尤其涉及量子通信技术领域,具体涉及一种量子密钥分发方法、装置及电子设备。
背景技术
量子网络是通过量子技术赋能经典网络的一种方式,通过对量子资源以及量子通信技术的使用,来提升经典网络的信息处理能力,加强信息传输的安全性,提供全新的互联网服务。
量子网络中一个特别重要的应用是量子密钥分发(Quantum Key Distribution,QKD),QKD是利用量子力学特性来保证通信安全性,其使通信的双方能够产生并分享一个随机的、安全的经典密钥,来加密和解密消息。
目前,对于量子网络中量子密钥分发通常是从单个量子密钥分发请求的响应来进行网络设计的。
发明内容
本公开提供了一种量子密钥分发方法、装置及电子设备。
根据本公开的第一方面,提供了一种量子密钥分发方法,应用于量子密钥分发网络的中继节点,包括:
通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,并通过所述第一协议将所述第二报文发送给所述第二端节点,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
根据本公开的第二方面,提供了一种量子密钥分发方法,应用量子密钥分发网络的第一端节点,包括:
通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
根据本公开的第三方面,提供了一种量子密钥分发方法,应用于量子密钥分发网络的第二端节点,包括:
接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
通过所述第一协议向所述第一端节点返回所述第三报文,并通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
根据本公开的第四方面,提供了一种量子密钥分发装置,应用于量子密钥分发网络的中继节点,包括:
第一接收模块,用于通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第一生成模块,用于在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第一发送模块,用于通过所述第一协议将所述第二报文发送给所述第二端节点;
第一获取模块,用于在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
第二发送模块,用于通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
根据本公开的第五方面,提供了一种量子密钥分发装置,应用于量子密钥分发网络的第一端节点,包括:
第七生成模块,用于通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
第八生成模块,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第八发送模块,用于通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第二获取模块,用于在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
根据本公开的第六方面,提供了一种量子密钥分发装置,应用于量子密钥分发网络的第二端节点,包括:
第四接收模块,用于接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
第九生成模块,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
第九发送模块,用于通过所述第一协议向所述第一端节点发送所述第三报文;
第三获取模块,用于通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
根据本公开的第七方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法,或者执行第二方面中的任一项方法,或者执行第三方面中的任一项方法。
根据本公开的第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法,或者执行第二方面中的任一项方法,或者执行第三方面中的任一项方法。
根据本公开的第九方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现第一方面中的任一项方法,或者执行第二方面中的任一项方法,或者执行第三方面中的任一项方法。
根据本公开的技术解决了量子密钥分发网络的请求调度性能比较差的问题,可以提高量子密钥分发网络对量子密钥分发请求的调度性能。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的量子密钥分发方法的流程示意图;
图2是量子密钥分发网络***的网络架构中的协议栈示意图;
图3是一个端到端的量子密钥分发请求在加入请求队列失败而被拒绝的处理流程示意图;
图4是一个端到端的量子密钥分发请求因超出中继节点R1的处理能力而被拒绝的处理流程示意图;
图5是本公开提供的一具体示例的量子密钥分发方法的流程示意图;
图6是根据本公开第二实施例的量子密钥分发方法的流程示意图;
图7是根据本公开第三实施例的量子密钥分发方法的流程示意图;
图8是根据本公开第四实施例的量子密钥分发装置的结构示意图;
图9是根据本公开第五实施例的量子密钥分发装置的结构示意图;
图10是根据本公开第六实施例的量子密钥分发装置的结构示意图;
图11是用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
量子密钥分发提供了一种在通信双方之间安全的分发密钥的方法,该方法的安全性由量子力学基本原理所保证。根据量子不可克隆原理,一个未知量子态无法被完美克隆,这禁止了窃听者对传输的信息进行复制。同时,对量子密钥分发过程中的任何窃听操作都会改变传输的量子态,引起误码率的上升,从而使得通信双方检测到窃听者的存在。
如图1所示,本公开提供一种量子密钥分发方法,应用于量子密钥分发网络的中继节点,包括如下步骤:
步骤S101:通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
步骤S102:在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,并通过所述第一协议将所述第二报文发送给所述第二端节点,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
步骤S103:在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
步骤S104:通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
本实施例中,量子密钥分发方法涉及量子计算技术领域,尤其涉及量子通信技术领域,其可以广泛应用于基于密钥的通信场景下。本公开实施例的量子密钥分发方法,可以由本公开实施例的量子密钥分发装置执行。本公开实施例的量子密钥分发装置可以配置在任意电子设备中,以执行本公开实施例的量子密钥分发方法。该电子设备可以为量子密钥分发网络的中继节点对应的设备。
本实施例的量子密钥分发方法应用于量子密钥分发网络中,该量子密钥分发网络中可以包括第一端节点、第二端节点和中继节点,第一端节点可以为量子密钥分发请求的发起节点,第二端节点可以为与第一端节点端到端通信的节点。
其中,第一端节点和第二端节点统称为量子密钥分发网络的端节点,量子密钥分发网络中可以包括多个端节点和多个中继节点,设量子密钥分发网络中的两个端节点想要进行通信,为了保证通信的保密性,请求使用量子密钥分发来安全地共享会话密钥,以对其通信的数据进行加密传输。在某一段时间内,量子密钥分发网络中产生了若干个这样的请求。
量子网络在对请求进行处理时,除了需要考虑与经典网络中具有的带宽、时延、丢包率等性能指标,还需要考虑一些具有量子通信特性的例如保真度、成功概率、退相干等因素。因此,经典网络中的结构和设计往往无法直接应用于量子网络。
另外,当前业界对于量子网络架构的研究处于初级阶段,许多不同的网络架构和设计被研究者提出,但缺少一个统一的网络架构标准。而且现阶段对于量子网络中的量子密钥分发的研究大多只研究网络对于单个请求的响应流程以及对应的性能参数,很少从整个网络的视角去分析当量子网络收到多个量子密钥分发请求时的响应过程,以及不同节点在对多个请求进行响应这一过程中的性能参数。
本实施例的目的即是通过对量子密钥分发网络的设计,使之能够对量子密钥分发请求进行调度和执行,从而可以为量子密钥分发网络处理调度多用户请求,并且保证对请求的尽力交付和网络性能的高效利用,高效且安全地为不同端节点建立端到端密钥,提高端节点之间的通信安全性。
其中,量子密钥分发(Quantum Key Distribution,QKD)是利用量子力学特性来保证通信安全性,其使通信的双方能够产生并分享一个随机的、安全的密钥,来加密和解密消息。
该量子密钥分发网络的网络架构中,中继节点搭载的协议栈可以有三层,从上到下分别为调度层、网络层和链路层,中继节点各自装载了包含三层协议的协议栈。
如图2所示,中继节点中,通过网络层的第一协议如QKDRouting协议可以确定报文的发送路径,具体可以确定发送路径下与之相邻的下游节点。
通过调度层的第二协议如QKDRMP协议可以对接收到的量子密钥分发请求进行资源评估和调度,使之量子密钥分发网络可以处理调度多用户的请求,实现整个网络层面上对多个请求的调度和响应,以保证网络正常工作和请求的正常交付。
通过链路层的第三协议如KeyGeneration协议(例如BB84协议等)可以与相邻节点建立密钥,从而可以使得不同端节点获得相互通信的共享密钥。
相应的,端节点搭载的协议栈可以有四层,从上到下分别为应用层、调度层、网络层和链路层,端节点各自装载了包含四层协议的协议栈。
如图2所示,端节点中,通过应用层(位于协议栈顶层)的第四协议如QKDApp协议可以发起或处理量子密钥分发请求。
通过调度层(位于协议栈第三层)的第二协议如QKDRMP协议,根据端节点是请求发起者还是接收者,视情形将请求信息向下层或上层协议传递。
通过网络层(位于协议栈第二层)的第一协议如QKDRouting协议可以确定报文的发送路径,具体可以确定发送路径下与之相邻的下游节点。
通过链路层(位于协议栈第一层)的第三协议如KeyGeneration协议(例如BB84协议等)可以与相邻节点建立密钥,从而可以使得不同端节点获得相互通信的共享密钥。
需要说明的是,量子密钥分发网络***的网络架构与每一层所使用的具体协议无关,例如,QKDRouting协议中,路由表可以通过配置静态路由或者根据动态路由算法生成,KeyGeneration协议中,可以使用BB84、B92等任何量子密钥分发协议,甚至在不同相邻节点之间可以根据需要或者实验设备限制选择不同的密钥分发协议。
另外,该量子密钥分发网络的网络架构中,针对协议栈第二层的QKDRMP协议,设计了QKDRMPMessage消息的报文结构,如下表1所示,用以控制量子密钥分发过程中调度层对于不同类型的消息采取的操作。QKDRMPMessage消息的报文结构主要包含四个部分,分别是源节点、目的节点、消息处理协议和数据内容。
表1 QKDRMPMessage消息的报文结构表
源节点指的是消息的发送方,目的节点指的是消息的接收方,消息类型type可以设置在数据内容中,以指示不同类型的消息,并进行相应的处理行为。如表2所示,为一示例的量子密钥分发过程中QKDRMPMessage消息所涉及的消息类型,以下在阐述量子密钥分发过程中对此进行详细说明。
表2量子密钥分发过程中QKDRMPMessage消息涉及的消息类型表
同样地,协议栈中位于QKDRMP下层的QKDRouting协议设置了相同的报文结构和类似的消息类型从而实现与QKDRMP的交互,以实现对请求逐级进行处理。
量子密钥分发网络***的网络架构中,针对协议栈第二层的QKDRouting协议,设计了QKDMessage消息的报文结构,其报文结构与QKDRMPMessage消息的报文结构相同,如下表3所示。
表3QKDMessage消息的报文结构表
如表4所示,为一示例的量子密钥分发过程中QKDMessage消息所涉及的消息类型,以下在阐述量子密钥分发过程中对此进行详细说明。
表4量子密钥分发过程中QKDMessage消息所涉及的消息类型表
在步骤S101之前,若第一端节点需要与第二端节点建立密钥,可以发起一个量子密钥分发请求,自身协议栈中的QKDApp协议根据对应消息生成一个消息类型为第七消息类型PATH的QKDRMPMessage消息(即第十五报文),如表5所示。其数据中可以包含请求的路径(第一分发路径)、密钥数量、密钥长度(密钥特征信息)、请求id(第一请求标识,用于区分不同请求的唯一标识)和第二端节点的第一节点标识等信息。
表5第十五报文的结构表
之后,该消息被传递到下层QKDRMP协议进行处理,第一端节点的QKDRMP协议判断消息类型为PATH后,根据PATH消息的数据生成一个消息类型为第一消息类型REQUEST的QKDMessage消息(即第一报文),如表6所示,并传递给下层的QKDRouting协议。
表6第一报文的结构表
第一端节点中QKDRouting协议判断消息类型为REQUEST,判断与第二端节点之间是否存在直连信道,如果存在则通过直连信道来传输REQUEST消息,否则通过中继节点来传输REQUEST消息(第一报文)。
其中,该第一报文可以包括第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息。
相应的,在第一端节点所发起的量子密钥分发请求需要通过中继节点来传输到达第二端节点时,在步骤S101,中继节点即可以接收到第一端节点通过第一协议(即QKDRouting协议)发送的第一报文。
在步骤S102中,中继节点收到REQUEST消息后,将自身加入REQUEST消息的路径信息中(即更新第一分发路径),同时判断第一请求标识对应的量子密钥分发请求所需要的资源数是否超出该中继节点的处理能力,如判断密钥特征信息对应的资源数、处理请求所需要的资源数等是否超出该中继节点的处理能力。
在一可选实施方式中,可以通过QKDRouting协议将其解包,根据其中的数据生成消息类型为PATH的QKDRMPMessage消息向协议栈的上层传递。
上层的QKDRMP协议收到PATH消息后,对该消息代表的量子密钥分发请求进行评估。例如,如果所请求的密钥特征信息对应的资源数不超出该中继节点的处理能力,则可以基于第一请求标识、第一分发路径、第一节点标识和密钥特征信息,通过QKDRMP协议生成一个与之前收到的REQUEST消息(即第一报文)内容一致的QKDMessage消息(即消息类型为第一消息类型REQUEST的第二报文)向协议栈的下层传递。
其中,所请求的密钥特征信息对应的资源数不超出该中继节点的处理能力可以是指所请求的密钥特征信息对应的资源数不超出中继节点预先构建的密钥池的最大容量,密钥池所存储的是中继节点预先通过KeyGeneration协议生成的密钥。
相应的,下层的QKDRouting协议在确定消息类型为第一消息类型REQUEST的情况下,根据节点存储的路由表,将该消息向路径上的下一跳节点转发,以将第二报文向第二端节点发送。
这样,通过第一端节点和第二端节点之间的中继节点将REQUEST消息逐层转发,REQUEST消息可以到达第二端节点。
第二端节点收到REQUEST消息后,将自身加入消息的路径信息中(即更新第一分发路径),通过QKDRouting协议根据REQUEST消息中的信息生成对应的消息类型为PATH的QKDRMPMessage消息传递给协议栈上层。
QKDRMP协议继续将PATH消息向上传递给协议栈上层,上层的QKDApp协议收到PATH消息之后,根据PATH消息中的第一请求标识、第一分发路径、第一节点标识和密钥特征信息,生成一个消息类型为第三消息类型RESV的QKDRMPMessage消息(如表7所示)向协议栈下层传递。
表7RESV消息的结构表
位于下层的QKDRMP收到RESV消息之后根据请求的数据信息生成一个消息类型为第二消息类型ACCEPT的QKDMessage消息(即第三报文),如表8所示,并继续向协议栈的下层传递。
表8第三报文的结构表
位于下层的QKDRouting协议收到ACCEPT消息时,根据消息中包含的路径信息,将ACCEPT消息向第二端节点的上一跳节点转发;同时启动本地的KeyGeneration协议,等待与上游节点开始密钥分发。
相应的,在步骤S103中,中继节点可以通过第一协议接收到第二端节点针对第二报文即REQUEST消息返回的第三报文即ACCEPT消息。
之后,可以基于该中继节点相邻的两个节点的类型和密钥特征信息,通过第二协议和/或第三协议,获取中继节点分别与两个节点之间的第一密钥。
中继节点收到ACCEPT消息后,通过QKDRouting协议,首先判断该中继节点相邻的上游节点和下游节点的类型。如果中继节点相邻的两个节点中有端节点,则通过第三协议即KeyGeneration协议立刻开始与其建立密钥,以获取中继节点分别与其相邻的两个节点之间的第一密钥。
如果相邻的两个节点中存在另一中继节点,则该中继节点可以通过QKDRouting协议生成对应的RESV消息并向协议栈的上层传递。相应的,中继节点可以通过QKDRMP协议,基于RESV消息对各个端节点且途径该中继节点的量子密钥分发请求进行调度,并进行相应的资源管理。
当QKDRMP调度处理第一请求标识对应的量子密钥分发请求时,位于QKDRMP下层的QKDRouting协议可以收到调度消息,基于密钥特征信息获取中继节点分别与其相邻的两个节点之间的第一密钥。
在步骤S104中,在获取到两个第一密钥的情况下,将两个第一密钥执行异或操作,生成密钥密文,并通过QKDRouting协议将其向目标端节点发送。
在一可选实施方式中,密钥传递方向为从第一端节点至第二端节点,此时,可以通过QKDRouting协议将密钥密文向第二端节点发送,由第二端节点完成密钥交换操作,得到目标密钥。
在另一可选实施方式中,密钥传递方向为从第二端节点至第一端节点,此时,可以通过QKDRouting协议将密钥密文向第一端节点发送,由第一端节点完成密钥交换操作,得到目标密钥。
其中,密钥交换操作是将端节点与其相邻的中继节点建立的密钥与收到的密钥密文进行异或操作,以得到与另一端节点共享的密钥。
本实施例中,通过对量子密钥分发网络的设计,在中继节点上设计QKDRMP协议,使之能够对端节点发起的量子密钥分发请求进行调度和执行,从而可以为量子密钥分发网络处理调度多用户请求,实现对量子密钥分发网络中多个请求的调度和处理,并且保证对请求的尽力交付和网络性能的高效利用,高效且安全地为不同端节点建立端到端密钥,提高端节点之间的通信安全性。
并且,每个中继节点的QKDRMP协议可以根据请求到达的时间和需要的资源数等参数对请求进行调度,从而实现整个网络层面上对多个请求的调度和响应,以保证网络正常工作和请求的正常交付。
可选的,所述步骤S103具体包括以下至少一项:
在所述两个节点的类型包括第一类型的情况下,从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,所述目标密钥池为所述第一分发路径下与所述中继节点的相邻中继节点对应的密钥池,所述第一类型指示节点为中继节点,N为正整数;
在所述两个节点的类型包括第二类型的情况下,通过所述第三协议,与所述第一分发路径下所述中继节点的相邻端节点建立第一密钥,所述第二类型指示节点为端节点。在KeyGeneration协议进行密钥分发的过程中,可以选择让上游节点作为量子信息的发送方,下游节点作为接收方,也可以反过来。不失一般性地,在描述时可以统一以上游节点作为量子信息的发送方,下游节点作为信息的接收方开始密钥分发。
本实施方式中,在整个量子密钥分发网络中,每个中继节点中设置有存储密钥的结构,称为密钥池。密钥池以经典信息的形式存储相邻的两个中继节点之间生成的密钥,在一个中继节点中存在着若干密钥池,不同的密钥池中存储的密钥可以为途经不同链路的请求所使用。
密钥池是对资源进行管理的一个重要的结构,与中继节点的QKDRMP协议和QKDRouting协议交互,向请求交付密钥。而端节点不具有密钥池结构,需要即时与中继节点之间建立密钥。
也就是说,当中继节点相邻的两个节点的类型包括第一类型即中继节点相邻的两个节点中存在中继节点时,中继节点可以通过QKDRouting协议生成对应的RESV消息并向协议栈的上层传递。相应的,中继节点可以通过QKDRMP协议,基于RESV消息对各个端节点且途径该中继节点的量子密钥分发请求进行调度,并进行相应的资源管理。
当QKDRMP调度处理第一请求标识对应的量子密钥分发请求时,位于QKDRMP下层的QKDRouting协议可以收到调度消息,通过QKDRouting协议,从预先构建的中继节点的N个密钥池中目标密钥池,获取与密钥特征信息匹配的第一密钥。其中,目标密钥池为第一分发路径下与该中继节点的相邻中继节点对应的密钥池,即该中继节点与其相邻的中继节点链路对应的密钥池。
如此,通过密钥池结构和QKDRMP协议,可以实现对网络资源的管理和分配,可以提高量子密钥分发网络对请求交付密钥的速度,保证对请求的尽力交付,提高网络中不同节点在对多个请求进行响应时的性能参数。
当中继节点相邻的两个节点的类型包括第二类型即中继节点相邻的两个节点中存在端节点时,则该中继节点可以通过第三协议即KeyGeneration协议立刻开始与其建立第一密钥。
如此,该中继节点可以根据中继节点相邻的两个节点的类型,采取不同的操作,以实现中继节点分别与两个节点之间的第一密钥的获取,保证网络对于密钥分发的正常工作。
可选的,所述从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,包括:
通过所述第一协议生成消息类型为第三消息类型的第四报文,所述第三消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第四报文携带有所述密钥特征信息和所述第一请求标识;
在通过所述第二协议确定预先构建的请求队列中的请求数量小于第一预设阈值的情况下,将所述第四报文添加至所述请求队列中;
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
本实施方式中,如果中继节点相邻的至少一侧是中继节点,QKDRouting协议可以生成消息类型为第三消息类型的RESV消息(即第四报文),并向协议栈的上层传递。
QKDRMP收到RESV消息时,可以判断预先构建的请求队列中的请求数量是否达到第一预设阈值,如果没有达到,则可以将RESV消息加入请求队列中(即将第四报文对应的请求加入至请求队列中)。其中,第一预设阈值可以根据实际情况设置,这里不进行具体限定。
本实施方式设计请求队列这一结构来实现请求的接收、调度和处理。当一个中继节点收到请求时,QKDRouting协议判断执行该请求是否需要密钥池的协助,如果需要则将请求向协议栈上层传输,如果不需要则通知协议栈下层的KeyGeneration协议开始建立密钥。上层的QKDRMP协议在收到请求后,可以将请求(如将请求的RESV消息)加入请求队列中。如此,在中继节点收到RESV消息时,可以将其加入请求队列中等待调度,通过固定容量的请求队列对中继节点的流量进一步限制。
每个中继节点的QKDRMP协议可以根据请求到达的时间和需要的资源数等参数对请求进行调度。请求队列可以遵循先入先出的原则或者其他调度原则确定请求的执行顺序,并实时监控中继节点是否处于处理请求的状态。如果中继节点处于空闲状态,则抛出一个请求进行处理。中继节点在每个请求处理结束后,也会通知请求队列抛出下一个请求。
当请求队列抛出一个请求时,如抛出一个第一请求标识对应的请求时,即中继节点可以从请求队列中获取到第一请求标识对应的第四报文。相应的,该中继节点即可以从目标密钥池中获取与密钥特征信息匹配的第一密钥。
如此,通过设计一种对量子密钥分发网络进行资源管理和请求调度的网络结构,即通过设计QKDRMP协议和请求队列,使得中继节点可以结合QKDRMP协议和请求队列实现对量子密钥分发请求的数量评估和有序调度处理,从而有利于高效发挥网络的性能和保证用户服务的质量,具有重要的理论和实际意义。
可选的,所述方法还包括:
在通过所述第二协议确定所述请求队列中的请求数量大于或等于所述第一预设阈值的情况下,通过所述第二协议生成两条消息类型为第四消息类型的第五报文,所述第四消息类型用于标识资源预留请求被所述中继节点拒绝,所述第五报文携带有错误类型字段,所述错误类型字段用于指示报文的发送方向;
分别基于所述第五报文中所述错误类型字段的值,通过所述第一协议将所述第五报文发送给所述量子密钥分发网络中所述第一请求标识对应的端节点。
本实施方式中,上层的QKDRMP协议在收到请求后,如果判断请求队列满(即确定请求队列中的请求数量大于或等于第一预设阈值),QKDRMP协议认为此时中继节点繁忙无法处理请求,会导致第四报文加入请求队列失败,中继节点拒绝第四报文对应的量子密钥分发请求,生成相关拒绝消息并调用QKDRouting协议将其向上游节点和下游方向发送。
此时,可以通过QKDRMP协议生成两条消息类型为第四消息类型REJECT的QKDMessage消息(即第五报文),如表9和表10所示。
表9一个第五报文的结构表
表10另一个第五报文的结构表
两条REJECT消息的源节点都是当前中继节点(以中继节点Rp为例),而目的节点则分别是Alice和Bob。
除此之外,两个第五报文即两条REJECT消息均可以携带有错误类型字段,数据内容中错误类型字段err_type的值可以分别设置为2和3。QKDRMP协议可以将REJECT消息向协议栈的下层传递。
协议栈中位于QKDRMP下层的QKDRouting协议收到来自QKDRMP协议消息之后,根据消息类型采取不同的操作。
在一场景中,如果收到REJECT消息,QKDRouting协议首先判断其数据内容中的错误类型字段err_type,如果REJECT消息的err_type=2,并且目的节点是Alice(即第一端节点),那么QKDRouting协议将该REJECT消息向上一跳节点转发,以向第一端节点发送。
如果err_type=3,并且目的节点是Bob(即第二端节点),那么QKDRouting协议将该REJECT消息向下一跳节点转发,以向第二端节点发送。相应的,该中继节点的下游节点在接收到该REJECT消息的情况下,可以通过QKDRouting协议根据此REJECT消息生成一条消息类型为REJECT的QKDRMPMessage消息向协议栈上层传递。上层的QKDRMP协议在收到REJECT消息时使用消息中的请求id字段检查自己的请求队列中是否存在相同请求对应的RESV消息,如果有则将其丢弃,如果没有则意味着该请求在当前中继节点已经执行完毕,则将该请求对应的密钥记录为无效密钥(即将密钥的状态记录为无效),并将该无效密钥的消息同步给第二端节点Bob。
一个端到端的量子密钥分发请求在加入请求队列失败而被拒绝的处理流程如图3所示。其中,该图是量子密钥分发请求在中继节点R2加入请求队列失败后的通信流程图,如图3所示,上标1表示当请求在中继节点R2试图加入请求队列失败时,中继节点R2的QKDRMP协议生成两个REJECT消息向下传递,QKDRouting协议将这两个REJECT消息分别向上/下游传输。上标2表示如果此时请求队列中不存在该请求,意味着该请求已经被调度并交付,此时中继节点R3可以将该请求对应密钥记录为无效密钥。
如此,通过设计REJECT消息用于通知到达中继节点的量子密钥分发请求被拒绝,这样可以对中继节点的资源进行有效管理,保证对请求进行有效处理,且保证请求的高效处理。
可选的,所述方法还包括:
在接收到消息类型为第四消息类型的第六报文,且所述第六报文携带的错误类型字段的值为第一目标值的情况下,若在所述请求队列中查询到所述第六报文携带的第二请求标识对应的报文,则删除所述请求队列中所述第二请求标识对应的报文;
若在所述请求队列中未查询到所述第六报文携带的第二请求标识对应的报文,则将所述第二请求标识对应的密钥记录为无效密钥。
本实施方式中,该中继节点可以根据队列请求的情况发送携带有第一请求标识的REJECT消息,其他中继节点也可以根据队列请求的情况发送REJECT消息,在该中继节点接收到携带有第二请求标识的REJECT消息(即第六报文)时,可以判断该REJECT消息携带的错误类型字段的值,若该REJECT消息携带的错误类型字段的值为第一目标值(比如,第一目标值为3),则该中继节点可以通过QKDRouting协议根据此REJECT消息生成一条消息类型为REJECT的QKDRMPMessage消息向协议栈上层传递。
上层的QKDRMP协议在收到REJECT消息时使用REJECT消息中的请求id(即第二请求标识)检查自己的请求队列中是否存在相同请求对应的RESV消息,如果有则将其丢弃,如果没有则意味着该请求在当前中继节点已经执行完毕,则将该请求对应的密钥记录为无效密钥,并将该无效密钥的消息同步给第二端节点Bob。如此,可以对中继节点的资源进行有效管理,保证网络的正常工作和其他请求的正常和准确交付。
可选的,所述将所述第四报文添加至所述请求队列之后,还包括:
通过所述第二协议,生成消息类型为所述第二消息类型的第七报文,所述第七报文携带有操作类型字段和所述第一分发路径,所述操作类型字段用于指示对报文的操作方式;
在确定所述操作类型字段的值为第二目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第七报文向所述第一端节点发送。
本实施方式中,如果第四报文加入请求队列成功,则通过QKDRMP协议生成消息类型为第二消息类型ACCEPT的QKDMessage消息(即第七报文),向协议栈的下层传递,该ACCEPT消息可以包括操作类型字段和第一分发路径,该操作类型字段可以为设置为‘Forward’。
协议栈中位于QKDRMP下层的QKDRouting协议收到来自QKDRMP协议消息之后,根据消息类型采取不同的操作。如果收到ACCEPT消息,并且其操作类型字段的值为第二目标值如‘Forward’时,QKDRouting协议根据ACCEPT消息中的路径信息,将ACCEPT消息向当前节点的上一跳节点转发,以向第一端节点发送,并等待请求被请求队列抛出。
如此,可以实现对请求的资源预留的同时,实现第二端节点的资源预留消息至第一端节点的转发,保证网络的正常运行。
可选的,所述将所述第四报文添加至所述请求队列之后,还包括:
通过所述第二协议生成消息类型为第五消息类型的第八报文,所述第八报文包括所述第一分发路径和所述第一节点标识,所述第五消息类型用于标识所述中继节点成功将资源预留请求加入所述请求队列;
基于所述第一分发路径和所述第一节点标识,通过所述第一协议将所述第八报文向所述第二端节点发送。
本实施方式中,如果第四报文加入请求队列成功,则通过QKDRMP协议生成消息类型为第五消息类型CONF的QKDMessage消息(即第八报文),如表11所示,作为请求在当前中继节点成功加入请求队列的凭证向协议栈的下层传递。
表11第八报文的结构表
协议栈中位于QKDRMP下层的QKDRouting协议收到来自QKDRMP协议消息之后,根据消息类型采取不同的操作。如果收到CONF消息,则根据CONF消息中目的节点和路径信息,将CONF消息向下一跳节点转发。下游节点收到CONF消息后会直接将其转发,直到CONF消息到达第二端节点Bob处。
如此,通过设计CONF消息作为量子密钥分发请求被接受的反馈机制,可以实现网络的正常运行。
可选的,所述在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥,包括:
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,基于所述第四报文,通过所述第二协议生成消息类型为所述第二消息类型的第九报文,所述第九报文携带有操作类型字段;
在确定所述操作类型字段的值为第三目标值的情况下,通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
本实施方式中,当请求队列抛出一个请求时,如中继节点从请求队列中获取到第一请求标识对应的第四报文时,该中继节点可以通过QKDRMP根据请求队列中抛出的RESV消息,生成一个消息类型为第二消息类型ACCEPT的QKDMessage消息(即第九报文),该ACCEPT消息可以包括操作类型字段,其操作类型字段的值可以设置为‘Operate’,向协议栈下层传递。
位于QKDRMP下层的QKDRouting协议收到代表请求被调度的ACCEPT消息,确认其操作类型字段的值为第三目标值如‘Operate’后,根据该中继节点相邻的两个节点的类型采取不同的操作,以通过第一协议从目标密钥池中获取与密钥特征信息匹配的第一密钥。
具体的,中继节点以中继节点Rp为例,当中继节点Rp两端都是中继节点时,QKDRouting协议分别从两个目标密钥池中分别取出与上游节点/下游节点之间的第一密钥,分别表示为和/>
如果中继节点Rp有一端是中继节点,而另一端是端节点,QKDRouting协议将从中继节点端对应的目标密钥池中取出第一密钥,而另一端则通过启动KeyGeneration协议建立与端节点之间的第一密钥。
如此,可以实现通过请求队列调度量子密钥分发请求,并通过密钥池来实现中继节点对请求的密钥交付,从而可以为量子密钥分发网络处理调度多用户请求,有效管理网络资源。
可选的,所述通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥之后,还包括以下至少一项:
在所述两个节点的类型均是所述第一类型的情况下,将从所述目标密钥池分别获取的两个第一密钥进行异或操作,得到所述密钥密文;
在所述两个节点的类型分别是所述第一类型和所述第二类型的情况下,若查询到所述中继节点分别与所述两个节点完成密钥分发,将从所述目标密钥池获取的第一密钥和通过所述第三协议建立的第一密钥进行异或操作,得到所述密钥密文。
本实施方式中,在中继节点相邻两个节点均是中继节点的情况下,在从目标密钥池获取到两个第一密钥时,可以对两个第一密钥执行异或操作,生成密钥密文,用表示。
在中继节点相邻两个节点中一个中继节点,另一个是端节点的情况下,在从目标密钥池获取到第一密钥时,可以查询另一侧的密钥建立过程是否完成,如果完成,则对两个第一密钥执行异或操作,生成密钥密文,如果未完成,可以将从目标密钥池获取的第一密钥暂存在本地。同样地,另一侧第一密钥建立完成时,也会查询密钥池侧的密钥是否完成交付,并采取相同的后续操作。
如此,可以实现网络的正常运行。
可选的,所述步骤S104具体包括:
通过所述第一协议,生成消息类型为第六消息类型的第十报文,所述第十报文包括所述第一分发路径和所述密钥密文,所述第六消息类型用于标识所述中继节点根据与相邻两个节点的密钥生成的密钥密文;
基于所述第一分发路径,通过所述第一协议将所述第十报文发送给所述目标端节点。
本实施方式中,在获取到密钥密文的情况下,可以通过QKDRouting协议,生成消息类型为第六消息类型CIPHERTEXT的QKDMessage消息(即第十报文),如表12所示,CIPHERTEXT消息可以携带有第一分发路径和密钥密文,根据CIPHERTEXT消息传输的路径和密钥分发方向,将CIPHERTEXT消息向目标端节点发送。比如,密钥分发方向为第一端节点至第二端节点,则可以将CIPHERTEXT消息向当前中继节点的下一跳节点发送,以使CIPHERTEXT消息到达第二端节点。
表12第十报文的结构表
如此,可以保证网络对不同端节点的密钥分发工作正常运行。
可选的,所述方法还包括:
通过所述第一协议,对所述第一报文进行解析;
基于解析得到的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,通过所述第一协议生成消息类型为第七消息类型的第十一报文,所述第七消息类型用于标识发出量子密钥分发请求;
在基于所述第十一报文确定所述密钥特征信息对应的资源数超出所述预先构建的所述中继节点的N个密钥池中目标密钥池的最大容量的情况下,通过所述第二协议生成消息类型为第四消息类型的第十二报文;
在确定所述第十二报文携带的错误类型字段的值为第四目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第十二报文发送给所述第一端节点。
本实施方式中,中继节点通过QKDRouting协议收到REQUEST消息(即第一报文)后,可以将自身加入REQUEST消息的路径中,通过QKDRouting协议将其解包,根据其中的数据(包括第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息)生成消息类型为第七消息类型PATH的QKDRMPMessage消息(即第十一报文),向协议栈的上层传递。
上层的QKDRMP协议收到PATH消息后,对该PATH消息代表的请求进行资源评估,如果密钥特征信息对应的资源数超出了该中继节点的目标密钥池(为量子密钥分发请求的传输链路对应的密钥池)的最大容量,则把该PATH消息对应的量子密钥分发请求拒绝。
此时,QKDRMP协议可以生成一个消息类型为第四消息类型REJECT的QKDMessage消息(即第十二报文),并在数据中设置错误类型字段的值为1,如表13所示,并向协议栈的下层传递。
表13第十二报文的结构表
下层的QKDRouting根据收到的QKDMessage的消息类型采取不同的操作。如果收到REJECT消息时,QKDRouting协议判断错误类型字段的值是否为第四目标值如1,如果是,则根据REJECT消息中包含的路径信息将该REJECT消息向上一跳节点转发。上游路径上的中继节点收到REJECT消息之后直接将其向上游转发,直至REJECT消息到达第一端节点。
第一端节点收到REJECT消息时,可以将其逐层向上传递到QKDApp协议,QKDApp协议将该对应量子密钥分发请求丢弃。
一个端到端的量子密钥分发请求因超出中继节点R1的处理能力而被拒绝的处理流程如图4所示。如此,在中继节点的QKDRMP协议收到PATH消息时,可以对量子密钥分发请求进行粗略的评估,过滤掉超出中继节点处理能力的请求,实现对网络中的多个端到端的量子密钥分发请求有效的调度和处理,提高网络的效率,并且适用场景更符合实际需求。
可选的,所述步骤S104之后,还包括:
接收所述目标端节点针对所述密钥密文发送的消息类型为第八消息类型的第十三报文;
其中,所述第八消息类型用于标识所述目标端节点确认接收到所述中继节点发送的密钥密文。
本实施方式中,目标端节点如第二端节点收到一个来自中继节点Rq的消息类型为CIPHERTEXT的QKDMessage消息(即第十报文)时,其QKDRouting协议直接生成对应的消息类型为CIPHERTEXT的QKDRMPMessage消息向上层传递,QKDRMP协议收到消息类型为CIPHERTEXT的QKDRMPMessage消息之后,对收到中继节点Rq的密钥密文这一事件进行记录,并把CIPHERTEXT消息继续向上层传输。
QKDApp协议收到CIPHERTEXT消息之后将其保存在本地,并生成一个目的节点为中继节点Rq,消息类型为第八消息类型ACKNOWLEDGE的QKDRMPMessage消息向下层传递,如表14所示。
表14 ACKNOWLEDGE的QKDRMPMessage消息的结构表
下层的QKDRMP协议收到该消息之后生成对应消息类型为第八消息类型ACKNOWLEDGE的QKDMessage消息(即第十三报文),如表15所示,继续向下层传递。QKDRouting协议将该ACKNOWLEDGE消息向上一跳节点转发,直至到达中继节点Rq
表15 ACKNOWLEDGE的QKDMessage消息的结构表
如此,设计ACKNOWLEDGE消息的反馈机制,保证网络的正常运行。
可选的,所述步骤S104之后,还包括:
接收所述目标端节点针对所述密钥密文发送的消息类型为第九消息类型的第十四报文,所述第十四报文携带有所述第一分发路径,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成;
基于所述第一分发路径,通过所述第一协议将所述第十四报文发送给与所述目标端节点共享密钥的另一端节点。
本实施方式中,目标端节点如第二端节点Bob的QKDApp协议会在每次收到CIPHERTEXT消息并存储密钥密文时,检查是否收到全部中继节点的密钥密文,如果是,则对这些密钥密文进行以下解密操作(即密钥交换操作),来获取与第一端节点Alice之间共享的目标密钥,密钥交换操作为
同时,位于协议栈中的QKDApp协议生成一条目的节点为第一端节点Alice,消息类型为第九消息类型DONE的QKDRMPMessage消息,如表16所示,向协议栈下层传递,下层的QKDRMP协议根据该DONE消息生成对应的消息类型为DONE的QKDMessage消息(即第十四报文),如表17所示,继续向下层传递,QKDRouting协议负责将DONE消息发送给第一端节点Alice。
表16DONE的QKDRMPMessage消息的结构表
表17DONE的QKDMessage消息的结构表
/>
如此,可以实现两个不同端节点的密钥建立。
以下以一具体实例对本实施例的量子密钥分发方法进行详细说明,如图5所示,设网络中的一个用户Alice(对应第一端节点)希望与另一个用户Bob(对应第二端节点)通过量子密钥分发的方式建立目标密钥,量子密钥分发请求从产生到交付具体的流程如下:
1.Alice发起密钥请求(即量子密钥分发请求),生成REQUEST消息并发送给下一跳节点;
2.中继节点收到REQUEST消息,根据消息对资源的需求选择将消息转发或者拒绝;
3.Bob收到REQUEST消息,协议栈对消息进行处理,并返回ACCEPT消息;
4.沿途的中继节点收到ACCEPT消息,将对应请求加入请求队列中;
5.Alice收到ACCEPT消息,开始与下游节点开始密钥分发;
6.端节点将与上/下游生成的密钥保存在本地;
7.Bob在收到来自中继节点的CIPHERTEXT消息之后记录并返回确认消息ACKNOWLEDGE;
8.Bob确认收到全部中继节点的密钥密文,将密钥密文解密获得端到端的目标密钥,向Alice发回DONE消息;
9.中继节点转发DONE消息;
10.Alice收到DONE消息。
需要说明的是,图5中,上标1处的判断条件是请求的资源数是否大于密钥池的最大容量。
至此,Alice和Bob完成密钥建立。
第二实施例
如图6所示,本公开提供一种量子密钥分发方法,应用于量子密钥分发网络的第一端节点,包括如下步骤:
步骤S601:通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
步骤S602:基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
步骤S603:通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
步骤S604:在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
本实施例中,在步骤S601中,若第一端节点需要与第二端节点建立密钥,可以发起一个量子密钥分发请求,自身协议栈中的QKDApp协议根据对应消息生成一个消息类型为第七消息类型PATH的QKDRMPMessage消息(即第十五报文),如表5所示。其数据中可以包含请求的路径(第一分发路径)、密钥数量、密钥长度(密钥特征信息)、请求id(第一请求标识,用于区分不同请求的唯一标识)和第二端节点的第一节点标识等信息。
在步骤S602中,该消息被传递到下层QKDRMP协议进行处理,第一端节点的QKDRMP协议判断消息类型为PATH后,根据PATH消息的数据生成一个消息类型为第一消息类型REQUEST的QKDMessage消息(即第一报文),如表6所示,并传递给下层的QKDRouting协议。
在步骤S603中,第一端节点中QKDRouting协议判断消息类型为REQUEST,判断与第二端节点之间是否存在直连信道,如果存在则通过直连信道来传输REQUEST消息,否则通过中继节点来传输REQUEST消息(第一报文)。其中,通过中继节点来传输REQUEST消息(第一报文),并到达第二端节点的详细过程已经在第一实施例中进行了详细说明,这里不进行赘述。
在步骤S604中,第二端节点在接收到第一报文后,若其本地有充足的资源,则可以将自身节点的节点标识添加到第一分发路径中,并生成一则包含完整路径信息、需要建立的密钥特征信息等的第三报文,其可以称之为ACCEPT消息,并根据路径信息原路返回ACCEPT消息。同时,启动KeyGeneration协议与第二端节点相邻的上游节点进行量子密钥分发,建立密钥。
第二端节点返回第三报文即ACCEPT消息时,若第一端节点与第二端节点之间不直连,沿途中继节点接收到ACCEPT消息后,进行资源评估后,将请求加入至请求队列,当从请求队列抛出请求以进行请求的调度处理时,根据密钥数量和长度等密钥特征信息,从密钥池中获取上/下游节点的密钥,生成密钥密文后发送给目标端节点,以使得端节点获取第一端节点和第二端节点之间共享的目标密钥。
在第一端节点接收到第二端节点针对第一报文发送的消息类型为第二消息类型的第三报文的情况下,可以启动第三协议即KeyGeneration协议,与第一端节点相邻的下游节点进行量子密钥分发,建立密钥。其中,第二端节点针对第一报文发送消息类型为第二消息类型的第三报文的详细过程已经在第一实施例中进行了详细说明,这里不进行赘述。
相应的,在第一端节点和第二端节点均启动KeyGeneration协议的情况下,第一端节点可以通过KeyGeneration协议获取与第二端节点共享的目标密钥,同时第二端节点也可以通过KeyGeneration协议获取与第一端节点共享的目标密钥。
在一可选实施方式中,若第一端节点与第二端节点直连,即第一端节点和第二端节点之间存在直连的量子信道,可以通过KeyGeneration协议,将一端节点(第一端节点或第二端节点)生成的目标密钥编码到量子比特中,并通过直连的量子信道传输给另一端节点。
在另一可选实施方式中,若第一端节点与第二端节点不直连,即中间需要通过中继节点来进行量子密钥分发,此时,可以获取中继节点发送的密钥密文,将基于端节点生成的目标密钥借助于中继节点的密钥密文交换至另一端节点处,使得另一端节点可以获得与该端节点通信的目标密钥。
本实施例中,通过对量子密钥分发网络的设计,在第一端节点上设计QKDRMP协议,保持对网络中各个节点协议设计的一致性,这样可以使得中继节点能够对端节点发起的量子密钥分发请求进行调度和执行,从而可以为量子密钥分发网络处理调度多用户请求,实现对量子密钥分发网络中多个请求的调度和处理,并且保证对请求的尽力交付和网络性能的高效利用,高效且安全地为不同端节点建立端到端密钥,提高端节点之间的通信安全性。
可选的,所述步骤S604具体包括以下任一项:
通过所述第三协议建立与所述第一分发路径下所述第一端节点相邻的下游节点相互通信的目标密钥,以使所述第二端节点获得与所述第一端节点通信的所述目标密钥;
在所述第二端节点为所述第一分发路径下与所述第一端节点相邻的下游节点的情况下,接收所述第二端节点通过所述第三协议发送的第一量子信息,所述第一量子信息携带有目标密钥,所述目标密钥为所述第二端节点生成的与所述第一端节点相互通信的密钥;
在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第二密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第二密钥为所述第一端节点通过所述第三协议与相邻下游节点建立的密钥,M为正整数。
本实施方式中,通过第三协议获取与第二端节点共享的目标密钥可以包括三种场景。
第一种场景为:第一端节点通过第三协议与其相邻的下游节点建立目标密钥,并将目标密钥传递给第二端节点,以使第二端节点获得与第一端节点通信的目标密钥,即密钥传递方向为第一端节点至第二端节点。
其中,第一端节点通过第三协议与其相邻的下游节点建立目标密钥的方式可以包括两种,可以由第一端节点生成目标密钥,通过第三协议将目标密钥编码到量子比特中,并通过量子信道将其分发给下游节点,即上游至下游分发密钥,也可以由与其相邻的下游节点建立密钥,通过第三协议将目标密钥编码到量子比特中,并通过量子信道将其分发给第一端节点,即下游至上游分发密钥。其中,下游和上游的概念均是相对于分发路径来说的,分发路径可以规定为从第一端节点至第二端节点的路径。
第二种场景为:密钥传递方向为第二端节点至第一端节点,第二端节点可以通过第三协议与其上游节点建立目标密钥,在第一端节点与第二端节点直连的情况下,第二端节点可以直接将携带有目标密钥的量子信息发送给第一端节点,相应的,第一端节点可以接收到通过第三协议发送的量子信息,获得目标密钥。
其中,第二端节点可以通过第三协议与其上游节点建立目标密钥的方式与第一端节点通过第三协议与其相邻的下游节点建立目标密钥的方式可以类似,这里不进行赘述。
第三种场景为:密钥传递方向为第二端节点至第一端节点,在第一端节点与第二端节点不直连的情况下,即第一端节点和第二端节点之间存在中继节点,在该种场景下,中继节点可以通过第一实施例的方式获取第一密钥,并获取密钥密文,其中,第二端节点与其上游节点所建立的密钥可以为目标密钥,第一端节点与其下游节点所建立的密钥可以为第二密钥。
中继节点将携带有密钥密文的第十报文发送给第一端节点,第一端节点可以通过第二密钥对接收到的密钥密文进行联合解密,具体可以通过第二密钥与第十报文中携带的密钥密文进行异或操作,得到目标密钥。
本实施方式中,可以根据密钥传递的实际场景选择一种合适的传递方式,使得第一端节点和第二端节点均可以获得两者端到端通信的目标密钥。
可选的,所述第一密钥包括以下至少一项:
在所述M个中继节点包括第一中继节点的情况下,所述第一密钥是所述第一中继节点基于所述密钥特征信息,从预先构建的所述第一中继节点的N个密钥池中目标密钥池中获取得到,所述第一中继节点为相邻上游节点和相邻下游节点中至少一个为中继节点的节点,所述目标密钥池为与所述第一中继节点的相邻中继节点对应的密钥池,N为正整数;
在所述M个中继节点包括第二中继节点的情况下,所述第一密钥是所述第二中继节点通过所述第三协议与相邻端节点建立的密钥,所述第二中继节点为相邻上游节点和相邻下游节点中至少一个为端节点的节点。
本实施方式中,通过密钥池结构和QKDRMP协议,可以实现对网络资源的管理和分配,可以提高量子密钥分发网络对请求交付密钥的速度,保证对请求的尽力交付,提高网络中不同节点在对多个请求进行响应时的性能参数。
可选的,所述步骤S604之后,还包括:
在所述第一端节点通过所述第一协议生成消息类型为第十消息类型的第十六报文的情况下,通过所述第二协议和第四协议将所述第十六报文携带的密钥进行存储;
其中,所述第十消息类型用于标识所述第一端节点通过所述第三协议与相邻下游节点建立密钥。
本实施方式中,第一端节点和第二端节点通过KeyGeneration协议成功建立密钥之后,QKDRouting协议可以生成一条消息类型为第十消息类型READY的QKDMessage消息(即第十六报文),如表18所示,将生成的密钥保存在其中,之后QKDRouting协议将READY消息向上层传递。
表18READY的QKDMessage消息的结构表
上层QKDRMP协议收到消息后生成对应消息类型为READY的QKDRMPMessage消息,如表19所示,继续向协议栈上层传递。顶层的QKDApp协议收到消息之后,将密钥保存。
表19READY的QKDRMPMessage消息的结构表
如此,实现密钥的存储。
可选的,所述第十六报文还携带有完成字段,所述完成字段用于指示所述第一端节点与所述第二端节点共享的密钥是否建立完成,所述方法还包括:
在所述第一端节点和所述第二端节点直连的情况下,将所述完成字段的值设置为第五目标值,所述第五目标值指示所述第一端节点与所述第二端节点共享的密钥建立完成;
在所述第一端节点和所述第二端节点不直连的情况下,将完成字段的值设置为第六目标值,所述第六目标值指示所述第一端节点与所述第二端节点共享的密钥未建立完成。
本实施方式中,第一端节点和第二端节点通过KeyGeneration协议成功建立密钥之后,可以通过QKDRouting协议判断是否需要执行进一步的密钥交换操作。可以在READY消息中携带完成字段,以指示是否需要执行进一步的密钥交换操作,如表18和表19所示的完成标记。
如果第一端节点和第二端节点之间存在直接连接,则已经完成了端到端的密钥建立,无需后续的密钥交换操作。相应的,READY消息中携带的完成字段可以设置为第五目标值,第五目标值可以为Ture。
相应的,第一端节点和第二端节点可以根据消息的数据内容中完成字段(即完成标记)的值获悉端到端密钥建立的过程已经完成,将密钥保存,并结束端节点侧的量子密钥分发请求。
如果第一端节点和第二端节点之间不存在直接连接的信道,则需要执行进一步的密钥交换操作才能完成端到端密钥的建立。此时,QKDRouting和QKDRMP协议生成的READY消息中数据内容的完成字段的值设置为第六目标值,第六目标值可以为False,QKDApp节点在收到READY消息之后把密钥保存,并等待后续的密钥交换操作。
如此,可以实现密钥的保存。
可选的,所述步骤S604之后,还包括:
在通过所述第一协议接收到所述第二端节点针对所述第一报文返回的消息类型为第九消息类型的第十四报文,或者,所述第一端节点通过所述第一协议生成消息类型为第九消息类型的第十四报文的情况下,通过所述第二协议和所述第四协议将所述目标密钥进行存储;
其中,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成。
本实施方式中,第十四报文的消息类型为DONE,指示标志完成端到端的密钥建立,结束量子密钥分发流程。
在一场景中,若密钥传递方向为第一端节点至第二端节点,在完成端到端密钥建立后,第二端节点可以生成DONE消息,并发送给第一端节点,第一端节点可以接收该DONE消息,并进行目标密钥的存储,结束量子密钥分发流程。
在另一场景中,若密钥传递方向为第二端节点至第一端节点,在完成端到端密钥建立后,第一端节点可以生成DONE消息,并进行目标密钥的存储,将DONE消息发送给第二端节点,同时结束量子密钥分发流程。
如此,可以实现量子密钥分发,建立第一端节点和第二端节点的端到端密钥。
第三实施例
如图7所示,本公开提供一种量子密钥分发方法,应用于量子密钥分发网络的第二端节点,包括如下步骤:
步骤S701:接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
步骤S702:基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
步骤S703:通过所述第一协议向所述第一端节点返回所述第三报文;
步骤S704:通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
本实施例中,上述步骤S701至步骤S704分别在上述第一实施例和第二实施例进行了详细说明,这里不再进行赘述。
本实施例,通过对量子密钥分发网络的设计,在第二端节点上设计QKDRMP协议,保持对网络中各个节点协议设计的一致性,这样可以使得中继节点能够对端节点发起的量子密钥分发请求进行调度和执行,从而可以为量子密钥分发网络处理调度多用户请求,实现对量子密钥分发网络中多个请求的调度和处理,并且保证对请求的尽力交付和网络性能的高效利用,高效且安全地为不同端节点建立端到端密钥,提高端节点之间的通信安全性。
可选的,所述步骤S704,包括以下任一项:
通过所述第三协议建立与所述第一分发路径下所述第二端节点相邻的上游节点相互通信的目标密钥,以使所述第一端节点获得与所述第二端节点通信的所述目标密钥;
在所述第一端节点为所述第一分发路径下与所述第二端节点相邻的上游节点的情况下,接收所述第一端节点通过所述第三协议发送的第二量子信息,所述第二量子信息携带有目标密钥,所述目标密钥为所述第一端节点生成的与所述第二端节点相互通信的密钥;
在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第三密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第三密钥为所述第二端节点通过所述第三协议与相邻上游节点建立的密钥,M为正整数。
本实施方式中,可以根据密钥传递的实际场景选择一种合适的传递方式,使得第一端节点和第二端节点均可以获得两者端到端通信的目标密钥。
第四实施例
如图8所示,本公开提供一种量子密钥分发装置800,应用于量子密钥分发网络的中继节点,包括:
第一接收模块801,用于通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第一生成模块802,用于在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第一发送模块803,用于通过所述第一协议将所述第二报文发送给所述第二端节点;
第一获取模块804,用于在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
第二发送模块805,用于通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
可选的,所述第一获取模块804包括:
第一获取子模块,用于在所述两个节点的类型包括第一类型的情况下,从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,所述目标密钥池为所述第一分发路径下与所述中继节点的相邻中继节点对应的密钥池,所述第一类型指示节点为中继节点,N为正整数;
第一建立子模块,用于在所述两个节点的类型包括第二类型的情况下,通过所述第三协议,与所述第一分发路径下所述中继节点的相邻端节点建立第一密钥,所述第二类型指示节点为端节点。
可选的,所述第一获取子模块包括:
第一生成单元,用于通过所述第一协议生成消息类型为第三消息类型的第四报文,所述第三消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第四报文携带有所述密钥特征信息和所述第一请求标识;
添加单元,用于在通过所述第二协议确定预先构建的请求队列中的请求数量小于第一预设阈值的情况下,将所述第四报文添加至所述请求队列中;
第一获取单元,用于在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
可选的,还包括:
第二生成模块,用于在通过所述第二协议确定所述请求队列中的请求数量大于或等于所述第一预设阈值的情况下,通过所述第二协议生成两条消息类型为第四消息类型的第五报文,所述第四消息类型用于标识资源预留请求被所述中继节点拒绝,所述第五报文携带有错误类型字段,所述错误类型字段用于指示报文的发送方向;
第三发送模块,用于分别基于所述第五报文中所述错误类型字段的值,通过所述第一协议将所述第五报文发送给所述量子密钥分发网络中所述第一请求标识对应的端节点。
可选的,还包括:
删除模块,用于在接收到消息类型为第四消息类型的第六报文,且所述第六报文携带的错误类型字段的值为第一目标值的情况下,若在所述请求队列中查询到所述第六报文携带的第二请求标识对应的报文,则删除所述请求队列中所述第二请求标识对应的报文;
记录模块,用于若在所述请求队列中未查询到所述第六报文携带的第二请求标识对应的报文,则将所述第二请求标识对应的密钥记录为无效密钥。
可选的,还包括:
第三生成模块,用于通过所述第二协议,生成消息类型为所述第二消息类型的第七报文,所述第七报文携带有操作类型字段和所述第一分发路径,所述操作类型字段用于指示对报文的操作方式;
第四发送模块,用于在确定所述操作类型字段的值为第二目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第七报文向所述第一端节点发送。
可选的,还包括:
第四生成模块,用于通过所述第二协议生成消息类型为第五消息类型的第八报文,所述第八报文包括所述第一分发路径和所述第一节点标识,所述第五消息类型用于标识所述中继节点成功将资源预留请求加入所述请求队列;
第五发送模块,用于基于所述第一分发路径和所述第一节点标识,通过所述第一协议将所述第八报文向所述第二端节点发送。
可选的,所述第一获取单元,具体用于:
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,基于所述第四报文,通过所述第二协议生成消息类型为所述第二消息类型的第九报文,所述第九报文携带有操作类型字段;
在确定所述操作类型字段的值为第三目标值的情况下,通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
可选的,还包括:
第一异或操作模块,用于在所述两个节点的类型均是所述第一类型的情况下,将从所述目标密钥池分别获取的两个第一密钥进行异或操作,得到所述密钥密文;
第二异或操作模块,用于在所述两个节点的类型分别是所述第一类型和所述第二类型的情况下,若查询到所述中继节点分别与所述两个节点完成密钥分发,将从所述目标密钥池获取的第一密钥和通过所述第三协议建立的第一密钥进行异或操作,得到所述密钥密文。
可选的,所述第二发送模块805,具体用于:
通过所述第一协议,生成消息类型为第六消息类型的第十报文,所述第十报文包括所述第一分发路径和所述密钥密文,所述第六消息类型用于标识所述中继节点根据与相邻两个节点的密钥生成的密钥密文;
基于所述第一分发路径,通过所述第一协议将所述第十报文发送给所述目标端节点。
可选的,还包括:
解析模块,用于通过所述第一协议,对所述第一报文进行解析;
第五生成模块,用于基于解析得到的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,通过所述第一协议生成消息类型为第七消息类型的第十一报文,所述第七消息类型用于标识发出量子密钥分发请求;
第六生成模块,用于在基于所述第十一报文确定所述密钥特征信息对应的资源数超出所述预先构建的所述中继节点的N个密钥池中目标密钥池的最大容量的情况下,通过所述第二协议生成消息类型为第四消息类型的第十二报文;
第六发送模块,用于在确定所述第十二报文携带的错误类型字段的值为第四目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第十二报文发送给所述第一端节点。
可选的,还包括:
第二接收模块,用于接收所述目标端节点针对所述密钥密文发送的消息类型为第八消息类型的第十三报文;
其中,所述第八消息类型用于标识所述目标端节点确认接收到所述中继节点发送的密钥密文。
可选的,还包括:
第三接收模块,用于接收所述目标端节点针对所述密钥密文发送的消息类型为第九消息类型的第十四报文,所述第十四报文携带有所述第一分发路径,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成;
第七发送模块,用于基于所述第一分发路径,通过所述第一协议将所述第十四报文发送给与所述目标端节点共享密钥的另一端节点。
本公开提供的量子密钥分发装置800能够实现量子密钥分发方法第一实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
第五实施例
如图9所示,本公开提供一种量子密钥分发装置900,应用于量子密钥分发网络的第一端节点,包括:
第七生成模块901,用于通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
第八生成模块902,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第八发送模块903,用于通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第二获取模块904,用于在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
可选的,所述第二获取模块904包括:
第二建立子模块,用于通过所述第三协议建立与所述第一分发路径下所述第一端节点相邻的下游节点相互通信的目标密钥,以使所述第二端节点获得与所述第一端节点通信的所述目标密钥;
第一接收子模块,用于在所述第二端节点为所述第一分发路径下与所述第一端节点相邻的下游节点的情况下,接收所述第二端节点通过所述第三协议发送的第一量子信息,所述第一量子信息携带有目标密钥,所述目标密钥为所述第二端节点生成的与所述第一端节点相互通信的密钥;
第一异或操作子模块,用于在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第二密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第二密钥为所述第一端节点通过所述第三协议与相邻下游节点建立的密钥,M为正整数。
可选的,所述第一密钥包括以下至少一项:
在所述M个中继节点包括第一中继节点的情况下,所述第一密钥是所述第一中继节点基于所述密钥特征信息,从预先构建的所述第一中继节点的N个密钥池中目标密钥池中获取得到,所述第一中继节点为相邻上游节点和相邻下游节点中至少一个为中继节点的节点,所述目标密钥池为与所述第一中继节点的相邻中继节点对应的密钥池,N为正整数;
在所述M个中继节点包括第二中继节点的情况下,所述第一密钥是所述第二中继节点通过所述第三协议与相邻端节点建立的密钥,所述第二中继节点为相邻上游节点和相邻下游节点中至少一个为端节点的节点。
可选的,还包括:
第一存储模块,用于在所述第一端节点通过所述第一协议生成消息类型为第十消息类型的第十六报文的情况下,通过所述第二协议和第四协议将所述第十六报文携带的密钥进行存储;
其中,所述第十消息类型用于标识所述第一端节点通过所述第三协议与相邻下游节点建立密钥。
可选的,所述第十六报文还携带有完成字段,所述完成字段用于指示所述第一端节点与所述第二端节点共享的密钥是否建立完成,所述装置还包括:
第一设置模块,用于在所述第一端节点和所述第二端节点直连的情况下,将所述完成字段的值设置为第五目标值,所述第五目标值指示所述第一端节点与所述第二端节点共享的密钥建立完成;
第二设置模块,用于在所述第一端节点和所述第二端节点不直连的情况下,将完成字段的值设置为第六目标值,所述第六目标值指示所述第一端节点与所述第二端节点共享的密钥未建立完成。
可选的,还包括:
第二存储模块,用于在通过所述第一协议接收到所述第二端节点针对所述第一报文返回的消息类型为第九消息类型的第十四报文,或者,所述第一端节点通过所述第一协议生成消息类型为第九消息类型的第十四报文的情况下,通过所述第二协议和所述第四协议将所述目标密钥进行存储;
其中,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成。
本公开提供的量子密钥分发装置900能够实现量子密钥分发方法第二实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
第六实施例
如图10所示,本公开提供一种量子密钥分发装置1000,应用于量子密钥分发网络的第二端节点,包括:
第四接收模块1001,用于接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
第九生成模块1002,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
第九发送模块1003,用于通过所述第一协议向所述第一端节点发送所述第三报文;
第三获取模块1004,用于通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
可选的,所述第三获取模块1004包括:
第三建立子模块,用于通过所述第三协议建立与所述第一分发路径下所述第二端节点相邻的上游节点相互通信的目标密钥,以使所述第一端节点获得与所述第二端节点通信的所述目标密钥;
第二接收子模块,用于在所述第一端节点为所述第一分发路径下与所述第二端节点相邻的上游节点的情况下,接收所述第一端节点通过所述第三协议发送的第二量子信息,所述第二量子信息携带有目标密钥,所述目标密钥为所述第一端节点生成的与所述第二端节点相互通信的密钥;
第二异或操作子模块,用于在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第三密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第三密钥为所述第二端节点通过所述第三协议与相邻上游节点建立的密钥,M为正整数。
本公开提供的量子密钥分发装置1000能够实现量子密钥分发方法第三实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图11示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如量子密钥分发方法。例如,在一些实施例中,量子密钥分发方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的量子密钥分发方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行量子密钥分发方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (44)

1.一种量子密钥分发方法,应用于量子密钥分发网络的中继节点,包括:
通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,并通过所述第一协议将所述第二报文发送给所述第二端节点,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
2.根据权利要求1所述的方法,其中,所述基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,包括以下至少一项:
在所述两个节点的类型包括第一类型的情况下,从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,所述目标密钥池为所述第一分发路径下与所述中继节点的相邻中继节点对应的密钥池,所述第一类型指示节点为中继节点,N为正整数;
在所述两个节点的类型包括第二类型的情况下,通过所述第三协议,与所述第一分发路径下所述中继节点的相邻端节点建立第一密钥,所述第二类型指示节点为端节点。
3.根据权利要求2所述的方法,其中,所述从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,包括:
通过所述第一协议生成消息类型为第三消息类型的第四报文,所述第三消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第四报文携带有所述密钥特征信息和所述第一请求标识;
在通过所述第二协议确定预先构建的请求队列中的请求数量小于第一预设阈值的情况下,将所述第四报文添加至所述请求队列中;
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
4.根据权利要求3所述的方法,还包括:
在通过所述第二协议确定所述请求队列中的请求数量大于或等于所述第一预设阈值的情况下,通过所述第二协议生成两条消息类型为第四消息类型的第五报文,所述第四消息类型用于标识资源预留请求被所述中继节点拒绝,所述第五报文携带有错误类型字段,所述错误类型字段用于指示报文的发送方向;
分别基于所述第五报文中所述错误类型字段的值,通过所述第一协议将所述第五报文发送给所述量子密钥分发网络中所述第一请求标识对应的端节点。
5.根据权利要求4所述的方法,还包括:
在接收到消息类型为第四消息类型的第六报文,且所述第六报文携带的错误类型字段的值为第一目标值的情况下,若在所述请求队列中查询到所述第六报文携带的第二请求标识对应的报文,则删除所述请求队列中所述第二请求标识对应的报文;
若在所述请求队列中未查询到所述第六报文携带的第二请求标识对应的报文,则将所述第二请求标识对应的密钥记录为无效密钥。
6.根据权利要求3所述的方法,所述将所述第四报文添加至所述请求队列之后,还包括:
通过所述第二协议,生成消息类型为所述第二消息类型的第七报文,所述第七报文携带有操作类型字段和所述第一分发路径,所述操作类型字段用于指示对报文的操作方式;
在确定所述操作类型字段的值为第二目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第七报文向所述第一端节点发送。
7.根据权利要求3所述的方法,所述将所述第四报文添加至所述请求队列之后,还包括:
通过所述第二协议生成消息类型为第五消息类型的第八报文,所述第八报文包括所述第一分发路径和所述第一节点标识,所述第五消息类型用于标识所述中继节点成功将资源预留请求加入所述请求队列;
基于所述第一分发路径和所述第一节点标识,通过所述第一协议将所述第八报文向所述第二端节点发送。
8.根据权利要求3所述的方法,其中,所述在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥,包括:
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,基于所述第四报文,通过所述第二协议生成消息类型为所述第二消息类型的第九报文,所述第九报文携带有操作类型字段;
在确定所述操作类型字段的值为第三目标值的情况下,通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
9.根据权利要求8所述的方法,所述通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥之后,还包括以下至少一项:
在所述两个节点的类型均是所述第一类型的情况下,将从所述目标密钥池分别获取的两个第一密钥进行异或操作,得到所述密钥密文;
在所述两个节点的类型分别是所述第一类型和所述第二类型的情况下,若查询到所述中继节点分别与所述两个节点完成密钥分发,将从所述目标密钥池获取的第一密钥和通过所述第三协议建立的第一密钥进行异或操作,得到所述密钥密文。
10.根据权利要求1所述的方法,其中,所述通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,包括:
通过所述第一协议,生成消息类型为第六消息类型的第十报文,所述第十报文包括所述第一分发路径和所述密钥密文,所述第六消息类型用于标识所述中继节点根据与相邻两个节点的密钥生成的密钥密文;
基于所述第一分发路径,通过所述第一协议将所述第十报文发送给所述目标端节点。
11.根据权利要求1所述的方法,还包括:
通过所述第一协议,对所述第一报文进行解析;
基于解析得到的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,通过所述第一协议生成消息类型为第七消息类型的第十一报文,所述第七消息类型用于标识发出量子密钥分发请求;
在基于所述第十一报文确定所述密钥特征信息对应的资源数超出预先构建的所述中继节点的N个密钥池中目标密钥池的最大容量的情况下,通过所述第二协议生成消息类型为第四消息类型的第十二报文;
在确定所述第十二报文携带的错误类型字段的值为第四目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第十二报文发送给所述第一端节点。
12.根据权利要求1所述的方法,所述通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点之后,还包括:
接收所述目标端节点针对所述密钥密文发送的消息类型为第八消息类型的第十三报文;
其中,所述第八消息类型用于标识所述目标端节点确认接收到所述中继节点发送的密钥密文。
13.根据权利要求1所述的方法,所述通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点之后,还包括:
接收所述目标端节点针对所述密钥密文发送的消息类型为第九消息类型的第十四报文,所述第十四报文携带有所述第一分发路径,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成;
基于所述第一分发路径,通过所述第一协议将所述第十四报文发送给与所述目标端节点共享密钥的另一端节点。
14.一种量子密钥分发方法,应用于量子密钥分发网络的第一端节点,包括:
通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
15.根据权利要求14所述的方法,其中,所述通过第三协议获取与所述第二端节点共享的目标密钥,包括以下任一项:
通过所述第三协议建立与所述第一分发路径下所述第一端节点相邻的下游节点相互通信的目标密钥,以使所述第二端节点获得与所述第一端节点通信的所述目标密钥;
在所述第二端节点为所述第一分发路径下与所述第一端节点相邻的下游节点的情况下,接收所述第二端节点通过所述第三协议发送的第一量子信息,所述第一量子信息携带有目标密钥,所述目标密钥为所述第二端节点生成的与所述第一端节点相互通信的密钥;
在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第二密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第二密钥为所述第一端节点通过所述第三协议与相邻下游节点建立的密钥,M为正整数。
16.根据权利要求15所述的方法,其中,所述第一密钥包括以下至少一项:
在所述M个中继节点包括第一中继节点的情况下,所述第一密钥是所述第一中继节点基于所述密钥特征信息,从预先构建的所述第一中继节点的N个密钥池中目标密钥池中获取得到,所述第一中继节点为相邻上游节点和相邻下游节点中至少一个为中继节点的节点,所述目标密钥池为与所述第一中继节点的相邻中继节点对应的密钥池,N为正整数;
在所述M个中继节点包括第二中继节点的情况下,所述第一密钥是所述第二中继节点通过所述第三协议与相邻端节点建立的密钥,所述第二中继节点为相邻上游节点和相邻下游节点中至少一个为端节点的节点。
17.根据权利要求14所述的方法,所述通过第三协议获取与所述第二端节点共享的目标密钥之后,还包括:
在所述第一端节点通过所述第一协议生成消息类型为第十消息类型的第十六报文的情况下,通过所述第二协议和第四协议将所述第十六报文携带的密钥进行存储;
其中,所述第十消息类型用于标识所述第一端节点通过所述第三协议与相邻下游节点建立密钥。
18.根据权利要求17所述的方法,其中,所述第十六报文还携带有完成字段,所述完成字段用于指示所述第一端节点与所述第二端节点共享的密钥是否建立完成,所述方法还包括:
在所述第一端节点和所述第二端节点直连的情况下,将所述完成字段的值设置为第五目标值,所述第五目标值指示所述第一端节点与所述第二端节点共享的密钥建立完成;
在所述第一端节点和所述第二端节点不直连的情况下,将完成字段的值设置为第六目标值,所述第六目标值指示所述第一端节点与所述第二端节点共享的密钥未建立完成。
19.根据权利要求14所述的方法,所述通过第三协议获取与所述第二端节点共享的目标密钥之后,还包括:
在通过所述第一协议接收到所述第二端节点针对所述第一报文返回的消息类型为第九消息类型的第十四报文,或者,所述第一端节点通过所述第一协议生成消息类型为第九消息类型的第十四报文的情况下,通过所述第二协议和所述第四协议将所述目标密钥进行存储;
其中,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成。
20.一种量子密钥分发方法,应用于量子密钥分发网络的第二端节点,包括:
接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
通过所述第一协议向所述第一端节点返回所述第三报文,并通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
21.根据权利要求20所述的方法,其中,所述通过第三协议获取与所述第一端节点共享的目标密钥,包括以下任一项:
通过所述第三协议建立与所述第一分发路径下所述第二端节点相邻的上游节点相互通信的目标密钥,以使所述第一端节点获得与所述第二端节点通信的所述目标密钥;
在所述第一端节点为所述第一分发路径下与所述第二端节点相邻的上游节点的情况下,接收所述第一端节点通过所述第三协议发送的第二量子信息,所述第二量子信息携带有目标密钥,所述目标密钥为所述第一端节点生成的与所述第二端节点相互通信的密钥;
在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第三密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第三密钥为所述第二端节点通过所述第三协议与相邻上游节点建立的密钥,M为正整数。
22.一种量子密钥分发装置,应用于量子密钥分发网络的中继节点,包括:
第一接收模块,用于通过第一协议,接收第一端节点发送的第一报文,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第一生成模块,用于在确定所述第一请求标识对应的量子密钥分发请求所需要的资源数不超过所述中继节点的处理能力的情况下,基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第二报文,所述第二协议用于对接收到的量子密钥分发请求进行调度,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第一发送模块,用于通过所述第一协议将所述第二报文发送给所述第二端节点;
第一获取模块,用于在接收到所述第二端节点针对所述第二报文发送的消息类型为第二消息类型的第三报文的情况下,基于所述中继节点相邻的两个节点的类型和所述密钥特征信息,通过所述第二协议和/或第三协议,获取所述中继节点分别与所述两个节点之间的第一密钥,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第三协议用于使用量子比特作为信息载体进行密钥分发;
第二发送模块,用于通过所述第一协议,将基于所述第一密钥生成的密钥密文发送给目标端节点,所述目标端节点为所述第一端节点或所述第二端节点,所述密钥密文用于确定所述第一端节点与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信。
23.根据权利要求22所述的装置,其中,所述第一获取模块包括:
第一获取子模块,用于在所述两个节点的类型包括第一类型的情况下,从预先构建的所述中继节点的N个密钥池中的目标密钥池,通过所述第二协议,获取与所述密钥特征信息匹配的第一密钥,所述目标密钥池为所述第一分发路径下与所述中继节点的相邻中继节点对应的密钥池,所述第一类型指示节点为中继节点,N为正整数;
第一建立子模块,用于在所述两个节点的类型包括第二类型的情况下,通过所述第三协议,与所述第一分发路径下所述中继节点的相邻端节点建立第一密钥,所述第二类型指示节点为端节点。
24.根据权利要求23所述的装置,其中,所述第一获取子模块包括:
第一生成单元,用于通过所述第一协议生成消息类型为第三消息类型的第四报文,所述第三消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求,所述第四报文携带有所述密钥特征信息和所述第一请求标识;
添加单元,用于在通过所述第二协议确定预先构建的请求队列中的请求数量小于第一预设阈值的情况下,将所述第四报文添加至所述请求队列中;
第一获取单元,用于在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
25.根据权利要求24所述的装置,还包括:
第二生成模块,用于在通过所述第二协议确定所述请求队列中的请求数量大于或等于所述第一预设阈值的情况下,通过所述第二协议生成两条消息类型为第四消息类型的第五报文,所述第四消息类型用于标识资源预留请求被所述中继节点拒绝,所述第五报文携带有错误类型字段,所述错误类型字段用于指示报文的发送方向;
第三发送模块,用于分别基于所述第五报文中所述错误类型字段的值,通过所述第一协议将所述第五报文发送给所述量子密钥分发网络中所述第一请求标识对应的端节点。
26.根据权利要求25所述的装置,还包括:
删除模块,用于在接收到消息类型为第四消息类型的第六报文,且所述第六报文携带的错误类型字段的值为第一目标值的情况下,若在所述请求队列中查询到所述第六报文携带的第二请求标识对应的报文,则删除所述请求队列中所述第二请求标识对应的报文;
记录模块,用于若在所述请求队列中未查询到所述第六报文携带的第二请求标识对应的报文,则将所述第二请求标识对应的密钥记录为无效密钥。
27.根据权利要求24所述的装置,还包括:
第三生成模块,用于通过所述第二协议,生成消息类型为所述第二消息类型的第七报文,所述第七报文携带有操作类型字段和所述第一分发路径,所述操作类型字段用于指示对报文的操作方式;
第四发送模块,用于在确定所述操作类型字段的值为第二目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第七报文向所述第一端节点发送。
28.根据权利要求24所述的装置,还包括:
第四生成模块,用于通过所述第二协议生成消息类型为第五消息类型的第八报文,所述第八报文包括所述第一分发路径和所述第一节点标识,所述第五消息类型用于标识所述中继节点成功将资源预留请求加入所述请求队列;
第五发送模块,用于基于所述第一分发路径和所述第一节点标识,通过所述第一协议将所述第八报文向所述第二端节点发送。
29.根据权利要求24所述的装置,其中,所述第一获取单元,具体用于:
在从所述请求队列中获取到所述第一请求标识对应的所述第四报文的情况下,基于所述第四报文,通过所述第二协议生成消息类型为所述第二消息类型的第九报文,所述第九报文携带有操作类型字段;
在确定所述操作类型字段的值为第三目标值的情况下,通过所述第一协议从所述目标密钥池中获取与所述密钥特征信息匹配的第一密钥。
30.根据权利要求29所述的装置,还包括:
第一异或操作模块,用于在所述两个节点的类型均是所述第一类型的情况下,将从所述目标密钥池分别获取的两个第一密钥进行异或操作,得到所述密钥密文;
第二异或操作模块,用于在所述两个节点的类型分别是所述第一类型和所述第二类型的情况下,若查询到所述中继节点分别与所述两个节点完成密钥分发,将从所述目标密钥池获取的第一密钥和通过所述第三协议建立的第一密钥进行异或操作,得到所述密钥密文。
31.根据权利要求22所述的装置,其中,所述第二发送模块,具体用于:
通过所述第一协议,生成消息类型为第六消息类型的第十报文,所述第十报文包括所述第一分发路径和所述密钥密文,所述第六消息类型用于标识所述中继节点根据与相邻两个节点的密钥生成的密钥密文;
基于所述第一分发路径,通过所述第一协议将所述第十报文发送给所述目标端节点。
32.根据权利要求22所述的装置,还包括:
解析模块,用于通过所述第一协议,对所述第一报文进行解析;
第五生成模块,用于基于解析得到的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息,通过所述第一协议生成消息类型为第七消息类型的第十一报文,所述第七消息类型用于标识发出量子密钥分发请求;
第六生成模块,用于在基于所述第十一报文确定所述密钥特征信息对应的资源数超出预先构建的所述中继节点的N个密钥池中目标密钥池的最大容量的情况下,通过所述第二协议生成消息类型为第四消息类型的第十二报文;
第六发送模块,用于在确定所述第十二报文携带的错误类型字段的值为第四目标值的情况下,基于所述第一分发路径,通过所述第一协议将所述第十二报文发送给所述第一端节点。
33.根据权利要求22所述的装置,还包括:
第二接收模块,用于接收所述目标端节点针对所述密钥密文发送的消息类型为第八消息类型的第十三报文;
其中,所述第八消息类型用于标识所述目标端节点确认接收到所述中继节点发送的密钥密文。
34.根据权利要求22所述的装置,还包括:
第三接收模块,用于接收所述目标端节点针对所述密钥密文发送的消息类型为第九消息类型的第十四报文,所述第十四报文携带有所述第一分发路径,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成;
第七发送模块,用于基于所述第一分发路径,通过所述第一协议将所述第十四报文发送给与所述目标端节点共享密钥的另一端节点。
35.一种量子密钥分发装置,应用于量子密钥分发网络的第一端节点,包括:
第七生成模块,用于通过第四协议生成第十五报文,所述第四协议用于发起量子密钥分发请求,所述第十五报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、第二端节点的第一节点标识和密钥特征信息;
第八生成模块,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过第二协议生成消息类型为第一消息类型的第一报文,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第一消息类型用于标识量子密钥分发请求的发送者发起量子密钥分发请求;
第八发送模块,用于通过第一协议向所述第二端节点发送所述第一报文,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径;
第二获取模块,用于在接收到所述第二端节点针对所述第一报文发送的消息类型为第二消息类型的第三报文的情况下,通过第三协议获取与所述第二端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求。
36.根据权利要求35所述的装置,其中,所述第二获取模块包括:
第二建立子模块,用于通过所述第三协议建立与所述第一分发路径下所述第一端节点相邻的下游节点相互通信的目标密钥,以使所述第二端节点获得与所述第一端节点通信的所述目标密钥;
第一接收子模块,用于在所述第二端节点为所述第一分发路径下与所述第一端节点相邻的下游节点的情况下,接收所述第二端节点通过所述第三协议发送的第一量子信息,所述第一量子信息携带有目标密钥,所述目标密钥为所述第二端节点生成的与所述第一端节点相互通信的密钥;
第一异或操作子模块,用于在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第二密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第二密钥为所述第一端节点通过所述第三协议与相邻下游节点建立的密钥,M为正整数。
37.根据权利要求36所述的装置,其中,所述第一密钥包括以下至少一项:
在所述M个中继节点包括第一中继节点的情况下,所述第一密钥是所述第一中继节点基于所述密钥特征信息,从预先构建的所述第一中继节点的N个密钥池中目标密钥池中获取得到,所述第一中继节点为相邻上游节点和相邻下游节点中至少一个为中继节点的节点,所述目标密钥池为与所述第一中继节点的相邻中继节点对应的密钥池,N为正整数;
在所述M个中继节点包括第二中继节点的情况下,所述第一密钥是所述第二中继节点通过所述第三协议与相邻端节点建立的密钥,所述第二中继节点为相邻上游节点和相邻下游节点中至少一个为端节点的节点。
38.根据权利要求35所述的装置,还包括:
第一存储模块,用于在所述第一端节点通过所述第一协议生成消息类型为第十消息类型的第十六报文的情况下,通过所述第二协议和第四协议将所述第十六报文携带的密钥进行存储;
其中,所述第十消息类型用于标识所述第一端节点通过所述第三协议与相邻下游节点建立密钥。
39.根据权利要求38所述的装置,其中,所述第十六报文还携带有完成字段,所述完成字段用于指示所述第一端节点与所述第二端节点共享的密钥是否建立完成,所述装置还包括:
第一设置模块,用于在所述第一端节点和所述第二端节点直连的情况下,将所述完成字段的值设置为第五目标值,所述第五目标值指示所述第一端节点与所述第二端节点共享的密钥建立完成;
第二设置模块,用于在所述第一端节点和所述第二端节点不直连的情况下,将完成字段的值设置为第六目标值,所述第六目标值指示所述第一端节点与所述第二端节点共享的密钥未建立完成。
40.根据权利要求35所述的装置,还包括:
第二存储模块,用于在通过所述第一协议接收到所述第二端节点针对所述第一报文返回的消息类型为第九消息类型的第十四报文,或者,所述第一端节点通过所述第一协议生成消息类型为第九消息类型的第十四报文的情况下,通过所述第二协议和所述第四协议将所述目标密钥进行存储;
其中,所述第九消息类型用于标识所述第一端节点与所述第二端节点共享的密钥建立完成。
41.一种量子密钥分发装置,应用于量子密钥分发网络的第二端节点,包括:
第四接收模块,用于接收第一端节点通过第一协议发送的第一报文,所述第一报文由所述第一端节点通过第四协议和第二协议生成,所述第一协议用于确定所述量子密钥分发网络在进行量子密钥分发过程中报文的发送路径,所述第二协议用于根据端节点的角色类型和接收到的报文对应的消息类型对报文进行处理,所述第四协议用于发起量子密钥分发请求,所述第一报文包括所述第一端节点发起的量子密钥分发请求的第一请求标识、第一分发路径、所述第二端节点的第一节点标识和密钥特征信息;
第九生成模块,用于基于所述第一请求标识、所述第一分发路径、所述第一节点标识和所述密钥特征信息,通过所述第一协议、所述第二协议和所述第四协议,生成消息类型为第二消息类型的第三报文,所述第二消息类型用于标识量子密钥分发请求的接收者发起的资源预留请求;
第九发送模块,用于通过所述第一协议向所述第一端节点发送所述第三报文;
第三获取模块,用于通过第三协议获取与所述第一端节点共享的目标密钥,所述目标密钥用于所述第一端节点与所述第二端节点之间进行相互通信,所述第三协议用于使用量子比特作为信息载体进行密钥分发。
42.根据权利要求41所述的装置,其中,所述第三获取模块包括:
第三建立子模块,用于通过所述第三协议建立与所述第一分发路径下所述第二端节点相邻的上游节点相互通信的目标密钥,以使所述第一端节点获得与所述第二端节点通信的所述目标密钥;
第二接收子模块,用于在所述第一端节点为所述第一分发路径下与所述第二端节点相邻的上游节点的情况下,接收所述第一端节点通过所述第三协议发送的第二量子信息,所述第二量子信息携带有目标密钥,所述目标密钥为所述第一端节点生成的与所述第二端节点相互通信的密钥;
第二异或操作子模块,用于在所述第一端节点与所述第二端节点之间存在M个中继节点的情况下,接收所述M个中继节点通过所述第一协议分别发送的第十三报文,将第三密钥与所述第十三报文携带的密钥密文进行异或操作,得到所述目标密钥,所述密钥密文是两个第一密钥进行异或操作得到的,所述两个第一密钥为所述中继节点分别与相邻上游节点和相邻下游节点之间共享的密钥,所述第三密钥为所述第二端节点通过所述第三协议与相邻上游节点建立的密钥,M为正整数。
43.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法,或者执行权利要求14-19中任一项所述的方法,或者执行权利要求20-21中任一项所述的方法。
44.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法,或者执行根据权利要求14-19中任一项所述的方法,或者执行根据权利要求20-21中任一项所述的方法。
CN202211486216.4A 2022-11-24 2022-11-24 量子密钥分发方法、装置及电子设备 Active CN115865334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211486216.4A CN115865334B (zh) 2022-11-24 2022-11-24 量子密钥分发方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211486216.4A CN115865334B (zh) 2022-11-24 2022-11-24 量子密钥分发方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN115865334A CN115865334A (zh) 2023-03-28
CN115865334B true CN115865334B (zh) 2023-07-21

Family

ID=85666147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211486216.4A Active CN115865334B (zh) 2022-11-24 2022-11-24 量子密钥分发方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115865334B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319097B (zh) * 2023-05-19 2023-09-22 广东广宇科技发展有限公司 一种基于量子加密的多节点数据传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995510A (zh) * 2017-12-29 2019-07-09 成都零光量子科技有限公司 一种量子密钥中继服务方法
CN114362939A (zh) * 2020-12-31 2022-04-15 广东国腾量子科技有限公司 一种基于可信中继量子保密通信网络动态路由转发方法、存储装置及智能终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217637B (zh) * 2016-11-04 2024-03-15 华为技术有限公司 一种基于集中管理与控制网络的量子密钥中继方法和装置
CN110266473A (zh) * 2019-04-22 2019-09-20 北京邮电大学 中继节点分发量子密钥的方法、中继节点以及分发方法
CN111865567B (zh) * 2019-04-29 2021-11-30 科大国盾量子技术股份有限公司 量子密钥的中继方法、装置、***、设备及存储介质
CN112953710B (zh) * 2021-01-28 2022-07-01 西安电子科技大学 基于可信中继的无线/有线混合qkd网络
CN114978477A (zh) * 2021-02-18 2022-08-30 国科量子通信网络有限公司 一种基于物理***的开放式密钥分发网络架构
CN113765663B (zh) * 2021-09-26 2022-11-25 清华大学 一种强化量子密钥分发网络的安全性的方法及装置
CN114124388B (zh) * 2022-01-27 2022-05-10 济南量子技术研究院 一种基于量子密钥的Gossip协议同步方法
CN114900293B (zh) * 2022-05-06 2023-05-05 浙江九州量子信息技术股份有限公司 一种基于调度中心的量子密钥全局中继方法及***
CN115276976B (zh) * 2022-07-25 2023-07-07 北京百度网讯科技有限公司 量子密钥分发方法、装置及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995510A (zh) * 2017-12-29 2019-07-09 成都零光量子科技有限公司 一种量子密钥中继服务方法
CN114362939A (zh) * 2020-12-31 2022-04-15 广东国腾量子科技有限公司 一种基于可信中继量子保密通信网络动态路由转发方法、存储装置及智能终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zhang Qin ; Liu Yikai ; Yu Xiaosong ; Zhao Yongli ; Zhang Jie.Photonics.2022,第9卷(第4期),239-239. *

Also Published As

Publication number Publication date
CN115865334A (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
WO2018082345A1 (zh) 一种基于集中管理与控制网络的量子密钥中继方法和装置
US9306734B2 (en) Communication device, key generating device, and computer readable medium
WO2019128753A1 (zh) 一种低延迟的量子密钥移动服务方法
TW201919363A (zh) 量子金鑰的分發系統及其分發方法和資料處理方法
CN115276976B (zh) 量子密钥分发方法、装置及电子设备
CN107040378A (zh) 一种基于多用户远程通信的密钥分配***与方法
CN107147492A (zh) 一种基于多终端通信的密钥服务***与方法
WO2017006361A1 (en) A device within a wireless peer-to-peer network, wireless communication system and control method
CN115865334B (zh) 量子密钥分发方法、装置及电子设备
WO2017075134A1 (en) Key management for privacy-ensured conferencing
US9166930B2 (en) Waved time multiplexing
Zhang et al. Fragmentation-aware entanglement routing for quantum networks
CN113221146B (zh) 区块链节点间数据传输的方法和装置
WO2018006305A1 (zh) 生成转发表的方法和转发设备
CN108964961A (zh) 一种管理传输网切片的方法、装置及***
CN110875914B (zh) 一种基于共享会话链路传输消息的方法及装置
US20240072996A1 (en) System and method for key establishment
CN110098930B (zh) 一种基于Bell态的两方量子密钥协商方法及***
CN115865332B (zh) 请求处理方法、装置及电子设备
CN109462605B (zh) 一种im通信***及其通信方法
CN108900584B (zh) 内容分发网络的数据传输方法和***
WO2022166556A1 (zh) 在区块链网络中实现安全组播的方法及装置
CN114362938B (zh) 一种量子通信的密钥管理动态路由生成网络架构及方法
CN115865333B (zh) 量子纠缠建立方法、装置及电子设备
CN105960791B (zh) 无状态消息传输路由

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant