HTTPS加密及通信过程

  1. Http & Https

Http: 超文本传输协议,位于应用层,常用于web浏览器和服务器之间的通信。
Https: 位于安全层上的HTTP,在Http下面提供了一层传输级的密码安全层(SSL & TLS).

不同点:

  1. http默认情况访问的是服务端80端口,https访问的是443端口(SSL&TLS是通过443端口承载);
  2. http直接传输命令,https需要先与服务器“握手”,以二进制格式与服务器交换一些SSL安全参数,附上加密的http命令(见最下面的图)
Http Https
HTTPS加密及通信过程_第1张图片 HTTPS加密及通信过程_第2张图片
  1. 对称密钥加密 & 非对称密钥加密

对称加密: 编码时使用的密钥值和解码时一样(e=d)。对称密钥加密算法包括:DES, Triple-DES, RC2, RC4等。

  • 特点:
  1. 发送端和接收端共享相同的密钥才能通信,一定程度上保证了安全。
  2. 对于枚举攻击,密码长度越长越难以破解
  • 缺点:
  1. 每对通信实体都要有自己的私有密钥,每个实体都要记住与其通信的所有节点的密码,管理非常不便。

非对称加密: 也叫公开密钥加密,使用两个不一样的密钥,一个用来对主机报文编码,一个是对其解码。常用的非对称加密算法包括RSA算法等。

  • 特点:
  1. 编码密钥众所周知,但只有特定主机才知道私有解码密钥,解码密钥保密,保证了传输安全。
  2. 所有的想向主机发送报文的人都可以使用相同的编码密钥,解决了对称加密密钥数量多管理不便的问题。
  • 缺点:
  1. 公开密钥加密算法计算可能很慢。

常用-混合加密: 在两节点之间通过公开密钥加密建立安全通信,然后再用那条安全通道产生并发送临时的随机对称密钥,通过更快的对称加密对数据进行加密。
Https通信加密的方式也是基于此。

  1. https通信过程
    HTTPS加密及通信过程_第3张图片
    参考:
    https://klionsec.github.io/2017/07/31/https-learn/

你可能感兴趣的:(http)