目前已建和在建的量子通信工程其實隻是“量子密鑰分發”,就是利用量子物理原理在通信用戶之間分發密鑰,目的是為傳統對稱密碼在加密和解密時提供必不可少的密鑰。由此可知,“量子密鑰分發”分發的不是“量子的密鑰”,而是用量子手段分發“傳統的密鑰”。因此必須明白,“量子密鑰分發”線路的兩端最終得到的就是傳統密鑰的明文,它們就是一連串的“0”和“1”的傳統電信號。
通過“量子密鑰分發”在線路的兩端產生密鑰隻是中間過程,密鑰隻有輸入進計算機、智能手機等用戶設備之中,最後提供給加密解密程序後才是“量子密鑰分發”的全過程。而用戶設備都是在它的係統內核中進行加密解密操作,密鑰從“量子密鑰分發”(QKD)送達“係統內核”必須經過二段路程:QKD設備 -> 用戶設備外接口(圖中紅色線段);用戶設備外接口 -> 係統內核(圖中橙色線段)。
從QKD到係統內核的這二段路程對於密鑰而言就是它九死一生的華容道,密鑰在這條道上是毫無保護地一路裸奔,因為密鑰在這二段路程上完全是以明文形式傳輸的[1]。雖然這二段路程的長度可以縮短到幾個公分,但是隻要這個長度不為零,無孔不入的黑客就有了竊取密鑰信息的大好機會。“千裏之堤潰於蟻穴”,同樣的道理,傳輸密鑰的萬裏通信線路上隻要有幾公分的安全隱患,整條通信線路就會毀於一旦。以目前的技術水平,讓QKD與每個用戶設備的距離縮短到幾個公分以下根本不現實,即使到了將來QKD設備變成一個芯片,從芯片到係統內核依然存在密鑰被竊的空間。
在傳統密鑰分發的過程中(見圖片的下部),密鑰本身是被加密後以密文形式傳輸的,密鑰離開係統內核後全程以密文形式安全送達另一端的係統內核中,密鑰的密文隻有在接收端的係統內核裏才被解密為密鑰的明文。傳統密鑰分發一路綠燈,“全程不解密,神仙難下手。”黑客沒有竊取密鑰信息的機會。
對密鑰全程加密傳輸是保障“傳統密鑰分發”安全的關鍵,加密技術可以使用公鑰密碼。公鑰密碼目前是足夠安全的,抗量子攻擊的公鑰密碼PQC也已經成熟,從工程角度來看傳統密鑰分發的安全性是有保障的。如果非要以原則說事,傳統密鑰分發也可以使用對稱密碼加密技術。如果認為對稱密碼也不安全,那麽為什麽“量子密鑰分發”後要用對稱密碼加密解密呢?身份認證、可信中繼站接力傳遞不都要使用對稱密碼嗎?總不能認為量子通信工程用對稱密碼是安全的,別人用就是不安全的吧?“量子物理”無論有多高大上,也不能不講理吧?
傳統密鑰分發對密鑰加密的技術是安全的,更關鍵的是,傳統密鑰分發過程中密鑰是全程加密傳輸,其安全性就遠超“量子密鑰分發”,而量子密鑰分發過程中在多個地段密鑰是裸奔的,造成了嚴重的安全隱患。
“量子密鑰分發”過程中密鑰裸奔不僅發生在上述的二段路程上(QKD設備 -> 用戶設備外接口 -> 係統內核),其實在量子通信幹線的所有可信中繼站裏麵密鑰也是多次反複裸奔(見圖中黃色線段)。同樣道理,密鑰裸奔也發生在量子衛星密鑰分發的衛星地麵接收站裏。量子通信可信中繼站和量子衛星中密鑰的裸奔問題已有專文分析,詳見《量子通信技術困境之三:極不安全的可信中繼站》。
無論是通過光纖還是使用衛星,“量子密鑰分發”是用量子物理原理以明文方式分發傳統的密鑰,而不是分發量子的密鑰。請注意,量子通信的要害是以“明文”分發“傳統”的密鑰。在量子信道中,密鑰的信息受到量子不可克隆原理的保護也許還是安全的[2]。但是一出量子信道密鑰信息沒有任何掩護,它是完全裸奔的,密鑰無時無刻不處於高危狀態
“量子密鑰分發”用昂貴的設備和光纖建立起量子信道,密鑰或許在量子信道中有某種程度的安全,它們有點像華北抗日戰場上的日本兵一刻也離不開鐵路和公路幹線,否則便是被動挨打的命,這種仗怎麽打?“量子密鑰分發”就是使用錯誤的武器、在錯誤的地方打了一場錯誤的戰爭。信息安全的攻防前沿不在密鑰分發,傳統密鑰分發是安全的,使用物理手段解決數字世界的安全問題會衍生出許多副作用,戰況常常是殺敵八百、自傷一千。
現今密鑰的安全的攻防主戰場不在分發過程中,而在存放和使用中。密鑰在“分發”和“存放和使用”過程中麵臨著不同的安全威脅。在分發過程中,密鑰都是用“公鑰密碼”或“對稱密碼”加密後始終以密文形式呈現的,所以盡管密鑰分發時跨越千山萬水,但是相對來說還是安全的。在密鑰的管理過程中,密鑰在計算機係統中常常不得不以明文的方式呈現,攻擊者利用計算機係統中的各種漏洞可以直接取得密鑰的部分甚至全部信息。
所以對於密鑰安全而言,“分發”不是難堪處,“管理”方為大問題!從某種角度來看,其實“量子密鑰分發”過程中的安全隱患也可歸結於密鑰的管理問題,“量子密鑰分發”在密鑰的“分發”上不具優勢,卻大幅增加了密鑰在“管理”方麵的難度和風險,這是為什麽“量子密鑰分發”沒有什麽工程現實意義的重要原因。關於密鑰管理中的許多技術細節我另有專文分析。
本文在征求意見過程中,有人提出了一個問題:“量子密鑰分發”過程中,密鑰從QKD -> 用戶設備外接口 -> 係統內核的二段路程上,為什麽不可以也用傳統密碼加密後傳輸,這不就安全了嗎?這是一個好問題。從工程角度看,確實可以把密鑰加密後從係統內核送至QKD設備,這樣密鑰的傳輸就是安全的。但是請再問一句,那為什麽不讓密鑰在加密狀態下一路直接送達另一端呢?既然密鑰在加密狀態下送一公尺是安全的,送一千公裏一樣也是安全的,那麽究竟還要量子通信幹線做什麽呢?
記得奧卡姆剃刀原則嗎?“如無必要,勿增實體。”通過密鑰分發的安全性分析再次證實量子通信缺乏工程化的必要性。
注釋
[1] 本文在征求意見時,一位密碼學專家(Cyberman)指出:不一定是線路傳輸,也可放在存儲介質攜帶傳遞。但不論怎麽樣,“隻要量子密鑰接收器沒有部署在加密終端中,量子密鑰分發的安全性等同傳統的密鑰傳遞。”
[2] IT資深工程師李紅雨評語:
我覺得這個陳述:"在量子信道中,密鑰的信息受到量子不可克隆原理的保護也許還是安全的"可以拿掉,一方麵,不可克隆原理不管準確與否(激光就是他們無法克服的解釋困境,而且不可克隆原理的證明其實證明的向量分解形式的疊加態,可以反問的是,力的正交分解難道算是疊加態?),有個前提條件就是必須單量子,這是在實驗室裏麵也無法實現的條件,是絕對理想化的物理環境,隻要超過一個單量子,就絕對不安全;另外量通采用的誘騙態就更是弱激光強度與偏振信號調製與檢出,其實都算不上什麽單量子效應了,弱信號調製技術。所以覺得不用給量通的安全性做背書,在量子通道他們也不安全。還有傳統密鑰分發的安全性根本不是一個需要討論的問題,因為這種分發過程本身就是采用標準的加密算法加密發送的,密鑰的安全性與加密算法的安全性等價,如果量通分發的密鑰仍然用在傳統加密算法上,起碼他們還是承認傳統加密算法的安全性,那麽就不存在密鑰分發安全性這個偽問題。不能為了單純引入量子這個角色到密碼領域這個目的,來臆造一個不存在的所謂密碼危機。
[3] 量子通信工程的技術困境匯總: