- Http & Https
Http: 超文本传输协议,位于应用层,常用于web浏览器和服务器之间的通信。
Https: 位于安全层上的HTTP,在Http下面提供了一层传输级的密码安全层(SSL & TLS).
不同点:
- http默认情况访问的是服务端80端口,https访问的是443端口(SSL&TLS是通过443端口承载);
- http直接传输命令,https需要先与服务器“握手”,以二进制格式与服务器交换一些SSL安全参数,附上加密的http命令(见最下面的图)
Http | Https |
---|---|
- 对称密钥加密 & 非对称密钥加密
对称加密: 编码时使用的密钥值和解码时一样(e=d)。对称密钥加密算法包括:DES, Triple-DES, RC2, RC4等。
- 特点:
- 发送端和接收端共享相同的密钥才能通信,一定程度上保证了安全。
- 对于枚举攻击,密码长度越长越难以破解
- 缺点:
- 每对通信实体都要有自己的私有密钥,每个实体都要记住与其通信的所有节点的密码,管理非常不便。
非对称加密: 也叫公开密钥加密,使用两个不一样的密钥,一个用来对主机报文编码,一个是对其解码。常用的非对称加密算法包括RSA算法等。
- 特点:
- 编码密钥众所周知,但只有特定主机才知道私有解码密钥,解码密钥保密,保证了传输安全。
- 所有的想向主机发送报文的人都可以使用相同的编码密钥,解决了对称加密密钥数量多管理不便的问题。
- 缺点:
- 公开密钥加密算法计算可能很慢。
常用-混合加密: 在两节点之间通过公开密钥加密建立安全通信,然后再用那条安全通道产生并发送临时的随机对称密钥,通过更快的对称加密对数据进行加密。
Https通信加密的方式也是基于此。
- https通信过程
参考:
https://klionsec.github.io/2017/07/31/https-learn/