AIと量子波形が旧来の暗号を解読する様子と、2024年のNIST PQC標準化、2029年の準備目標を示すロードマップ。PQCへの移行ステップ(監査、計画、テスト、展開)と、未来に向けたセキュリティ強化を視覚的に表現しています。

はじめに

「量子コンピュータが現在の暗号を解読できるようになるのは、まだ遠い未来の話だ」という楽観的な見方が、徐々に崩れつつあります。
Cloudflareの暗号エンジニアたちによると、AIの急速な進化が量子コンピューティングと組み合わさることで、RSAやECCといった現行アルゴリズムを脅かすタイムラインが従来の想定よりも前倒しになっている可能性があるとのことです。

正直なところ、この話を最初に聞いたときは「またセキュリティの煽り話では?」と思いました。
しかし実際に調べてみると、すでにNISTがポスト量子暗号(PQC)の標準規格を2024年に策定し、Cloudflare自身もTLS 1.3でPQCのハイブリッド実装をロールアウト済みであることがわかりました。
問題は「理論的にいつか来る」ではなく「2029年を目安として今から対応を進める」フェーズに入っているということです。

こんな人におすすめ

  • Webアプリケーションのインフラ設計に携わっているエンジニア
  • TLSやHTTPSの仕組みをひと通り理解していて、次のセキュリティレイヤーを把握したい方
  • Cloudflare ProxyやCDNを本番環境で利用しているチームのメンバー
  • 医療・金融・法務など長期間保存が必要なデータを扱うシステムを担当している方
  • セキュリティ監査や脆弱性対応の経験があり、移行コストの見積もりに興味がある方

なぜ今の暗号が危ないのか

現在広く使われているRSAやECDSAは、「大きな数の素因数分解」や「楕円曲線上の離散対数問題」が計算困難であることを前提にしています。
古典コンピュータでは、これらの問題を現実的な時間内に解くことは事実上不可能です。
しかし量子コンピュータで動作するショアのアルゴリズム(Shor’s Algorithm)を使うと、理論上はこれらの問題を多項式時間で解けてしまいます。

さらに近年注目されているのが、「Harvest Now, Decrypt Later(HNDL)」と呼ばれる攻撃手法です。
攻撃者は今この瞬間に暗号化された通信データを収集・保存しておき、将来量子コンピュータが実用化された段階で一括解読するというシナリオです。
機密性の高いデータほど、現時点からの対策が求められます。

AIがタイムラインをさらに加速させる理由

量子コンピュータだけでも懸念材料ですが、AIがこの脅威をさらに加速させています。
実際に試してみると、次のような影響が観察されています。

  • アルゴリズム探索の高速化: AIを使った自動化により、量子回路の最適化や誤り訂正コードの設計が進んでいます
  • サイドチャネル攻撃の高度化: 機械学習による電力消費パターンやタイミング解析が、実装レベルの脆弱性を突きやすくなっています
  • ハードウェア設計の補助: AIが量子チップの設計を支援することで、物理実装のハードルが下がりつつあります

現時点での脅威レベルは「直ちに危険」ではありませんが、2029年という目安を考えると、特に長期保存データを扱うシステムは今から移行計画を立てておくべき段階に来ていると言えます。

NISTが標準化したポスト量子暗号アルゴリズム

NISTは2024年8月、以下のアルゴリズムをPQC標準として正式採択しました。

アルゴリズム名 旧称 用途 根拠問題
ML-KEM CRYSTALS-Kyber 鍵カプセル化(KEM) 格子問題
ML-DSA CRYSTALS-Dilithium デジタル署名 格子問題
SLH-DSA SPHINCS+ デジタル署名 ハッシュ関数

CloudflareはすでにTLS 1.3において、従来のX25519とKyberを組み合わせたハイブリッド鍵交換X25519Kyber768Draft00)を実装・提供しています。
現行の暗号との後方互換性を保ちながら量子耐性を追加する、移行期の現実的なアプローチです。

実際にできること——今日から始める移行ステップ

1. 自分のシステムで使われているアルゴリズムを棚卸しする

まずは現在の暗号利用状況を把握することが第一歩です。

# TLS接続で使われている暗号スイートを確認する
openssl s_client -connect example.com:443 -tls1_3 2>&1 | grep "Cipher is"

# 証明書の公開鍵アルゴリズムを確認する
openssl s_client -connect example.com:443 2>&1 \
  | openssl x509 -noout -text \
  | grep "Public Key Algorithm"

RSA-2048やECDSA P-256が出てきた場合、長期的な移行計画の対象です。

2. Cloudflare経由のサイトはPQC対応を有効化する

CloudflareのAPIから、ゾーン単位でポスト量子暗号を有効にできます。

# Cloudflare API経由でPQCをpreferred(推奨)設定にする
# ZONE_IDとAPI_TOKENは実際の値に差し替えてください
curl -X PATCH \
  "https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/settings/post_quantum_encryption" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  --data '{"value":"preferred"}'

preferredに設定すると、クライアントが対応している場合に自動的にPQハイブリッド鍵交換が使われます。
既存のクライアントとの互換性は維持されるため、導入コストは比較的低い目安です。

3. Pythonでポスト量子暗号ライブラリを試してみる

実験目的であれば、liboqsのPythonバインディング(liboqs-python)を使って手元でPQCを体験できます。

from oqs import KEM

# ML-KEM(Kyber768)による鍵カプセル化の例
with KEM("Kyber768") as kem:
    # 受信者側:公開鍵と秘密鍵を生成
    public_key, secret_key = kem.generate_keypair()

    # 送信者側:公開鍵から共有鍵を生成してカプセル化
    ciphertext, shared_key_sender = kem.encap_secret(public_key)

    # 受信者側:秘密鍵でカプセルを解いて共有鍵を取り出す
    shared_key_receiver = kem.decap_secret(ciphertext, secret_key)

    assert shared_key_sender == shared_key_receiver
    print(f"共有鍵(先頭16バイト): {shared_key_sender[:16].hex()}")

実際に動かしてみると、処理自体は数ミリ秒以内に終わることがわかります。
従来のECDHに比べて鍵サイズは大きくなりますが、処理速度への影響は目安として許容範囲内と感じられます。

つまづきやすいポイント

  • アルゴリズム名の混在: NISTが最終化した正式名称(ML-KEMなど)と旧称(Kyber)がドキュメントやライブラリ内で混在しており、調査時に混乱しやすいです。NISTの最終標準ドキュメントを正とするのが安全です
  • 証明書署名はまだ対応外: 現時点のCloudflareのPQC対応は鍵交換層のみです。証明書の署名アルゴリズム自体をML-DSAへ移行するには認証局(CA)側の対応が必要で、普及にはまだ時間がかかる見込みです
  • 社内通信も棚卸しが必要: HTTPS/TLSだけでなく、SSH、VPN、内部マイクロサービス間のmTLSなども対象として洗い出す必要があります
  • パフォーマンスへの影響はケースバイケース: ハンドシェイク時のデータ量が増えるため、低帯域・高レイテンシ環境では影響が出る可能性があります。本番移行前に実環境に近い条件でのベンチマークをおすすめします

まとめ

AIと量子コンピュータの組み合わせによる暗号脅威は、もはや「遠い未来の話」ではなくなっています。
Cloudflareのエンジニアが示した2029年という目安は、長期保存データを扱うシステムにとって、今から動き始めてもギリギリの時間軸です。
まずは自分のシステムで使われている暗号アルゴリズムの棚卸しから着手し、Cloudflare利用箇所のPQC有効化など、導入コストの低い対応から順番に進めることをおすすめします。
NISTの標準が固まった今、「いつか対応する」から「段階的に移行する計画を立てる」フェーズに切り替えるタイミングです。


ポスト量子セキュリティへの移行計画や暗号アーキテクチャに関する技術相談・レビューは、技術顧問・社外CTOとしてご相談を承っています。詳細はココナラ出品ページをご覧ください。