![研究人员从 SSH 服务器签名错误中提取 RSA 密钥 研究人员从 SSH 服务器签名错误中提取 RSA 密钥]()
来自加利福尼亚州和马萨诸塞州大学的一组学术研究人员证明,在某些条件下,被动网络攻击者有可能从自然发生的导致 SSH(安全外壳)连接尝试失败的错误中检索秘密 RSA 密钥。
SSH 是一种用于安全通信的加密网络协议,广泛应用于远程系统访问、文件传输和系统管理任务。
RSA 是 SSH 中用于用户身份验证的公钥加密系统。它使用私有密钥来解密使用公共可共享密钥加密的通信。
暴露硬件错误
大学研究人员 Keegan Ryan、Kaiwen He、Nadia Heninger 和 George Arnold Sullivan 发表的一篇论文表明,被动网络攻击者有可能从签名计算期间出现故障的 SSH 服务器获取 RSA 私钥。
研究人员在技术论文中表示:“如果使用 CRT-RSA 的签名实现在签名计算过程中出现故障,观察到该签名的攻击者可能能够计算出签名者的私钥。 ”
中国余数定理 (CRT) 与 RSA 算法结合使用,可以降低公钥的位数并加快解密时间。
研究人员进一步解释说:“这些攻击利用了这样一个事实,即如果在计算模一个素数(例如 q)时出现错误,那么生成的无效签名“s”相当于模一个素数 p 的正确签名,而不是 q。” 。
尽管此类错误很少见,但由于硬件缺陷,它们是不可避免的。只要有足够大的数据池,攻击者就可以找到并利用许多利用机会。
这是一个影响旧版 TLS 的已知问题。TLS 1.3 通过加密建立连接的握手来解决这个问题,从而防止被动窃听者读取签名。
SSH 之前被认为不会受到这种攻击,但研究人员证明,可以使用基于格的攻击来检索 RSA 秘密,这些攻击可以从部分已知的随机数中恢复私钥。
研究人员指出,他们的测试不包括“RSA-1024、SHA512 的结果,因为散列中的未知位数远远超出了我们可以用暴力破解或用格子解决的范围。”
然而,他们补充说“晶格攻击非常有效”,并且他们的测试成功率为 100%。![研究人员从 SSH 服务器签名错误中提取 RSA 密钥 研究人员从 SSH 服务器签名错误中提取 RSA 密钥]()
Intel Xeon E5-2699 上的密钥恢复时间 (eprint.iacr.org)
利用格子攻击,研究人员设法找到了 4,962 个无效签名,这些签名揭示了相应 RSA 公钥的分解,从而允许检索与 189 个唯一 RSA 公钥相对应的私钥。
许多检索到的秘密来自实施方式存在漏洞的设备,其中最大数量的签名来自 Zyxel 设备。
![研究人员从 SSH 服务器签名错误中提取 RSA 密钥 研究人员从 SSH 服务器签名错误中提取 RSA 密钥]()
与生成的签名匹配的设备 (eprint.iacr.org)
研究人员今年早些时候向思科和合勤科技披露了该问题,供应商也调查了原因。
思科确定去年在 Cisco ASA 和 FTD 软件中引入了适当的缓解措施。该公司告诉研究人员,它正在研究 Cisco IOS 和 IOS XE 软件的缓解措施。
合勤科技发现研究人员在实验中使用的 ZLD 固件版本已改用 OpenSSL,从而消除了风险。
研究人员警告说,如果使用 RSA 的中国余数定理 ( CRT ) 算法进行签名时在计算签名时出现错误,则观察签名的攻击者可能能够计算出签名者的私钥。
为了对抗攻击者检索密钥的能力,研究人员建议在发送签名之前验证签名,例如依赖 OpenSSL 生成签名的 OpenSSH 套件。
原文来自:bleepingcomputer.com
原文链接:https://www.bleepingcomputer.com/news/security/researchers-extract-rsa-keys-from-ssh-server-signing-errors/#google_vignette
![研究人员从 SSH 服务器签名错误中提取 RSA 密钥 研究人员从 SSH 服务器签名错误中提取 RSA 密钥]()
欢迎扫描关注我们,及时了解最新安全动态、学习最潮流的安全姿势!
原文始发于微信公众号(邑安全):研究人员从 SSH 服务器签名错误中提取 RSA 密钥
评论