在派生新密钥之前,SSH 使用什么格式来交换(加密/纯)数据包?SSH 文档说,在密钥交换之后,客户端和服务器使用协商算法对数据包进行加密。如果它们甚至在密钥交换之前就被加密了,那么使用哪个密钥来加密数据包。
SSH 数据包是否在发送新密钥之前就已加密?
信息安全
加密
SSH
密钥交换
2021-08-28 16:31:18
1个回答
在 SSH 2 中,密钥交换是使用Diffie-Hellman密钥交换完成的。最好在 Wikipedia 页面(链接)上进行描述。维基百科页面上还有很多包含细节的文档 (RFC) 链接。维基百科或谷歌可能最好找到更多关于 Diffie-Hellman 的信息。
作为一个很酷的实验,你可以下载Wireshark并尝试记录一个 SSH 会话,看看它是如何工作的:

这是(部分)SSH-2 会话的 Wireshark 捕获。它不是全貌,但显示了密钥交换。之后的数据包直接加密。
SSH 可以用Putty完成
需要明确的是:密钥交换没有加密,而是以一种非常聪明的方式完成的,由两个嬉皮士在 70 年代发明。
其它你可能感兴趣的问题