因为早期HTTP是明文传输,随着网络的发达,对网络的安全要求越来越高,所以有了HTTPs
加密模型
对称加密:加密和解密钥匙是同一把
非对称加密:加密和解密钥匙不是同一把 公钥加密 私钥解密
数字证书
数字证书中有对象公开密钥的
SSL(Secure Socket Layer)安全套接层
SSL是位于传输层与应用层之间的协议,是一个子层,提供数据安全和数据完整的服务,以及对传输层数据进行加密后传输
HTTPS是安全的HTTP协议
HTTPS的连接过程
- 443端口的TCP连接
- SSL安全参数的握手
- 客户端发送数据
- 服务端发送数据
SSL的加密过程
- 客户端生成随机数1 ,并把随机数1、协议版本和加密算法都告诉服务端
- 服务端发送随机数2、确定加密算法和数字证书,这个时候客户端和服务端都拥有随机数1和2
- 客户端确认数字证书是否有效,如果有效,则生成随机数3并使用服务器的公钥加密随机数3并发送服务端
- 根据随机数1、2、3和相同的算法生成对称密钥,双方使用对称密码进行通信
由此可见,SSL综合使用对称加密和非对称加密算法,在进行随机数交换的时候使用的是非对称加密,等双方确定了随机数之后,则使用对称加密来进行通信。而且双方分别生成密钥,没有经过传输,已经避免了传输过程中的泄露