わずかに異なる動作をする2つのシナリオ:
シナリオ1:
SSLを使用してHTTPS経由でWebページ(サーバー)にアクセスするWebブラウザー(クライアント)。
サーバーには、両方のキーを含む.PFXファイルがあります。クライアントはサーバー上のWebサイトに接続し、サーバーはSSLハンドシェイクの一部として公開鍵(.CERファイル)のコピーをクライアントに送信します。次に、クライアントは「SESSION-Key」を生成し、サーバーから受信した公開鍵を使用して暗号化します。次に、セッションキーがサーバーに返送され、復号化されてその信頼性が確認されます。成功すると、クライアントとサーバーの両方が「セッションキー」を共有して、対称暗号化を使用して通信します(つまり、クライアントとサーバーの両方が、同じセッションキーを使用して相互にすべてのメッセージを暗号化および復号化します。これはすべてです。アドレスバーにURLを入力してから、Webページが表示されるまでの間に、Webブラウザのバックグラウンドでバックグラウンドで実行されます。
シナリオ2:
アプリケーション(クライアント)は SSHを使用してFTPサイト(サーバー)
または
リモートデスクトップ(クライアントからサーバー)に接続します
(両方の例が適用されます)
このシナリオでは、両方のクライアントとサーバーがします、自分の秘密鍵と公開鍵のペアを持っている
(他の例とは対照的に、サーバが両方のキーを持ち、クライアントは公開鍵のみを持っている場合にのみ説明することを、このスレッドで言及)
ここで、説明のために、次のようなキーペアにラベルを付けましょう
。A1とA2 =それぞれサーバーの秘密鍵と公開鍵として
B1とB2 =それぞれクライアントの秘密鍵と公開鍵として
このモデルを使用して、このスレッドの以前の投稿では、サーバーにA1とA2(.PFXファイル)があり、A2(.CER)のコピーのみをクライアントと共有する場合について話していました。
FTPまたはSSH接続(他にも例があります)は、クライアントサーバー通信全体のA1、A2、B1、およびB2キーで構成されています。たとえば、
-クライアントはFTPサーバーに接続します。
-サーバーは、公開鍵(A2)のコピーをクライアントに送信します。
-クライアントは独自の公開鍵(B2)をサーバーに送り返し、ハンドシェイクを完了します。
-これは非対称暗号化を使用するようになります
サーバーにはA1、(独自のプライベート)、A2(独自のパブリック)、およびB2(クライアントのパブリック)のコピーがあります
クライアントにはB1、(独自のプライベート)、B2(独自のパブリック)、およびA1のコピー(サーバーのパブリック)がありますパブリック)
クライアントからサーバーへの通信:
クライアントはA2(サーバー公開鍵)を使用してサーバー宛てのメッセージを暗号化し、サーバーはA1(サーバー秘密鍵)を使用してメッセージを暗号化します
サーバー間通信:
サーバーはB2(クライアント公開鍵)を使用してクライアント宛てのメッセージを暗号化し、クライアントはB1(クライアント秘密鍵)を使用してメッセージを復号化します
.CERおよび.PFXファイルタイプに関して、サーバーには独自の.PFXがあり、組織外に配布するべきではありません。代わりに、.CERファイルをクライアントに配布する必要があります。
詳細については、https:
//www.digicert.com/ssl-cryptography.htmをご覧ください。
そしてここ:https:
//serverfault.com/questions/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client