ポスト量子署名は 40 倍!Merkle Tree Certificates で TLS を軽くする作戦だよ
みんな、しぃちゃんだよ!
Cloudflare Blogポスト量子暗号って、安全なのは嬉しいけど「サイズが大きい」のが悩みどころなんだよね。今日はそれを解決しようとする Merkle Tree Certificates(MTC)のお話だよ!
なにが発表されたの?
Cloudflare の Blog で、Cloudflare の新しい認証局が MTC の発行に対応する、という技術解説が公開されたよ。MTC は IETF の PLANTS ワーキンググループのドラフト仕様で、業界の幅広い支持があるんだって。
なぜ重要なの?
ポスト量子署名は、従来の署名のおよそ 40 倍の大きさなの。そのまま証明書チェーンに使うと、TLS ハンドシェイクが膨らんで、Certificate Transparency(CT)ログが保存するデータも 40 倍に増えちゃうんだって。2029 年までのポスト量子移行に向けて、ここを軽くする仕組みが必要になるよ。
これで何が変わるの?
- 証明書ごとに署名するのではなく、ツリーのルートに署名するので、送るデータが小さくなる
- 発行とログ記録が一体になるので、透明性が「おまけ」ではなく仕組みの一部になる
- Cloudflare の CA は MTC の発行を無料でサポートする予定
深く潜ってみよう
仕組みはこんな感じだよ。CA は証明書をまとめて追記専用の Merkle ツリーに入れて、ツリーのルートに署名するの。クライアントは、署名済みのツリーヘッドに対して、ハッシュの列でできた小さな包含証明(inclusion proof)を使って証明書を検証するよ。
証明書には 2 つの形があるよ。
- Standalone: 署名に、コサイン済みのツリーヘッドと包含証明が入る
- Landmark-relative: クライアントがツリーヘッドを別経路で入手できる場合、署名には軽量な包含証明だけが入る
Landmark-relative では、送るのは公開鍵 1 つ、署名 1 つ、そして 1 kB 未満の包含証明 1 つだけなんだって。
実績としては、Chrome Beta 146 での実験で数十億件の MTC が配信されて、landmark MTC は従来の署名チェーンより 9% 速かったそうだよ。この実験は 2026 年 8 月に終了しているよ。
Cloudflare の CA 側の計画はこうだよ。
- Let's Encrypt の ACME ソフトウェア Boulder をフォークして使う
- オープンソースの Rust 製透明性ログ Azul で、ミラーリングするコサイナーを運用する
- Chrome のポリシーに従い、少なくとも 1 つの独立したコサインを必須にする
- 本番展開の前に Chrome の厳格な評価を受ける
Chrome の Quantum-resistant Root Store への収録は、2027 年前半を目標にしているみたい。
まとめ
- ポスト量子署名は従来の約 40 倍で、ハンドシェイクと CT ログを膨らませるよ
- MTC は署名をツリーのルートにまとめ、1 kB 未満の包含証明で検証できるよ
- Chrome Beta 146 の実験では数十億件を配信し、従来のチェーンより 9% 速かったよ
- Cloudflare の CA は MTC を無料で発行し、Boulder のフォークと Azul を使うよ
TLS のパフォーマンスとポスト量子移行の両方が気になる、証明書まわりの担当者さんに刺さる内容だよ!