SSHハンドシェイクプロセスで説明されていますhttp://www.cathaycenturies.com/blog/?p=1635
キー交換
- クライアントには公開鍵と秘密鍵のペアがあります。サーバーには公開鍵と秘密鍵のペアがあります。
- クライアントとサーバーは公開鍵を交換します。
- これで、クライアントはサーバーの公開鍵だけでなく、独自の鍵ペアも持っています。
- サーバーにはクライアントの公開鍵だけでなく、独自の鍵ペアもあります。
- この鍵交換は、安全でないネットワークを介して行われる。
- クライアントは秘密鍵とサーバーの公開鍵を取得し、数学方程式を介して渡して共有秘密(セッション鍵)を生成します。
- サーバーは秘密鍵とクライアントの公開鍵を取得し、数学方程式を介して渡して共有秘密(セッション鍵)を生成します。二人が共有する秘密は同じです!これは非対称キーです。
- この暗号化されたトンネルは、次のステップであるユーザー認証を含む残りのセッションに使用されます。
項目6と7では、クライアントは秘密鍵とサーバーの公開鍵を取得し、数学方程式を介して渡して共有秘密(セッション鍵)を生成し、サーバーは秘密鍵とクライアントの公開鍵を取得してそれを生成に渡します。共有秘密秘密(セッションキー)の数学方程式。
彼らは、サーバーとクライアントが共有秘密、つまりセッションキーを生成し、両方の共有秘密が同じであると言います。これは、サーバーとクライアントが同じセッションで同じセッションキーを生成することを意味しますか?それでは、なぜ「これは非対称キーです」と表示されますか?
「これは非対称キーです」とは、サーバーとクライアントで生成されたセッションキーが同じではないことを意味しますか?
項目6と7は、クライアントまたはサーバーでセッション鍵を生成するアルゴリズムへの入力が自分の秘密鍵であり、相手の公開鍵であることを意味しますか?
それでは、サーバーとクライアントの入力が異なるため、セッションキーはどのように同じになりますか?
セッションキーはセッションごとにどのように異なりますか?セッションごとの入力がありますか?
Jakujeの答えを読んだ。https://unix.stackexchange.com/a/290027/674しかし、まだ上記の質問にどのように答えるべきかわかりません。
ありがとうございます。
答え1
- これは、サーバーとクライアントが同じセッションで同じセッションキーを生成することを意味しますか?
はい、写真を見るとわかります。絵最近の質問に。
それでは、なぜ「これは非対称キーです」と表示されますか?
全く知らない。この記事の作者に尋ねるのは良いことです。非対称暗号化は共有秘密を生成するために使用されますが、この説明が何を意味するのかわかりません。
「これは非対称キーです」とは、サーバーとクライアントで生成されたセッションキーが同じではないことを意味しますか?
当然じゃない。共有秘密は同じです(共有と呼ばれます)。
- 項目6と7は、クライアントまたはサーバーでセッションキーを生成するアルゴリズムへの入力が自分の秘密鍵であり、もう一方が相手の公開鍵であることを意味しますか?
それでは、サーバーとクライアントの入力が異なるため、セッションキーはどのように同じになりますか?
前述の「数学的方程式」の核心はまさにこれである。色だけでは説明が足りない場合は、数字で説明することもできます。ウィキペディア:
- AliceとBobは、モジュロp = 23とベースg = 5(デフォルトのルートモジュロ23)を使用することに同意します。
- Alice は秘密の整数 a = 6 を選択して Bob に送信します。 A = ga mod p
- A = 5 6モジュロ 23 = 8
- Bobは秘密の整数b = 15を選択し、それをAlice B = gb mod pに送信します。
- B = 5 15モジュロ 23 = 19
- アリスは s = B a mod p を計算します。
- s = 19 6モジュロ 23 = 2
- Bob は s = A b mod p を計算します。
- s = 8 15モジュロ 23 = 2
- AliceとBobは秘密を共有します(2回)。
これの数学は「整数mod pの乗算グループ」ですが、RSAまたは楕円曲線暗号の後にも同様のメカニズムがあります。
セッションキーはセッションごとにどのように異なりますか?セッションごとの入力がありますか?
クライアントとサーバで本質的にランダムな非対称鍵ペアを生成する様々な鍵交換により、様々なセッション鍵が生成される。同じランダムデータを2回生成することは決して起こらないでください。それ以外の場合はランダムではありません。クライアントとサーバーの両方でこれを行うと、サーバーとクライアントが同じデータを生成するように強制することはほとんど不可能であるため、単一の障害点(破損したランダムジェネレータ)を削除します。
キー交換への入力もアルゴリズムによって異なりますが、デフォルトではランダムに選択されたモジュラス(上記の例では数字23)です。これは、異なるセッションに対して異なる共有鍵を得ることを保証する鍵交換の3つのランダムな入力部分である。