导语
当今时代,互联网承载的海量敏感、私密与机密信息正不断遭受到各种各样的网络攻击。国家互联网应急中心数据显示,我国已成为网络攻击的主要受害国。因此,保障信息通信与网络安全至关重要。目前,保障信息通信与网络安全所普遍使用的公钥密码体制面临强大的量子计算机和高效的攻击算法的威胁。量子密钥分发技术可以在认证的合法双方之间实现理论上无条件安全的对称密钥分发,具有为信息通信与网络提供长期的安全性和保密性的潜力。量子密钥分发的安全性由量子不可克隆定律和海森堡测不准原理等量子力学基本原理保障,任何试图窃听量子密钥分发的行为都会被发现。鉴于量子密钥分发网络的高成本和复杂性,量子密钥分发即服务成为未来量子密钥分发网络的有效运营模式之一,可以实现全网用户通过申请量子密钥分发服务共享量子密钥分发网络基础设施。
1、发展状况
目前,基于光纤和自由空间的量子密钥分发系统已经通过试验演示和验证。其中,基于光纤的量子密钥分发系统已经开始商业化,国际上ID Quantique和东芝欧研所等公司以及国内的国盾量子和安徽问天等公司都可以提供商用的量子密钥分发产品。近年来,越来越多的量子密钥分发网络开始在现网中部署应用,如美国DARPA量子密钥分发网络、欧盟SECOQC量子密钥分发网络、日本东京量子密钥分发网络、英国剑桥量子密钥分发网络以及我国京沪干线量子密钥分发网络等。量子密钥分发网络的潜在应用涉及提升各个领域(如军事、政务、医疗和金融等)基础设施承载的信息通信与网络的安全性。例如,将量子密钥分发与现有的对称密码体制相结合,可以为政府和情报机构或具有长期战略商业秘密的企业提供长期的数据保密性;将量子密钥分发用于封闭式电子数据交换系统中,银行转账可以有效保障金融交易的安全性。
鉴于量子密钥分发网络的高成本和复杂性,量子密钥分发即服务成为未来量子密钥分发网络的有效运营模式之一。在量子密钥分发网络中,量子密钥可以源源不断地产生,如在50km光纤量子密钥分发链路上量子密钥成码率通常低于2Mbit/s。因此,量子密钥资源在量子密钥分发网络中十分宝贵,且量子密钥的不可重复使用特性使其与其他许多类型的网络资源如带宽和计算资源等不同。量子密钥分发即服务的基本概念是全网用户可以通过申请量子密钥分发服务,以从相同的量子密钥分发网络基础设施中获得各自所需的量子密钥成码率,而无需部署专用的量子密钥分发网络。于是,如何利用量子密钥分发网络基础设施提供高效灵活的量子密钥分发即服务以满足全网用户的量子密钥成码率需求成为一项重要的挑战。
软件定义网络(Software Defined Networking, SDN)具有克服这一挑战的潜力,能够实现高效的量子密钥分发网络管理并提升灵活性。SDN技术有助于在动态和复杂的量子密钥分发网络环境中保持集中式控制的全局视角。近年来,SDN技术已被引入量子密钥分发网络中,以实现量子使能服务自动配置、量子密钥分发资源时间共享、量子密钥分发信道动态分配、分布式拒绝服务攻击防御、量子密钥按需供应和多租户快速提供等。同时,量子密钥分发能够用于增强SDN自身的安全性。因此,将SDN技术应用在量子密钥分发网络中具有很大的优势,且随着量子密钥分发网络规模的扩大,SDN技术有助于实现高效的量子密钥分发网络控制和管理。
2、软件定义量子密钥分发即服务体系框架
如图1所示,软件定义量子密钥分发即服务体系框架自上而下由3个逻辑平面组成:应用平面、控制平面和基础设施平面。控制平面和基础设施平面之间的南向接口可以应用不同的协议(OpenFlow和NETCONF等)来实现,主要用于传输控制和配置的请求/响应消息,包括控制和配置量子密钥的交换、存储、中继、分配和销毁等。本文选择OpenFlow协议,目前已有试验验证了在基于SDN的量子密钥分发网络中使用OpenFlow协议的可行性,通过扩展OpenFlow Plugin和OpenFlow Java模块可以实现南向接口。应用平面和控制平面之间的北向接口由RESTful API实现,主要用于传输量子密钥分发服务请求/响应消息。量子密钥分发服务提供包括量子密钥分发服务的创建、修改和删除,其请求/响应消息分别使用HTTP的POST、PUT和DELETE方法实现。
图1 软件定义量子密钥分发即服务体系框架
(1)基础设施平面
在基础设施平面上,量子密钥分发用户节点(Quantum-key-distribution User Node,QUN)通过量子密钥分发链路(Quantum-key-distribution Link,QL)相连。可信中继节点(Trusted Repeater Node,TRN)放置在两个远端QUN之间,以实现远距离的端到端量子密钥分发。在每个QUN/TRN上放置OpenFlow代理(OpenFlow Agent,OFA),OFA可以支持扩展的OpenFlow协议并使用短距接口与QUN/TRN进行通信。短距接口用于在同一地理位置处连接两个设备,可以完成经过安全加固的节点安全范围内的通信。例如,短距接口可以使用网线连接两个相同地理位置处的设备来实现,其安全性可以通过将其封闭在安全范围内来保证。SDN控制器和QUN/TRN之间的相互通信可以利用OFA中的协议解析和消息交互功能来实现。每个QUN/TRN都可以基于OFA按照SDN控制器的指令进行运转。在量子密钥分发网络基础设施部署完成并稳定运行后,直接相连的两个QUN/TRN或者QUN与TRN之间可以不断地产生量子密钥,每条QL上都有一定的量子密钥成码率。
(2)控制平面
SDN控制器部署在控制平面上,可以通过OpenFlow协议和OFA控制和管理基础设施平面上的QUN和TRN。SDN控制器可以与本地数据库互通,本地数据库保存所有量子密钥分发服务请求的量子密钥成码率信息。目前,主流的SDN控制器包括OpenDaylight控制器和ONOS控制器。本文选择OpenDaylight控制器,并在其中开发了支持量子密钥分发即服务的特定功能。除了OpenDaylight控制器平台中已有的基础网络服务功能和服务抽象层,还开发了支持量子密钥分发即服务功能的5个模块:拓扑模块用于收集、存储和更新量子密钥分发网络拓扑以及QUN和TRN信息;资源模块用于存储和更新每条QL上的点对点量子密钥成码率信息;服务模块用于完成量子密钥分发服务的创建、修改和删除,以及存储和更新量子密钥分发服务信息;路由模块用于计算和选择一对QUN之间的量子密钥分发路径;策略模块执行量子密钥成码率选择与分配以满足每个量子密钥分发服务请求的量子密钥成码率需求。
(3)应用平面
本文考虑的量子密钥分发网络基础设施只由一个量子密钥分发网络运营商运营。应用平面上的量子密钥分发网络运营商接收全网不同用户的量子密钥成码率需求,相应地生成多个量子密钥分发服务请求并发送至控制平面。每个量子密钥分发服务请求在一对QUN之间具有特定的量子密钥成码率需求,不同量子密钥分发服务请求的量子密钥成码率需求可能不同。另外,在软件定义量子密钥分发即服务体系框架中仅使用一次一密算法进行密钥中继。
由于量子密钥始终位于基础设施平面上,且南向和北向接口无法接触到真正的量子密钥,所以SDN技术的引入不会对量子密钥的安全性造成影响。虽然伴随着SDN可能会出现一些安全攻击,但是可以使用现有的经典和量子防御手段来保护SDN本身的安全性。例如,通过将QUN与SDN控制器放置在同一地理位置,然后利用TRN和QL将其连接到基础设施平面上的每个QUN,便可以使用量子密钥来保障控制信道的安全性。
3、软件定义量子密钥分发即服务演示平台
软件定义量子密钥分发即服务演示平台如图2所示。在该平台中只有一个量子密钥分发网络运营商,基于接收到的不同用户的量子密钥成码率需求,量子密钥分发网络运营商可以生成多个量子密钥分发服务请求并发送给SDN控制器。SDN控制器基于OpenDaylight控制器平台开发实现。量子密钥分发网络运营商与SDN控制器之间的北向接口使用RESTful API实现,并基于JSON风格开发以支持HTTP。量子密钥分发网络运营商与SDN控制器之间的量子密钥分发服务创建、修改和删除的请求/响应消息分别使用HTTP的POST、PUT和DELETE方法实现。QUN/TRN和OFA共同组成支持OpenFlow协议的QUN/TRN(OpenFlow-enabled QUN/TRN,OF-QUN/OF-TRN)。SDN控制器与OF-QUN/OF-TRN之间的南向接口基于扩展的OpenFlow协议v1.3.0版本开发实现。
图2 软件定义量子密钥分发即服务演示平台
量子密钥分发网络基础设施的物理层状态不同会导致每条QL上的量子密钥成码率不同,可以通过开发OFA和SDN控制器中的资源模块进行管理。此外,每个QUN/TRN需要开放其控制接口和数据给相连的OFA,这样OF-QUN和OF-TRN才可以向SDN控制器实时上报量子密钥成码率。鉴于软件定义量子密钥分发即服务体系框架不局限于任何特定的量子密钥分发系统厂商或量子密钥分发协议,可以开发Open vSwitch作为OFA,每个QUN/TRN的详细信息都存储在其相连的Open vSwitch中,利用Open vSwitch可以模拟QUN/TRN的网络层功能。在该平台中没有放置真正的量子密钥分发实体设备,因此本文不考虑量子密钥分发物理层问题和物理层参数(量子比特误码率等)的测量。本文关注量子密钥分发的网络层问题,在该平台中开发了协议、策略和工作流程,可以演示量子密钥分发服务提供流程并测量网络层参数(服务时延等)。
软件定义量子密钥分发即服务演示平台中放置了6个OF-QUN和2个OF-TRN来组成量子密钥分发网络基础设施,其中在IBM服务器中安装和配置了8个虚拟机以用作OFA。此外,IBM服务器中安装了1个虚拟机以启动开发的SDN控制器。图2中标识了每个OF-QUN/OF-TRN的唯一IP地址和ID编号,以及量子密钥分发网络运营商和SDN控制器的唯一IP地址。通过使用Wireshark工具可以抓包并分析量子密钥分发网络运营商与SDN控制器之间的HTTP消息,以及SDN控制器与OF-QUN/OF-TRN之间的OpenFlow协议消息。
4、量子密钥分发服务提供流程
SDN控制器首先需要根据量子密钥分发网络拓扑配置所有的OF-QUN和OF-TRN,以完成量子密钥分发网络的初始化。在量子密钥分发网络初始化完成后,可以执行量子密钥分发即服务以满足不同用户的量子密钥成码率需求。基于图2中的软件定义量子密钥分发即服务演示平台,以OF-QUN4与OF-QUN1之间的量子密钥分发服务请求为例,演示了量子密钥分发服务的创建、修改和删除,以完成量子密钥分发服务的提供。可以看到,该量子密钥分发服务选择的量子密钥分发路径经过4个节点,分别是OF-QUN4、OF-QUN2、OF-TRN1和OF-QUN1。量子密钥分发服务的创建、修改和删除流程如图2中编号和箭头所示。
步骤1至步骤4执行量子密钥分发服务的创建。其中,量子密钥分发网络运营商和SDN控制器之间的量子密钥分发服务创建请求(步骤1)与响应(步骤4)的HTTP消息流如图3所示;SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务创建请求(步骤2)与响应(步骤3)的OpenFlow协议消息流分别如图4(a)与图4(b)所示。图4(a)与图4(b)中包含SDN控制器以及OF-QUN/OF-TRN的IP地址、量子密钥分发服务创建请求/响应的消息类型、OpenFlow协议版本等信息。在成功创建量子密钥分发服务之后,从沿着量子密钥分发路径的每条QL(即QL1、QL2和QL3)上选择实时可用的量子密钥资源,并分配给对应用户以满足量子密钥分发服务创建的量子密钥成码率需求。
图3 量子密钥分发网络运营商和SDN控制器之间的量子密钥分发服务创建、修改和删除请求/响应的HTTP消息流
图4 SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务创建(a)请求与(b)响应的OpenFlow协议消息流
步骤5至步骤8执行量子密钥分发服务的修改,主要考虑到已经完成创建的量子密钥分发服务可以在其运行周期内请求修改量子密钥成码率需求。步骤5和步骤8分别是量子密钥分发网络运营商和SDN控制器之间的量子密钥分发服务修改请求与响应,对应的HTTP消息流如图3所示;步骤6和步骤7分别是SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务修改请求与响应,对应的OpenFlow协议消息流分别如图5(a)与图5(b)所示。图5(a)与图5(b)中包含SDN控制器以及OF-QUN/OF-TRN的IP地址、量子密钥分发服务修改请求/响应的消息类型、OpenFlow协议版本等信息。在量子密钥分发服务修改成功后,沿着量子密钥分发路径的每条QL(即QL1、QL2和QL3)上实时可用的量子密钥资源将会重新分配给对应用户以满足量子密钥分发服务新的量子密钥成码率需求。
图5 SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务修改(a)请求与(b)响应的OpenFlow协议消息流
当量子密钥分发服务到期时(即用户不再需要该量子密钥分发服务),在步骤9至步骤12中执行量子密钥分发服务的删除。量子密钥分发网络运营商和SDN控制器之间的量子密钥分发服务删除请求(步骤9)与响应(步骤12)的HTTP消息流如图3所示;SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务删除请求(步骤10)与响应(步骤11)的OpenFlow协议消息流分别如图6(a)与图6(b)所示。图6(a)与(b)中包含SDN控制器以及OF-QUN/OF-TRN的IP地址、量子密钥分发服务删除请求/响应的消息类型、OpenFlow协议版本等信息。
图6 SDN控制器和OF-QUN/OF-TRN之间的量子密钥分发服务删除(a)请求与(b)响应的OpenFlow协议消息流
量子密钥分发服务创建、修改和删除的时延如表1所示。量子密钥分发服务创建/修改/删除的时延是量子密钥分发网络运营商发送出量子密钥分发服务创建/修改/删除请求(步骤1/5/9)与接收到量子密钥分发服务创建/修改/删除响应(步骤4/8/12)的时间间隔。量子密钥分发网络运营商产生不同的量子密钥分发服务请求,其量子密钥分发路径上可以具有不同跳数。表1中的时延是通过取具有相同跳数的3个量子密钥分发服务时延的平均值获得的。从表1可以看出,量子密钥分发服务创建、修改和删除的时延都随着跳数的增加而增加,这源于沿着量子密钥分发路径的OF-QUN/OF-TRN数量增加。对于一个量子密钥分发服务,其创建时延比修改时延长得多,而修改时延比删除时延稍长。这是因为量子密钥分发服务创建需要在源宿OF-QUN之间选择和配置量子密钥分发路径以及执行量子密钥成码率分配,而量子密钥分发服务修改仅执行量子密钥成码率重分配。
表1 量子密钥分发服务创建、修改和删除的时延
5、结束语
本文引入SDN技术实现高效灵活的量子密钥分发即服务,介绍了软件定义量子密钥分发即服务体系框架,搭建了软件定义量子密钥分发即服务演示平台,在该平台中开发了协议、策略和工作流程,演示了量子密钥分发服务提供流程。量子密钥分发服务提供包括量子密钥分发服务的创建、修改和删除,演示结果进一步显示了SDN技术用于量子密钥分发网络基础设施上量子密钥分发即服务的有效性和灵活性。量子密钥分发即服务是未来量子密钥分发网络的有效运营模式之一,在未来的工作中将进一步演示软件定义量子密钥分发即服务体系框架下的典型案例和应用场景。
论文引用格式:
曹原, 赵永利. 软件定义量子密钥分发即服务[J]. 信息通信技术与政策, 2019(10):49-55.
作者简介
曹原:北京邮电大学信息光子学与光通信国家重点实验室博士研究生
赵永利:北京邮电大学信息光子学与光通信国家重点实验室教授
本文刊于《信息通信技术与政策》2019年第10期
声明:本文来自信息通信技术与政策,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。