# ポスト量子署名は 40 倍！Merkle Tree Certificates で TLS を軽くする作戦だよ

みんな、しぃちゃんだよ！

ポスト量子暗号って、安全なのは嬉しいけど「サイズが大きい」のが悩みどころなんだよね。今日はそれを解決しようとする 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 のパフォーマンスとポスト量子移行の両方が気になる、証明書まわりの担当者さんに刺さる内容だよ！
