KNOWLEDGE - COLUMN ナレッジ - コラム

未来脅威への対策、量子セキュリティとは?

コラムイメージ

関連するソリューション

サイバーセキュリティ

ID-Ashura/セキュリティサービス

IDアメリカ
ハムザ・アフメッド顔写真

こんにちは、IDアメリカのハムザ・アフメッドです。

文字が誕生した時代から、情報を暗号化し、相手にしか解読できないようにする「暗号化」は数千年に渡って行われていたことでした。
エジプトやギリシャ文明の古文書には、指導者の間で情報を安全に伝達するために使われたさまざまな暗号化技術が紹介されています。第二次世界大戦中も、枢軸国、連合国ともに、無線メッセージの解読に多大な資源を投入していました。何千年もの間、安全に情報を交換する技術は重要であり続けました。

現代では、インターネットを介したほとんどすべてのデータ伝送において、暗号化が不可欠な役割を果たしています。チャットの会話やファイルのアップロードなど、暗号化によって、クレジットカードの詳細や個人情報などの機密情報を安全にインターネット上で送信することができます。このレベルのセキュリティは、安全な通信の実践と研究である暗号化によって実現されます。

暗号化は、現代の通信の安全性と信頼性を確保する上で重要な役割を担っています。320ビットのRSA暗号に代表される非対称暗号は、現在利用可能な最も強力なスーパーコンピューターでも解読に約1600万年を要するほど強力な暗号です。
そのため、暗号化されたメッセージを解読するための鍵である秘密鍵にアクセスできなければ、悪意のある組織が通信中のデータを傍受し、悪用することは事実上不可能です。対称型暗号の場合、10億年以上かかると言われています。


イメージ


しかし、クレジットカード情報、軍事情報、研究情報などの機密情報を含む暗号化されたデータを、将来の復号化のために保存することを目的に、さまざまな団体が傍受しています。これは、Store-Now-Decrypt-Later(SNDL)と呼ばれています。この手法の根底にあるのは、今後数年のうちに、技術、特に量子コンピュータの進歩により、保存された情報を復号化できる可能性があり、長期間かけて収集しておくことが価値を持つという考え方です。

量子コンピュータは、従来のコンピュータでは1600万年かかるデータを数時間で解読する能力を備えています。したがって、量子コンピュータがセキュリティの状況に与える潜在的な影響は、大きな懸念材料となっています。

現代の暗号化 RSA暗号

RSAの仕組み


RSAは、公開鍵と秘密鍵という2つの異なる鍵を使用する暗号化アルゴリズムです。公開鍵は暗号化に使用され、秘密鍵は復号化に使用されます。RSAを使用して安全なメッセージを別の人に送りたい場合、受信者の公開鍵を使用してメッセージを暗号化します。暗号化されたメッセージ(暗号文)は、受信者の秘密鍵を使ってのみ復号することができます。これにより、秘密鍵を所有する受信者だけがメッセージを読むことができるようになります。
 
RSAの安全性は、大きな数の因数分解が数学的に困難であることに基づいています。RSAの鍵は、素数とモジュラー演算を使って生成されます。素数は秘密にされ、鍵の計算に使われます。暗号化処理では、平文メッセージを公開指数のべき乗にし、モジュラスで割ったときの余りを取ります。復号化では、暗号文を私的指数のべき乗にし、再び余りを取ることで動作します。モジュラスのサイズが大きいため、公開鍵から秘密鍵を導き出すことは計算上不可能であり、RSA暗号の安全性は確保されています。

RSA例


ここに太郎さんと花子さんのPCがあると想定します。太郎のPCは2つの大きな素数を持っており、それを秘密にしています。これらの素数は、太郎の「秘密鍵」として機能しています。太郎のPCは、この2つの素数を掛け合わせて、より大きな値(「モジュラス」と呼ばれる)を作り出します。このモジュラスは、インターネット上の誰にでも公開され、「公開鍵」と呼ばれます。
 
花子は太郎にメッセージを安全に送りたいとき、太郎の公開鍵を手に入れ、それを使ってメッセージを特定の方法で暗号化します。この暗号化処理により、太郎の2つの素数(秘密鍵)を持っていない限り、送信中にメッセージを傍受した人にはメッセージがわからなくなるようになっています。暗号化されたメッセージは、次に太郎に送信されます。
 
暗号化されたメッセージを受け取った太郎のPCは、2つの大きな素数からなる秘密鍵を使って復号化処理を行います。秘密鍵の活用により、太郎のPCはメッセージを解読し、再び読めるようにします。

つまり、RSA暗号は、受信したメッセージを復号化するために太郎の秘密鍵(2つの大きな素数)を使用し、暗号化処理は太郎の公開鍵(モジュラス)を使用して達成されることに依存します。これにより、秘密鍵を知っている太郎だけが、安全にメッセージを解読し、読むことができるようになります。

RSAで暗号化ファイルを解読


量子コンピュータがRSA暗号を解読できる可能性を探る前に、従来のコンピュータを使ったRSA暗号の解読プロセスを説明しましょう。
 
RSA暗号の解読には、フーリエ変換やユークリッドのアルゴリズムなどの数学的手法が用いられます。まず、単純な公開鍵の値55で考えてみましょう。この場合、5と11のような2つの素数を見つけるために、従来のコンピュータでは、乱数との指数関数的な乗算処理を採用していました。そして、その値を公開鍵で割ると余りがゼロになるまで繰り返し割るユークリッドのアルゴリズムが適用されます。この数学的手順は、素数が大きくなるにつれて、ますます複雑になり時間がかかるようになります。300桁を超える素数でこのような計算をするのはスーパーコンピューターでも難しいです。
 
つまり、従来のコンピュータでRSA暗号を解読するには、指数関数的な乗算やユークリッドのアルゴリズムの適用など、計算量の多い数学的操作が必要になります。素数の大きさが大きくなればなるほど、計算の複雑さも指数関数的に大きくなり、従来のコンピュータでは解読が非常に困難でした。


イメージ

量子コンピュータ

量子コンピュータとは


現代コンピュータでは、情報の基本単位はビットであり、0か1のどちらかを表すことができます。この2つの状態ですべてを定義していきます。これに対し、量子ビットは、0、1、またはその両方の状態の重ね合わせを表すことができます。重ね合わせるとは一瞬の内、数0か1だけでなく、その間の数すべての状態を示すものです。この重ね合わせにより、量子コンピュータは膨大な数の可能性に対して同時に計算を行うことができ、計算能力を大幅に向上させることができるのです。このユニークな性質により、量子コンピュータは特定の種類の問題に対して、現代コンピュータよりもはるかに速く計算を行うことができます。

量子コンピュータの性能は量子ビットの数に基づき各国がより多い量子を持つパソコンを開発しています。現在の最大数はIBMの403個の量子ビットです。


イメージ

量子コンピュータで解読


最新のコンピューターで暗号化されたデータを解読するには、膨大な数の計算が必要なため、時間がかかることがあります。それぞれの計算を個別に処理する必要があるため、復号化の速度に限界があります。しかし、量子コンピュータは、ショールアルゴリズムのようなアルゴリズムを使って、このプロセスを高速化する可能性を秘めています。量子コンピュータは、1回の演算で膨大な数の計算を同時に行うことができるのです。
つまり、量子コンピュータは多数の計算を同時に行うことができ、従来のコンピュータと比較して大幅に高速化することができるのです。予測では現代のコンピュータで160万年かかる計算が8時間で可能とのことです。
 
しかし、ショールアルゴリズムを用いた効率的なRSA復号に必要な量子ビットの数は、2000万量子ビットと見積もられています。現在の最先端量子コンピュータは通常数百量子ビットであるため、現在開発されている量子コンピュータの量子ビット数をかなり上回るものです。しかし、量子コンピュータの分野では現在も研究が進められており、今後50年以内にRSA暗号の解読に必要な量子ビット数を達成することが可能であると専門家は考えています。
 
このような可能性を見越して、政府や組織は、量子コンピュータのセキュリティへの影響に対処するための積極的な対策を講じ始めています。量子コンピュータからの攻撃に耐えうる耐量子暗号アルゴリズムを開発する必要性が認識されているのです。ポスト量子暗号と呼ばれるこの研究分野では、将来の量子コンピュータの計算能力に直面しても安全な暗号化方式を設計することを目指しています。

量子コンピュータ開発


2000万量子ビットは現在可能な数百に比べればとても大きな差です。ではなぜ政府などは現在量子コンピュータに対して脅威を感じているのか。2012年には、RSAの効率的な復号化には10億量子ビットが必要だと言われていました。しかし、そのわずか5年後には2億3000万量子ビットまで減少し、2019年にはさらに2000万量子ビットまで減少すると予測されています。
 
この量子ビット数の指数関数的な増加は、量子技術やアルゴリズムの進歩と相まって、懸念を煽っています。量子技術への理解が深まり、新しいアルゴリズムが開発されるにつれて、量子コンピューティングの進歩がより明確になります。この傾向が今のペースで続けば、既存の暗号システムを脅かす能力を持つ量子コンピュータが、そう遠くない将来に現実のものとなる可能性が高まっています。

アメリカ政府のアクション

2022年、アメリカ政府は、将来発明される量子コンピュータがもたらす潜在的な脅威を認める法律を発表しました。この法律は、新しい暗号化規格が確立されたら、それに向かって移行することの重要性を概説しています。政府は、進化する技術に直面して、常に先手を打つ必要性を認識しました。
 
この法律の一環として、政府は2024年から、将来の通信を支配する暗号化標準の選定プロセスを開始すると推定しています。これは、量子コンピュータがもたらす暗号の課題に備えるための積極的なアプローチであることを示しています。

新たな暗号化技術


NISTは、National Institute of Standards and Technologyの略で、暗号を含む様々な分野の標準や技術の普及と開発を担当する米国の政府機関です。
 
量子コンピュータの進歩がもたらす脅威の増大に対応して、NISTは2016年に「ポスト量子暗号標準化プロセス」と呼ばれるコンペを開始しました。このコンペの目的は、強力な量子コンピュータからの攻撃に対抗できる新しい暗号アルゴリズムを募集し、評価することでした。

このコンペティションでは、量子コンピュータによる攻撃に弱い現在の暗号方式を置き換えることができる暗号アルゴリズムを特定することを目的としていました。NISTは、世界中の研究者や組織に対して、提案されたアルゴリズムを検討のために提出するよう呼びかけました。
 
そのプロセスは、一般公募、暗号コミュニティによる審査、セキュリティ、性能、実用性に基づく厳密な評価など、複数の段階に分かれていました。NISTには多数の応募があり、このコンペティションによって、ポスト量子暗号の分野でのコラボレーションと広範な研究が促進されました。
 
徹底した厳格なテストプロセスを経て、2022年7月5日、NISTはポスト量子標準として確立するのに適していると判断される4つの暗号技術を選定したと発表しました。4つの内3つは格子暗号化で1つがハッシュベースでした。

選ばれた暗号化技術

格子式暗号化


NISTに選ばれた暗号技術です。以下の詳細ページを参照ください。
CRYSTALS-Kyber
CRYSTAL-DILITHIUM
FALCON
 
格子暗号は、格子の数学的概念に依存する暗号の一種です。簡単に言うと、格子は空間上の点のグリッドまたはメッシュと考えることができます。これらの点は規則的なパターンで配置され、幾何学的な構造を形成しています。格子暗号では、この格子に対して数学的な演算を行うことで暗号化・復号化を行います。格子暗号の安全性は、格子内の最短ベクトルを求めるなど、ある種の数学的問題の難しさに基づいています。
 
格子暗号を使用してメッセージを暗号化するには、まずメッセージを数値表現に変換します。次に、この数値表現をランダムに生成された格子点と組み合わせます。こうして得られた暗号文が、送信または保存されることになります。暗号文を解読し、元のメッセージを取り出すには、受信者は格子に対応する特別な秘密鍵を使用します。この鍵を使って数学的な操作を行うことで、受信者は格子表現から元のメッセージを復元することができます。
 
格子暗号が量子に対して強いのは計算手法にあります。RSAでは計算が重ねれば重ねるほど、回答に近づくが、格子暗号では一歩間違えるとまったく間違った回答にたどり着いてしまうことです。このため量子でも解読が不可能と予測されています。

ハッシュ式暗号化


NISTに選ばれた暗号技術です。以下のページを参照ください。
SPHINCS+
 
ハッシュベースの暗号は、ハッシュ関数に依存する暗号の一種です。ハッシュ関数は、入力(多くの場合、メッセージやデータ)を受け取り、固定サイズの出力(通常、文字列)を生成します。ハッシュ値またはダイジェストと呼ばれるこの出力は、入力データに対して一意です。ハッシュベースの暗号は、ハッシュ関数の特性を利用して、暗号化の安全性を確保するように動作します。重要な概念の1つは耐衝突性で、これは同じハッシュ値を生成する2つの異なる入力を見つけることが計算上不可能であることを意味します。この特性は、データの完全性を保証するのに役立ちます。
 
ハッシュベースの暗号では、ハッシュ関数を使用して、元のデータから固定サイズのハッシュ値を生成します。このハッシュ値は、さまざまな暗号操作の鍵や検証コードとして使用されます。例えば、電子署名では、メッセージのハッシュ値を送信者の秘密鍵で暗号化して電子署名を作成し、対応する公開鍵を持っている人が検証することができます。


イメージ

量子セキュリティに移行

これらの暗号化規格が確立されると、政府機関や組織は新しい暗号化プロトコルに移行する必要性が出てきます。しかし、この移行プロセスは、過去にRSA暗号が徐々に採用されたのと同様に、おそらく数年に及ぶと予想されます。

正確なスケジュールは異なるかもしれませんが、新しい暗号化規格への本格的な移行は2024年頃に始まり、移行の大部分は2025年頃に行われるだろうと予想されています。この段階的なアプローチにより、慎重な計画、テスト、実装が可能になり、関係者全員にとってスムーズで安全な移行が実現します。
 
新しい暗号化規格の採用には、システム、プロトコル、インフラの包括的な調整が必要であるように、成功裏にシームレスに移行するためには、十分な時間を割り当てることが不可欠です。この時間軸は、新しい暗号化技術に関する教育や訓練、システムやネットワークと更新された標準との互換性を確保する必要性も考慮されています。

最後に

量子コンピュータの開発は、依然として将来の展望です。科学者たちは絶えずこの技術を探求し、進化させています。一方、NISTのような組織は、この進化する状況において標準を確立するために取り組んでいます。しかし、これらの標準の完全な有効性と実用性はまだ決定されていません。暗号化の分野とそれを解読する方法は、絶えず進化していることを認識することが重要です。

量子コンピュータが普及すれば、進化する脅威の状況に対応するために、まったく新しい暗号化基準や技術が登場するかもしれません。このようなダイナミックな環境では、継続的な学習を優先し、暗号技術の最新の進歩に対応することが不可欠となります。自分自身や組織に積極的に情報を提供することで、セキュリティ上のリスクとなる新たな脅威に積極的に対抗することができます。


当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン


ハムザ・アフメッド

IDアメリカ

この執筆者の記事一覧

関連するソリューション

サイバーセキュリティ

ID-Ashura/セキュリティサービス

関連するナレッジ・コラム

スマートフォンの安全性を向上させる「GrapheneOS」とは?

Society 5.0を支える認証基盤-トラストサービス