点赞

漫谈量子保密通信的中间人攻击问题

发布时间: 2021-09-04 发布来源:cpsjournals#中国物理学会期刊网

28
187

《追风筝的人》

“为你,千千万万遍”

静静地蜷在床角捧着这本书。阿米尔终于有勇气追寻那只折射着人性光辉的风筝

龙桂鲁

1.低维量子物理国家重点实验室、清华大学物理系;2. 教育部量子信息前沿中心;3. 北京信息科学与技术国家研究中心;4. 北京量子信息科学研究院



量子保密通信主要包括量子密钥分发和量子直接通信。


Bennett Brassard 1984 年提出的量子密钥分发,实际上是密码学中的密钥协商,Alice Bob 双方传输随机数,在确定其安全后,将传输的随机数升级为密钥,用于经典保密通信。密码学中的密钥分发是把事先确定好的密钥传送给指定的接收方。不过由于历史原因,大家一直这么称呼。由于称呼的不同,有时候会引起密码学家对量子密钥分发的误解。


量子直接通信, 简称量子直通,在量子信道直接安全地传输信息,是清华大学学者在2000 年提出的。这是信息论意义上的通信,它直接传输有意义的信息,也可以传输事先确定的密钥。


量子信道指的是用于携载信号的量子态以及传输它们的介质,如用单光子极化量子态在光纤中传输,就给出了一个量子信道。经典通信本身不考虑安全性,考虑的是如何把信息可靠的传输到目的地。著名的香农理论保证了信息的可靠传输,即在信道容量大于零时,总可以找到一个编码,以小于或者等于信道容量的速率可靠的通信。量子直通是在有噪声和窃听的信道下,既可靠又安全地通信。


有一个说法是量子保密通信无法抵御中间人攻击,即窃听者在通信线路的中间假装是通信的合法用户,来套取通信双方的内容。这种说法最早从什么地方提出不得而知,但是影响最大的可能是著名法国通信专家Emmanuel Desurvire 教授。他是掺铒放大器的发明者,获得包括富兰克林工程奖章、IEEE Tyndall 奖等国际大奖。在他的《Classical and Quantum Information Theory》的最后一章,专门讲了这一攻击手段。大致的方法是这样:假如AliceBob 是合法通信双方,Eve 是窃听者。Eve 假装是Bob Alice 进行量子密钥分发,同时假装是Alice 来和Bob 进行量子密钥分发,这样Eve 就可以获得双方所有的密钥和通信而不被发现,而且这也不违背量子力学的原理。


为了后面的叙述,我们先介绍公开密码体系。公开密码体系是一种经典加密和解密方法。例如,在RSA公开密码体系中,每个用户有三个参数,一个大数N,公钥E,私钥D,其中N和公钥E都是公开的,D 是私钥,不公开。Alice 有(NaEaDa),Bob有(NbEbDb),窃听者Eve 是其中的一个用户,有(NeEeDe)。如果Bob 要给Alice 发一封加密信,内容是x,则Bob Alice 的(NaEa)加密,即x^Ea=CC即是加密后的密文,Alice 收到C后,利用私钥Da解密得到原文,C^Da=x。在现在的网络里,一般用公开密码体系,如RSASM2 加密小量的密钥;用对称密码,如AESSM1SM4来加密大量的信息。


中间人攻击的实质就是认证问题。这里面有两个认证,一个是网络认证,即证明Alice 就是使用公钥Ea 的人;第二个是身份认证,即证明信息确实是拥有公钥Ea 的人发出的。如果Alice Bob已经完成身份认证和网络认证,Eve 就无法对他们的量子通信进行中间人攻击。中间人攻击这一问题在经典通信也是存在的。网络认证问题可以用西游记中的真假孙悟空例子来说明。在西游记的五十七回,六耳猕猴冒充孙悟空,两个长得一模一样的齐天大圣站在唐僧和师弟们面前,他们都分不出来哪个是真的。


现在经典密码学中普遍采用的认证方法,是利用公开密码体系。公开密码体系RSA也可以做认证。假如Bob 有一笔很大的款项要发给Alice,他要确认Alice 是不是真的Alice。作为身份认证,Alice 可用私钥加密一个认证信息Ay=A^Da,把y 发送给Bob 以证明她就是拥有公钥Ea的用户。Bob 收到y 后,利用公钥Ea 解密y 得到Ay^Ea=A。这一步确认了这个信息y 是发自公钥为Ea 的用户。但是这并不能证明这个有公钥Ea 的用户就是Alice。如果另一个用户Eve 假装是Alice,用她自己的私钥De加密A,得到A^De=y',并将y'发送给BobBob Eve 的公钥Ee 解密y',也可以得到A,这样Bob 就无法判断哪个是真正的Alice。就像孙悟空、六耳猕猴长得一模一样、都有金箍棒,唐僧无法判断一样。在经典网络中,这一问题是靠一个大家都信任的超级网络管理者来解决的。


网络超级管理者用自己的私钥Dsuper 加密一个证书,上面写着证明Alice 的公钥为Ea,大数为Na。他也给Bob 做一个证书,证明Bob 的公钥为Eb,大数为Nb。这样,任何人都可以使用超级管理者的公钥Esuper 来解密这个证书,读出证书的内容,认可Ea的拥有者就是AliceEve 得不到这样的证书,就无法假装成Alice 了。在西游记中,这个超级网络管理者就是如来佛。网络管理者需要做的认证书的个数,就是网络中的用户数目,每个用户只需要有一个大数N和一个公钥E即可。


在量子保密通信中,尚没有量子版本的非对称密码体系。身份认证和网络认证可通过让Alice Bob 事先共享一组密钥K 来解决。由于Alice Bob 事先见过,他们能够肯定掌握这组密码的人就是Alice Bob,这样解决了网络认证的问题,即拥有这组密码的人就是Alice BobAlice Bob 有这组密钥,而Eve 没有,这样Bob Alice 发来共享的密钥K,就可证明发信息的人是Alice。当然Alice发送的时候,一定要保密,不然的话,Eve 得到了这个共享密钥,就可以假装成Alice,使得Bob 无法判断真假。在西游记中就有生动的例子,本来唐僧或者观音菩萨可以采用念紧箍咒,看是否头疼的方法来判断,只有真的孙悟空才会头疼。如果他用这个方法分别地来测试,就可以判断真假。但是他把两个猴子叫到一起,这时候六耳猕猴就偷偷地学孙悟空装疼,躲过了甄别。


采用共享密钥的方法进行认证,比用公开密钥生成证书的方法要复杂。任何两个用户都需要共享一组密钥,这样,整个网络里需要共享的密钥数量就是NN-1/2,也就是N的平方量级,N是网络的用户数量。对于一个拥有5 万用户的网络,采用公开密码方法生成证书的方法认证,只需要发放5万个证书,而采用互相共享密钥的方法,则需要共享的25亿组密钥,大大增加了复杂度。


如果Alice Bob事先没有共享密钥K,他们可以通过都信任的第三方Charlie 来完成。Charlie 可以分别和Alice Bob 进行保密通信,例如可以采用量子密钥分发+一次一密经典加密通信,或者量子直接通信,让Alice Bob 共享密钥,以便他们完成认证。这样Charlie 要首先和每个用户都建立一组密钥,任何其他两个用户想进行认证,都需要Charlie 来帮助他们,共享一组密钥。其数量和事先见面共享密钥的数量一样,也是平方的复杂度。


总之,量子保密通信中,由于网络认证和身份认证出现的中间人攻击是可以解决的。并不像Emmanuel Desurvire 教授书中说的那样没有解决。经典认证和量子认证各有自己的优缺点。基于RSA 等公开密码体系的身份认证体系在复杂度上更有优势,适合在大型网络中使用。但是由于经典密码算法的绝对安全性没有得到证明,即使现在发展的后量子密码算法,也无法证明其绝对安全性,就像NIST 负责后量子密码的首席科学家Dustin Moody 所说,因为担心未来有人破解,所选择的候选后量子密码算法选择了多种途径。而采用量子通信来建立的网络认证和身份认证,其安全性在原理上已经得到了证明,其缺点是复杂度高,不利于在大型网络中使用。因而在实际应用中,可以根据其不同的使用场景,选择相应的认证方法。





本文选自《现代物理知识》2021年第2期  YWA摘编




《现代物理知识》

搜索微信号

mpihep

长按扫码关注我们


本文经授权转载自《现代物理知识》微信公众号


往期精彩回顾


1.富氢高温超导材料

2.图像和模型——物理学的工具和对象

3.师徒反目的缘由及其教训 | 谈书说人之四

4.缪子物理实验现状及发展前景

5.MuSR技术在凝聚态物理中的应用

6.缪子成像及元素成分分析

7.薛定谔方程该写成什么样儿?丨贤说八道

8.科学史上最经典的“大力出奇迹”,莫过于用“土法制冷”挑战绝对零度

9.在质子的内部,有一片夸克海

10.每秒钟有万亿个中微子穿过你的身体,你却一无所知 | 占亮——科学讲坛


展开
收起