公開鍵暗号は、非対称暗号とも呼ばれ、共有鍵ではなく、公開鍵と秘密鍵の2つの個別の鍵を使用します。公開鍵暗号は、インターネットセキュリティにとって重要な技術です。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
公開鍵暗号は、2つの異なる鍵を利用し、鍵の1つである公開鍵を誰でも使用できるようにする、データの暗号化または署名の方法です。もう1つの鍵は秘密鍵と呼ばれます。公開鍵で暗号化されたデータは、秘密鍵でのみ解除できます。このように1つの鍵ではなく2つの鍵を使うことから、公開鍵暗号は非対称暗号とも呼ばれます。特にTLS/SSLで広く使用されており、HTTPSを可能にします。
暗号では、鍵はランダムに見えるようにデータをスクランブルするために使用される情報です。多くの場合、大きな数字、または数字と文字の文字列です。平文とも呼ばれる暗号化されていないデータが鍵を使用して暗号アルゴリズムに入力されると、平文はランダムに見えるデータとして反対側に出てきます。ただし、データを復号化するための適切な鍵を持っている人は誰でもデータを平文の形式に戻すことができます。
たとえば、平文のメッセージ、「こんにちは、」を受け取り、鍵で暗号化するとします。鍵が「2jd8932kd8」であるとしましょう。この鍵で暗号化された単純な「こんにちは」は、ランダムなごみのようなデータに見える「X5xJCSycg14 =」になります。ただし、同じ鍵で復号化すると、再び「こんにちは」と返されます。
平文+キー=暗号文:
こんにちは+ 2jd8932kd8 = X5xJCSycg14 =
暗号文+キー=平文:
X5xJCSycg14 = + 2jd8932kd8 = こんにちは
これは対称暗号の例で、ここでは1つの鍵のみが使用されます。公開鍵暗号では、代わりに2つの鍵が存在することになります。公開鍵でデータを暗号化し、秘密鍵で復号化するのです。
公開鍵暗号は、インターネット経由で(HTTPSを介して)安全な通信を確立するのに非常に役立ちます。WebサイトのSSL/TLS証明書は公に共有され、公開鍵を含み、秘密鍵は配信元サーバー上にインストールされています。-それはWebサイトが「所有」しています。
TLSハンドシェイクは、公開鍵暗号を使用して、配信元サーバーのIDを認証し、セッション鍵の生成に使用されるデータを交換します。RSAやDiffie-Hellmanなどの鍵交換アルゴリズムは、公開鍵と秘密鍵のペアを使用してセッション鍵を合意します。ハンドシェイクが成立するとこれが対称暗号化に使用されます。クライアントとサーバーは、各通信セッションの新しいセッション鍵に同意できるため、悪意のある行為者は、前回のセッションからセッション鍵の1つを特定または盗んだとしても、通信を解読できません。
利用開始
SSL/TLSについて
HTTPSについて
暗号化について
SSL用語集