转自https://blog.csdn.net/zeroctu/article/details/84893010。
1984年,物理学家Bennett和密码学家Brassard提出了利用“单量子不可克隆定理”实现密钥分发的方案,后称BB84协议。“单量子不可克隆定理”(No-CloningTheorem)是“海森堡测不准原理”的推论,它是指量子力学中对任意一个未知的量子态进行完全相同的复制的过程是不可实现的,因为复制的前提是测量,而测量必然会改变该量子的状态。下面将通过示意图,解释如何利用光子的量子特性在理论上可以万无一失地传送密钥。只要耐心地读完下面不含任何数学公式的解说文字,你对量子密钥分发原理就一清二楚了。图1是提供预备知识,图2是量子密钥分发的原理图,量子密钥分发技术的奥秘全在这张图中。
图中的小黄球代表单个光子,黑色箭头代表光子的偏振方向,左边蓝色人是信息发送方,而绿色人是接收方。收发双方都手持偏振滤色片,发送方有四种不同的滤色片,分别为上下、左右偏振(第一组)、上左下右、上右下左偏振(第二组)四种滤色片,发送方把不同的滤色片遮于单光子源前,就可分别得到四种不同偏振的光子,分别用来代表“0”和“1”。请注意,每个代码对应于两种不同的光子偏振状态,它们出自两组不同偏振滤色片(见图1中的左下角,它和通常光通讯的编码不尽相同)。接收方就只有两种偏振滤色片,上下左右开缝的“十”字式和斜交开缝的“X”字式。由于接收方无法预知到达的每个光子的偏振状态,他只能隨机挑选两种偏振滤色片的一种。接收方如果使用了“十”字滤色片,上下或左右偏振的光子可以保持原量子状态顺利通过(见图中上面的第一选择,接收方用了正确的滤色片),而上左下右、上右下左偏振的光子在通过时量子状态改变,变成上下或左右偏振且状态不确定(见图中第四选择,用了错误的滤色片)。接送方如果使用X字滤色片情况正好相反,见图中第二选择(错误)和第三选择(正确)。
有了以上的预备知识,就容易理解量子密钥分发技术了。图2第一横排是发送方使用的不同偏振滤色片,从左至右将九个不同偏振状态的光子随时间先后逐个发送给下面绿色接收方,这些光子列于第二排。接收方隨机使用“十”字或“X”字偏振滤色片将送来的光子逐一过滤,见第三排,接收到的九个光子的状态显示在第四排。这里是密钥(Key)产生的关键步骤:接收方通过公开信道(电子邮件或电话)把自己使用的偏振滤色片的序列告知发送方,发送方把接收方滤色片的序列与自己使用的序列逐一对照,然后告知接收方哪几次用了正确的滤色片(打勾️的1,4,5,7,9)。对应于这些用了正确滤色片后接收到的光子状态的代码是:00110,接发双方对此都心知肚明、毫无疑义,这组代码就是它们两人共享的密钥。为什么第三者不可能截获这个密钥呢?假设窃密者在公开信道上得知了接送方使用的偏振滤色片序列,也知道了发送方的确认信息(打勾️的1,4,5,7,9),但是窃密者依旧无法确认密钥序列。譬如对第一列,窃密者知道接收方用的是“十”字滤色片,而且发送方确认是对的,但这可能对应于上下或左右偏振的两种不同的光子,它们分别代表“1”或“0”,除了发送和接收双方都清楚知道,窃密者是无法确认的。窃密者真要确认的话,也要在中途插入偏振滤色片来观察,但它又无法事先知道应该使用“十”还是“X”滤色片,一旦使用错误滤色片,光子状态改变,窃密的行为立即暴露。再以第一列光子为例,如果窃密者在接收端前插入“X”滤色片,光子偏振状态可能改变成上右下左的斜偏振,接收方仍使用“十”滤色片,得到左右偏振光子,经确认后此位变成“1”。结果通信双方的密钥在第一位不一致,这种出错经过奇偶校验核对非常容易发现和纠正。通常的做法是通信双方交换很长的光子序列,得到确认的密钥后分段使用奇偶校验核对,出错段被认为是技术误差或已被中间窃听,则整段予以刪除,留下的序列就是绝对可靠的共享密钥。有必要指出本文仅作基本原理的介绍,工程实现中的细节不再赘述。量子密钥分发方法除了本文介绍的BB84规约外还有E91规约,有兴趣的读者可去网上搜索。量子密钥分发技术中的密钥的每一位是依靠单个光子传送的,单个光子的量子行为使得窃密者企图截获并复制光子的状态而不被察觉成为不可能。而普通光通信中每个脉冲包含千千万万个光子,其中单个光子的量子行为被群体的统计行为所淹没,窃密者在海量光子流中截取一小部光子根本无法被通信两端用户所察觉,因而传送的密钥是不安全的,用不安全密钥加密后的数据资料一定也是不安全的。量子密钥协商分发技术的关键是产生、传送和检测具有多种偏振态的单个光子流,特种的偏振滤色片,单光子感应器和超低温环境使得这种技术成为可能。量子密钥分发虽在理论上具有无条件安全性,但由于原始方案要求使用理想的单光子源和单光子探测器,在现实条件下很难实现,这导致现实的量子密钥分发系统可能存在各种安全隐患。随后开发的诱骗态量子密钥分发,成功解决了非理想单光子源带来的安全漏洞,但探测器的不完美性又成为“量子黑客”主要攻击点。新开发的高效低噪声上转换单光子探测器,实现了测量器件无关的量子密钥分发,成功解决了现实环境中单光子探测系统易被黑客攻击的安全隐患。这些都是基于BB84协议的改进方案,是量子通信工程化前的重要实验成果。必须强调,量子密钥分发光纤网络上传送的是单个光子序列,所以数据传输速度远远低于普通光纤通信网络,它不能用来传送大量的数据文件和图片,它是专门用来传送对称密码体制中的密钥,当通信双方交换并确认共享了绝对安全的密钥后,再用此密钥对大量数据加密后在不安全的高速网络上传送。“量子通信”这个词容易使人误解,到目前为止,实际上量子通信指的就是量子密钥分发技术。量子密钥分发光纤虽然是低速网络,但每秒种传送上千位的密钥没有任何问题,通信双方有确保安全的几百位长的密钥,而且分分秒秒可以隨时更换密钥,这是量子密钥协商分发技术的长处。2013年10月10日,巴特尔公司(Battelle)建立了第一条商用量子密钥分发网络,一条全长110公里的专用光纤线路连结了俄亥俄州哥伦布市它们的公司总部和在都柏林的分部办公室,使用的是ID Quantique提供的硬件设备,用来保护公司的财务资料、知识产权、图纸和设计数据。一百公里已经接近量子密钥分发的光纤网络的长度极限了,这是由单个光子在光纤中可以传播的最大距离所决定的。这个问题严重影响该技术的实用价值。目前的解决方案是设立光子传送中继站。这种中继站与通常光通讯的放大中继有着本质的区别,因为让中继站接收单个光子后又送出一个量子状态不变的光子是十分困难的,这个中继站必须为通信双方所信任,实际上量子密钥是通过可信任中继站接力递送的[1]。据报导,连接北京和上海的量子密钥分发光纤网络于2017年开通运行,使用的就是可信任光子中继站方案。使用量子密钥分发技术的通讯双方必须建立点对点连接的专用光纤,使人不禁又会想起上世纪初城市的街道上空密密麻麻缠成一团的电话线,点到点直接相联的网络结构非常不易拓展,这个问题将成为该技术推广应用中更大的障碍。目前一组英国剑桥的研究小组开发成功一种新技术,使得量子密钥分发过程能在普通光纤通信线路上进行。这种技术有些像“时分复用”通讯,通常的高强度数据激光与微弱的光量子流传送在同一根光纤上按时间分隔高速切換。该技术有相当的难度,通讯中的收发两端对两种讯号必须保持精准的同步,而且感应器必须正确适应强度差异十分巨大的两种光讯号,犹如一会儿面对太阳,一会儿感应微弱的星光!这种技术使得通讯双方可以在同一条光纤上交换密钥,但是这依然没有解决量子密钥分发的组网难题。为了让量子密钥分发技术为更多的终端用户服务,美国Los Alamos国家实验室研发了一种称之为QKarD技术。只要带有闪存U盘大小的一只专用光纤接口,任何用户终端通讯设备诸如手提电脑、平板电脑和手机就可以通过光纤与邻近的中央服务器交换量子密钥。QKarD服务器有些像电话中继交换中心,各终端客户发送光量子向各自邻近的QKarD服务器配送密钥,当各个终端与服务器之间的密钥配送完毕,同时各个服务器之间密钥也配送完毕后,终端用户A将信息用密钥加密后以传统方式送达邻近的QKarD服务器,信息在服务器解密和重新加密后转交另一个服务器,直到接力传送至最终用户B为止。
一个QKarD的示范网络已经试运行。据估计,一个连接一千个终端的QKarD服务器价格约一万美元,QKarD终端接口约50美元。这种办法的最大缺陷在服务器安全上,它们必须成为可信任服务器。这种网络与互联网的协调配合也是一个大问题,现在看来美国洛斯阿拉莫斯已经放弃了这种方案。量子密码技术刚跚跚起步,针对它的黑客早已蠢蠢欲动,非要把它扼杀在摇篮中而不可,俗话说:道高一尺,魔高一丈,这大概应是天道的第一定律。目前针对量子密码技术的黑客手段有下列几种。1)量子密钥的关键是通过一个又一个光子传递密码,中间窃听者无法截取光子而又不改变光子的状态。但工程实施时很难保证发射端每个脉冲只含有一个光子,如果每个脉冲有两个以上光子,黑客仍可以只截取一个光子並设法放过另一个光子,让接收端无法感觉到讯号已被截取。2)一组挪威的研究人员通过激光朿短暂“致盲”光子感应设备成功地破获传送的量子密钥。这种方法和设备过于专业和复杂,目前还没有构成现实的威胁。3)另一种方法完全就是流氓行为,针对光子通信的精密脆弱,直接用强激光长时间野蛮干涉,使得量子密码传递双方通过微弱的光子交换过程根本进行不下去。总之,BB84量子密钥协商分发方案的主要意义仅在理论研究上,而不是在工程技术方面。[1]可信任量子密钥中继站不是光量子接收、放大和再传送,而是密钥在可信任中继站之间的接力递送。具体的技术实现手段又有多种,有兴趣的可以读一读附件。简单地可以这样来理解:用户A先后通过两个可信任中继站N和M与用户B配送密钥,A先与N通过光量子交换得密钥K,N又与M之间交换得密钥K2,然后N通过公共信道用公钥保护后送K和K2的混合码给M,只有M明白了A送出的是密钥K,然后M再与用户B光量子交换得密钥K3,并且也通过公共信道把K和K3混合码送给用户B,只有B明白了A送给自己的真正密钥是K。