+-
李红雨:中国信息协会谈应对量子通信技术挑战,我有一些商榷意见

【文/ 观察者网专栏作者 李红雨】

中美两国在经济和科技领域产生大量争端冲突的当口,美国国家安全局(National Security Agency,简写为NSA)在2020年11月18日在其工作网站上悄无声息地发布了一篇题为《Quantum Key Distribution (QKD) and Quantum Cryptography(QC)》[1](《量子密钥分发(QKD)与量子密码(QC)》)(以下简称NSA报告)的政策性文章。这本是NSA提供给政府相关部门的简单技术分析总结报告,为美国国家针对这两方面技术发展与投资提供指导性性建议。

这篇报告非常简短,全文仅仅700余字,其中列出了五个QKD和QC尚未解决的关键性技术,并在文章的总结部分明确指出:

抗量子 (或后量子)密码学(简称PQC)是一种比QKD更经济、更容易维护的解决方案。除非QKD能够解决所提到的所有相关技术问题,否则NSA不支持使用QKD或QC来保护国家安全系统中的通信,也不会对任何QKD或QC安全产品进行认证或批准,供国家安全系统相关客户使用。

NSA是美国国家安全局的简称,是美国政府最大的情报部门,也是全世界单独雇佣数学博士、计算机博士及语言学家最多的机构。在信息安全领域,NSA是世界公认的权威性机构。

这个报告其实在美国并没有引起广泛关注,主要原因是此前美国并没有在这个领域进行广泛深入研究,更谈不上大规模的投资,因此这个报告就显得特别低调。有人偶然发现了这个报告并介绍到国内,引起了很大反响,更有人因此宣称,QKD&QC在美国的大幕尚未拉起就已落幕。

与美国的情况很不同,QKD在中国是一个很热门的话题。NSA这个报告事实上对QKD做了非常负面的评价,在国家层面,这个报告在论及的技术限制尚未解决的情况下,将能够有效阻止美国国家资金投入与此相关的技术产品的开发项目,这与中国的做法大相径庭。

正因为NSA在全世界信息安全领域具有的权威地位,这样一份报告的出台必然会引起尤其包括中国在内的相关领域专家的重视,这份报告从1月3日开始陆续在国内多个媒体和论坛上传播,1月26日,中国信息协会量子分会发表了题为《量子密钥分发的技术挑战及应对分析》[2] (以下简称协会报告)的报告,针对NSA提出来的五条技术限制一一作了分析与反驳。我并不确定协会报告是否属于中国量子通信领域专家们的权威性回复,但是这篇文章的撰写者包括了领域内众多的国内知名专家,相信这个报告本身在相当大程度上代表了中国量子通信领域的权威性观点。本文就是针对这两篇彼此观点相悖的报告做的再分析,为如何完整理解两篇报告的内容提供一个引申的参考。

...

顺便提一句,NSA报告的观点也并非第一次以政府报告的形式出现,早在2016年10月,英国国家网络安全中心(NCSC)就发布其针对QKD的技术观点白皮书,内中同样列举了与NSA报告类似的多项技术局限,并表明在这些局限性得到解决之前不建议使用;此外,2020年5月,法国国家网络安全局(ANSSI)发表有关QKD技术发展意见书,内容与NCSC基本相同。这三个重要国家的信息安全机构均以权威报告的方式,齐刷刷针对QKD技术发展持否定态度, 很难用偶然性来解释,由于这些报告是政府对各自国内产业发展的扶植指导性报告,也不适合用阴谋论来做解释,也与这几个国家目前QKD技术毫无进展的状况相符合,因此更需要理清其中的科学脉络,剥丝抽茧发现问题的真相。

NSA报告和协会报告的文章结构安排都是按照所提到的五个技术限制分别进行讨论,本文也将按照这个清晰的脉络进行对照分析,每一个问题的讨论结构是先附上协会报告的翻译,再附上NSA报告的英文原文,接下来针对两个报告的内容做进一步的分析。由于我们对协会报告的翻译有一些不同的理解,因此,当翻译存在一些需要商榷的地方时,我们也将自己的翻译附上,用作对照参考。虽然英文原文会对部分读者造成一定的阅读困难,但是也免去了很多读者查对NSA原文的麻烦,并且跳过英文片段对于阅读理解文章的内容并不构成障碍。

1)量子密钥分发只是部分解决方案

原文:

QKD generates keying material for an encryption algorithm that provides confidentiality. Such keying material could also be used in symmetric key cryptographic algorithms to provide integrity and authentication if one has the cryptographic assurance that the original QKD transmission comes from the desired entity (i.e. entity source authentication). QKD does not provide a means to authenticate the QKD transmission source. Therefore, source authentication requires the use of asymmetric cryptography or preplaced keys to provide that authentication. Moreover, the confidentiality services QKD offers can be provided by quantum-resistant cryptography, which is typically less expensive with a better understood risk profile.

协会报告的翻译:

QKD可为提供机密应用的加密算法生成密钥。这样的密钥也可以结合对称密码算法提供完整性和认证等应用,但是QKD系统的运行需要预置密钥或应用公钥密码提前认证。QKD的功能都可以通过抗量子计算的密码(QRC,也常称为“后量子密码”,本文统一用PQC表示)来实现。而且PQC更加便宜,安全风险被理解的更清楚。

我们的翻译:

QKD为加密算法生成所需的密钥以保证通信的私密性。如果这个由QKD传输过来的密钥确实来自身份可信的通信方(即经过身份认证的),那么该密钥也可以为对称密码提供通信完整性和身份认证功能。但是QKD本身不能提供通信客户的身份认证。因此,客户身份验证还得需要使用非对称密码或预置的密钥来提供身份验证。更重要的是,通过抗量子密码技术(PQC)可以取代QKD为通信提供保密性服务,而且PQC通常成本较低廉又风险可控。

根据三个文本的对照,我们发现,不知道什么原因,原文中划粗体的地方在协会报告的翻译中漏掉了,不过你可以在我们的翻译部分同样划粗体的地方把漏掉的部分找回来。NSA第一个问题的核心内涵就是:QKD本身不提供信息完整性(即数字签名)和身份验证机制。对照两个版本的翻译,不难得出结论,缺少了这段话作为最关键的条件限制,协会报告中有关NSA的问题讨论就会变成另外一个问题,事实上也是如此。

信息完整性指的是信息从发送到接收过程不被篡改,任何修改过的信息都被接收方发现,采用的技术手段就是数字签名;身份验证就是保证无论信息的发送方还是接收方都是可信的,不能被仿冒,这需要身份验证机制。无论是完整性还是身份验证机制都需要复杂的算法来实现,绝无例外。

...

到目前为止,人类从现有的量子理论中还没有找到进行完整性验证和身份认证的技术手段,因此这方面的工作依然需要传统的密码加密技术。其实更进一步说,世界上所有QKD方案其实都不具有任何加密信息的功能,包括国内的QKD在内,它只负责给普通的加密算法提供一个随机数作为密钥,任何夸大QKD能起到加密作用的说法都是有意无意的误导视听。

身份验证为什么很重要,这很容易理解。比如你准备跟另外一个人进行保密通信,你如何确认对方是你想要通信的正确的对象?你们也不可能面对面交接信息,能够做到的就是你们两人之间持有仅仅在你们两人之间拥有的秘密信息,这个秘密信息当然不能直接在网上明文发送,那样的话,一个中间的窃密者就可以截取这个秘密信息,然后仿照其中一方代理转发甚至篡改相互通信的内容,这就需要用到一整套传统密码学里面复杂的身份认证机制。QKD因为不具有身份验证机制,所以QKD自己的技术手段,根本无法避免中间人的窃取行为发生,NSA报告对此提出严重质疑,这是无法回避的问题,更不能对此不加任何讨论。

我们注意到协会报告其实在第四节中提到安全认证和数字签名的量子版本有望实现,这可看作是对这个问题的回答。无论身份验证还是数字签名都是基于密码学中的加密算法,加密算法不存在容错机制,任何加密算法都强调复杂计算无差错的精确性,可惜的是,量子的特性就是不确定性,任何强调精确性的计算都不可能是量子理论范畴内可以解决的问题。目前为止,所有这方面的理论讨论都是不成功的,甚至我们连理论的门槛都没摸到,怎么可能奢谈有望技术实现?NSA就是全面考察了理论和技术现状提出来这个技术限制问题,协会报告在没有任何可信的论文和实践的前提下做出能够实现的承诺是不严肃的。

我们认为协会报告在这个问题的回应上有些跑题,但是我们还是愿意接下来再看看协会报告论及的其它观点是否有值得关注的地方,为便于理解,我们将报告的观点总结概括成以下几点:

QKD只负责密钥分发工作,信息加密还需要传统的加密算法来实现

QKD比PQC在长期安全性方面具有优势

NSA仅从传统密码系统角度片面理解QKD

MDI-QKD提供了对现实器件不完美性的免疫功能

身份认证采用PQC+QKD融合方案

总的来说,协会报告这个问题的讨论焦点落在PQC与QKD谁更安全的角度上了,虽然不是此问题的核心关注,但是仍然值得做一番讨论。

有必要首先澄清两件事情:

首先,PQC是加密算法,QKD是密钥分发,两者做的工作内容完全不同。PQC是真的给信息进行加密,QKD只是在信息发送和接收两者之间协商一个用来加密的随机数,QKD没有任何加密的能力,给信息加密仍然需要采用传统的加密算法,这也是为什么协会报告总是很隐晦地说QKD只能完成信息安全的部分工作。所以把PQC和QKD混在一起谈本来就是很不专业的,做菜的师傅怎么可能跟跑腿买菜的伙计放在一起作比较?

传统的密钥分发工作采用的就是经典的对称加密算法和非对称加密算法,有关密钥分发的安全性取决于加密算法本身,密钥分发从来不作为需要单独拿出来讨论的问题,因此在密码学里面从来没有什么独立的密钥分发安全性问题这是个为QKD度身定做出来的伪问题。换句话说,PQC完全可以自己就承担密钥分发的工作,不需要QKD来参与,PQC的安全性就是密钥分发的安全性。做菜的师傅当然可以自己去买菜,但是只会买菜的伙计可干不了大厨的活。

此外,协会报告中强调QKD机制能够抗量子攻击,并认为PQC专家由于缺少量子计算的专业知识,因此,所谓的PQC抗量子攻击的结论是不可靠的。这个看法是双刃剑,量子计算理论本来就不是一个成熟的学科,仍在发展探索中,PQC专家不能充分理解并不奇怪,QKD专家在这方面也未必比PQC专家更擅长。好在PQC专家对于传统密码学的知识是足够专业的,他们对于信息安全性的理解也是全面的,这方面反而是QKD专家普遍的短板,细究起来,QKD专家在两个领域同时有更多知识的欠缺。QKD专家从来没有经历过IT产业的残酷磨砺,在对信息安全的理解与相关知识上,他们经常犯一些比较初级的常识性错误。

在协会报告中,QKD专家提出来一个长期安全性的新概念,一般人没有相关的知识背景,搞不清楚这个概念的含义。所谓长期安全性其实很简单,QKD专家假设有大量信息采用对称加密的方式加密后长期保存。用来加密这些信息需要用到对称密钥,如果分发这些密钥采用的是非对称RSA算法,那么等到量子计算机出现后,通过保留的现场信息和公钥,破解RSA获取私钥,进一步可以用私钥破解采用公钥加密传输的对称密钥,从而可以破解存储起来的加密信息。PQC之所以“被认为”不具有所谓的长期安全性,完全基于QKD专家给出的“PQC不具有抗量子性”的假设,所以能够被量子计算机破解掉。这种把想当然看作理由的做法,根本就不是严肃的科学态度。

遗憾的是,QKD专家对于安全性理解的局限性,在这个长期安全性问题上暴露无遗。假如有这样一个简单的情景,信息加密存储并不直接用RSA传过来的密钥,而是把这个密钥作为种子密钥,通过掺杂随机数生成存储密钥,真正加密信息的是存储密钥而不是种子密钥,这种情况下,就算最乐观的情况,量子计算机能够破解RSA传过来的种子密钥,但是面对基于复杂算法的对称加密生成的存储密钥仍然束手无策,存储的加密信息还是无法被量子计算机破解。

QKD专家的所谓长期安全性仅仅依赖一个想象中的应用场景,那就是必须采用RSA非对称算法分发对称密钥,并且直接用这个密钥对信息进行加密存储,并且量子计算机已经成熟应用,并且不但可以破解所有非对称加密算法,也可以破解PQC算法,并且量子计算机仍然不能破解普通对称加密算法。这么多“并且”的假设的条件,任何一个环节不成立,QKD的长期安全性就成为泡影,而这其实就是一个不需要更多思考的现实。信息安全的攻防全景图哪有这么简单的单一场景,QKD专家的思维方式是多么直线性啊,太低估信息安全领域的复杂性了,所以QKD的长期安全性承诺是根本无法兑现的。

由于PQC本身具有加密能力,所以既可以拿来做密钥分发,也可以拿来做信息加密,这样PQC就是个全能选手,根本不需要QKD下场助攻,这就是为什么NSA强调PQC单独就可以为通信提供保密性服务,这就是NSA的本意。

反观协会报告,最后提出来一个貌似合理的PQC+QKD“混合型”方案,QKD只能做密钥分发,PQC对信息做加密,这就出现一个特矛盾的观点,既然协会报告认为PQC的抗量子性不能获得验证,你拿这个做加密到底能不能抗量子攻击啊?如果PQC确实能抗量子攻击,那为什么不用PQC直接分发密钥,而绕来绕去投入大量硬件建设去实现软件就能做的事情?这个道理并不烧脑,只是再次证明NSA结论的科学性。

协会报告中还提到了MDI-QKD的问题,这个话题将在下一个问题中进行讨论。

2)量子密钥分发需要专用设备

原文:

QKD is based on physical properties, and its security derives from unique physical layer communications. This requires users to lease dedicated fiber connections or physically manage free-space transmitters. It cannot be implemented in software or as a service on a network, and cannot be easily integrated into existing network equipment. Since QKD is hardware-based it also lacks flexibility for upgrades or security patches.

协会报告的翻译:

QKD是通过物理层通信来实现的。用户需要专门的光纤连接或者控制自由空间的发射装置。QKD不能通过网络用软件进行升级,也不易与现有的网络设备进行集成。QKD的硬件实现方式使其缺少了升级和打安全补丁的灵活性。

我们的翻译:

QKD基于物理原则,其安全性基于特定的物理层通信。这要求用户租用专用的光纤连接或物理控制的自由空间发射器。它不能通过软件或网络服务来实现,它也不能轻松地集成到现有的网络设备中。由于QKD是硬件系统,因此它必然缺乏安全补丁和系统升级的灵活性。

请注意原文与我们的翻译中标粗的地方,显而易见,协会报告的翻译又出现了关键性的遗漏,丢掉了至关重要的一句话:QKD的安全性基于特定的物理层通信。这个遗漏仍然是整个问题最关键的文眼,NSA这个问题其实是要将QKD的安全性起源定位于物理层面,这与传统的密码学将安全性定位于数学逻辑层面完全不同。因此有关QKD安全机制的实施与纠错就必然需要在物理层面上进行,无法提供安全性保障的QKD是不具有存在价值的,反之,如果能够保证安全性,也才可能握有一定的话语权,才有可能对于投资的成本有所交代。

协会报告对于NSA问题的描述,给人的感觉好像NSA对于QKD采用专用的硬件设备造成的投资成本上升和技术的可行性表示了担忧,并且硬件升级也远不如软件升级更方便。离开了安全性泛泛地谈成本与升级问题,是很容易找到各种辩护的理由的,协会报告的确往这些方面进行了努力。

有关使用硬件问题,协会报告举出来PQC也采用了专门的硬件加速器用来提高运行效率,反证QKD使用硬件的合理性;技术可行性方面举出来量子与经典通信共纤传输、OTN波分系统的应用以及设备小型化努力等等,至于采用物理层面的安全体制存在固有的不可克服的脆弱性,在文章中看不到任何讨论的文字。

NSA这个问题的关键根本不是采用硬件是否具有技术可行性的问题,不是是否带来成本飙升的问题,也不是硬件升级是否方便的问题,离开安全性空谈这些,就完全失去了值得继续讨论的基础和价值,那根本就不是NSA提出的问题。

我们都知道,所有物理理论仅仅是对真实物理世界一个片面的、现阶段的、近似的描述,物理世界的潜在规律性是用来发现的,而不是用来证明的,这是具有起码科学素养的人必须秉持的执念。任何认为已经穷尽了物理世界原理的人,任何声明“证明”了物理层安全性的人,都可以归入上帝的范畴,我们每个人都是平凡的人。人类制造的所有物理设备必然是存在各种“缺陷”,没有任何一个QKD专家敢于为自己设备的绝对安全性打包票,真实的情况就是如此,QKD的各种设备就算是各路技术高手尚未出场的情况下,就已经发现了各种安全漏洞,没有人知道还会有哪些尚未发现的安全漏洞。

物理层的安全性需要在物理层来解决,不能通过软件打补丁的方式解决安全性漏洞,意味着在QKD运行期间任何发现的漏洞都不可能及时地以小代价的方法来解决,这样不断修复的过程是永无止境的。QKD采用硬件并不是问题,采用硬件带来安全性漏洞无法及时发现与修复才是关键问题,协会报告显然没对这个问题有给出令人信服的回答。

3)量子密钥分发增加了基础架构成本和内部风险

原文:

QKD networks frequently necessitate the use of trusted relays, entailing additional cost for secure facilities and additional security risk from insider threats. This eliminates many use cases from consideration.

协会报告的翻译:

QKD网络必须频繁使用可信中继,需要额外的安全设施,从而增加了成本和内部安全风险,使得很多应用场景受到了限制。

很高兴这个问题不用再给不同翻译做对比,这段翻译没有争议。

采用可信中继器是QKD比较早期被揭露出来的安全问题,这方面的讨论其实已经足够多了,很多人对此这个问题已经有了充分的认识,包括QKD专家在内都不得不承认这是最无争议的QKD安全问题。

曾几何时,有非常着名QKD专家告诉大家,加密信息在光纤信道上传输是处处不安全的,当然哪怕对于普通的密码学领域的本科生来说,这也是一个常识性的错误,真实的情况恰恰相反,加密信息在光纤信道上的传输是处处安全的,不怕任何窃听的行为。

一个完整的通信系统一般可以分成信源、信道和信宿三大类,通俗说,信源指的就是信息的发送端,信道就是传输信息的光纤、中继器、路由器和交换机等网络设备,信宿就是信息的接收端。密码学研究的就是如何保证信道上的信息安全性的问题,对于信源和信宿,由于这两个环节采用大量的对数据包括密钥的明文处理,是无法从技术层面提供完整的安全性保障方案的,更多依靠人为的严格管理制度建设,附加技术手段,将风险降到最低,但是哪怕最低也仍然不是零风险。

所谓的可信中继原理上就是一整套激光发送与接收装置,附以数据处理的计算机。在可信中继器中,密钥是以明文的方式暴露在计算机中的,而QKD的机制要求这个可信中继器必然与普通光纤网络互联互通。令人担忧的是,并不存在一个技术能够完全屏蔽针对接入网络中的计算机的攻击,计算机使用的操作系统本身是否存在安全后门,也一直是大家不断猜忌的话题,黑客入侵的事件更是每天都在全是世界各地发生,QKD专家并没有什么灵丹妙药让可信中继器免受侵害,无论什么样的安全制度建设都不可能对这样的侵入彻底免疫。

由于QKD采用的是弱激光通信技术,在光纤中衰减极大,传输距离非常有限,所以必须在长距离的信号传输过程中,将完整的安全的光纤信道切割成一个个片段,用可信中继器连接起来,其中每个片段的节点都成为信源和信宿,而信源和信宿在密码学里面天然是不安全的,QKD不但没有为整个系统提供更高的安全性,反而通过引入更多的信源信宿,在更多的环节中暴露了密钥的明文,将更多的不安全的因素引入到系统中。

协会报告并不讨论可信中继器实现的技术细节,只是提出两点建议,希望通过设立可信中继的国际标准和延长QKD无中继的通信距离来最大限度降低安全风险。

当然国际标准是不可能提供更高的安全性的,它只提供设备的标准化生产和网络互联,提供管理的规范化指南,否则那些计算机安全公司需要做的就不是帮着大家查杀病毒和木马,而是忙着制定某些国际标准。至于延长无中继距离也无法避免使用中继,不可能将引入的不安全增量降低到零。

最好的计算机安全等级也比密码学中的加密技术提供的安全等级相差几个数量级,是应该被列为极其不安全的范畴的,这使得QKD即使仅仅考虑可信中继器的环节,也是整个信息安全系统中最不安全的那块短板,协会报告不但没有打消可信中继器的安全疑虑,反而让我们增强了可信中继器不可信的印象。

4)确保和验证量子密钥分配的安全性是一个重大的挑战

原文:

The actual security provided by a QKD system is not the theoretical unconditional security from the laws of physics (as modeled and often suggested), but rather the more limited security that can be achieved by hardware and engineering designs. The tolerance for error in cryptographic security, however, is many orders of magnitude smaller than in most physical engineering scenarios making it very difficult to validate. The specific hardware used to perform QKD can introduce vulnerabilities, resulting in several well-publicized attacks on commercial QKD systems.

协会报告的翻译:

QKD的安全性不是物理规律保障的无条件理论安全,而是受到硬件和工程实现的限制,密码安全的错误容限比大部分工程实现场景能够达到的条件要小很多数量级,因此QKD的实现难以验证。用于实现QKD的专用硬件会引入安全漏洞,从而导致了不少广为人知的安全攻击。

我们的翻译:

QKD系统提供的实际安全性不可能来自物理定律的理论无条件安全性(后者只是数学建模的结果),它更决定于由硬件和工程设计提供的有限的安全性。但是,密码安全对出错的容忍度要比大多数物理工程方案小很多个数量级,因此QKD安全性验证很难通过。用于执行QKD的特定硬件会引入安全漏洞,从而导致对商业QKD系统的一系列广为人知的安全攻击。

NSA在第2个问题中指出来,QKD的安全性源自于物理层,因此不能定位于逻辑层面进行讨论。在第4个问题中,NSA更进一步明确指出来:QKD所谓的安全性证明其实是创建在QKD的数学模型上的,无法拿过来直接推广到无限广大、充满未知的物理世界。这个问题一针见血地澄清了QKD专家之前宣称的无条件安全性证明,实质上证明的是什么。请注意原文与两个不同翻译中标粗的地方,非常遗憾的是,协会报告在这个问题的翻译上,再次漏掉了关键的部分,而且有一些地方的翻译远没有达到NSA表达的本意。

什么是建模对于普通人理解起来有些抽象,可以打个容易理解的比喻,QKD证明的安全性就是孙悟空给唐僧画的那个圈,在那个圈子里什么妖魔鬼怪都进不来,出了圈子就会被吃掉。这个圈子就是QKD创建的模型,整个物理世界就是那个无限广大的圈外世界。所以QKD证明的根本就不是物理世界的安全性,这些QKD专家的工作都是在纸面上进行数学建模和计算,然后在这些已经排除所有其它物理干扰的模型中,计算其中的安全性。

其实这种工作方式在传统的加密算法设计中是普遍采用的,非常好用,因为传统加密算法本来就只针对逻辑的信息,不面对物理世界,只是QKD将这个限定打破了,冲出到物理世界里面,却仍然采用传统的逻辑算法的模式进行安全评估。就像唐僧跳出孙悟空划的圈子,仍然期待外面的世界像在圈子里一样没有妖魔鬼怪,这想法太天真了。

协会报告针对这个问题的回答是非常为难的,明确承认QKD安全性证明实际上证明的是建模的安全性,意味着QKD的安全性承诺本质上是一种虚幻的承诺,当然这样的结论是不能被QKD专家认同的,但是明确拒绝NSA的判断也是做不到的。

协会报告一方面给出来一个解决方案,就是把悟空画的圈子再扩大一点,通过调整数学建模的复杂度,增加更多的所谓的容差容错参数,让模型更贴近一些物理的真实。但是无论增加多少参数变量,模型就是模型,没人能够做出来与物理世界完全一致的模型来。另一方面,也提出来安全性证明的复杂性,是需要不断探索研究的。QKD一直以来宣称的安全承诺都是完成式的、无条件的绝对安全,从来没有人告诉我们这些所谓无条件安全证明,原来也是一个需要不断进化的过程。

需要讲点英语词汇小知识,validate经常被翻译成验证,汉语其实对这个翻译是有点模糊性的,更精准的翻译是证实,是对验证结果的一个评估,往往大家会把这个词误解成验证的操作过程(一般英语用verify)。协会报告的翻译,好像给人以一种找不到什么好办法来做安全性验证,其实NSA真正要表达的意思是QKD的验证结果通不过安全评估的基线,这也是NSA在更前一句话中提到,加密算法提供的安全水平要比依靠物理技术手段提供的安全性水平高几个数量级的直接推论,显而易见NSA和协会报告所表达的涵义差了十万八千里,NSA的用词极其精准,逻辑保持非常顺畅的一致性。

加密算法的安全性水平可以通过增加密钥的长度得到指数级别的增长,依赖于物理测量精度的QKD安全水平只能以线性的方式增长,并且必然存在一个无法克服的增长极限。除了无限复杂的物理世界与简单模型设计导致的天然的物理安全漏洞,QKD测量精度的差异也会使得收发双方拿到的密钥有很大概率是不同的,QKD根本无法分辨这种差异来自于系统的误差还是来自于外部的攻击,这其实就是系统可靠性和安全性叠加起来的不确定性,这让我们对于QKD系统的有效性、安全性的评估陷入不可克服的困境。

协会报告不准确的翻译还包括漏掉了针对商业QKD系统的攻击,这大概是无心的疏漏,因为去掉这个“商业QKD系统”,也不会让人觉得“商业QKD系统”就能避免攻击,只是在QKD相关股票已经上市的情况下,“商业QKD系统”这个词大概具有某种敏感性。

协会报告中以多个引文的方式,略带提了一下MDI-QKD设计,用于免疫关键物理部件的所有安全漏洞。由于不断发现针对QKD的物理攻击手段,QKD专家试图通过引进MDI-QKD技术来彻底消除物理层的漏洞,这样的想法令人振奋,更令人困惑,虽然协会报告对此并没有进行详细介绍,但是在第1个问题和当前问题中都反复提到这个设计方案,因此非常有必要做一点科普性的介绍。

所谓的MDI-QKD,也就是测量设备无关(measurement-device-independent)的QKD。由于QKD直接面对物理层,会遇到不可克服的物理条件限制,物理器件固有的不完美性,使得安全漏洞不可被完全修复,这恰恰就是NSA提出的第2个问题。于是QKD专家们提出来一个双层QKD的解决方案,通过将不完美的QKD放到被封装的底层,让高层次的QKD得以将那些不完美屏蔽掉,从而在实际应用层面上彻底关闭QKD系统所有测量端的漏洞,由此获得无条件安全。

上述观点听起来确实很美,但是有句老话说得好,不要试图掩盖错误,它总会在你不经意的地方重新冒出来。毕竟QKD专家普遍缺少IT领域的经验,所以不知道,类似的设计其实早就广泛应用于软件设计编码中了,我们理解上述设计的思想内涵并不困难。为方便大家理解,我把MDI-QKD的设计思想换个广大IT人士容易理解的表达方式。

比如说我们做JAVA程序,某个公司提供给了一个封装的类,我们已经知道里面存在众多无法解决的bug,于是我们的做法就是在这个封装好的类之上,再封装上一个精心设计的类,期待这样一个高层次的类能够克服所有底层类存在的bug,让程序正确运行起来。这种想法要多荒唐就有多荒唐。通过增加层次的方式,屏蔽底层的实现细节,这样的做法不是用来消除底层的缺陷,也根本不可能消除固有的缺陷,而是为了降低层次间的耦合度,由此在更高的层次上获得更宽广的可操作自由度。

类似的例子,JAVA的虚拟机就是为了屏蔽底层硬件访问的差异性,为更高层次的编码提供兼容性,或者干脆说,就是设备无关性。但是JAVA虚拟机的设计者怎么敢说访问底层设备的操作编码可以做得马马虎虎,所有底层错误都能通过高层编码来解决。坦率地说,我起初也不太相信MDI-QKD的设计思想与之类似,可惜的是,恰恰从引文给出的文献来分析,MDI-QKD的设计思路就是如此。这是非常低级的逻辑错误,根本无法通过任何实践的检验。我们注意到NSA所有的问题中根本就没有提到过MDI-QKD,这非常容易理解,普通IT人士能够看出来的问题,NS