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,而且在這之外又要加上數量可觀的可信任中繼,由此引入更多的難以監控的不確定因素。