挥之不去的“经典”——关于BB84量子密钥分发协议(一)

挥之不去的“经典”——关于BB84量子密钥分发协议(一)

终于等到不再被量子通信、量子密钥分发的新闻刷屏了,也可以平静地写下点自己读BB84协议原始论文和其他资料的笔记。

量子密钥分发协议BB84

叫BB84算是学术界的传统,因为两位作者(Charles H. Bennett, 其时任职于IBM研究中心,Gilles Brassard,其时就职于蒙特利尔大学)的姓氏首字母都是B,论文正式发表在1984年的international conference on computers, systems and signal processing会议上。 这篇论文至9月16号的引用数高达5669次。

论文篇幅不长,只有5页,其中讲述密钥分发协议的部分,即文中的III部分,只有不到2页。

有兴趣的知友可以去阅读原文 cs.ucsb.edu/~chong/290N

或者油管上这个视频 youtube.com/watch? , 题图也是来自这个视频中。

BB84需要两条信道,一条量子信道,一条经典信道 (classical bit channel)。

也就是说,使用BB84时,必须保留对经典信道的使用,否则无法完成密钥协商。

协议的运行流程总结如下:

0. 首先,Alice和Bob共享两个极化基(photom polorization bases) D和R;

D和R可以被理解为两台“机器”,他们都能各自生成和测量对应0,1的量子比特(quantum bit, qbit),如下图所示。

另一个关键就是,如果将D生成qbit给R进行测量,测量结果不可预测。也就是说,如果用R来测量由D生成的Qbit,测量结果的意义就和直接猜差不多。

接下来开始做密钥协商,通信首先是在量子信道上进行。

1. Alice选出一个0-1 bit串S(比如\underbrace{010001001\cdots 011}_{1024\ bits});

2. Alice 逐位随机选取D或R,然后通过量子信道发送S里0,1对应生成的量子态(qbit);

3. Bob通过量子信道收到Alice发送的信息后,随机使用两个极化基D和R来一位一位地测量量子态,逐个得到0,1;

(其后的步骤4-7都是在我们今天使用的经典通信信道上进行.而公共信道就代表此时,如果没有别的保护,攻击者完全可以窃听并修改会话内容)

4. Bob 通过公共信道向Alice发送部分自己的测量步骤,即告诉Alice自己在每个Qbit上用的到底是D还是R来做测量;

5. Alice 对比自己的选择和Bob的选择,然后告诉Bob他在哪些位置上用的D和R是正确的;

这些正确位置在S,即Alice先选择的串中,唯一确定了另一个0-1 bit串,不妨称之为 pms,类似TLS的pre-master secret。

6. Bob收到Alice的回应后,随机选择若干个他在正确位上的测量结果告知Alice;

7. Alice确认Bob的正确性。如果Bob出错,则回到1.或者终止通信,

否则Alice给Bob发确认信息,同时从pms串中剔除 Bob公布的部分,剩下的作为通讯密钥;

8. Bob收到Alice的确认信息后,同样从pms中剔除 Bob公布的部分,剩下的作为通讯密钥。

下面是一个带有数据的例子,同样来自原始论文 cs.ucsb.edu/~chong/290N , 彩色框是我自己添加。


蓝框代表是那些Alice和Bob恰好使用相同的“机器”来进行生成和测量时的情况。

黄框代表Alice对Bob的结果进行验证,确认量子信道没有被窃听/篡改。

红框代表的是最终两人协商使用的比特(经典计算机bit)。

之所以有两个蓝框没有在最后被使用,是因为它们被Bob用来通过公共信道向Alice验证自己确实收到了Alice所发送的qbit。公开过的信息从直觉上来说,就已经不适合再作为秘密信息使用了。

BB84的安全性同时依赖于两条信道的安全性

经由量子信道传输的信息,由于量子态的不可复制不可存储,且中间人无法知道Alice到底用的是D还是R,所以此时,量子信道上,信息的保密性是没有问题的。

对于随后使用的“经典”公共信道,原始论文中提到了这样一句:

The need for public channel in this scheme to be immune to active eavesdropping can be relaxed if the Alice and Bob have agreed beforehand on a small secret key, which they use to create Wegman-Carter authentication tags[WC] for their message over the public channel.

意思就是说,当使用Wegman-Carter MAC的时候,公共信道上的信息可以不被攻击者篡改,或者篡改后会被Alice或者Bob发现。

历史背景:当时,像BR93之类的cseweb.ucsd.edu/~mihir/,用于系统性检验协议是否安全(包括参与者身份验证、freshness等角度的考量)的理论模型还没被发明。

论文仅仅讨论到eavesdrop, active eavesdrop之类的行为,或许不够完备。

在(二)中,我会写到关于BB84经典信道部分的安全分析。当然,会用到现在的安全模型。

编辑于 2017-01-16