叡智の三猿

~情報セキュリティで森羅万象を捉える~

量子と暗号の危殆化

いまのコンピュータと量子コンピュータ

コンピュータにはいろいろな種類があります。

コンピュータの種類

  • 汎用コンピュータ:会社の事務処理、技術計算などさまざまな目的で使われます。メインフレームとも呼ばれます。
  • オフイスコンピュータ:事務処理をメインに使用するコンピュータです。汎用コンピュータよりもやや小規模です。
  • スーパーコンピュータ:汎用コンピュータの機能を科学技術計算に特化させた文字通り、スーパーなコンピュータです。「富岳」が有名です。
  • パーソナルコンピュータ:個人利用を目的とした、業務やプライベートでも使う、みんなのためのコンピュータです。
  • マイクロコンピュータ小型コンピュータ。家電や自動車の機器に制御部品として組み込まれています。
  • 制御コンピュータ:工場の生産ラインで活用される装置を制御する目的のコンピュータです。

いまのコンピュータはあらゆる情報を「0」「1」の二進数で処理をしています。これをノイマン型コンピュータといいます。「0」は電気のない状態、「1」は電気のある状態です。

これに対して、量子コンピュータは「重ね合わせ」の原理を用いることで、「0」と「1」が重ね合わせた無数にある状態のそれぞれに情報を持たせることで、一度に大量の並行処理を可能にするものです。

「重ね合わせ」の原理については、この記事をご参照ください。
www.three-wise-monkeys.com
量子は脆弱性があります。演算を繰り返すうちにエラーが生じる課題があるので「量子コンピュータ」が実用化されるのは、まだまだ先と考えられています。もし完成したら、コンピュータの根本を変える大革命です。

量子コンピュータで無効化される暗号化技術

量子コンピュータの革命は「情報セキュリティ」にも及びます。情報セキュリティの要である「暗号技術」は、量子コンピュータにより無力化されます。「富岳」に代表されるスーパーコンピュータでは、数千年もの時間がかかる演算処理を「量子コンピュータ」は数分単位で処理をしてしまうとされます。

RSA暗号は大きな数の素因数分解の困難性を利用した公開鍵による暗号技術です。素因数分解を忘れてしまったという方は、こちらの動画をご覧ください。)
youtu.be

大きな数の素因数分解の困難性について補足します。

2つの大きな素数を並べます。

  • 素数その1:524287
  • 素数その2:131071

この二つの掛け算は簡単です。

  • 524287×131071=68718821377(簡単)

RSA暗号はこの大きな素数を掛け算した整数(68718821377)を公開鍵のひとつとして使用します。

公開鍵暗号化方式では、暗号データを解読するために秘密鍵を使います。公開鍵は攻撃者に奪われても、秘密鍵の情報がバレなければ、暗号データは解読できません。この秘密鍵がふたつの大きな素数になります。公開鍵から解読に必要な秘密鍵を得るには、68718821377を素因数分解しなければなりません。この演算に時間がかかります。現在のRSA暗号で使われる素数は300桁程度です。

  • 68718821377=524287×131071(困難)

f:id:slowtrain2013:20210309214134p:plain:w200

量子コンピュータは時間のかかる素因数分解の演算速度が革命的に向上します。このため、いま安全とされている暗号技術は一瞬にして無力になるのです。

量子暗号で暗号鍵の危殆化が瞬時にわかる

一方、量子は新たな暗号技術を生みます。これを量子暗号とよびます。

量子暗号の原理は、量子は観測により収縮することを利用しています。量子暗号は「重ね合わせ」の状態で保持されますが、もし攻撃者により暗号を観測したら、「重ね合わせ」の状態が収縮されます。その為、観測されたことが記録に残ります。すなわち、暗号鍵が危殆化(きたいか)されると、それが瞬時にわかります。

危殆化とは

  • 暗号鍵の情報が第三者に漏洩、またはその恐れがあるなど、 暗号鍵に対するセキュリティレベルが著しく低下した状態をいいます。

暗号鍵(秘密鍵)が漏れないように管理し、漏れた(危殆化)と判断する材料を得るのは、難しく、情報セキュリティの重要な課題です。量子暗号は漏れたことが瞬時に分かるので、革新的な暗号技術です。

暗号鍵の危殆化について、補足します。

通信の暗号化と、Webサイトの運営者の実在証明の役割をもつ電子証明書サーバ証明書といいます。サーバ証明書は、認証局と呼ばれる組織が証明書を発行し、SSL/TLSという暗号技術を用いた通信で利用されます。サーバ証明書には、サーバのFQDNと公開鍵が記載されます。

サーバ証明書の作成と検証は公開鍵暗号方式を使った「デジタル署名」を行います。データの送受信時は、暗号化と復号で共通鍵暗号を利用します。これは、共通暗号化方式の方が暗号化と復号の処理が速いためです。その為、共通鍵暗号で使用する鍵を安全に共有する必要があります(鍵交換といいます)。これが課題となります。秘密鍵である共通鍵の鍵交換が安全に共有出来ないと、鍵情報が攻撃者によって盗まれるかもしれません。それによって、過去にさかのぼって暗号化通信が解読される可能性があります。

たとえ、暗号鍵が漏洩しても、過去にさかのぼって通信データが解読されないようにする鍵交換をPFS(Perfect Foward Secrecy)といいます。

CRYPTRECの電子政府推奨暗号リストでは、鍵交換の方式としてDH 、ECDHが推奨されています。これらは、鍵交換のたびにサーバとクライアントで使い捨てのランダムな値を使って、セッション鍵を交換します。

f:id:slowtrain2013:20200628140656p:plain
電子政府推奨暗号リスト