SSH2 Diffie-Hellman组交换回复数据包中的未知值

时间:2010-10-25 02:04:30

标签: ssh diffie-hellman

我正在尝试更多地了解SSH的工作原理。我正在使用Wireshark来抓取我的机器之间的数据包(OpenSSH在两端运行)。我被困在Diffie-Hellman Group Exchange Reply数据包中。在加密算法名称之后,RFC4419似乎没有考虑或未描述长度(4字节)和值(1字节)。 RFC说在这个数据包中发送的第一个数据块将是服务器的公钥和证书,但我不知道在哪里寻找证书格式来尝试解码这些数据。

这是从服务器接收的数据包(不包括TCP,IP和以太网数据包信息)。为了便于阅读,我把它展开了。我也明白了我所理解的价值观和实地目的。 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 个答案:

答案 0 :(得分:1)

如果您查看RFC 4253, 6.6. Public Key Algorithms,其中描述了密钥格式,请在ssh-rsa字符串后面紧跟密钥的指数(mpint e),在您的情况下为35。

相关问题