1

SSHの仕組みについてもっと理解しようとしています。Wireshark を使用して、マシン間を移動するパケットを取得しています (両端で OpenSSH が実行されています)。Diffie-Hellman Group Exchange Reply パケットでスタックしています。暗号化アルゴリズム名の直後に、RFC 4419 で説明されていない、または記述されていない長さ (4 バイト) と値 (1 バイト) があるようです。RFC によると、このパケットで送信されるデータの最初のチャンクはサーバーの公開鍵と証明書になるとのことですが、このデータを試してデコードするための証明書形式を探す場所がわかりません。

これは、サーバーから受信したパケットです (TCP、IP、およびイーサネットのパケット情報は含まれていません)。読みやすいように広げました。また、私が理解している値とフィールドの目的も示しました。「ホスト キー」、「f」、および「ハッシュ署名」は、RFC 4419 によってこれらの位置にあることが示されています。「->」でマークされた行には、私を混乱させるデータがあります。値 0x23 (35) が関連するものは何も見えません。

パケット長: 444
パディングの長さ: 10
  鍵交換
    メッセージ コード: Diffie-Hellman GEX Reply (33)
    ペイロード:
  00000095 値 = 149 バイト
  00000007 7373682d727361 値 = 7 バイト; 「ssh-rsa」
->00000001 23 値 = 1 バイト。35
  00000081 00dca412f58b8d7bea991901652857b3 値 = 129 バイト; ホストキー
           ...
           ... 合計 129 バイト
           ...

  00000080 420b85197d902a986c7c67b2c4f72336 値 = 128 バイト。へ
         ...
         ...合計128バイト
         ...

  0000008f 値 = 143 バイト
  00000007 7373682d727361 値 = 7 バイト; 「ssh-rsa」
  00000080 0c9f8b1a7f59c25f279fcc8199ea1ffe 値 = 128 バイト。ハッシュ署名
           ...
           ...合計128バイト
           ...
    パディング文字列:
    MAC 文字列:

RFC 4250-4254 および 4419 を読み、このコード 0x23 の手がかりを見つけようとしましたが、これまでのところ成功していません。RFC で説明を見逃している可能性は十分にあるので、その場合は遠慮なく指摘してください。ヒントや説明は役に立ちます。

ありがとうございました

4

1 に答える 1

1

RFC 4253、6.6を見ると。公開鍵アルゴリズム。鍵の形式が記述されている場合、文字列の直後にssh-rsa鍵の指数(mpint e)が表示されます。この場合は35です。

于 2011-07-16T21:59:09.040 に答える