公開鍵暗号の仕組みは?

公開鍵暗号は、非対称暗号とも呼ばれ、共有鍵ではなく、公開鍵と秘密鍵の2つの個別の鍵を使用します。公開鍵暗号は、インターネットセキュリティにとって重要な技術です。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • 公開鍵暗号の定義
  • 公開鍵暗号の仕組みを理解する
  • 公開鍵暗号がTLS/SSLプロトコルに不可欠である理由を学ぶ

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

Cloudflareの無料SSL/TLSを使用し、セキュリティと信頼を高めます。

公開鍵暗号とは?

公開鍵暗号は、2つの異なる鍵を利用し、鍵の1つである公開鍵を誰でも使用できるようにする、データの暗号化または署名の方法です。もう1つの鍵は秘密鍵と呼ばれます。公開鍵で暗号化されたデータは、秘密鍵でのみ解除できます。このように1つの鍵ではなく2つの鍵を使うことから、公開鍵暗号は非対称暗号とも呼ばれます。特にTLS/SSLで広く使用されており、HTTPSを可能にします。

暗号鍵とは?

暗号では、はランダムに見えるようにデータをスクランブルするために使用される情報です。多くの場合、大きな数字、または数字と文字の文字列です。平文とも呼ばれる暗号化されていないデータが鍵を使用して暗号アルゴリズムに入力されると、平文はランダムに見えるデータとして反対側に出てきます。ただし、データを復号化するための適切な鍵を持っている人は誰でもデータを平文の形式に戻すことができます。

たとえば、平文のメッセージ、「こんにちは、」を受け取り、鍵で暗号化するとします。鍵が「2jd8932kd8」であるとしましょう。この鍵で暗号化された単純な「こんにちは」は、ランダムなごみのようなデータに見える「X5xJCSycg14 =」になります。ただし、同じ鍵で復号化すると、再び「こんにちは」と返されます。

平文+キー=暗号文:

こんにちは+ 2jd8932kd8 = X5xJCSycg14 = 

暗号文+キー=平文:

 X5xJCSycg14 = + 2jd8932kd8 = こんにちは

これは対称暗号の例で、ここでは1つの鍵のみが使用されます。公開鍵暗号では、代わりに2つの鍵が存在することになります。公開鍵でデータを暗号化し、秘密鍵で復号化するのです。

TLS/SSLはどのように公開鍵暗号を使うか?

公開鍵暗号は、インターネット経由で(HTTPSを介して)安全な通信を確立するのに非常に役立ちます。WebサイトのSSL/TLS証明書は公に共有され、公開鍵を含み、秘密鍵は配信元サーバー上にインストールされています。-それはWebサイトが「所有」しています。

TLSハンドシェイクは、公開鍵暗号を使用して、配信元サーバーのIDを認証し、セッション鍵の生成に使用されるデータを交換します。RSAやDiffie-Hellmanなどの鍵交換アルゴリズムは、公開鍵と秘密鍵のペアを使用してセッション鍵を合意します。ハンドシェイクが成立するとこれが対称暗号化に使用されます。クライアントとサーバーは、各通信セッションの新しいセッション鍵に同意できるため、悪意のある行為者は、前回のセッションからセッション鍵の1つを特定または盗んだとしても、通信を解読できません。