公開鍵暗号化とは

執筆者

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

公開鍵暗号化とは

公開鍵暗号化とは、数学的にリンクされた鍵のペア(1つの公開鍵と1つの秘密鍵)を使用して、データ暗号化および復号化する暗号化システムの一種です。「鍵」は、暗号化された情報をロックまたはロック解除するためのパスワード的な役割を果たす一意のデータ文字列です。これによってユーザーやシステムは機密情報を安全に交換できます。

 

非対称暗号化または公開鍵暗号化とも呼ばれるこのセキュリティー手法は、1つの共有鍵ではなく、異なる2つの鍵を使用するという点で、対称暗号化とは根本的に異なります。

Advanced Encryption Standard(AES)のような対称システムでは、双方の当事者が同じ秘密鍵を使用して(一時鍵を共有して)データの暗号化と復号化を行います。この手法では、事前に鍵を安全に交換する必要があります。公開鍵暗号化は、公開鍵を暗号化に、秘密鍵を復号化に使用することで、この課題を回避します。それは郵便受けのようなもので、誰でもそこに郵便物を入れることはできますが、鍵を開けることができるのは所有者だけです。

この分離により、信頼できないネットワーク経由でも安全な通信ができるようになります。また、デジタル署名、認証、否認防止(作成者であることの否定できない証明)などの追加機能もサポートしています。

実際にはこの2つのセキュリティー手法は、たいてい組み合わせて使用されます。公開鍵暗号化により共有秘密鍵が確保され、その共有秘密鍵を使用して実データの高速な対称暗号化が行われます。

あなたのチームは時間内に次のゼロデイを受け入れますか?

AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。

サブスクリプションは英語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

https://www.ibm.com/jp-ja/privacy

公開鍵暗号化が重要な理由

公開鍵暗号化は、信頼が限られているまたは信頼できない環境下でも機密情報を保護するという、サイバーセキュリティーにおいて変わることのない課題の1つを解決します。

Googleの透明性レポートによると、デスクトップ・ユーザーは、表示するページの半分以上をHTTPS(Hypertext Transfer Protocol Secure)経由で読み込み、暗号化されたページを扱うことに手持ちの時間の3分の2を費やしています。HTTPSは、Secure Sockets Layer(SSL)やトランスポート層セキュリティー(TLS)などの暗号化プロトコルに依存しており、システム間の接続を暗号化することで転送中のデータを保護します。SSLとTLSは技術的には異なるものですが、同じ意味で使用されることが多く、TLSはSSLのより新しく安全な後継プロトコルです。

最初のハンドシェイクでは、SSL/TLS証明書(WebサイトのIDを検証し、暗号化された接続を確立するデジタル認証情報)を介して安全な通信が確立されます。ここでは公開鍵暗号化を使用して、安全に共有秘密鍵が交換されます。その後、共有秘密鍵を使用して、より高速な対称暗号化でセッションの残りの部分が暗号化されます。

毎日数百万のSSL/TLS証明書が発行され、時には1時間あたり340,000のTLS証明書が発行されることもあり、公開鍵暗号化は日々確立される安全な接続の基盤となっています。これによって安全なデジタル通信のバックボーンが形成されます。

公開鍵暗号化は、Webサイトの強化にとどまらず、安全な通信を可能にする以下のようないくつかの重要な機能を提供します。

  • 送信者が受信者の公開鍵を使用してメッセージを暗号化できるようにすることで、機密性をサポートします。対応する秘密鍵のみがメッセージを復号化できるため、不正アクセスからデータを安全に保護できます。
  • デジタル署名を使用して、身元と整合性を保証します。送信者は秘密鍵でメッセージに署名し、受信者は対応する公開鍵を使用してその署名を検証し、認証と否認防止を実現することができます。
  • これにより安全な鍵交換が可能になり、システムはネットワーク経由で共有秘密鍵を送信することなく、対称暗号化をブートストラッピングできます。
  • 特に、公開鍵インフラストラクチャー(PKI)およびデジタル証明書と統合されている場合、認証局を介して公開鍵が検証済みのIDにバインドされ、信頼が確立されます。

これらの機能は、安全なファイル転送、暗号化されたEメール、クラウド・コンピューティングで使用されるさまざまな暗号システム・モデルなど、今日の多くのセキュリティー・プロトコルとアプリケーションの基盤となっています。

公開鍵暗号化の仕組み

公開鍵の暗号化は、相互に関連する一連のプロセスに依存しており、それぞれが安全で検証可能な通信を大規模に実現するために不可欠です。

  • 鍵の生成と配布
  • 暗号化と復号化
  • ハイブリッド暗号化と共有秘密鍵
  • デジタル署名と整合性
  • 実装とセキュリティー

鍵の生成と配布

公開鍵と秘密鍵のペアの生成には、RSAアルゴリズム(創設者であるRivest、Shamir、Adlemanにちなんで命名)やDiffie-Hellmanなどの暗号化アルゴリズムが使用されます。

これらのアルゴリズムは、大きな素数の因数分解や離散対数について解くなどの、複雑な数学の問題に基づいており、一方向への計算は簡単ですが、秘密鍵なしでは逆方向への計算は困難です。

公開鍵は、ディレクトリー、アプリケーション・プログラミング・インターフェース(API)、または認証局によって発行されたデジタル証明書を通じて広く共有されます。秘密鍵は機密のままです。紛失したり盗難にあったりした場合は回復できず、大きな脆弱性が生じます。秘密鍵が侵害されると、攻撃者はメッセージを復号化したり、デジタル署名を偽造したり、正規のユーザーになりすましたりできるようになります。

組織は、異なる複数のタスクに、関連する複数の鍵を使用することがよくあります。例えば、署名用に非対称鍵、暗号化用に別の非対称鍵、一時的なセッション用に一時鍵といった具合です。これらの暗号鍵を効果的に管理することは、あらゆる暗号化システムのセキュリティーにとって重要です。

暗号化と復号化

データを暗号化するために、送信者は受信者の公開鍵を使用します。これにより、平文(読み取り可能なデータ)が暗号文に変換され、スクランブルされて表示され、適切な鍵がないと読み取れません。受信者の持つ対応する秘密鍵だけが、暗号文を復号化して元の読み取り可能な形式に復元できます。

この非対称暗号化アプローチにより、事前に秘密鍵を交換しなくても安全な通信が可能になります。意図した受信者だけがメッセージを復号化できるようにすることで、中間者(MITM)攻撃から保護します。

ハイブリッド暗号化と共有秘密鍵

非対称暗号化によって、事前に共有秘密鍵を交換する必要はなくなりますが、非対称暗号化は共有秘密鍵を安全に確立するためによく利用されます。この共有秘密鍵は、クレジット・カード番号やユーザー間のプライベート・メッセージなど、送信中のデータを保護するために、対称暗号化アルゴリズムと組み合わせて使用されます。

対称鍵暗号化(対称暗号とも呼ばれる)は、大量のデータの場合にさらに効率的です。ハイブリッド暗号化システムでは、この強みを公開鍵暗号化の強みと組み合わせています。公開鍵暗号化を使用して安全に鍵を配布し、データ自体をAESなどの対称鍵暗号化に切り替えます。

デジタル署名と整合性

デジタル署名により、送信者は秘密鍵を使用してデータに署名できます。署名は、公開鍵を使用して誰でも検証でき、送信者の身元とデータの整合性を確認できます。

デジタル署名アルゴリズム(DSA)や楕円曲線デジタル署名アルゴリズム(ECDSA)などのアルゴリズムは、否認防止と信頼を実現する上で重要な役割を果たします。これらは、ソフトウェアの配布、安全な更新、ドキュメント署名のワークフローで広く使用されます。

実装とセキュリティー

暗号化システムの強度は、暗号化アルゴリズム、鍵の長さ、および鍵管理方法によって決まります。実装が不十分であったり、鍵が短かったりすると、システムはブルート・フォース攻撃に対して無防備な状態になります。

アメリカ国立標準技術研究所(NIST)は、RSAの場合は少なくとも2,048ビットの鍵の長さ、楕円曲線暗号の場合は256ビットの鍵の長さを推奨しています。鍵配布プロトコルと堅牢な暗号化アルゴリズムの実装は、長期的なデータ保護に不可欠であると考えられています。

一般的な公開鍵暗号化アルゴリズム

鍵暗号化アルゴリズムが異なれば、パフォーマンスとセキュリティーのトレードオフも異なります。

RSA

RSAは非対称暗号の定番です。大きな数の因数分解の困難さを利用し、暗号化とデジタル署名の両方をサポートします。

デジタル署名アルゴリズム(DSA)

アメリカ国立標準技術研究所(NIST)によって開発されたDSAは、デジタル署名をサポートし、連邦情報処理標準(FIPS)の準拠要件を満たしています。

Diffie-Hellman

このアルゴリズムの最もよく知られている用途は、安全な鍵交換と、信頼できないチャネル間での共有秘密鍵の作成です。

さらに広範なアプローチで公開鍵暗号化をデプロイすることもできます。一例として、楕円曲線暗号(ECC)があります。これは、鍵をより小さくし計算負荷は低く抑えながら強力な暗号化を実現する、暗号化アルゴリズムのファミリーです。

特定の楕円曲線ベースのデジタル署名アルゴリズム(Edwards-Curve DSA(EdDSA)やElliptic Curve DSA(ECDSA)など)は、Secure Shell(SSH)、JSON Webトークン(JWT)、ゼロトラスト・アーキテクチャーで広く採用されています。これらの効率性は、IoT(モノのインターネット)やモバイル環境で特に役立ちます。

他の新しいアプローチ、例えば格子ベースハッシュベースといった暗号技術は、量子コンピューターからの攻撃に抵抗できる可能性があります。これらのポスト量子アルゴリズムは、計算機における脅威の進化に対応して、将来に備えた暗号化システムにするための継続的な取り組みの一部です。

公開鍵暗号化のユースケース

公開鍵暗号化は、eコマースのトランザクションを保護する場合でも、安全なリモート・サーバーのログインを有効にする場合でも、ほぼすべての最新サイバーセキュリティー・フレームワークに採用されています。一般的なユースケースには、次のようなものがあります。

  • TLS/SSL(Tトランスポート層セキュリティー):Webセッション(ブラウザーと銀行のWebサイト間の通信など)を、受信者の公開鍵を使用して共有セッション鍵を暗号化することで保護します。これにより、セッションの残りの部分で対称鍵暗号化を使用した暗号化通信が可能になります。
  • Eメール・セキュリティー(S/MIME、PGP):公開鍵暗号化を使用して、送信中のメッセージを保護し、意図した受信者だけがコンテンツを読み取れるようにします。デジタル署名も、送信者の身元とメッセージの整合性を検証します。
  • SSH認証:鍵ペアを使用して安全なリモート・ログインを可能にします。クライアントは秘密鍵を公開することなくその所有権を証明するので、MITM攻撃の防止に役立ちます。
  • デジタル証明書と身分検証:PKI(公開鍵インフラストラクチャー)で、認証局は、公開鍵を検証済みのIDに結びつけるデジタル証明書を発行します。これにより、ユーザーとシステムはネットワーク上で互いを信頼できるようになります。
  • ブロックチェーン暗号:公開鍵暗号は、ブロックチェーンのような分散型システムで中心的な役割を果たします。秘密鍵はトランザクションの署名に使用され、公開鍵は他のユーザーが資産の検証と送信に使用できるアドレスとして機能します。
  • クラウド・コンピューティング:Amazon Web Services(AWS)やGoogle Cloudなどのサービスでは、エンベロープ暗号化を使用してデータを保護し、対称鍵を公開鍵暗号化でラップして、安全な鍵配布を大規模に実現しています。
  • 文書署名:デジタル署名は、文書の真正性を確認し、データの整合性を確保し、署名者の身分を証明することで、法的な否認防止をサポートします。
  • AIシステム認証:ユーザーとシステムに代わって動作する人工知能(AI)エージェントにより、公開鍵暗号化での安全なID検証と暗号化されたAPI対話が保証されます。
  • Quantum対応:量子コンピューティングによって従来の暗号化アルゴリズムが破られる恐れがあるため、組織は将来性のあるインフラストラクチャーを確保するために、耐量子安全暗号化技術の検討を開始しています。
関連ソリューション
データ・セキュリティーと保護ソリューション

複数の環境にまたがるデータを保護し、プライバシー規制を満たし、複雑な運用を簡素化します。

    データ・セキュリティーソリューションの詳細はこちら
    IBM Guardium

    オンプレミスとクラウドの機密データを保護するデータ・セキュリティー・ソフトウェア・ファミリーであるIBM Guardiumの詳細をご覧ください。

     

      IBM Guardiumの詳細はこちら
      データ・セキュリティー・サービス

      IBMは、エンタープライズ・データ、アプリケーション、AIを保護するための包括的なデータ・セキュリティー・サービスを提供します。

      データ・セキュリティー・サービスの詳細はこちら
      次のステップ

      データ・セキュリティー・ソリューションを使用して、組織のデータをハイブリッドクラウド全体で保護し、コンプライアンス要件を簡素化します。

      データ・セキュリティーソリューションの詳細はこちら デモを予約