SSL和SSH有什么区别
2019-12-12 · 百度认证:Gworg官方账号,科技领域创作者
ssl是通讯链路的附加层。可以包含很多协议。https, ftps, …..
ssh只是加密的shell,最初是用来替代telnet的。通过port forward,也可以让其他协议通过ssh的隧道而起到加密的效果。
解释原因:
- SSL,即安全套接层(Secure Sockets Layer),它是一种安全协议,是Netscape公司在推出Web浏览器首版时一起提出的。
SSH,也就是Security Shell,由 IETF 的网络小组(Network Working Group)所制定,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
SSL有证书中心(CA)公正,可以确定发送者的身份。而SSH没有,可能会被“中间人攻击”,它相当于现代版的窃听。如果攻击者插在用户与远程主机之间(比如在公共wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。不过确保禁用了不安全的SSL/TLS协议,且所访问的网址前面有HTTPS作为开头,可以避免大多数的中间人攻击。SSL终止代理可以处理传入的SSL连接,解密SSL并将未加密的请求传递给其他服务器。SSL允许您通过签名证书使用PKI(公钥基础设施)。而使用SSH,您必须通过ftp等其他协议手动交换密钥指纹。
SSH有一个用户身份验证层,这是SSL所缺乏的(不过是因为它并不需要验证功能)。在使用utf – 8编码时,SSH协议使用了更多的协议。考虑到有更多的潜在攻击,SSH的攻击面似乎更大。但这只是因为SSH内建了一个完整的应用程序。安全性和SSL其实相差无几。
从概念上讲,我们可以使用SSH并将隧道部分替换为SSL中的隧道部分,甚至还可以使用HTTPS并使用SSH-with-data-transport替换SSL事务,并使用钩子从其证书中提取服务器公钥。没有科学上的不可能性,如果做得恰当,它们的安全性将保持不变。
2019-02-19 · 百度认证:安徽斯百德信息技术有限公司
一、SSL:全称是Secure Sockets Layer,是介于TCP层协议和HTTP协议之间的协议,如果用TCP/IP五层协议来考察,那SSL属于应用层,与HTTP在同一层。
SSL协议与HTTP协议没任何关系,它是一个安全协议,用于对数据包(有应用层协议头)进行加密,因此,我们也可以对FTP、SMTP等协议用SSL协议加密,即FTPS、SMTPS。
二、SSH 即Secure Shell,它主要由三部分组成:
第一部分:连接协议 [SSH-CONNECT]
将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。
第二部分:用户认证协议 [SSH-USERAUTH]
用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。
第三部分:传输层协议 [SSH-TRANS]
注意这里的传输层跟OSI的传输层其实关系不大,只不过他们是应用层中最靠近传输层协议的部分。提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS 提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。
三、SSL和SSH的区别
相同点:如果按五层协议来划分的话,那SSH与SSL都可以算是应用层协议,他们都使用了非对称加密,将应用层进行了加密,另外,他们其实都是比较基础的应用层协议,即它们上面还可以再放其它应用层协议,如FTP协议等。
不同点:SSH不需要证书,即不需要公证机构,SSH实现了主机用户名和密码的认证,这是SSH的SSH-TRANS部分完成的,而SSL没有这个功能。
SSH的英文全称是Secure Shell。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了, 而且也能够防止DNS和IP欺骗。还有一个 额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。 SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提 供一个安全的"通道"。