http的缺点
- 请求没有进行加密,可以通过抓包工具进行抓取,容易被窃听。
- 无法确认请求双方的身份,容易被伪造。
- 无法保证请求的完整性,容易被篡改
https
而https的出现就是为了解决http不安全的问题,https其实就是http + SSL/TLS,为什么说是“SSL/TLS”,是因为TLS在技术上取代了SSL,因为TLS从SSL3.0开始,进行了改进和修复,解决了一些安全漏洞和弱点。后文所说的SSL,就代表SSL/TLS
SSL会对通信进行加密,并且可以通过证书来验证双方的身份。
- HTTPS通过使用 SSL/TLS来加密网络通信,确保传输的数据在客户端和服务器之间是加密的。这样,第三方无法轻易获取或篡改传输的信息,提供了更高的安全性。
- HTTPS使用数字证书来验证服务器的身份。这些证书由可信任的证书颁发机构(Certificate Authorities)签发,用于证明服务器确实是所声称的域名的所有者。这样,用户可以确保他们正在与合法的网站进行通信,而不是受到欺骗。
- HTTPS还提供了数据完整性的保证。它使用消息认证码(MAC)来验证数据是否在传输过程中被篡改。这样,即使有人截获了通信数据,也能够检测到其中的篡改,并防止恶意攻击。
SSL加密过程
在https中采用的是对称加密+非对称加密,也就是混合加密。
- 首先服务端会返回公钥给客户端
- 客户端会生成一个会话秘钥,再使用公钥给这个会话密钥进行加密
- 然后再把这个加密后的会话秘钥给服务端
- 客户端再使用私钥对会和密钥进行解密
此后的请求中,服务端和客户端就会以这个密钥进行通信。
网友评论