見出し画像

量子コンピュータが今の暗号を壊す日に備えて、PQC(耐量子暗号)を調べてみた


はじめに

SecurityX(CompTIAのセキュリティ資格)の学習中、「格子暗号」という言葉が出てきた問題で見事に間違えたことがあります。

量子コンピュータの話が、なぜセキュリティ資格の試験に出てくるのか、最初はピンと来ていませんでした。「量子コンピュータの実用化なんて、まだ先の話では?」と思っていたからです。

しかし調べてみると、対策は量子コンピュータが完成してから始めればよい話ではなく、今から準備しておく必要があるテーマだと分かりました。

今回は、その内容を自分の理解のために整理してみます。

今は暗号文を盗むだけ、解読は将来に回す――量子コンピュータの脅威は、「未来の話」ではなく「今日から始まっている話」です。


今の暗号は「解くのが難しい数学」を利用している

現在広く使われている暗号は、大きく分けると「公開鍵暗号」と「対称鍵暗号」の2種類があります。そして、量子コンピュータによる影響は、この2つで大きく異なります。

まず、RSAやECC(楕円曲線暗号)といった公開鍵暗号は、「ある計算は簡単にできるが、その結果から元の情報を逆算することは非常に難しい」という数学的な性質を安全性の根拠にしています。

例えばRSAでは、大きな数を作ることは簡単ですが、その大きな数を元の素数に分解する「素因数分解」は、現在のコンピュータでは現実的な時間で解くことが困難です。ECCも同様に、ある計算結果から元の値を逆算することが難しい「楕円曲線離散対数問題」という数学的な問題を利用しています。

しかし、量子コンピュータには Shor's algorithm(ショアのアルゴリズム) という、こうした数学的問題を効率的に解くアルゴリズムがあります。そのため、十分な規模の誤り訂正量子コンピュータが実用化されると、RSAやECCといった現在広く使われている公開鍵暗号は、安全性を維持できなくなる可能性があります。

一方、AESのような対称鍵暗号は仕組みが異なります。AESでは、暗号化と復号に同じ鍵を利用します。その安全性は、攻撃者が鍵を総当たりで探すことが現実的に困難であることに依存しています。

量子コンピュータの Grover's algorithm(グローバーのアルゴリズム) は、この総当たり探索を高速化します。ただし、Shorのアルゴリズムのように暗号方式そのものを破壊するわけではありません。

例えばAES-128は、Groverのアルゴリズムによって総当たり探索のコストが平方根程度まで低下し、量子コンピュータ上では約64bit相当の安全性になると考えられています。そのため、量子時代を見据える場合はAES-256の利用が推奨されています。

つまり、

  • 公開鍵暗号(RSA/ECC)→ 量子コンピュータの影響が大きく、PQCへの移行が必要

  • 対称鍵暗号(AES)→ 影響はあるが、鍵長を適切に設定することで対応可能

という違いがあります。


「今は盗むだけ、解読は後回し」という厄介な攻撃

ここで出てくるのが Harvest Now, Decrypt Later(今は収集し、解読は後で) という考え方です。

現在は量子コンピュータで解読できない暗号でも、通信を盗み取って保存しておけば、将来的に量子コンピュータが実用化された時点で解読される可能性があります。

特に問題になるのは、政府・金融・医療など、何年、何十年経過しても価値が残り続ける情報です。CISA(米国サイバーセキュリティ・インフラセキュリティ庁)、NSA、NISTも、このリスクについて注意喚起しています。

出典:Quantum-Readiness: Migration to Post-Quantum Cryptography|CISA


新しい暗号「格子暗号」が量子にも強い理由

こうした背景から、量子コンピュータ時代に備えた暗号(PQC = Post-Quantum Cryptography、耐量子暗号)への置き換えが進められています。その中心となっているのが「格子暗号(Lattice-based Cryptography)」です。

格子暗号は、多次元の格子空間における数学的な問題の難しさを利用しています。格子問題とは、規則正しく配置された格子構造の中で、特定の条件を満たす点やベクトルを求める問題です。実際の格子暗号では、この格子は非常に高い次元で扱われるため、問題は極めて複雑になります。

現時点では、これらの問題を効率的に解く一般的なアルゴリズムは知られておらず、量子コンピュータに対しても有効な攻撃方法は確認されていません。

ただし、「絶対に解けない」ことが証明されているわけではありません。現在有効な攻撃方法が見つかっておらず、十分な安全性を持つと評価されているため、格子暗号は耐量子暗号の有力な方式として採用されています。

2024年8月、NISTは初の耐量子暗号標準として、ML-KEM、ML-DSA、SLH-DSAなどの仕様を正式公開しました。その中でも、ML-KEM(旧CRYSTALS-Kyber)やML-DSA(旧CRYSTALS-Dilithium)は格子暗号をベースにした方式です。約8年にわたる標準化プロセスを経て、耐量子暗号は研究段階から実用フェーズへ進み始めています。

出典:Post-Quantum Cryptography FIPS Approved|NIST


移行を支える2つの考え方

新しい暗号へ切り替えるといっても、現在利用されているすべてのシステムを一度にPQCへ変更することは現実的ではありません。暗号方式は、Web通信、VPN、証明書、認証基盤など、さまざまな場所で利用されています。そのため、移行には長い時間が必要になります。

そこで重要になる考え方が2つあります。

Crypto-agility(暗号アジリティ)

これは、利用する暗号アルゴリズムをシステムに固定的に組み込むのではなく、将来的に別の暗号方式へ変更しやすい設計にしておく考え方です。

例えば、現在はRSAやECCを利用していても、将来的にPQCへ置き換えられるように、暗号方式を柔軟に変更できる仕組みにしておくことが重要になります。

ハイブリッド暗号

もう一つは、ハイブリッド方式です。これは、従来利用されている公開鍵暗号(ECCなど)と、新しいPQCアルゴリズムを組み合わせて利用する方式です。

PQCへ完全に移行するまでの期間では、「現在広く利用されている暗号」と「新しい耐量子暗号」を組み合わせることで、移行途中のリスクを低減できます。

PQCだけを利用する場合、まだ実績が少ない新しい暗号方式を全面的に信頼する必要があります。一方で、従来暗号だけを利用している場合、将来的に量子コンピュータによって破られる可能性があります。

そこで両方を組み合わせます。ハイブリッド方式では、どちらか一方の暗号方式に問題が発見された場合でも、もう一方が安全であれば、全体として安全性を維持できる設計になります。

そして、この動きはすでに実運用を意識した段階に進んでいます。Google Chromeでは、TLS 1.3の鍵交換において、X25519とPQC方式(ML-KEMの前身であるKyber-768)を組み合わせたハイブリッド方式の導入が進められました。これにより、Web通信におけるPQC移行に向けた取り組みが始まっています。

出典:Advancing Our Amazing Bet on Asymmetric Cryptography|Google


調べてみて、今日からできそうなこと

量子コンピュータが実際に現在の暗号を破れるようになるのがいつなのか、正確な時期は誰にも分かりません。

ただ、「量子コンピュータが完成してから対応すればいい」という話ではなく、今保存されている情報が、将来のリスクにさらされているという点が、今回一番印象に残りました。

対策の第一歩は、難しい暗号理論を覚えることよりも、まず「自分たちのシステムがどこでどんな暗号を使っているのか」を把握することです。暗号方式を一覧化し、将来的にPQCへ移行できる設計になっているか確認することは、セキュリティ担当者が今から取り組める準備だと感じました。

量子コンピュータが暗号を破る日は、まだ来ていないかもしれません。しかし、その日に備えるための準備は、すでに始まっています。

なお、この記事のきっかけになったSecurityXという資格については、以前受験体験記を書きました。どんな試験なのか気になった方は、あわせてどうぞ。

関連記事:CompTIA SecurityX (CAS-005) 合格体験記

今後も、セキュリティ資格の学習で気になったテーマを、自分なりの理解として整理していきたいと思います。興味があれば、フォローして次の記事を待ってもらえると励みになります。

いいなと思ったら応援しよう!

中堅セキュリティエンジニア|QUIETSHIP 記事が役に立ったら、応援してもらえると次を書く励みになります!いただいたチップは、書籍代や受験料にあてさせてもらいます!