网络安全基础之HTTPS协议
1.HTTP协议的缺陷
Web应用兴起之时,浏览器使用的协议是HTTP协议。HTTP协议的数据包如下
可以看到,HTTP的数据包是通过明文传输的,这就很容易的被给一些黑帽黑客利用,因此HTTP协议不适合传输敏感的信息,这是非常不安全的。
HTTP存在的问题一般如下:
1) 数据明文传输,容易被嗅探等攻击窃取、利用;
2) 数据没有很好的完整性,容易被篡改;
3) 无法校验对方的身份,存在这被冒充从而被绕过的风险。
为了解决HTTP协议存在的问题,就需要用到HTTPS协议
2.HTTPS协议
HTTPS协议是一种经过HTTP协议进行通信,利用SSL/TLS对数据包进行加密的协议。HTTPS使用的主要目的是提供对网站服务器的身份认证,保护通信双方交换的数据的隐私。HTTPS数据包如下:
从上图可以看到HTTPS的数据不是像HTTP协议一样是明文传输的,而是通过了SSL/TLS加密进行传输,HTTPS有以下的特点:
1) 对传输的内容进行加密,中间人无法直接获取明文内容
2) 验证身份:通过证书认证客户端访问的是自己想要访问的服务器
3) 保护数据的完整性,对传输的内容加密后能够防止中间人冒充或者篡改。
HTTPS在客户端与服务器之间的传输流程如下:
1.首先客户端通过URL访问服务器建立SSL连接。
2.服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端。
3.客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
4.客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
5.服务器利用自己的私钥解密出会话密钥。
6.服务器利用会话密钥加密与客户端之间的通信。
但是HTTPS协议也不是完美的,也有着其相应的缺点
• HTTPS协议多次握手,导致页面的加载时间延长近50%;
• HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
• 申请SSL证书需要钱,功能越强大的证书费用越高。
• SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。
获取更多网络安全信息:
+Q Q群:863658976
V X公众号: 哈客部落
哈客社区:hake.cc