美文网首页
HTTPS vs SSH 通信过程对比

HTTPS vs SSH 通信过程对比

作者: 一个理想主义的大兵 | 来源:发表于2019-06-10 16:33 被阅读0次

这两个协议有些相似之处,故一起对比记录

对比:

  • 相同点:均使用对称加密和非对称加密的组合方式,来保证数据传输的安全性和效率

  • 不同点:

    • serverclient传输public key时,https通过第三方CA(证书机构)校验,ssh需要去官方手动校验
    • 用于对称加密的秘钥,https由客户端提供,ssh由双方协调生成
    • https通过对称秘钥开始数据通信,ssh需要进一步验证(密码或另一组private key / public key)

HTTPS

重点:

  1. 如何验证server端的public key
  2. 如何安全传输对称秘钥

简要流程如下:

  • client通过TCP三次握手,与server建立连接
  • server将证书信息发送到client(包含public key)
  • client通过证书颁发机构进行验证(多缓存在客户端中)
  • 验证通过后,client生成对称秘钥,通过证书中的public key加密后,传输到server
  • server用对应的private key,解密得到对称秘钥
  • 至此,完成非对称加解密过程,之后的通信均是对称加解密过程
    HTTPS.jpg

SSH

重点:

  1. 两组private key / public key用意不同

简要流程如下:

  • client通过TCP连接server

  • server返回对应的public key

  • client通过官方自行校验public key的合法性

  • 校验通过后,双方通过Diffie-Hellman算法,协商对称秘钥

    期间生成各自的private key/public key,使用非对称加密通讯,此过程可参考本文提供的参考资料

  • 之后的校验过程(Authentication)和数据通讯过程,均使用此秘钥,进行对称加解密

  • Auth过程分为两种:

    1. 通过账号密码

    2. 通过private key / public key

      • client生成private keypublic key,并将public key手动传输至server
      • client将秘钥ID(for the key pair)发送至server
      • server通过ID,在authorized_keys文件中查找对应的public key
      • 如找到,server端生成一个随机数,并用public key加密,发送到client
      • clientprivate key进行解密,并计算MD5值,发送至server
      • server用原始的随机数,也计算得到MD5值,与client传来的值作比较,匹配即通过验证

      传输过程,均使用之前协商的对称秘钥,通过对称加解密传输,此过程中的private key / pulic key 只用作验证

SSH.jpg

Reference

相关文章

  • HTTPS vs SSH 通信过程对比

    这两个协议有些相似之处,故一起对比记录 对比: 相同点:均使用对称加密和非对称加密的组合方式,来保证数据传输的安全...

  • https vs ssh

    the most obvious difference between these two methods is ...

  • Https通信过程

    Http属于超文本传输协议,也可以被翻译成超文本转移协议�,属于应用层协议,Https不是新的应用层协议,只是在原...

  • https通信过程

    clientHello,客户端向服务端发送 version,client random,sessionID,cip...

  • HTTPS通信过程

    首先服务器像证书机构进行证书申请:实际得到的证书是证书机构例如CA通过自己的私钥,将服务器提交的信息(服务器公钥,...

  • IOS-逆向开发 SSH连接 初级偏(私钥和USB连接)三

    SSH、OpenSSH、SSL、OpenSSL SSH的版本 SSH的通信过程 SSH建立安全的连接 如何查看客户...

  • Https通信过程整理

  • 前端加解密

    HTTPS通信过程 HTTPS通信过程HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传...

  • 深入HTTPS系列三(如何通信)

    继上篇深入HTTPS系列二(加密&证书)后,该篇主要讲HTTPS通信过程。 ** HTTPS的通信过程** 1、客...

  • Github , ssh and https

    ssh 和 https 的区别 SSH 特点 认机器,不认账号 配置过程 查看是否配置过SSH(cd ~/.ssh...

网友评论

      本文标题:HTTPS vs SSH 通信过程对比

      本文链接:https://www.haomeiwen.com/subject/evazxctx.html