SSH、加密算法

SSH 是什么

SSH的全称为Secure Shell,即安全外壳协议。它是一种专为远程登陆会话和网络服务提供安全性的应用层协议。说白了就是用来连接服务器的一种方式。

在SSH的加密原理中,就用到了非对称加密算法。在讲SSH加密原理前,我们先溯本追源,了解一下加密算法和其中经典的非对称加密算法RSA。

加密算法

计算机网络中的加密算法主要分为对称加密非对称加密散列算法等三种方式。

对称加密:加密和解密使用同一个密钥,例如 DES、AES、IDEA、国密SM1/SM4等等。
非对称加密:发送方用公钥对信息进行加密,接收方收到密文后,使用私钥进行解密,例如RSA、ECC和国密SM2
散列算法:哈希加密系列算法,特点是不可逆、唯一性,例如MD5、SHA、国密SM3
相比起对称加密,非对称加密的安全性更高,但加解密的效率也相对降低。
因此像HTTPS的TLS1.2握手协议就是采用了对称加密和非对称加密结合的方式进行密文数据传输。
RSA 非对称加密算法

RSA加密算法是经典的非对称加密算法,其基本流程如下:

客户端在本地构建公钥和私钥,然后将公钥发送给服务器
服务器向客户端发送数据的时候用公钥进行加密,客户端收到数据后用私钥解密
客户端向服务器发送数据的时候用私钥进行加密,服务器收到数据后用公钥解密

缺点在于:如果公钥在传输中泄漏,则黑客可以用公钥破解客户端发送的数据。

SSH 加密原理

SSH 共有两种登录方式:

口令验证登录 服务器生成公钥和私钥 客户端发起连接请求,服务器将公钥发给客户端 客户端生成口令(服务器密码),并用服务器发来的公钥加密,发送给服务器 服务器通过私钥解密,拿到口令(服务器密码) 如果正确则认证成功 密钥验证登录 客户端生成公钥和私钥,将公钥提前部署在服务器上 客户端发起连接请求 服务器随机生成一个字符串,用本地的公钥加密,发送给客户端 客户端通过私钥解密,将解密后的字符串发送给服务器 服务器验证本地字符串和客户端发来的字符串的一致性,如果通过,则认证成功

————————————————
版权声明:本文为CSDN博主「东曜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41911142/article/details/124277397


__EOF__

本文作者LinkPoc
本文链接https://www.cnblogs.com/Y0uhe/p/16421200.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LinkPoc  阅读(2153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示