為什麼量子密鑰分配 (QKD) 不切實際
在 NSA 的關於量子計算和後量子密碼學的常見問題解答中,它被稱為
問:我應該使用 QKD 系統來保護我的 NSS 免受量子電腦的攻擊嗎?
答:不。所涉及的技術具有重要的科學意義,但它只解決了一些安全威脅,並且需要對 NSS 通信系統進行重大的工程修改。NSA 不認為 QKD 是保護國家安全資訊的實用安全解決方案。未經直接諮詢 NSA,NSS 所有者此時不應使用或研究 QKD。對於具體問題,NSS 所有者可以聯繫 NSA。
在一條推文中,奈傑爾·斯馬特(Nigel Smart )回應為
不只是 NSA 沒有看到 QKD 的意義。
所有嚴肅的密碼學家都這麼認為……
雖然有許多公司和研究人員致力於這些,但為什麼量子密鑰分發 (QKD) 不切實際?
當我們說解決方案不切實際時,我們並不是說它根本行不通。相反,我們的意思是它與解決同一問題的其他方法相比存在嚴重缺陷。例如,可以乘飛機去拜訪住在 100 米外的鄰居;我們都同意有相當簡單的方法,因此使用飛機是“不切實際的”。
QKD試圖解決的問題是安全通信;也就是說,愛麗絲如何以“安全”的方式向鮑勃發送消息。當然,為了確定實用性,我們需要考慮其他可能的解決方案以及它們與 QKD 解決方案的比較。在這種情況下,顯而易見的替代方案包括完全基於對稱的系統(例如,類似 Kerberos 的系統),以及使用後量子密碼學的系統(例如,Classic McEliece 和 Sphincs+)
$$ 1 $$. 我在下面勾勒的構想是大多數專家的意見,應該比較清楚。
以下列出了解決方案不同的一些要點:
QKD 需要特定類型的媒體才能執行
截至目前,QKD 只能在中短長度(< 400 公里)光纖和自由空間通信(將雷射指向視距內的目標)上進行展示
$$ 2 $$. 如果您現有的網路大量使用任何其他媒體(例如微波或衛星或長距離光纖或 WiFi),那麼您必須重新設計大部分網路(祝您好運,嘗試獲得安全連接從倫敦到東京)。 相反,替代解決方案沒有這樣的限制。
安全假設是什麼?
QKD 支持者經常聲稱“量子力學定律暗示不可複製定理,因此您的數據可證明是安全的”。雖然第一部分肯定是正確的,但並不一定意味著數據是安全的。畢竟,量子力學定律並不能證明你的 QKD 設備實際上是按設計執行的,也不能證明沒有旁道攻擊(即攻擊者利用抽像模型之外的資訊進行攻擊)使攻擊者)可用。這些是 QKD 使用者需要做出的安全假設(除了相對安全的“QM 是對宇宙的良好描述”假設之外)。現在,QKD 供應商意識到了這一點,並嘗試提供保護——您仍然需要假設他們沒有遺漏任何東西。來自 The Register 的文章。
當我們查看替代解決方案時,它們是基於復雜性的(也就是說,它們假設攻擊者必須解決的計算問題太難了)。乍一看,這似乎更強大
$$ 3 $$假設; 但是我們可以相當便宜地使用過度設計的加密(例如 5xAES256 或 AES-ChaCha-Serpent 組合,或矩陣大小加倍的 McEliece);這樣做肯定是有代價的;然而,其成本遠低於 QKD 系統。因此,我將這一點稱為平局…… 您打算如何驗證密鑰交換?
普通密鑰交換只能保護您免受被動觀察者的侵害。但現實世界的對手往往拒絕遵循我們理想化的攻擊模型。如果您想要(並且您確實)保護免受可能發起中間人攻擊的活躍對手,您需要經過身份驗證的密鑰交換(參見例如本文)。鑑於不存在神奇的無假設量子簽名方案,您將如何進行身份驗證?你有兩個選擇:
(1) 採用傳統的(計算安全的)簽名方案。但是,您首先放棄了使用 QKD 的原因,即避免計算假設。如果您選擇 (1),那麼您絕對應該考慮只執行一個具有計算安全性的經典認證密鑰交換協議,例如基於 LWE 或編碼理論假設的協議。(*)
(2) 使用短的預共享隨機密鑰,由製造商在設備中硬編碼,然後使用 Carter-Wegman MAC 和 QKD 在此過程中重新生成共享密鑰材料。但是,恭喜:您已經成功地用可信設置假設取代了經過充分研究的計算難度假設:假設製造商是完全可信的第三方,他們誠實地在設備中硬編碼統一隨機相同的密鑰,當然沒有保留此密鑰的任何痕跡,也沒有與其他任何人共享。如果您熟悉密碼學,這應該會敲響警鐘:避免這種類型的可信設置假設是密碼學的重點。在這種情況下,我敦促您考慮“LWE 是安全的”假設“我的製造商非常誠實,不貪婪,不會被破壞,並且不會保留密鑰或與任何人共享”。
(*) 為了完整起見,有兩種方法我們應該降低 (1) 一點:(a) 一個人可能更喜歡擁有完美的隱私和計算身份驗證,因為前者是永恆的,而後者是現場的;(b) 簽名可以從對稱密碼學中建構,理論上可能存在對稱密碼術而公鑰密碼術(密鑰交換所必需的)不存在。現在,這是一個很小的理論視窗,但如果這是您所擔心的,並且您準備支付 QKD 的成本來應對這種恐懼,那麼從技術上講,這是一個正當的理由。
你打算用這個共享密鑰做什麼?
QKD 只是為雙方提供了一把鑰匙;我們如何使用這個密鑰來保護消息(畢竟這是本練習的全部內容)?
如果您打算使用它們來使用 AES 加密您的數據,那麼您再次做出了計算假設,並且您再次失去了 QKD 承諾提供的這個完美的隱私。所以,在這裡,你不是為了獲得完美的安全性而付出 QKD 的代價,而只是為了獲得依賴後量子對稱假設(例如“AES 對量子電腦是安全的”)而不是公鑰假設的能力。而且,請記住,我們的替代方案之一已經僅依賴於這種對稱假設。
另一方面,如果您使用 QKD 生成的密鑰流直接加密數據(希望使用資訊安全的 MAC),那麼我們會遇到下一個問題 - QKD 系統沒有那麼快。現在,隨著時間的推移,它們的速度越來越快,並且鑑於性能是一個工程問題,而不是基於物理的限制,隨著時間的推移,這種加速似乎是合理的。然而,他們現在的速度遠低於真實網路的執行速度——這是一個重要的性能瓶頸。
成本
目前,QKD 系統很昂貴(成本一直在下降;但它們仍然很貴)。相比之下,替代解決方案可以廉價地在標準硬體上實施。
底線:替代方案在所有方面都一樣好或更好。
$$ 1 $$:我選擇不擴展的第三種選擇是“一次性填充”。我認為這也是不切實際的;但是它可能與OTP相比…… $$ 2 $$:量子糾纏已被證明是地面和衛星之間的概念驗證,但是在它們所擁有的和實際可用的系統之間還有很長的路要走。 $$ 3 $$:“更強”的意思是“我們必須承擔更多”。在這種情況下,“更強”是一件壞事——我們希望我們的安全假設盡可能地弱。