基于量子密钥分发的多播集中密钥管理

2020-08-31 06:14刘清源李晓坤董潍赫付文香
智能计算机与应用 2020年4期
关键词:密钥解密粒子

吴 迪, 刘清源, 李晓坤, 徐 龙, 董潍赫, 付文香

(1 黑龙江恒讯科技有限公司国家博士后科研工作站, 哈尔滨150090; 2 黑龙江大学, 哈尔滨150080)

0 引 言

计算机网络密码系统由加密算法、解密算法和密钥管理系统组成[1]。 多播是通过源用户和目标用户之间的单一通信通道,同时向一组用户传递消息或信息。 与单播传输相比,多播在带宽和优化网络性能方面具有优越性[2]。 它通常是在互联网协议(IP) 下实现多播。 常用于流媒体、互联网电视、预定音频和视频分发的IP 应用,以及文件缓存和分发。 为了在多播通信中安全地传输数据包,对所有有效成员,消息使用公共单密钥进行加密[3-5]。 公共密钥通常由不同的名称调用,如会话密钥、流量加密密钥或组密钥。 组密钥的创建意味着多个共享者需要生成一个共享的密钥来安全地交换信息[6]。组密钥管理协议可以组织成3 种类型,即集中式、分散式和分布式。 只有知道现有组密钥的组成员,才能够使用自己的私钥检索原始消息[7]。 量子密钥分配机制,在量子密码学和量子私人通信中扮演着重要的角色,一些量子密钥分发方案和体系结构已被应用。

1 技术介绍

1.1 经典位和量子位

在经典的计算机中,所有的信息都是用经典位来表示的。 经典位在任何时候都可以是0 或1。 量子计算机使用的是量子比特而不是比特[8-10]。 它可以是0 或1 的状态,也有一种状态的线性组合形式叫做叠加状态。 量子比特可以在任何时刻同时取0和1 的属性,如图1 所示。

图1 经典位和量子位Fig.1 Classical bits and qubits

量子比特的定义:一个量子比特,简称量子位,是一个二维的希尔伯特空间H2。 H2 的一组标准正交基由{|0〉,|1〉} 指定,量子位的状态是H2 中相关的单位长度向量。 如果一个状态等于一个基向量则称它为纯态。 如果一个状态是基向量的任何其它线性组合则认为它是一个混合状态,或者这个状态是|0〉和|1〉的叠加。 一般来说,一个量子比特的状态是由公式1 和公式2 来描述的。其中|ψ〉 是量子态,α 和β 是复数。

1.2 组密钥管理类别

组密钥管理协议大致可分为三类,即集中式、分散式和分布式。 在集中式组密钥协议中,单个成员负责管理整个组,并负责重新密钥设置、计算和将组密钥分发给所有组成员[11-14]。 在分布式组密钥协议中,组成员可参与建立组密钥或会话密钥。 这些成员同样负责组密钥的重新键入和分发[15]。 分布式协议分为基于环的协作、基于层次的协作和基于广播的协作3 种方式。 分散协议分为静态和动态两种方案。 在分散组密钥协议中,安全多播被划分为较小的组或簇。 每个子组由一个本地控制器分配,每个本地控制器负责成员及其子组的安全控制。

1.3 量子密钥分发

一般来说,QKD 方案包括3 个阶段:量子编码和传输、原始密钥生成和窃听检测。

(1)量子编码和传输

发送器生成随机的位串并使用量子源对每个位串进行编码。 经编码后,量子位元实际上是通过一个传输通道从发送端传输到接收端。 因此,QKD 系统需要一个传输通道,以便将编码的量子位通过量子载波从一个通信器传输到另一个通信器。 两种流行的传输通道是光纤和分别用于电信网络和卫星通信的开放空间。 接收方根据已实现的量子位元来选择所接收到的已编码量子位元,来产生测量值[16-17]。

(2)原始密钥生成

在传输过程中,通信器使用不同的碱基进行测量。 其目的是识别并排除通信器使用不同基的位位置。 然后,两个通信器通过公共通道丢弃这些位置。

(3)窃听检测

在通信者之间的传输过程中,窃听可能会在量子信道上进行间谍活动,并获取潜在的密钥位。 利用量子定律,可以检测到窃听者对量子信道的操作。

2 安全密钥生成和分发方案

密码系统由加密、解密和密钥管理三部分组成。密码系统的安全性和保密性主要基于密钥的管理和分发。 该方案的基本思想是利用集中式QMKDC 和经典的对称加密技术,设计一个安全的多播密码系统。 拟议方案的抽象参数和术语如表1 所示。

表1 本文中使用的抽象参数及术语Tab.1 Abstract parameters and terminology used

2.1 初始化过程

发起者将一个请求发送到一个集中的量子密钥分发中心,该中心包含一个将参与多播组的成员列表[18]。 集中的量子密钥分发中心通过基于光纤通信信道的量子网络发送请求,并将响应返回回发起者。 初始化步骤如图2 所示。

图2 初始化过程Fig.2 Initialization process

2.2 生成私钥

对于每个多播组,QMKDC 生成两个密钥。 一是组密钥,用于加密QMKDC 和多播组之间的通信;二是共享对称密钥,在多播组中所有成员之间共享,也用于多播组成员内的加密/解密通信。 私钥是通过选择一个随机的比特串,而后用一系列极化的量子态光子来传输而产生的。 分布式密钥的安全性和效率取决于窃听者试图使用错误的基础进行测量。量子比特误码率是基于分布密钥内的误码率,并通过比较误码率和指定的商定级别来确定。 若错误率低于商定的水平,则通信过程将继续进行,否则通信过程将终止。 生成过程如图3 所示。

图3 生成私钥过程Fig.3 The process of generating a private key

具体实现步骤如下:

(1)QMKDC 打开一个安全的私有通信通道,向多播组广播初始配置,选择一个随机的位串,如公式(3)所示,为多播组生成不同的私钥。

(2) QMKDC 随机选择一个基,对组密钥和私钥的比特串进行编码。 QMKDC 为每一个具有相应偏振的比特发送一个光子,并将产生的量子位发送到多播组。

(3)多播组在接收到量子位元后,按与QMKDC相同的基准,测量量子位元。 之后QMKDC 宣布随机选择的比特串,多播组丢弃任何不同的测量结果。

(4)建立过程中,监听通信信道的窃听者将被检测到。 因为QMKDC 和多播组都必须公开比较随机测量选择的比特串,以检查错误率。 如果错误率小于商定的阈值,则通信过程将继续,如公式(4)所示。 否则,被处理的协议将被终止。 此时,QMKDC与多播组同意将共享密钥作为多播组的私有密钥(如公式5 所示)。

2.3 组密钥分发

组密钥是通过随机选择一个位串,并使用每个多播组的私有密钥对其进行加密而生成的。 加密将使用经典的对称算法开发。 每个多播组将通过解密接收到的消息来检索组密钥,分发过程如图4 所示。

图4 组密钥分发过程Fig.4 Group key distribution process

具体实现步骤如下:

(1) QMKDC 随机生成不同的组密钥,每个组一个密钥,并使用组密钥对其进行加密,如公式(6)所示。

(2)QMKDC 将加密的组密钥发送给每个多播组。

(3)每个多播组使用自己的私钥对组密钥进行解密,获取组密钥,如公式(7)所示。

2.4 相同多播组成员的通信

如果两个成员在同一组需要沟通时,则沟通使用组共享对称密钥。 发送方使用组共享密钥加密消息,当接收机收到加密信息时,使用相同的密钥进行解密。 当成员1 多播组1 中需要在同一组与成员2沟通,加密/解密过程是通过多播组1 对称密钥。 成员1 使用多播组1 对称密钥加密消息。 信息通过光纤传输通信基础设施,接收方使用相同的密钥解密它。 接收器获取原始消息的过程如图5 所示。

图5 相同多播组成员的通信Fig.5 Communication between members of the same multicast group

2.5 不同多播组成员的通信

如果多播组中的一个成员需要使用QMKDC 的完整操作,与另一个多播组中的成员连接。 在此过程中,QMKDC 负责使用接收到的多播组密钥解密接收到的消息,然后使用指定的多播组密钥再次解密,如图6 所示。

图6 不同多播组成员的通信Fig.6 Communication between members of different multicast groups

(1)发起成员使用组密钥对消息进行加密,并将其连同所需的目标成员一起发送到QMKDC。

(2)QMKDC 使用发起的多播组密钥解密原始消息,检索原始消息,再使用多播组密钥对消息进行加密转发。

(3)目标成员使用其组密钥解密消息,检索发起成员发送的原始消息。

2.6 认证过程

QMKDC 进行身份验证和授权注册小组成员时,可以与其它验证小组成员在同一组共享密钥组与服务器关键成员或QMKDC 进行交流。 本文利用EPR 纠缠光子和控制非门来验证成员的身份。 使用EPR 方法潜在地存储准备好的纠缠粒子,然后测量它们并在使用之前创建密钥,从而消除了图7 所示的存储不安全问题。

(1)QMKDC 和组成员有一个共同的密钥KC={K1, K2,…,Kn},作为认证密钥。

(2) QMKDC 使用两个分别与QMKDC 和组成员相关的粒子s 和m,制备EPR 极化光子对,如式(8)所示。 QMKDC 将s 粒子留在身边,将m 粒子发送给指定的组成员。

图7 QMKDC与组成员之间的身份验证过程Fig.7 The authentication process between the QMKDC and the group members

(3)当群成员接收到m 粒子时,通过用户的直线或圆形基函数对其进行加密,得到一个新的粒子f(信息粒子)。

(4)对m(组成员粒子) 和f(信息粒子) 施加量子控制非门,产生三粒子纠缠态,如式(10) 所处状态。

(5)组成员维护粒子m,并将粒子f 发送给QMKDC。

(6)QMKDC 通过对等式(11)中接收到的粒子,进行controlled-NOT 门运算来解密粒子f 的状态。

(7) QMKDC 通过应用z 状态结果(0 或1)来测量基于∂z中的粒子f。 对于真用户,度量必须是|K2i-1,K2i〉。 如果第一个键的测量结果成功,则键增加1 并递归地返回到步骤1,直到所有键都被处理。 如果所有的密钥都经过验证,那么用户身份就是正确的,通信过程将继续进行,否则通信过程将中断。

3 分析与演示

3.1 认证

在本文提出的方案中(见图8),为了防止中间人攻击, QMKDC使用EPR 纠缠光子和Controlled-NOT 门来验证成员身份。 在QMKDC与组成员之间进行身份验证之后, K2i-1、K2i秘密地保持在最大纠缠状态Ψ 中。 QMKDC和组成员必须更新身份验证密钥为K′2i-1、K′2i。 可以通过测量状态Ψ 来获得第一密钥比特K′2i-1。 而第二密钥位K′2i可以由前一个密钥的前两位和K′2i-1实现。 因此,身份验证是使用无条件属性保护,如公式(12)。

图8 验证安全分析Fig.8 Validation safety analysis

3.2 保密性

传输消息时的机密性包含QMKDC之间的量子密码密钥,并使用量子无克隆和海森堡不确定性原理,来实现通过通信通道的通信组成员。 因此,窃听者甚至入侵者无法获得有效信息或无法理解所传输密钥的内容。 同时,当QMKDC发送一个量子比特位0或1,窃听者通过应用操作E1 和E2 对其进行测量,如图9 所示。 由于窃听者没有相关已传输的量子密码密钥的任何信息,测量输出结果将为|+〉 或|-〉。 因此,窃听器操作会拦截量子通道,并有50%的错误概率创建结果。 在小组成员对构成量子密码密钥的所有接收到的量子比特执行测量后,根据海森堡不确定性原则,错误概率为25%。 如果错误概率大于约定的阈值,则QMKDC和组成员将检测到窃听者。 如果错误率低于约定的阈值,则通信过程将继续进行,否则协议将中止。

图9 保密安全分析Fig.9 Security analysis

3.3 安全和筛选密钥速率

QMKDC使用Koashi 方法确定安全密钥率,然后使用Rice 和Harrington 方法根据诱饵状态估算出单个光子的参数。QMKDC和多播组的安全密钥率由式13 给出:

其中,Q1 是从QMKDC的单光子状态到多播组成员的大概位数,e1 是单光子状态的近似误差数,Q是QMKDC和多播组之间经过筛选的比特总数,FEC是纠错效率;在QBER 的被筛选比特中,Q0 是来自0 光子脉冲的被筛选比特的近似数目, H(e) 是QMKDC与多播组之间会话的二进制熵函数和t 持续时间。QMKDC和组成员之间通过光时钟同步,并发共享光缆。 光时钟同步对于增强量子状态传输至关重要,因为如果没有光子到达同步,则多播组将无法正确检测量子状态。QMKDC和组成员之间通信的数据通道使用波分复用器进行复用。

图10 描述了QMKDC安全密钥速率和经过筛选的密钥,以Kbits/s 为单位,以千米为单位的光纤距离的关系。 35 km 和80 km 以上的安全密钥速率分别为993 和82 kbits/s。 根据光纤的特性,随着光纤距离的增加,生成的筛选密钥率降低。 在35 km 和80 km 上经过筛选的密钥速率分别为1 395.64 kbs/s和121.36 kbits/s。

图10 QMKDC安全密钥和筛选密钥与光纤距离的关系Fig.10 Relationship between QMKDC security key and filter key and optical fiber distance

图11 描述了量子误码率(QBER)与光纤长度的关系。 基于光纤距离50 km 的QBER 和错误数量分别显示为6.2%和32.86 kbits/s。 基于光纤距离35 km 的QBER 和错误数量,分别显示为3%和28.24 kbits/s。

图12 描述了量子误码率“QBER”和作为安全密钥率函数的错误数。 当安全密钥速率等于1 500 kbit/s时,QBER 和错误数量分别显示为1.4%和21 kbits/s。 当安全密钥速率等于600 kbit/s 时,QBER 和错误数量分别显示为4.2%和25.28 kbit/s。

图11 QMKDC量子误码率百分比与光纤距离的关系Fig.11 The relation between QMKDC quantum bit error rate percentage and optical fiber distance

图12 QMKDC 量子误码率百分比和误码数与密钥生成率的关系Fig.12 The relationship between the percentage of quantum bit error rate and the rate of key generation

4 结束语

本文提出的方案在保护密钥和利用量子物理定律进行身份验证方面具有显著的优势。 当QMKDC向多播组成员传递密钥时,使用EPR 纠缠光子和Controlled-NOT 门实现身份验证。 利用量子无克隆和海森堡不确定性原理,实现了在QMKDC 间传输包含量子密钥的消息时的机密性,并通过通信信道实现组成员间的通信。 后续工作,将进一步研究如何将量子密钥分发和基于哈希的认证技术用于多播网络,并通过将量子密钥分发与IPSec 和VPN 集成来实现对多播安全性的增强。

猜你喜欢
密钥解密粒子
解密电视剧 人世间
幻中邂逅之金色密钥
幻中邂逅之金色密钥
炫词解密
基于Matlab GUI的云粒子图像回放及特征值提取
炫词解密
炫词解密
Android密钥库简析
虚拟校园漫游中粒子特效的技术实现
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征