第六章量子密码安全性分析密码学是一门特殊的学科,它有两个与生俱来的对立分支,即设计和分析。这两个研究方向相互促进,不断推动着密码学的发展。任何一种密码系统,只有经得住各种分析方法的考验才是安全的。而误用不安全的密码系统将可能会带来灾难性的后果。量子密码也是如此。提起量子密码,人们常常这样描述它:量子密码的安全性由量子力学基本原理来保证,无论窃听者有多大的计算能力也不能成功攻破它。的确,对于一个设计完备的量子密码方案,任何有效的窃听都将被合法通信者发现,因此可以说这种协议在理论上可达到无条件安全。然而,人们并不是总能提出这种近乎完美的协议。事实上,在一般意义上给出一个方案的安全性证明比提出一个方案要困难得多。因此,即使经过精心设计的量子密码协议也有可能被某些设计时没有考虑到的特殊攻击方法所攻破。也就是说,窃听者可能通过某些巧妙的量子攻击方法成功窃听而不被合法用户检测到。从密码学角度来说,这里的攻击方法就属于密码分析的范畴。需要强调的是,密码分析是密码学前进过程中不可或缺的动力。正如文献[1]中说的那样,攻破密码系统与建立它们同等重要。与经典密码相比,量子密码中的密码分析工作还远远不够。本章将详细介绍常见的量子密码攻击方法,包括截获-测量-重发攻击、GHZ可提取相关性攻击、假信号攻击、纠缠附加粒子攻击、被动攻击、拒绝服务攻击、PNS攻击、特洛伊木马攻击、信道损失攻击等,并就有效的检测窃听策略及一般性的安全性分析思路给出建议。6.1常见攻击方法及特点本节举例介绍几种典型的量子密码攻击方法,并分析其特点。这些攻击方法可以有效地攻击各种量子密码协议,包括量子密钥分发(QuantumKeyDistribution,QKD)、量子秘密共享(QuantumSecretSharing,QSS)以及量子安全直接通信(QuantumSecureDirectCommunication,QSDC)等协议。对这些典型攻击方法的研究将有助于设计出更加安全的协议。6.1.1截获-测量-重发攻击所谓截获-测量-重发攻击,即窃听者(Eve)截获信道中传输的量子比特并进行测量,然后发送适当的量子态给合法接收者。这是最简单的攻击方法之一。一般在设计协议时,这种攻击方法会被充分考虑。但也有将分析重点放在更复杂攻击上,而忽略它的情况。这种忽视往往会带来非常严重的后果。最近Gaertner等提出了一个新颖的量子协议(GBKCW协议)来解决可检测的拜占庭协定(DetectableByzantineAgreement,DBA)问题,并首次实验实现了用于解决DBA和测谎问题的量子协议[2]。GBKCW协议中采取了不少方法来防止背叛者的攻击,因此原作者也认为协议的安全性是有保证的。然而事实并非如此。Gao等分析表明,背叛者可以通过截获-测量-重发攻击来使诚实的将军执行不同的行动,甚至可以成功诬陷任意一个诚实的将军[3]。下面就以此为例介绍具体的攻击方法。GBKCW协议包括两个部分,即一个量子过程外加一个经典过程。第一部分的目的是产生并分发三个比特串Al,Bl和Cl分别给三个将军A,B和C。为了使协议能够达到预定目的,这些比特串必须满足三个重要性质(见文献[2]第1页最后一段)。第二部分包括一系列巧妙步骤,使得三个将军可以利用这些比特串解决DBA问题。这里我们仅关注第一部分,即量子部分。在这一部分中三个用户通过轮流行使其检测权利来防止背叛者的欺骗行为。然而这仍不足以保证协议的安全性。也就是说,背叛者可以成功进行攻击。例如任何一个不诚实的将军都可以派遣两个士兵分别守候在光子源到其他两个将军之间的信道上。与此同时他还事先产生一串随机比特(Tk),并把它拷贝给这两个派出的士兵。当光源发出文献[1]中式(1)表示的4粒子单重态时,两个士兵都截获信道中传输的粒子并根据Tk中的比特值选择测量基对它们进行测量。例如0代表0,1而1代表0,1。然后两个士兵将测量后的粒子重新发送给诚实的将军,并派信使将测量结果带给不诚实的将军。与此同时,不诚实的将军也用Tk序列代表的测量基测量他收到的粒子。在后续步骤中,不诚实的将军只需要正确执行GBKCW协议第一部分中规定的操作即可。现在我们来观察将会有什么事情发生。不失一般性地,考虑某一个单重态abcd。当士兵截获并测量其粒子时,粒子间的纠缠将会消失,且每个粒子的状态将会塌缩到0,1,0,1之一。当诚实的将军测量他们收到的粒子(士兵重发的粒子)时,有两种可能事件发生:(1)如果两个诚实的将军所用的测量基均与士兵的相应测量基相同,则他们的测量结果必然与士兵的相同;(2)如果任何一个诚实的将军所选的测量基与士兵的不同,其测量结果将会随机。显然事件(1)发生时窃听不会引入任何错误,同时不诚实的将军将获得其他两个将军的结果。而当事件(2)发生时,由于三个将军选择的测量基不相同,测量结果之间将没有关联性,将被丢弃。于是这些测量结果在安全检测中不会起到任何作用,因此也不会引入任何错误。最后不诚实的将军能获得全部三个比特串Al,Bl和Cl,并且不会被发现,协议仍将正常进行下去(第二部分)。容易看出当上面这种攻击发生时,分发的三个比特串不满足所期望的性质(III)。这将导致背叛者可以在第二步中通过欺骗让其他两个将军执行不同的行动,甚至可以任意诬陷某个诚实的将军。在上述攻击中,窃听者(背叛者)利用截获-测量-重发攻击巧妙地避开了合法通信者的检测,进而攻击成功。实际上这种情况并不多见。一般来说,截获-测量-重发攻击往往会干扰量子态,进而被合法通信者所发现。但我们仍然不能对它掉以轻心。例如在QSDC协议中,只要窃听者能获得秘密信息,即便其窃听暴露,也是成功的攻击。文献[4]即是一个通过对QSDC中传输的量子态进行暴力测量来得到秘密信息的例子。因此,虽然截获-测量-重发攻击在原理上非常简单,但我们仍然需要给予足够的重视。6.1.2利用GHZ态相关可提取性的攻击GHZ态的相关可提取性(CorrelationExtractability)由Gao等首先提出[5]。由于在提取GHZ态不同量子比特值之间的相关性后,GHZ态本身不发生任何变化,因此这一方法常常被窃听者所利用。本节介绍GHZ态相关可提取性的含义及其在量子考试协议[6]分析中的应用[5]。一个多粒子GHZ态可以写成如下形式:12121...1...1...10...1...2pppppppppppppppNpNaNaNaNssssss(6.1)其中pns0或1,1nN,且1ppnnss(代表模2加)。不难看出,我们可以通过一个CNOT操作把附加粒子0纠缠进这个多粒子纠缠态,而通过另外一个CNOT操作再把这个附加粒子解纠缠出来。这两个CNOT操作的控制位可以是1...ppppaN中的任意两个粒子。举例说明,对某个特定的p,多粒子纠缠态和附加粒子构成复合系统112121...1...1...100...01...02NNaNgaNggaNssssss(6.2)其中下标g代表附加粒子。这时如果对粒子(1)kkN和附加粒子做一个CNOT操作kgC(第一个下标k代表控制位,第二个下标g代表目标位),复合系统的状态变为212121...1...10...1...2NkNkaNgaNgssssssss(6.3)此时如果再对粒子(1)rrN和附加粒子做一个CNOT操作rgC,上述量子态变为312121...1...12121...1...1...10...1...210...1...2NkrNkraNgaNgNNkrkraNggaNkraNgssssssssssssssssssssss(6.4)可以看出,附加粒子从多粒子纠缠态中解纠缠出来。更重要的是,原始态1...aN并没有改变。这时如果用zB基测量附加粒子,将得到krss。因为krss的值恰好暗示着对粒子k和r的测量结果的关联性,故称这一性质为GHZ态的相关可提取性。2006年Nguyen提出了一种量子考试协议[6]。此协议中老师Alice可以组织一次远程考试,参与考试的是她的学生Bob1,Bob2,…,BobN。与经典考试类似,所有的考题及学生的答案都不能泄漏,尤其是任何考生不能得到其它考生的答案。然而,Gao等分析表明,这个量子考试方案并不满足这种要求。具体来说,一个不诚实的考生可以利用GHZ态的相关可提取性在考试中作弊。在量子考试方案的答案收集部分,Alice生成一系列不同的多粒子GHZ态,状态如式(6.1)所示。注意这里pns的值只有Alice自己知道。对每个pAlice保存pa粒子,并把粒子1,2,...,pppN分别发送给Bob1,Bob2,…,BobN。然后Alice选择从中选取一个子集l,并与所有Bob用共轭基(zB和xB)测量的方法来检测窃听。如果没有检测到窃听,这些共享的纠缠态将被用于后面的答案收集过程。当需要的时候,Alice和所有的Bob用zB基测量剩下的p态1...mmmmaN并记录测量结果作为密钥。分别用mzaj和mznj表示Alice和Bobn的密钥。每个Bob用这个密钥来加密自己的答案(用一次一密乱码本)并把密文发送给Alice。由于知道mzaj和mns,Alice可以得到每个Bob的密钥。因此,在考试的最后,Alice能够正确解密学生们的密文并得到每个学生的答案。上述协议中用共轭基测量的方法来检测窃听,能够抵抗多种攻击方法。然而,GHZ态的相关可提取性给了不诚实的学生作弊的机会。不失一般性,假设这个不诚实的学生是Bobr,他想窃取Bobk的答案。Bobr可以采取如下的策略来达到目的。(1)对每个p,Bobr准备一个附加粒子0并在Alice分发多粒子纠缠态1...ppppaN时做两个CNOT操作ppkgC和pprgC。(2)Bobr用zB基测量每个附加粒子,得到ppkrss。(3)与Alice合作,Bobr执行合法操作来检测窃听并得到密钥。如上所述,经过(1)、(2)操作后,所有的载体状态1...ppppaN保持不变,没有任何干扰出现。因此,Alice不能检测到这种窃听,同时Bobr将正确得到他的密钥mzrj。(4)Bobr经过简单计算来得到Bobk的密钥mzkj。具体地,Bobr从ppkrss中删去那些对应于用来检测窃听的态l的比特,剩下的比特为mmkrss,它们与载体态1...mmmmaN及密钥比特mzrj一一对应。需要强调的是,对一个特定的m,附加粒子的测量结果mmkrss意味着两个密钥比特mzkj和mzrj的和,即mmmmzzkrkrjjss。因此,知道了mmkrss和mzrj,Bobr可以通过计算mmmmzzkkrrjssj轻易得到Bobk的密钥mzkj。(5)在Alice收集答案的过程中Bobr窃取Bobk的答案。显然,有了密钥mzkj,Bobr可以解密Bobk发给Alice的密文,然后就可以随意抄袭Bobk的答案。通过如上策略,一个不诚实的考生可以窃取其它任何考生的答案。GHZ态是一类重要的纠缠态,在量子密码协议设计中被广泛使用。而利用GHZ态的相关可提取性,窃听者往往可以在不引入任何干扰的情况下获得不同量子比特值之间的关系。因此,它在协议分析中得到普遍应用{Song,2007#5262;Qin,2007#4098;Gao,2008#4948;Qin,2008#4512;Qin,2009#5263},值得重视。尤其是那些利用GHZ态设计的量子密码协议,应该特别注意(当然也有的协议利用的并不是GHZ态,但也有类似问题存在的情况,例如文献[7])。6.1.3假信号攻击顾名思义,假信号攻击是指窃听者截获合法量子比特,并用自己制备的假信号代替,以此达到获取秘密信息且避开检测的目的。本节以一个QSS协议为例,介绍这种攻击方法[8]。2005年,Zhang,Li和Man提出了一种多方QSS协议[9]。下面以三方协议为例介绍此