Неизвестное значение в ответном пакете ответа группы Diffie-Hellman SSH2 - PullRequest
1 голос
/ 25 октября 2010

Я пытаюсь понять больше о том, как работает SSH.Я использую Wireshark для захвата пакетов, идущих между моими машинами (OpenSSH работает на обоих концах).Я застрял в пакете ответа группы обмена Диффи-Хеллмана.Кажется, что есть длина (4 байта) и значение (1 байт), не учитываемые или не описанные в RFC 4419, сразу после имени алгоритма шифрования.В RFC говорится, что первая порция данных, отправленных в этом пакете, будет открытым ключом и сертификатами сервера, но я не знаю, где искать форматы сертификатов, чтобы попытаться декодировать эти данные.

Вотпакет, полученный от сервера (информация о пакетах TCP, IP и Ethernet не включена).Я разложил это для удобства чтения.Я также указал значения и цели поля, как я их понимаю.RFC 4419 указывает, что «ключ хоста», «f» и «хеш-подпись» находятся в этих позициях. Строка, помеченная знаком «->», содержит данные, которые меня смущают.Я не вижу ничего, чтобы значение 0x23 (35) соответствовало бы.

Packet Length: 444
Padding Length: 10
  Key Exchange
    Msg code: Diffie-Hellman GEX Reply (33)
    Payload:
  00000095                                         Value = 149 bytes
  00000007 7373682d727361                          Value =   7 bytes ; "ssh-rsa"
->00000001 23                                      Value =   1 byte  ; 35
  00000081 00dca412f58b8d7bea991901652857b3        Value = 129 bytes ; host key
           ...
           ... Total of 129 bytes
           ...

  00000080 420b85197d902a986c7c67b2c4f72336        Value = 128 bytes ; f
         ...
         ... Total of 128 bytes
         ...

  0000008f                                         Value = 143 bytes
  00000007 7373682d727361                          Value =   7 bytes ; "ssh-rsa"
  00000080 0c9f8b1a7f59c25f279fcc8199ea1ffe        Value = 128 bytes ; hash signature
           ...
           ... Total of 128 bytes
           ...
    Padding String: 
    MAC String: 

Я прочитал RFC 4250-4254 и 4419, чтобы попытаться найти ключ к этому коду 0x23, но ябыли неудачными до сих пор.Вполне возможно, что я пропустил объяснение в RFC, так что не стесняйтесь указывать мне одно, если это так.Любые подсказки или объяснения будут полезны.

Спасибо

1 Ответ

1 голос
/ 17 июля 2011

Если вы посмотрите на RFC 4253, 6.6. Алгоритмы открытого ключа , где описывается формат ключа, сразу после строки ssh-rsa появляется показатель степени ключа (mpint e), который в вашем случае равен 35.

...