SSH 密钥强度

信息安全 SSH
2021-09-04 01:35:51

Github 目前建议使用这种类型的密钥:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

是否有更强大的算法或字节长度主要可用于大多数现代云PaaSIaaS服务?

(即用于常见的操作和开发操作服务,例如 EC2、Heroku、OpenShift、TravisCI、DigitalOcean 等……)

1个回答

目前,2048 位 RSA 密钥或任何更大长度(例如 Github 建议的 4096 位密钥大小)对于当今的技术和已知的分解算法来说是牢不可破的。即使对给定价格的未来计算能力改进做出了非常乐观的假设(即摩尔定律在未来三十年保持在其最高速度——戈登·摩尔本人表示,他认为这样的假设并不合理) ,2048 位 RSA 密钥在未来 30 年内不会被整个人类破解,更不用说被地球上的组织破解了。

超越“不能被打破”的阶段,没有有意义的“力量”概念。因此,不能声称 RSA-4096 或任何其他算法会“更强大”。另外一点是 SSH 密钥仅用于身份验证:破解您的密钥将允许在连接到服务器时冒充您,但无助于解密过去记录的会话。因此,对于您今天进行的连接,您无需担心明天可能发生的攻击。您所要做的就是在您的钥匙看起来接近易碎时更换您的钥匙,这在未来几十年内不会发生。

当然,总是有一些不可预见的数学突破的可能性,这使得破解 RSA 密钥变得更加容易。根据定义,不可预见的突破是不可预测的,因此任何关于该主题的辩论本质上都是高度推测性的。可以说 RSA 是一个已经存在了一段时间的问题(RSA 本身是在 1978 年定义的,但基本的数值问题——整数分解——已经研究了 2500 多年)并且最近的重大改进正在老化(通用数字场筛是在 1980 年代发明的)。因此,可以声称,如果有一种快速的 RSA 破解算法,那么它肯定是不明显的。

你可以在这个网站上找到很多关于估计关键强度的信息

总而言之,Github 建议的 RSA-4096 已经是一个巨大的矫枉过正,并且到目前为止还不是您安全性的最薄弱点。您的家用计算机受到某些恶意软件恶意控制的可能性远大于有人成功破解您的 RSA 密钥的可能性。即使 RSA 变得不稳定,您也只需要在那一刻更改您的算法和/或密钥大小。