あなたのチームは時間内に次のゼロデイを受け入れますか?
AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。
非対称暗号化または公開鍵暗号化とも呼ばれるこのセキュリティー手法は、1つの共有鍵ではなく、異なる2つの鍵を使用するという点で、対称暗号化とは根本的に異なります。
Advanced Encryption Standard(AES)のような対称システムでは、双方の当事者が同じ秘密鍵を使用して(一時鍵を共有して)データの暗号化と復号化を行います。この手法では、事前に鍵を安全に交換する必要があります。公開鍵暗号化は、公開鍵を暗号化に、秘密鍵を復号化に使用することで、この課題を回避します。それは郵便受けのようなもので、誰でもそこに郵便物を入れることはできますが、鍵を開けることができるのは所有者だけです。
この分離により、信頼できないネットワーク経由でも安全な通信ができるようになります。また、デジタル署名、認証、否認防止(作成者であることの否定できない証明)などの追加機能もサポートしています。
実際にはこの2つのセキュリティー手法は、たいてい組み合わせて使用されます。公開鍵暗号化により共有秘密鍵が確保され、その共有秘密鍵を使用して実データの高速な対称暗号化が行われます。
AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。
公開鍵暗号化は、信頼が限られているまたは信頼できない環境下でも機密情報を保護するという、サイバーセキュリティーにおいて変わることのない課題の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サイトの強化にとどまらず、安全な通信を可能にする以下のようないくつかの重要な機能を提供します。
これらの機能は、安全なファイル転送、暗号化されたEメール、クラウド・コンピューティングで使用されるさまざまな暗号システム・モデルなど、今日の多くのセキュリティー・プロトコルとアプリケーションの基盤となっています。
公開鍵の暗号化は、相互に関連する一連のプロセスに依存しており、それぞれが安全で検証可能な通信を大規模に実現するために不可欠です。
公開鍵と秘密鍵のペアの生成には、RSAアルゴリズム(創設者であるRivest、Shamir、Adlemanにちなんで命名)やDiffie-Hellmanなどの暗号化アルゴリズムが使用されます。
これらのアルゴリズムは、大きな素数の因数分解や離散対数について解くなどの、複雑な数学の問題に基づいており、一方向への計算は簡単ですが、秘密鍵なしでは逆方向への計算は困難です。
公開鍵は、ディレクトリー、アプリケーション・プログラミング・インターフェース(API)、または認証局によって発行されたデジタル証明書を通じて広く共有されます。秘密鍵は機密のままです。紛失したり盗難にあったりした場合は回復できず、大きな脆弱性が生じます。秘密鍵が侵害されると、攻撃者はメッセージを復号化したり、デジタル署名を偽造したり、正規のユーザーになりすましたりできるようになります。
組織は、異なる複数のタスクに、関連する複数の鍵を使用することがよくあります。例えば、署名用に非対称鍵、暗号化用に別の非対称鍵、一時的なセッション用に一時鍵といった具合です。これらの暗号鍵を効果的に管理することは、あらゆる暗号化システムのセキュリティーにとって重要です。
データを暗号化するために、送信者は受信者の公開鍵を使用します。これにより、平文(読み取り可能なデータ)が暗号文に変換され、スクランブルされて表示され、適切な鍵がないと読み取れません。受信者の持つ対応する秘密鍵だけが、暗号文を復号化して元の読み取り可能な形式に復元できます。
この非対称暗号化アプローチにより、事前に秘密鍵を交換しなくても安全な通信が可能になります。意図した受信者だけがメッセージを復号化できるようにすることで、中間者(MITM)攻撃から保護します。
非対称暗号化によって、事前に共有秘密鍵を交換する必要はなくなりますが、非対称暗号化は共有秘密鍵を安全に確立するためによく利用されます。この共有秘密鍵は、クレジット・カード番号やユーザー間のプライベート・メッセージなど、送信中のデータを保護するために、対称暗号化アルゴリズムと組み合わせて使用されます。
対称鍵暗号化(対称暗号とも呼ばれる)は、大量のデータの場合にさらに効率的です。ハイブリッド暗号化システムでは、この強みを公開鍵暗号化の強みと組み合わせています。公開鍵暗号化を使用して安全に鍵を配布し、データ自体をAESなどの対称鍵暗号化に切り替えます。
デジタル署名により、送信者は秘密鍵を使用してデータに署名できます。署名は、公開鍵を使用して誰でも検証でき、送信者の身元とデータの整合性を確認できます。
デジタル署名アルゴリズム(DSA)や楕円曲線デジタル署名アルゴリズム(ECDSA)などのアルゴリズムは、否認防止と信頼を実現する上で重要な役割を果たします。これらは、ソフトウェアの配布、安全な更新、ドキュメント署名のワークフローで広く使用されます。
暗号化システムの強度は、暗号化アルゴリズム、鍵の長さ、および鍵管理方法によって決まります。実装が不十分であったり、鍵が短かったりすると、システムはブルート・フォース攻撃に対して無防備な状態になります。
アメリカ国立標準技術研究所(NIST)は、RSAの場合は少なくとも2,048ビットの鍵の長さ、楕円曲線暗号の場合は256ビットの鍵の長さを推奨しています。鍵配布プロトコルと堅牢な暗号化アルゴリズムの実装は、長期的なデータ保護に不可欠であると考えられています。
鍵暗号化アルゴリズムが異なれば、パフォーマンスとセキュリティーのトレードオフも異なります。
RSAは非対称暗号の定番です。大きな数の因数分解の困難さを利用し、暗号化とデジタル署名の両方をサポートします。
アメリカ国立標準技術研究所(NIST)によって開発されたDSAは、デジタル署名をサポートし、連邦情報処理標準(FIPS)の準拠要件を満たしています。
このアルゴリズムの最もよく知られている用途は、安全な鍵交換と、信頼できないチャネル間での共有秘密鍵の作成です。
さらに広範なアプローチで公開鍵暗号化をデプロイすることもできます。一例として、楕円曲線暗号(ECC)があります。これは、鍵をより小さくし計算負荷は低く抑えながら強力な暗号化を実現する、暗号化アルゴリズムのファミリーです。
特定の楕円曲線ベースのデジタル署名アルゴリズム(Edwards-Curve DSA(EdDSA)やElliptic Curve DSA(ECDSA)など)は、Secure Shell(SSH)、JSON Webトークン(JWT)、ゼロトラスト・アーキテクチャーで広く採用されています。これらの効率性は、IoT(モノのインターネット)やモバイル環境で特に役立ちます。
他の新しいアプローチ、例えば格子ベースやハッシュベースといった暗号技術は、量子コンピューターからの攻撃に抵抗できる可能性があります。これらのポスト量子アルゴリズムは、計算機における脅威の進化に対応して、将来に備えた暗号化システムにするための継続的な取り組みの一部です。
公開鍵暗号化は、eコマースのトランザクションを保護する場合でも、安全なリモート・サーバーのログインを有効にする場合でも、ほぼすべての最新サイバーセキュリティー・フレームワークに採用されています。一般的なユースケースには、次のようなものがあります。
あらゆる場所でデータを保護します。強力な暗号化を実施し、オンプレミス環境とクラウド環境全体でキーを管理し、機密情報を保護します。
あらゆる場所のデータを保護 — 環境全体にわたって機密情報を検出、分類、監視し、セキュリティーを確保します。
IBMは、エンタープライズ・データ、アプリケーション、AIを保護するための包括的なデータ・セキュリティー・サービスを提供します。