量子通信实属多此一举
作者:王雪金
徐令予,李红雨等老师在知乎上对量子通信进行了深入的剖析。我同他们的观点是一致的: 量子通信是没有前途的。我从事用户认证, 密钥及数字证书管理逾二十年。作为一名信息安全老兵 谈谈为什么我看衰量子通信. 首先我必须申明对科大在量子通信科学实验方面取得的进展深怀敬意。我的担忧是量子通信实用性及绝对安全性的炒作已经影响了国家最高层的的科技战略决策。
讨论量子通信之前让我们首先看看经典的通信安全是如何来实现的。相信大家对TLS1.2 应该有 所了解。现在最常采用的带有前向保密性的网络通信密码组合是:
ECDHE-RSA-AES256-GCM-SHA256
其中
- 密钥分发: ECDHE (EC和DH两套公钥密码)
- 用户认证: RSA (RSA公钥密码)
- 加密: AES256-GCM
- 数据完整性: SHA256
不同的算法有不同的功用。它们相互独立各司其职但又紧密相连。TLS 握手协议完成后生成四把密钥:
- 客户端加密密钥
- 服务端加密密钥
- 客户端数据验证密钥
- 服务端数据验证密钥
分别用于两端的加/解密以及数据来源/完整性检测。
从以上分析可以看出密钥分发在通信整体安全中只占四分之一。重要但只是部分。分发的绝对安全性并不能代表通信的绝对安全!
随着量子计算机的进展经典的公钥密码的安全性受到了挑战。有人趁机把量子密钥分发(QKD)炒得火热。兜售量子密码/通信的绝对安全性。量子通信真的绝对安全吗?
我们首先必须搞清楚量子通信的定义是什么。千万不要被名字误导了!让我们首先回顾一下 BB84协议。原始论文的题目是 ”量子密码学:公开的密钥分发及硬币抛掷” (Quantum Cryptography : Public Key Distribution and Coin Tossing)。 我们在此只关注公开的密钥分发部分。
从论文标题就可以看出
1. BB84是指密钥分发并不是用量子通道来进行通信; 2. 量子密钥分发过程并不要求私密性。具体表现在量子通道不怕有人窃听。窃听在这并不太恰当因为量子通道并不能用来传递数据。窃听无从谈起。在这里窃听等同于捣乱(阻断服务)。同样在经典通道也不需要保密。原因是经典通道只用来: 1. 协调量子通道的管理; 2. 毛坯密钥的产生; 3. 是非有人捣乱的确认; 4. 纠错及其 它。最终确认的密钥并没有在通道上传递所以私密性并非刚需。
但是BB84量子密钥分发有两要命的前提条件:
- 经典通道的客户端和服务端必须是通过相互认证的
- 经典通道必须提供数据来源及完整性保障
由于假定公钥密码不再安全, 现有的RSA及ECDSA公钥算法(数字签名)被排除。剩下只有一个选择:预置密钥用来作认证。预置密钥在网络时代的实用性接近于零! 预置密钥如何生成, 设置, 分发及保护? 我们又回到了1976年公钥密码产生之前! 数据来源及完整性同样需要特定的密钥。这把密钥从何而来?
如果经典通道不能确保通信方的认证,数据完整及来源正确那量子密钥分发的绝对安全性也就无从谈起。我前面所讨论的是基于量子通道是绝对安全的这个假定。即 1. 中继是绝对安全的; 2. 客服两端同时联到量子网及经典网。这又是两个要命的假定。现在的中继我认为已实际上违背了BB84原始协议。
再退一步即使量子密钥分发是绝对安全的。它有意义吗?有用吗?答案仍然是否定的。因为它 只提供了部分替换方案即密钥分发! 对同时受量子计算机影响的用户认证公钥密码没有任何帮助。
有人不禁想问那吹嘘的量子通信的绝对安全性究竟从何而来?让我们再次回到BB84协议上来。量子密钥分发的目的为一次一密(One Time Pad)提供加密密钥。香农于1949年在数学上证明了理论上一次一密不能被破解。实际上所谓的量子通信(QKD + OTP)的绝对安全是指一次一密的保密性。跟量子没啥关系! 注意:不可破解即保密性但不等于通信的安全性。两者不可混淆。
一次一密如此保密那为什么我们现在弃而不用, 将来也不可能使用呢?是因为一次一密有四个要命的前提条件:
- 密钥必须真随机(而非伪随机)
- 密钥长度必须大于等于明文长度
- 密钥绝不能重复使用(一次一密的缘来)
- 密钥必须完全保密
量子密钥分发在原始设计上想满足条件1(真随机 - 量子物理特性)及条件4(完全保密 - 密钥不经传递不可能被截取)。但实际上现有的QKD工程都不能满足这两条件。欧盟网络安全局的研究报告已标定 QKD 仍是伪随机而非真随机。量子中继又破坏了密钥必须完全保密的条件。量子通信所谓的实用性及绝对安全性是站不住脚的。
我对量子密钥分发的看法: 它是多此一举。
对抗量子计算机唯一切实可行的方案是抗量子密码而不是量子密钥分发。如果让我提建议的话我认为国家应该集中精力搞量子计算机。对量子密码学只作少量投资。主要用来跟踪国际研究进展。
参考资料(略)