PGPは複数の公開鍵を許可し、SSLでは1つの公開鍵しか抽出できないというのは私の理解です。これは正しいです? 2つの間に短い高レベルのランがありますか? SSLがどのように機能するかを本当に理解した気分ではありません。理解を深めたいです。
[〜#〜] pgp [〜#〜] は、暗号化または署名されたメッセージ、または関連する非対称鍵ペア管理の形式であり、電子メール用です。 [〜#〜] ssl [〜#〜] (現在はTLSとして知られています)は、バイナリデータ用の既存の安全でない双方向トンネル上に、バイナリデータ用の安全な双方向トンネルを確立するためのプロトコルです。
したがって、両方のシステムは広く異なる状況に適用され、それらはほとんど比較できません。ただし、1つの共通点は、どちらの場合も、1つのエンティティ(PGPの電子メール送信者、SSLのSSLクライアント)が別のエンティティ(電子メール受信者、SSLサーバー)の公開鍵を取得して使用する必要があることです。 [〜#〜] a [〜#〜]と[〜#〜] b [〜#を呼び出しましょう〜]、それぞれ、これらの2つのエンティティ。どちらの場合も、[〜#〜] b [〜#〜]は複数のキーペアを持つことができます。ただし、ダイナミクスは異なります。
PGPは「電子メール」の状況で機能します。メールは一方向かつワンショットです。ダイアログはありません。 [〜#〜] a [〜#〜]は、[〜#〜に関する十分な情報を取得できなければなりません] b [〜#〜]とメールを生成するためのキー、および[〜#〜] b [〜#〜]は、追加のデータについて[〜#〜] a [〜#〜]を要求せずに、受信メールを処理するのに十分な知識が必要です。これは、[〜#〜] a [〜#〜]が[〜#〜のコピーを取得する必要があることを意味します] b [〜#〜]の公開鍵。そのような鍵が複数ある場合は、[〜#〜] a [〜#〜]は、使用するキーを選択します。
SSLは双方向接続で機能します。クライアント[〜#〜] a [〜#〜]およびサーバー[〜#〜] b [〜# 〜]「ハンドシェイク」と呼ばれるプロセスに従って互いに話します。ここで[〜#〜] a [〜#〜]と[〜#〜] b [〜#〜]は、使用する暗号アルゴリズムに同意します(両方に何を使用するかによります)サポートと好み)。具体的には、クライアントは、サポートするアルゴリズム(および優先順位)をアナウンスし、次にサーバーは、使用される暗号化アルゴリズムの識別子で応答します。次に[〜#〜] b [〜#〜]が公開鍵を(証明書で)送信します。 [〜#〜] b [〜#〜]に複数のキーがある場合、[〜#〜] b [〜#〜]は、使用されるもの(もちろん、交渉されたアルゴリズムと互換性のあるもの)を選択します。
これが2つのプロトコルの比較の範囲です。PGPでは送信者/クライアントがキーを選択し、SSL受信者/サーバーではキーを選択します。それとは別に、使用方法やコンテキストがあまりに異なるため、有意義に比較できません。
SSLがどのように機能するかについての入門として この答え を参照してください。
キーを取得するには:
両方(PGPとSSL)には、公開鍵と秘密鍵のペアがあります。このキーは基本的に両方のテクノロジーで同じです。
主な違いは、(証明書を作成するための)公開鍵の署名方法です。
SSLでは、別のエンティティによって署名されたX.509証明書を使用します。そのような鍵に自己署名することも可能です。次に、キー自体が信頼されている必要があります。 (CAからの)すべてのルート証明書は自己署名証明書です。
PGPでは、公開鍵はPGP鍵の他の所有者によって署名されています。十分な数の人が鍵に署名し、この人が受信者によって信頼されている場合、あなたはこの鍵も信頼しています。これにより、ルートエンティティなしでweb of trustが形成されます。
SSLの場合は、PGPの場合と同様にキーリングを使用することもできます(クライアント証明書を使用する場合に使用できます)。この鍵リングは通常、アプリケーション(ブラウザーまたはEメール・クライアントとして)によって管理されます。
PGPで署名/暗号化されたメールを送信する場合、このメールには単一の鍵のみを使用します。これは、SSLサーバーで使用される単一のキーと同じです。
したがって、両方のテクノロジーの主な違いは、証明書の処理(公開鍵の署名)です。