2017-12-07 13:41:21
来源:
【作者:徐令予 加州大学洛杉矶分校物理系研究员】
《炒作量子通信工程,连潘建伟都担心》一文在观察者网发表后,收到不少批评和质疑。问题集中在两个方面:1)怎样正确理解“后量子时代的RSA”这篇论文。2)为什么说量子密码通信工程建设在可行性、必要性和实用性诸多方面均面临严峻挑战。
有批评和争论是好事情。《四书》十九章云:“博学之,审问之,慎思之,明辨之,笃行之。”说的是求学的几个递进的阶段。读者阅览文章即是“博学之”,留言和评论就是“审问之”。怀疑和审问是求学的关键阶段,但是问后应有深入的思考,把分析和研究上升到理论层面,是为“慎思”,否则所学所问徒有虚表,难有实质之收获。“明辩”为第四阶段。学是越辩越明,不辩,鱼龙混杂,何分良莠。本文希望为读者“慎思”和“明辩”提供力所能及的帮助。
使用肖尔量子算法破解4096位的RSA,据有关专家估算,考虑到必要的纠错等因素,量子计算机需要的量子位(Qbit)约为 4096^3 = 68719476736 。前几天IBM实现50个量子位,尽管IBM自己承认还在试验阶段,这条消息已经震惊全世界,仅仅只是可怜的50位!但要破解4096位的RSA,IBM设备的量子位还需扩大至少10亿倍,从工程角度来看,这几乎就是不能完成的任务,至少未来十多年不会有戏。请注意这里讨论的仅仅是4096位的RSA,那么对1T字节长度的RSA呢?按上述比例不难估算出需要的量子位约为2的126次方,看来我前文的估算值(2的100次方的量子位)还是十分保守的。
根据论文:“后量子时代的RSA”的估算[1],肖尔的量子算法分解1T字节长度的RSA,需要的量子比特操作数是2的100次方。但是关于每次量子比特操作需要多少时间,到目前为止仍缺乏可靠的数据,由此很难给出量子破解在时间上的总开销。所以科普大伽袁岚峰博士说:“确实是一个非常大的数,但能不能说量子计算机做不了这么多操作呢?这话谁都不敢说。”他的表述在逻辑上也不能算错。
但是请仔细想一下,空间上需要超过2的100次方的量子位(这个数大于我们星球上所有生物细胞的总数!),时间上需要2的100次方的操作,这样的量子计算机真能造得出来?但凡稍有一点常识,应该不难作出正确的判断[2]。有些科普文章写得很生动,但科普教育必须实事求是,千万不可越界做成了一名科幻作家。
可见,但把量子计算机的威胁作为加速推进量子密码工程建设的理由是站不住脚的,于是只能另寻借口,宣称经典密码系统即使面对传统的超级电子计算机也是不安全的,所以加速建设量子密码工程仍有必要。真是“欲找借口,何患无辞”。
事实真相是:在经典密码系统中,使用与明文等长的具有充分的随机性的对称密钥,并且使用一次一密,可以保证通信双方的无条件安全,它是任何手法都无法破译的,无论是使用传统的超级电子计算机还是未来的量子计算机。传统的对称密钥的安全性是有严格数学证明的。
经典密码系统中使用对称密钥作加密解密是绝对可靠安全的,真正的安全隐患是通信双方密钥的分发、身份认证和文件完整性验证。用于解决这些问题的不对称公钥密码(RSA是其中比较常用的一种方案)仅具有相对安全性,理论上无法证明其绝对的安全可靠。量子密码通信企图解决的仅此一小部分而已,更正确的说是这一小部分的前三分之一:它试图提供的仅仅是密钥分发的安全方案。媒体把量子密码通信吹得天花乱坠真的可以休矣。
现在许多行业(包括银行)采用的都是对称密钥体制,这个标准由中国人民银行颁布的PBOC里面有详细的描述。这类密码系统的密钥分发要用到RSA这类非对称密钥只有初始化的第一次,之后采用的都是对称密钥。其实初始化都未必会用到RSA,任何能够安全地将初始化密钥分发到密钥分发管理中心的手段都可以采用,毕竟只需要做一次的事情。
总体而言经典密码系统是安全的,而且可以很负责任地说,系统的安全性是可以按需求调整提高的,这仅是一个成本控制问题。无论如何,总成本一定低于量子密码通信的。
必须明白RSA这类公钥问题仅是密码系统的一部分,而密码系统又只是整个信息系统安全的一部分而已。今日信息系统的安全确实面临一系列严峻的挑战,但如果把这些挑战按危急严重程度罗列出来的话,密码安全问题根本进不了前三甲。随着信息的电子化和网络化,密钥的产生、管理、分发全部是由电子计算机完成的,相比计算机操作系统和互联网本身的安全问题,所谓的RSA安全问题真是小巫见大巫了。
信息安全问题是个很长的链条,密码技术只是其中的一个环节,密钥分发又是这一环节中的一个细节。保证这一个细节的安全当然是应该的,但某些媒体无限拔高它的重要性是不对的,宣传要不惜一切代价提高它的安全性更是错误的。这可能会扭曲正常的资源配置,而且会误导公众,以为只要有了量子密码技术从此天下无贼,这样的想法相当危险。
木桶盛水的总量是被木桶的短板决定的,同理仅仅提高局部环节的安全性并不能改善整个信息系统的总体安全性。对于住在危屋中的朋友,你不劝他补窗修门筑围墙,而是极力推销一把高档“量子锁”,并宣称只要门上挂了此锁天下从此太平,这样的推销员是否过于“敬业”?
我们中间有些人对微软视窗操作系统的许多安全隐患熟视无睹,却对远为成熟安全的公钥密码RSA横挑眉毛竖挑眼,他们天天心安理得地使用着漏洞百出的微软视窗,却把公钥密码RSA描绘成明天就会引爆的地雷。这种思维方式总让人感觉有些滑稽,有点像即将沉没的游轮上的旅客不赶紧寻找救生圈,却在抱怨船上提供的有些食品临近保质期。
很明显,量子密码通信干线的应用并不广泛[3],如今连最积极和乐观的人士也承认量子密码通信不能包打天下,这至少也算是一种进步吧。但有些人天真地认为量子密码通信能保证绝对安全,至少在某些高端领域应该会有用武之地。很不幸,连这样的想法也未必正确,至少已经建成的京沪干线能否在高端领域发挥积极作用仍要打上一个大问号。
首先必须明白,量子密码通信的绝对安全仅仅停留在理论上[4],而在工程实施过程中,由于存在噪声和检测设备缺陷等各种不可克服的因素,要做到理想的绝对安全根本不可能。量子密码安全性的估算是极其复杂的学术课题。严格来说,量子密码通信的安全性是一个概率统计值,它与噪声大小和检测误码率密切相关[5]。宣传量子密码通信绝对安全是没有科学依据的。
更为严重的问题是:基于BB84协议构建的量子密码通信干线必须依赖传统信道作偏振态比对,同时使用“可信任中继站”扩大通信范围。目前对量子密码安全性的分析模型都没有把这两项引起的安全隐患考虑进去,实际上这些问题恰恰会给整个系统带来巨大的安全隐患。
按BB84协议作密钥分发时,窃密者在传统信道上看到比对信息没有什么意义,但是窃密者可以通过改变比对信息来掩盖它在量子信道上的窃密行为[6]。
当然相关研究人员也会关注这些问题,致力于提高传统信道的安全性;但只要量子密码协商过程离不开传统信道,那么它就很难摆脱传统信道上的一些不安全因素,认为目前量子密码技术的安全性一定优于传统密码只是想当然而已。
真正严重的问题还在“可信任中继站”。主密钥通过n个中继站接力传递时,在每个中继站都必须转成经典电信号存放(都是裸奔的),窃密者只要攻占一站,主密钥唾手可得。对于如此严重的安全隐患,量子密码工程人员的应对措施只能是“物理隔离”。
何谓“物理隔离”?这意味着所有量子密码通信中继站必须日夜24小时守卫不让任何人接触。这必然引起另外一系列的安全隐患:1)如何保证这支守卫团队中每个成员的绝对可靠和忠诚?2)如果使用远程监控系统,那么这些远程监控系统的通信安全又用什么方法来保证?难道再用量子通信来保护远程监控系统?这还有完没完?3)如何保证这些中继站的设计、制造和维护人员的忠诚可靠?什么样的公司才能提供绝对安全可靠的设备和产品呢?
第三个问题实际上是无解的。因为量子密码中继站的制造过程牵涉众多的零部件供应商和集成商,谁也不能保证在最后的产品中不存在有意或无意中生成的各种安全漏洞和黑客后门通道!建设者们自己认为这些中继站是“可信任的”当然也可以,问题是怎样让别人也认同你,特别那些追求绝对机密的特殊用户凭什么信任你。请注意这与信不信量子力学毫无关系。
传统的密码系统的观念却正好相反,传统密码系统在设计布局时就立足于这样一点上:不能信任任何人[7] 。通信系统的任何部门、任何设备、任何协议规约、任何软件全部是公开透明的,其中也包括加密解密的算法,绝对也不会要求任何形式的“物理隔离”。通信双方只要且仅要持有共同的密钥,就能保证双方通信的高度安全。发送的文本经密钥加密后引成的密文可以在任何通信设备和线路上传输,密文容许被任何人收集、复制和分析,爱怎么折腾都可以,但是只有掌握密钥的接收者才能把密文解密得到明文文本。很显然,保护密钥要比保护整个通信系统(其中包括许多的中继站、交换机)要可靠和可行得多。
经典密码系统与目前建设的量子密码工程的本质差别不在技术层面上,而在总体的布局和思维上。经典密码系统的出发点是不信任任何人,而在建的量子密码工程必须要依赖和信任一组人!通过这样的分析对比,目前的量子密码干线工程的技术先进性不知又体现在何处,连我自己都有些糊涂了。
综上所述,当前量子密码通信工程化的可行性、必要性和实用性都存在许多不确定因素,一系列关键技术需要突破,工程的标准化也有待建立。在这些问题没有妥善解决之前,工程建设仓促上马是不合适的,再要加建多纵多横干线更应三思。
我们所建言的是,量子密码工程化的决策要慎重,而不是批评量子密码技术的本身。从长远看量子密码技术也许会对信息系统安全提供新的方法和工具,现在最重要的是脚踏实地埋头苦干做好基础研究。中国科研人员在量子密码通信技术上已经作出了许多卓越贡献,通过总结经验、调整计划、明确方向,相信他们一定能大有作为。
针对存在的问题提意见,主要是“过去式”,相对比较容易,难的是建言献策为未来谋发展。本文的下篇将会着重讨论科学理论与工程实践的关系,希望我的思考和建议能对工程决策提供一些帮助。
[1]https://eprint.iacr.org/2017/351.pdf
[2]对公钥密码RSA的量子攻击,到目前为止都只是纸上谈兵而已,破解1T字节长度的RSA的肖尔量子算法究竟需要多少位Qbit的量子计算机和多少次的操作,谁也给不出正确的数据。根据经典电子计算机的经验,我们应该有办法压缩量子计算机Qbit位数,但这必然会以大幅增加操作次数为代价的。
由于量子门本身精度有问题。到现在一个精度到达0.999的CNOT门好像都没有实现。量子线路的可扩展性也存在严重问题。随着线路规模的扩展,整体精度急剧下降,必须使用更多的Qbit作纠错。另外量子位元本身的消相干会导致量子数据的损坏,目前超低温体系中数据也只能保持微秒量级。
无论从量子位数和运行操作步数来看,在可预见的将来,量子计算机要破解1T字节长度的RSA是根本不可能的。量子计算机对经典密码系统的威胁还远在天边。
[3]今日密码使用最为广泛的领域是互联网和移动通信,量子密码工程在这些领域的应用近期不会有什么进展,而在金融银行业和国防方面的主要业务方面的应用也没有详情肯定的报导,除了个别城市的政务网(政务网总的趋势应该是公开透明,不是吗?)
[4]https://physics.aps.org/articles/v8/123
http://www.guancha.cn/zhaoyifu/2017_11_03_433335.shtml
[5]https://arxiv.org/pdf/quant-ph/0402131.pdf
[6]http://www.nii.ac.jp/qis/first-
quantum/forStudents/lecture/pdf/noise/chapter13.pdf
https://zhuanlan.zhihu.com/p/22495991
[7]不信任任何人是经典密码设计的出发点,但是大规模的密码系统的实施过程很难完全做到这一点。例如银行的PBOC系统比须依靠密钥分发管理中心KDC,虽然我们不需信任该团队中任何一个人,但是要信任整个团队。KDC是整个系统安全的最薄弱环节,但是毕竟是内部机构且数量极其有限,风险相对容易控制。量子密码通信工程无法取代KDC,而且在这之外又要加上数量可观的可信任中继,由此引入更多的难以监控的不确定因素。