M-23-02 究竟要求什麼:解碼到封包層的現實

M-23-02 常被引用為「聯邦後量子強制令」,而引用者通常把它讀成「現在就部署 PQC」。它不是那個意思。照字面讀,它近期具約束力的要求其實更窄、也更容易著手:搞清楚你那些易受量子攻擊的密碼學在哪裡。這是一道盤點問題—而一份盤點,解碼到封包層,遠比一次遷移來得小。

這份備忘錄真正說了什麼

OMB 第 M-23-02 號備忘錄《遷移至後量子密碼學》(2022 年 11 月),把第 10 號國家安全備忘錄 (NSM-10) 具體落實。它的核心義務是一份有優先順序的密碼系統盤點—重點放在高價值資產,以及任何在威脅期限之後仍會保存敏感資料的系統—再加上一位指定的遷移負責人與一份成本估算,層報至 OMB 與 ONCD。

它目前並不要求把生產環境切換到 ML-KEM。真正的替換時程—用哪些演算法,以及國家安全系統 2035 年的期限—存在於 CNSA 2.0 與已定案的 NIST 標準中(ML-KEM 即 FIPS 203),而非 M-23-02。所以聯邦的第一份交付物是一份清單,而不是一次切換。多數團隊把這份備忘錄想得太大、卡在遷移上;備忘錄只要求你先看清楚。

「盤點你的密碼學」,解碼之後

一筆盤點紀錄,在封包層上,就是每條 TLS 連線的三個欄位:協定版本、加密套件,以及金鑰交換群組。易受量子攻擊的部分是金鑰交換—非對稱的金鑰建立(ECDH、RSA),它會被 Shor 演算法徹底破解。對稱式 AEAD(AES-GCM、ChaCha20)只是被 Grover 演算法削弱,並不是盤點要找的對象。所以「這條連線是否易受量子攻擊?」就收斂成一個更小的問題:supported_groupskey_share 裡有什麼?

# 易受量子攻擊:僅傳統 ECDH
supported_groups
  0x001d  x25519
  0x0017  secp256r1

# 具量子抵抗力:混合 ECDH + ML-KEM-768
supported_groups
  0x11ec  X25519MLKEM768   # draft-ietf-tls-ecdhe-mlkem;ML-KEM 即 FIPS 203
  0x001d  x25519           # 保留作為後備

一份盤點,本質上就是把每一個觀察到的金鑰交換,歸入這兩個分類之一。這就是這項要求技術上的全部核心。

為什麼這首先是個可觀測性問題

你無法從設定檔產生這份盤點。在封包上協商出來的,並不是你設定檔裡寫的:客戶端與伺服器各自從對方提供的選項中挑選、函式庫在不同版本間有不同的預設、中介設備會改寫交握,而第三方呼叫與影子 IT 不會出現在任何你掌握的設定檔裡。協商出的群組,是每次交握、在執行期才決定的。

這意味著一份用資產試算表建立的盤點,從第一天起就是錯的—它記錄的是意圖,而不是真正跨越封包的位元組。「這個系統實際在用什麼密碼學」唯一具權威性的來源,就是交握本身。

# 唯一為真的盤點,是從封包取得的那一份
ClientHello  -> 提供:  0x11ec, 0x001d
ServerHello  -> 選擇:  0x001d        # 易受攻擊:伺服器沒有 ML-KEM

「完成」是什麼樣子

一份真正的盤點會持續回答:對每一項服務而言,有多少比例的交握協商出易受量子攻擊的群組、又有多少協商出混合群組。當那個數字顯示 100% 的 x25519,你就確切知道該遷移什麼。當它顯示 0x11ec,那條路徑已受混合式保護,可以從清單上移除。同一份找出易受攻擊密碼學的逐次交握紀錄,也正是你修好它的證據—而這正是備忘錄最終想要的稽核軌跡。

解碼 M-23-02 要求什麼,是容易的部分。要產出它真正想要的封包真相盤點—橫跨你無法控制的服務、且不更動端點—才是真正的工作,也是我們著手之處。看我們如何著手。盤點是更廣的後量子 TLS 遷移路徑中的第一步;封包層的背景知識,請見逐位元組解析 X25519MLKEM768讓後量子消失的錯誤

← 所有文章