ナレッジ

量子コンピュータを見据えた次世代暗号への移行

迫りくる暗号解読リスクと耐量子計算機暗号方式(2024年8月正式決定)への移行

本稿では、読者の一助となるべく、量子コンピュータの登場に伴う現代暗号の危険性と、それに伴う次世代暗号の登場、ならびに次世代暗号の移行に関して解説します。2、3節は少し専門的であるため、暗号理論に興味のない方は読み飛ばしていただきたい。

1. はじめに

現在、RSA暗号やDH暗号といった公開鍵暗号(現代暗号)は量子コンピュータによる解読リスクにさらされています。インターネットの安全性はこの公開鍵暗号によって支えられています。公開鍵暗号が解読される事態になれば、盗聴や改ざんといった攻撃によって、インターネットバンキング、電子商取引、DXビジネスなど、現代社会を支えるITシステムやIoTシステムは崩壊してしまいます。メールやSNSでさえ安心して利用できなくなります。

2. 現代暗号の安全性を支える計算量的安全性

公開鍵暗号の安全性は計算量的安全性に依拠しています。計算量的安全性とは、暗号解読にかかる計算量をより膨大にできれば、暗号解読という行為に対して、攻撃者により耐えがたい時間とコストを強要でき、より安全になるという考え方です。

計算量的安全性を数学的に理解するのは難しいので、ここでは以下の例題でその仕組みを解説します。まず通信経路上で攻撃者が盗聴している中、アリスとボブの2人が通信しているとしましょう。ここでアリスとボブは2つの公開鍵、ここでは「数値の8と11」を共有しているとします。アリスとボブはこの2つの公開鍵を非暗号(平文)で通信し共有するため、これら2つの公開鍵は通信経路上で盗聴している攻撃者も知りえます。また、公開鍵とは別にアリスは「数値の3」、ボブは「数値の6」という秘密鍵をそれぞれ保有しているとします。秘密鍵は公開鍵とは異なり、アリスとボブそれぞれが秘密裏に保有しているため、攻撃者は秘密鍵を知りえません。さて経路上で盗聴している攻撃者がいる中で、アリスとボブが上記の公開鍵と秘密鍵を利用して(つまりアリスとボブが公開鍵暗号を利用して)、計算量的安全性の効果で攻撃者に盗聴されることなく安全に、ある数値を共有できることを以下に示します。なお、この共有値はこの公開暗号の後に行う共通鍵暗号の暗号鍵として利用されます。

① アリスは以下の計算を実施し、計算結果をボブに送信します。

{83 ÷11}の余り ={8×8×8 ÷ 11}の余り = 6 (式A)

※8と11は公開鍵、指数の3はアリスの秘密鍵
※アリスは計算結果の6をボブに送信する。攻撃者はこの6を盗聴(入手)可能

② ボブは以下の計算を実施し、計算結果をアリスに送信します。

{86 ÷11}の余り ={8×8×8×8×8×8 ÷ 11}の余り = 3 (式B)

※8と11は公開鍵、指数の6はアリスの秘密鍵
※ボブは計算結果の3をアリスに送信する。攻撃者はこの3を盗聴(入手)可能

③ ボブの計算結果受信後、アリスは以下の計算を秘密裏に実施します。

{33 ÷11}の余り ={3×3×3 ÷ 11}の余り = 5

※3はボブの計算結果、11は公開鍵、指数の3はアリスの秘密鍵

④ アリスの計算結果受信後、ボブは以下の計算を秘密裏に実施します。

{66 ÷11}の余り ={6×6×6×6×6×6 ÷ 11}の余り = 5

※6はアリスの計算結果、11は公開鍵、指数の6はアリスの秘密鍵

③、④でアリスとボブは通信で共有することなく、それぞれ独自の計算によって同じ数値の5(共通鍵暗号の暗号鍵)を共有しています。この数値の5(共通鍵暗号の暗号鍵)は通信経路上に流れないので、攻撃者は盗聴(入手)不能です。

攻撃者が数値の5(共通鍵暗号の暗号鍵)を入手したいと思えば、アリスやボブの秘密鍵を、式A、または式Bの逆算(解読)で求めるしかありません。つまり、式Aや式Bの秘密鍵の部分をX、Yに置き換えた下記に示す式Cや式Dを作成し、式Cや式Dを成立させるXやYを計算(解読)するしかありません。例えば、等号が成立するまで、XやYの部分に1, 2 ,3・・・と逐次代入し計算することになります。

{8 ÷ 11}の余り = 6 (式C)

※8と11は公開鍵、6はアリスの計算結果、指数のXはアリスの秘密鍵

{8 ÷ 11}の余り = 3 (式D)

※8と11は公開鍵、3はアリスの計算結果、指数のYはボブの秘密鍵

アリスとボブが処理する式Aや式Bは短時間で計算可能なのに対し、攻撃者が処理する式Cや式Dの計算(解読)は短時間では計算不能です。公開鍵・秘密鍵の値が巨大になるにつれ、式Cや式Dの計算量は更に膨大になるため、実際の式Cや式Dの計算(解読)には途方もない時間とコストが必要となります。この仕組みが計算量的安全性です。この仕組みのおかげで、攻撃者に盗聴されることなくアリスとボブは安全に数値(共通鍵暗号の暗号鍵)を共有できます。

3. 現代暗号を解読可能な量子コンピュータ

RSA暗号やDH暗号(現代暗号)は、計算量的安全性として素因数分解計算や離散対数計算を利用しています。離散対数計算の例は、先の式Cや式Dです。説明は省きますが、素因数分解計算も離散対数計算と同様に計算には膨大な時間とコストが必要なため、計算量的安全性を実現する相応しい計算式と言えます。

しかし冒頭触れたように、RSA暗号やDH暗号(現代暗号)には量子コンピュータによる解読リスクがあります。今我々が利用している古典コンピュータは式Cや式Dを計算(解読)する場合、XやYの部分に1, 2 ,3・・・と逐次代入し計算するなど、計算(解読)に膨大な時間とコストを要しますが、量子コンピュータは量子ビットを使った並列計算処理が可能なため、式Cや式Dであっても短時間で計算(解読)可能です。

なお、量子コンピュータは古典コンピュータとは異なり、計算式はそのままの形では処理できません。量子コンピュータで並列計算処理するには、計算式を量子コンピュータの並列計算処理に適した計算式に変形する必要があります。計算式ごとにその変形方法が異なるため、量子コンピュータで並列計算処理するには、計算式ごとにその変形方法を見出す必要があります。この変形方法が発見されなければ、その計算式は量子コンピュータで並列計算処理されることはありませんが、素因数分解計算や離散対数計算に関しては、変形方法(ショアのアルゴリズム)が発見されているため、量子コンピュータで並列計算処理可能です。まだ量子コンピュータの処理性能が低いので直ちに解読される恐れは少ないですが、今後量子コンピュータの処理性能が向上すれば、RSA暗号やDH暗号(現代暗号)の解読は現実のものになると予想されています。

4. 量子コンピュータに対抗する新たな暗号方式

量子コンピュータが生み出す解読リスクに対抗して、今新たな2つの暗号方式が提案されています。なお、この2つの暗号方式は二者択一ではありません。ハイブリッドの利用が望まれます。

(1)耐量子計算機暗号(次世代暗号PQC: Post-Quantum Cryptography)

「量子」という言葉が用いられていますが、これは量子技術を利用した暗号ではなく、RSA暗号やDH暗号(現代暗号)と同じ数学的暗号です。「耐量子」とは量子コンピュータの解読に耐えうるという意味です。耐量子計算機暗号(次世代暗号)もRSA暗号やDH暗号(現代暗号)と同じく計算量的安全性に依拠しています。ただし、耐量子計算機暗号(次世代暗号)はRSA暗号やDH暗号(現代暗号)で採用されている素因数分解計算や離散対数計算といった計算量的安全性ではなく、量子コンピュータで並列計算処理するための変形方法がなく、かつ将来も見出せないと推測される計算量的安全性に依拠しており、今のところ量子コンピュータによる解読は困難と考えられます。この変形方法が発見されないかぎり、今後も安全に利用可能です。

この耐量子計算機暗号(次世代暗号)には下記に示すメリットとデメリットが存在します。

【メリット】
耐量子計算機暗号(次世代暗号)はRSA暗号やDH暗号(現代暗号)と同じ数学的暗号なので、現在利用中のRSA暗号やDH暗号(現代暗号)は耐量子計算機暗号(次世代暗号)に比較的容易に置き換え可能です。置き換えに伴うパフォーマンス劣化は考慮する必要がありますが、この置き換えによるITシステムやIoTシステムの変更は限定的なものになります。

【デメリット】
可能性は低いとは言え、将来、量子コンピュータで並列計算処理するための変形方法が発見される恐れはあります。そうなれば、新たな暗号方式への移行が再度求められます。

 

(2)量子鍵配送(QKD: Quantum Key Distribution)

量子鍵配送は量子技術を利用した物理的暗号です。量子鍵配送では光子や電子(電子の集まった電流ではない)といった量子と呼ばれる非常に小さい粒子に情報(共通鍵暗号の暗号鍵)を乗せて通信をおこないます。実際はビット0やビット1という情報を、偏光やスピンといった量子の特殊な動きに割り当てて通信します。そのため攻撃者が通信経路上で、量子に乗せられた情報(共通鍵暗号の暗号鍵)を盗聴するには、通信経路に流れて来る1つ1つの量子の特殊な動きを観測(盗聴)しなくてはなりません。例えば、量子に電場をかけてみるなどの物理的な作用を与えて応答を確かめることで通信経路に流れて来る1つ1つの量子の特殊な動きを観測(盗聴)することになります。しかし、このような物理的な作用を与える観測(盗聴)は非常に小さい量子の特殊な動きを攪乱してしまいます。そのため、量子の乗せられた情報(暗号鍵)は攻撃者の観測(盗聴)時に書き変わる恐れがあります。このように観測(盗聴)という行為は通信妨害と同等の行為となるため、盗聴は成功しません。したがって、経路上で盗聴していたとしても、攻撃者は量子鍵配送で交換される情報(量子鍵配送後に行われる共通鍵暗号の暗号鍵)を知りえません。

この量子鍵配送には下記に示すメリットとデメリットが存在します。

【メリット】
量子鍵配送で送信される情報は、古典コンピュータや量子コンピュータの性能向上に関係なく、永久に盗聴(解読)不能です。

【デメリット】
量子鍵配送をインターネットで利用するには特別な仕組みが必要で、普及には時間を要します。なお、量子鍵配送をインターネットで利活用するための仕組みに関しては、日本の研究機関や企業がリードする形で国際規格※1を策定しています。

※1 https://www2.nict.go.jp/qictcc/social/standard.html

5. 迫りくる次世代暗号への移行

NIST(米国立標準技術研究所)は2024年8月にFIPS(連邦情報処理標準)として3種類の耐量子計算機暗号(次世代暗号)※2を採用しました。現在利用されているRSA暗号やDH暗号(現代暗号)は、量子コンピュータだけでなく、古典コンピュータの性能向上によっても解読される恐れが出て来ています。これに伴い、NISTは2030年までに公的機関や企業に対し、RSA暗号やDH暗号(現代暗号)の鍵長アップかこの耐量子計算機暗号(次世代暗号)への移行を求めています。しかし、RSA暗号やDH暗号(現代暗号)の鍵長をアップしたところで、量子コンピュータの解読リスクは除去できません。この移行よりも先に処理性能の高い量子コンピュータが登場すれば、企業が展開するITシステムやIoTシステム(商品開発、製造、物流、金融取引、管理等)は攻撃でストップするかもしれず、最悪の場合、倒産などの大きな悪影響を被るかもしれません。耐量子計算機暗号への移行は至急手を付けるべき重要な経営課題と言えます。

耐量子計算機暗号(次世代暗号)への移行は、以下に示す4ステップで実行します。

① はじめに、社内のITシステムやIoTシステムで利用されているRSA暗号やDH暗号(現代暗号)を調査(発見)します。具体的にはクリプトインベントリを作成します。一部ツールを利用して調査可能ですが、手作業となるところがあります。この手作業には高い専門性が求められます。RSA暗号やDH暗号(現代暗号)はITシステムやIoTシステムの至るところで利用されているため、この調査は一般的に長期に及びます。なお、クリプトインベントリ作成においては、SBOMも同時に作成します。セキュリティ攻撃は日々高度化しています。クリプトインベントリとSBOMを作成していれば、新たなセキュリティ攻撃が登場しても迅速に修正箇所を発見可能です。

② 次に、発見したRSA暗号やDH暗号(現代暗号)を耐量子計算機暗号(次世代暗号)に置き換える際に生じるパフォーマンス劣化などのデグレード具合を見積もり、対策案を検討します。これには非常に高い技術的知見が求められます。

③ 次に、これらの調査や検討を基に移行計画を立案します。なお、2030年に向けて同時期に非常に多くの企業が一斉に移行を開始するため、専門会社や人材は奪い合いになると予想されます。これも考慮すると、耐量子計算機暗号(次世代暗号)への移行には時間的猶予はほとんどありません。

④ 最後に、移行計画に従って、耐量子計算機暗号(次世代暗号)の実装や評価を進めます。

※2 https://csrc.nist.gov/Projects/post-quantum-cryptography/news

6. 見据えておきたい量子関連技術の利活用

耐量子計算機暗号に比べ、量子鍵配送の普及はまだ先になりそうです。しかし、量子鍵配送には耐量子計算機暗号(次世代暗号)にはない魅力があります。量子鍵配送は、古典コンピュータや量子コンピュータの性能向上に関係なく、超長期で安全です。企業には付加価値は高くとも情報漏洩リスクに躊躇して商品化できないビジネスサービスが存在します。しかし、このような情報漏洩リスクの中には量子鍵配送でヘッジ可能なものがあります。量子鍵配送によって大きなリスクテイクできれば、より大きなベネフィットを生むビジネスサービスを創造できます。もし検討中のビジネスサービスがある場合は、普及前であっても少なくとも特許出願は先行すべきです。他社に特許を押さえられると、普及した後での実施が困難になる恐れがあります。

なお、今回は説明を割愛しましたが、量子関連技術には、量子鍵配送以外にもクラウドをセキュアに利用するための秘密分散技術や秘匿計算技術などもあり、新ビジネス創造で活かせるネタは他にもあります。秘密分散技術や秘匿計算技術自体は量子技術そのものではないので、量子鍵配送の普及を待たずとも利用可能です。

お役に立ちましたか?