SSH是一种用于安全通信的加密网络协议,广泛部署于远程系统访问、文件传输、系统管理任务中。SSH中采用公钥加密系统RSA作用户认证。RSA使用共享的公钥加密通信信息,使用私钥加密通信内容。美国加州大学圣地亚哥分校研究人员研究发现,被动攻击者在特定条件下可以从失败的SSH连接错误中提取出RSA密钥。
CRT-RSA是使用中国剩余定理(CRT)的RSA算法,可以降低公钥的大小,并且提高解密速度。如果使用CRT-RSA的签名实现在签名计算过程中出现错误,可以查看这些签名的攻击者就可以计算签名者的私钥。
虽然此类错误很少见,但由于硬件缺陷此类错误也是不可避免的。如果攻击者拥有足够多的数据,就可以利用这些数据来提取RSA密钥。对于TLS来说,该问题也并不是一个新问题,会影响老版本的TLS。在TLS 1.3中,通过加密建立连接的握手协议来预防被动监听者读取签名信息。而一般认为该问题并不影响SSH,研究人员证明了使用基于格的攻击可以提取出RSA密钥。
图 Intel Xeon E5-2699上的密钥恢复耗时
研究人员实验发现其基于格的攻击方法非常高效,成功率可以达到100%。研究人员通过4962个无效签名成功提取出了189个唯一的RSA公钥对应的私钥。但研究人员未测试RSA-1024、SHA 512,因为这些算法哈希中的未知位数超出了暴力破解和可以用格计算的范围。
图 提取的RSA密钥对应的设备
从设备来看,许多提取的秘密信息都来自于包含有漏洞的实现的设备,其中大部分来自Zyxel设备。
相关研究成果已被安全顶会CCS 2023录用,更多参见https://eprint.iacr.org/2023/1711
TDSC | AI算法可检测针对军用无人驾驶车辆的中间人攻击
IEEE S&P24:GPU.zip侧信道漏洞影响主流GPU
Usenix Sec 23:Inception推测执行攻击影响所有AMD CPU
Usenix Sec 23:Downfall推测执行攻击影响Intel
BlackHat USA 23 & DEFCON 31:利用LED闪烁恢复密钥
原文始发于微信公众号(信息安全最新论文技术交流):CCS 23:利用SSH签名错误提取RSA密钥
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论