数据安全实践:能力体系、产品实现与解决方案
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.1 基于QKD的量子密码

1.什么是QKD

QKD即量子密钥分发(Quantum Key Distribution),是通信双方通过传送量子态共同生成一组随机数(可以作为对称密钥)的方法,是目前实用性和工程化程度最高的量子通信技术。远程分发的生成随机数主要作为对称密钥,结合现代密码体系使用。

2. QKD如何工作

QKD并不直接实现传统的信息传送,而是通过协议实现随机数的生成与分发,将远程分发的随机数用于密钥的生成。不同于传统的密钥分发,QKD使用的量子系统依赖于基本的自然规律,而不是数学假设来保护数据。目前最为有名的QKD算法是BB84(Bennett-Brassard 84)和B92(Bennett 92)。以BB84为例,通信双方通过光纤,利用偏振光子的特性进行随机数分发。其过程如图1-4所示,详细说明如下。

1)发送方随机生成位流。

2)发送方随机选择偏振基(⊕,⊕)。

3)发送方根据偏振基调制单光子信号。

4)接收方随机选择偏振基,用于接收单光子信号。

5)接收方根据单光子偏振态测量转换出的密钥位,可以看出:当双方选择同一偏振基时,可以测得一致的密钥位;当双方选择不同偏振基时,有可能会测出不一致的密钥位。

6)接收方通过公开信道将自己的基选择发送给发送方。

7)发送方将正确的基选择的子集通过公开信道发送给接收方。

8)双方从相同基所选择的密钥中选择一段公布(用y表示)。如果出现的序列不完全相同,说明有人在窃听,则将这次通信作废。

9)如果完全相同,则将相同基所选择密钥的未公布部分(用n表示)作为最终的密钥位。

图1-4 BB84的密钥生成过程

注意,发送方随机产生的位流并不都作为密钥。

3. QKD的优势

量子密钥是一串随机的字符串,长度也可随意设定,而且每次需要传输信息时都重新产生一段密钥,这样就完全满足了香农定理的三个要求(密钥随机、长度不小于明文和一次一密),因此用量子密钥加密后的密文是不可破译的。这一过程在理论协议层面具备信息论安全性。