微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSH 中的非对称加密

如何解决SSH 中的非对称加密

我阅读了关于 SSH 协议的 this article,但有一些我不太明白。作者解释说,会话期间的所有通信基本上都是使用对称加密进行加密的,即双方建立一个共享秘密(使用适当的算法,例如 diffie-hellman)。所有这些都发生在身份验证阶段之前。

对于身份验证,可以使用不同的方法。其中之一是公钥认证,这意味着服务器在 authorized_keys 文件(在用户的 .ssh 目录中)中保存了一个公钥列表,持有相应私钥的客户端被授权登录。所以这种非对称加密只用于认证。一旦客户端通过身份验证,我们就完成了,会话的其余部分仍然使用共享密钥加密。

我不明白的是文章中的这一段:

SSH 在几个不同的地方使用了非对称加密。在用于设置对称加密(用于加密会话)的初始密钥交换过程中,使用了非对称加密。在这个阶段,双方产生临时密钥对并交换公钥以产生用于对称加密的共享秘密。

“双方产生临时密钥对并交换等”这个程序是什么? ?这是否指的是我上面描述的过程,即使用 diffie-hellman 算法生成共享秘密?或者那是别的东西?如果是,它是什么以及为什么需要它?

解决方法

是的,短暂的 Diffie-Hellman(此处使用的)涉及双方生成临时密钥对并交换它们以创建共享秘密。这可以使用有限域(整数)DH(diffie-hellman-* 算法)或椭圆曲线变体(ecdh-*curve*)来完成。两者都有足够的密钥大小。

这是必要的原因是客户端和服务器没有任何其他方式来生成加密密钥。事实上,他们之前甚至可能没有联系过。使用 Diffie-Hellman 协商一个攻击者不知道的共享秘密,允许他们安全地派生出一组只有他们知道的密钥。此外,如果他们在完成后丢弃所有密钥材料,则连接具有我们所说的完美前向保密;也就是说,即使是被迫的,也没有人能比蛮力更快地恢复数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。