chacha20-poly1305@openssh.com 对我意味着什么?

信息安全 加密 验证 SSH 协议
2021-09-06 09:36:55

OpenSSH 刚刚引入了一个新协议chacha20-poly1305@openssh.com,它结合了 DJB 的两种算法:ChaCha20Poly1305-AES它的灵感来自于 TLS类似提案,最近几个月似乎得到了 Google 的积极支持。

但大多数 SSH 安装本质上与 TLS 不同。

这个协议对 SSH 意味着什么?引用开发人员的话,它只是“替代 RC4 的高性能密码,因为它现在已经非常接近破解了”,还是在新的 x86 安装等情况下用作默认协议也是一个不错的选择ssh 使用的加密货币在哪里明显不知道是瓶颈?该协议与过去几个版本(例如 ECDSA 256 或 RSA 2048)在 ssh 中的默认加密相比如何?

1个回答

这对我来说意味着两件事:

SSH 已经有一组可并行化的计数器模式分组密码(RFC4344 第 4 节),尽管它们并没有让您开箱即用地获得性能提升ChaCha20(20 轮)比 RC4 快一点,比较每个字节的周期,并且比 AES256 快。

  • 这是 SSH 协商中的一个额外算法

第二点需要详细说明:最近添加了许多额外的密钥交换 (EC)、MAC (SHA-2) 算法,现在又添加了另一种密码。这种增加会导致较旧的(包括嵌入式/设备)SSH 服务器实现出现问题。在 SSH 中,各种算法被拼写出来,而不是像 TLS 那样具有简短、固定的标识符。Ciphers解决方法是使用显式MACs和/或KexAlgorithms在您的 ssh中删除列表config协议强制防火墙或 IPS 也有可能失火。

我相信 TLS 和 SSH 之间的一个协议区别在于身份验证、密钥交换、密码和 MAC 是独立识别和协商的,使用 TLS,每个 publickey-kex-cipher-mac 集都是定义的套件之一。Poly1305 添加了身份验证,因此 ChaCha20-Poly1305 (有效地)是一种身份验证流密码,SSH 不需要单独的 MAC,这样做的好处在问题中链接到的David Miller 的文章中进行了解释。