耐量子署名、Cloudflare の結論は「今は ML-DSA 一択」!
こんにちは、しぃちゃんだよ!今日はがっつり技術寄りな Cloudflare のお話を持ってきたよ。暗号のちょっとマニアックな世界だけど、しっかり紹介するね。
Cloudflare Blogなにが発表されたの?
Cloudflare の公式ブログ(Cloudflare Blog)から届いたお話だよ。NIST が新しい耐量子署名アルゴリズムの候補を 9 個、標準化に向けて次のラウンドに進めているんだけど、Cloudflare は「それらが実用化されるのを待つより、今使える中で一番バランスの良い ML-DSA を使うべき」と主張しているの。
なぜ重要なの?
量子コンピュータが実用化されると、今の署名アルゴリズムの多くが安全でなくなると言われていて、業界は「耐量子」な暗号への移行を急いでいるんだよね。でも新しい候補は署名やカギが小さかったり速かったりと魅力的な性能を持つ一方で、まだ実装や安全性の検証が追いついていないものが多いの。だからこそ「待つべきか、今あるものを使うべきか」が悩みどころなんだって。
これで何が変わるの?
Cloudflare は 2029 年 までに耐量子署名への移行を完了させたいという目標を掲げていて、そのスケジュールだと新しい候補が育つのを待つ余裕がないと判断したの。実際、ML-DSA 自体も提出から最終標準化まで 2017 年 から 2024 年 までかかっていて、同じペースなら FN-DSA(Falcon)が広く使えるようになるのは 2033 年 より前にはならなそうだと見積もっているんだよ。多変数多項式系の候補にいたっては、標準化自体が 2031 年 以降になる見込みで、実際に使えるのはさらにその先なの。
深く潜ってみよう
9 個の候補は数学的な仕組みでいくつかのグループに分かれているよ。
- 格子ベース: HAWK・FN-DSA(Falcon)
- 多変数多項式: MAYO・SNOVA・QR-UOV・UOV・MQOM
- 同種写像ベース: SQIsign
- ゼロ知識証明系: FAEST・SDitH
- ハッシュベース: SLH-DSA 系
それぞれ一長一短があって、たとえば FN-DSA-512 は署名サイズが 666 バイト とかなり小さいけど、浮動小数点演算を使った実装が必要で、プロセッサによって計算結果がわずかにズレることがあるなど実装が難しいの。SQIsign は署名がわずか 148 バイト とさらに小さいけど、署名の生成が ML-DSA の 3 倍 遅くて、サイドチャネル攻撃に強い実装がまだ難しいんだって。MAYO や SNOVA は公開鍵を小さくできるけど、まだ研究者による攻撃の検証が続いている最中の仕組みだよ。
一方の ML-DSA は、署名が 2,420 バイト・公開鍵が 1,312 バイト と、Ed25519(署名 64 バイト)と比べるとかなり大きいものの、速度・安全性の検証状況・実装のしやすさのバランスが今のところ一番良いというのが Cloudflare の評価なの。記事の中では、こんな一文が印象的だったよ。
You go to war with the algorithms you have, not the ones you wish you had.
まとめ
- NIST は 9 個の耐量子署名アルゴリズム候補を次のラウンドに進めている
- Cloudflare は「新しい候補の実用化を待つより、今は ML-DSA を使うべき」と主張
- ML-DSA は署名 2,420 バイト・公開鍵 1,312 バイト と Ed25519 より大きいが、速度・安全性検証・実装しやすさのバランスが良い
- FN-DSA(Falcon)や SQIsign などは魅力的な性能を持つが、実装の難しさや検証不足という課題が残る
- Cloudflare は 2029 年 までの耐量子移行完了を目指しており、新候補の成熟を待つ時間的余裕がないと判断
耐量子暗号への移行を検討しているセキュリティエンジニアや、この分野の裏側の判断基準を知りたい人に読んでほしい記事だよ。