arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2509.09331cs.CR
收藏

论SSH客户端签名的安全性

On the Security of SSH Client Signatures

Fabian Bäumer, Marcus Brinkmann, Maximilian Radoy, Jörg Schwenk, Juraj Somorovsky

AI总结:

本研究通过收集和分析SSH客户端公钥及黑盒实验,评估了24个流行SSH客户端签名算法的安全性,发现弱随机性可致密钥泄露,并首次证明ECDSA确定性nonce可被利用恢复私钥,促成CVE-2024-31497修复。

摘要:

管理员和开发人员使用SSH客户端密钥和签名进行身份验证,例如,访问互联网骨干服务器或在GitHub等平台上提交新代码。然而,与服务器不同,SSH客户端无法通过互联网扫描进行测量。我们通过两个步骤来弥补这一差距。首先,我们收集SSH客户端公钥。这些密钥通常由其所有者在GitHub和GitLab等开放开发平台上定期发布。我们通过在一项纵向研究中对这些密钥进行各种安全测试,系统化了之前的非学术工作。其次,在一系列黑盒实验室实验中,我们分析了24个流行的Linux、Windows和macOS SSH客户端中SSH客户端签名算法的实现。\n我们在两次扫描中从三个公共来源提取了31,622,338个密钥。与之前的工作相比,我们看到了放弃RSA签名转而使用EdDSA签名的明显趋势。尽管如此,在2025年1月,我们发现了98个损坏的短密钥,139个由弱随机性生成的密钥,以及149个具有公共或小因子的密钥——检索到的密钥绝大多数没有暴露弱点。\n弱随机性不仅可以通过公钥泄露私钥,还可以通过签名泄露私钥。众所周知,ECDSA中随机nonce的偏差可以通过公开签名揭示私钥。我们首次证明,在ECDSA中使用确定性nonce也可能是危险的:如果使用NIST曲线P-521的ECDSA,仅从58个有效签名中就可以恢复PuTTY客户端的私有签名密钥。PuTTY承认了我们的发现(CVE-2024-31497),并随后替换了nonce生成算法。

英文摘要:

Administrators and developers use SSH client keys and signatures for authentication, for example, to access internet backbone servers or to commit new code on platforms like GitHub. However, unlike servers, SSH clients cannot be measured through internet scans. We close this gap in two steps. First, we collect SSH client public keys. Such keys are regularly published by their owners on open development platforms like GitHub and GitLab. We systematize previous non-academic work by subjecting these keys to various security tests in a longitudinal study. Second, in a series of black-box lab experiments, we analyze the implementations of algorithms for SSH client signatures in 24 popular SSH clients for Linux, Windows, and macOS. We extracted 31,622,338 keys from three public sources in two scans. Compared to previous work, we see a clear tendency to abandon RSA signatures in favor of EdDSA signatures. Still, in January 2025, we found 98 broken short keys, 139 keys generated from weak randomness, and 149 keys with common or small factors-the large majority of the retrieved keys exposed no weakness. Weak randomness can not only compromise a secret key through its public key, but also through signatures. It is well-known that a bias in random nonces in ECDSA can reveal the secret key through public signatures. For the first time, we show that the use of deterministic nonces in ECDSA can also be dangerous: The private signing key of a PuTTY client can be recovered from just 58 valid signatures if ECDSA with NIST curve P-521 is used. PuTTY acknowledged our finding in CVE-2024-31497, and they subsequently replaced the nonce generation algorithm.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑