Heartbleed 会影响 ssh 密钥吗?

Lik*_*ell 40 ssh openssl heartbleed

最近的 Heartbleed 错误是否会影响我生成的 ssh 密钥并用于通过 Github、Heroku 和其他类似站点推送/拉取代码?

我需要更换我一直在使用的钥匙吗?

Spi*_*iff 47

不,Heartbleed 不会真正影响 SSH 密钥,因此您可能不需要替换您一直在使用的 SSH 密钥。

首先,SSL 和 SSH 是两种不同的安全协议,用于两种不同的用途。同样,OpenSSL 和 OpenSSH 也是两个完全不同的软件包,尽管它们的名称相似。

其次,Heartbleed 漏洞利用导致易受攻击的 OpenSSL TLS/DTLS 对等方返回随机 64kB 内存,但几乎可以肯定它仅限于使用 OpenSSL 的进程可访问的内存。如果使用 OpenSSL 的进程无权访问您的 SSH 私钥,那么它就不能通过 Heartbleed 泄漏它。

此外,你通常只把你的SSH公共您使用SSH连接到服务器的密钥,顾名思义,公钥是可以公布的关键。谁知道并不重要。事实上,您希望公众知道您正确的公钥。

感谢@Bob 指出该漏洞会影响使用易受攻击的 OpenSSL 版本作为其客户端 TLS/DTLS 库的客户端应用程序。因此,例如,如果您的 Web 浏览器或基于 SSL 的 VPN 客户端使用易受攻击的 OpenSSL 版本并连接到恶意服务器,则该恶意服务器可以使用 Heartbleed 查看该客户端软件内存的随机片段。如果该客户端应用程序出于某种原因在内存中保存了您的 SSH 私钥副本,那么它可能会通过 Heartbleed 泄漏。

在我的脑海中,除了 SSH 之外,我没有想到任何软件可以在内存中保存未加密的 SSH 私钥的副本。好吧,假设您将 SSH 私钥加密在磁盘上。如果你没有在磁盘上加密你的 SSH 私钥,那么我想你可以使用一些 OpenSSL TLS-using 文件传输或备份程序来通过网络复制或备份你的主目录(包括你的~/.ssh/id_rsa或其他 SSH 私钥) ),那么它可能在内存中有一个未加密的 SSH 私钥副本。再说一次,如果您将未加密的 SSH 私钥备份到恶意服务器,您可能比 Heartbleed 更担心。:-)

  • 请注意,公众意见确实无关紧要 - Heartbleed 会影响客户端和服务器。但是您是对的,因为 SSH 是不同的 [并且不受此特定漏洞的影响](http://security.stackexchange.com/questions/55076/what-should-a-website-operator-do-about-the-heartbleed -openssl-exploit#comment87050_55076)。 (3认同)