耐量子 TLS はすでに握手の中にいる、ただし解決したのは半分だけ
ブラウザと CDN は X25519MLKEM768 のようなハイブリッド鍵交換を既定で交渉するようになり、「今保存して後で復号」はほぼ塞がった。署名の半分は未解決だ。
結論から。鍵交換の半分はほぼ解決済み。署名の半分は解決していない。
脅威モデルは「量子コンピュータが来る」ではない
本当の脅威は harvest now, decrypt later(今保存して、後で復号する)と呼ばれる。今日あなたのサイトの TLS 通信を丸ごと録って保存し、量子コンピュータが使えるようになってから復号する。
厄介なのは、今成功する必要がないことだ。今日録ったセッションが十年守るべき内容を含むなら、その十年のうちに量子コンピュータが来れば、その録音は元を取ったことになる。
だから「量子コンピュータが出てから考える」話ではない。判断基準は 守るべき情報の機密保持期間だ。医療記録、身分証、長期鍵 —— これらは数十年単位で、今から扱う価値がある。
NIST は 2024 年に三つの標準を確定した
- FIPS 203 — ML-KEM:鍵カプセル化。ECDH などの鍵交換の置き換え
- FIPS 204 — ML-DSA:デジタル署名
- FIPS 205 — SLH-DSA:ハッシュ基盤のもう一つの署名系。署名は大きいが仮定は保守的
ブラウザと CDN が取った策:ハイブリッド
現在の主要ブラウザと CDN が既定で交渉するのは X25519MLKEM768 のようなハイブリッド群だ。古典的な楕円曲線と耐量子 KEM を同時に走らせ、両方の出力を結合して鍵材料にする。
ハイブリッドは移行期の手抜きではなく、意図的な選択である。
- 耐量子アルゴリズムは解析の歴史が圧倒的に短く、十年後に新しい攻撃が出ないと誰も保証できない
- 古典アルゴリズムは将来破られても、今日はまだ安全
- 両方走らせれば、どちらか一方が持ちこたえればセッションは持つ
代価は握手一回につき KEM が一回増えること。得られるものに比べれば誤差だ。
なぜ「半分」なのか
鍵交換は一時的な秘密を交渉する。変更は握手の内部で完結し、上位層は何も気づかない。だからブラウザと CDN が上げれば、こちらは何もしなくても手に入る。
署名は違う。 証明書チェーンの各環の署名を耐量子アルゴリズムに替える必要があり、しかも耐量子の署名と公開鍵はずっと大きい —— 署名は 2 KB を超え、公開鍵もキロバイト級。連鎖して二つの問題が起きる。
- 証明書チェーンが太る。 三段のチェーンなら、署名と公開鍵だけで数 KB 増える。
- 握手が単一 TLS レコードの容量を超えうる。分割が起きたり、中間機器のバッファ上限に当たったりする。
二つ目が運用で最も嫌な形だ。普段は何も起きない。ある日 CA を変えるか中間証明書を一段足した瞬間に、一部のクライアントが繋がらなくなる。
サイト運営者が今すべきこと
- CDN / クラウドの後ろにいるなら、鍵交換の半分はすでに無料で手に入っている。何もしなくていい
- 気にし始めるべきは証明書チェーンの長さ。TLS 1.3 を使い、不要な中間証明書は外す
- 自分で TLS を終端しているなら、使っているライブラリとバージョンが ML-KEM ハイブリッド群に対応しているか確認し、有効にする
- 耐量子を理由に署名アルゴリズムを今変えない。エコシステム(CA、OCSP、クライアント検証)が追いついていない
私の判断はこうだ。今回急いで動く必要はないが、「証明書チェーンの長さ」は点検項目に入れる。完全に問題なく見えたまま、ある日突然握手が失敗する典型で、この種の問題は予防より診断のほうがずっと高い。

コメント
…