【每天学习一点新知识】嘘!上课偷偷学习HTTPS加密

目录

论什么是HTTPS

 为什么需要HTTPS

HTTPS加密过程


论什么是HTTPS

HTTPS,超文本传输安全协议(全称: Hypertext Transfer Protocol Secure)

相比于HTTP超文本传输协议,HTTPS更加注重安全性,是HTTP的安全版

【每天学习一点新知识】嘘!上课偷偷学习HTTPS加密_第1张图片

可以看到,HTTPS在HTTP的基础上新增了一层SSL。

HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。 

 为什么需要HTTPS

传统的HTTP是直接通过明文在浏览器和服务器之间传输信息,这样使得信息的传输非常不安全,如果信息在传输的过程中被攻击者劫持,则可能造成信息泄露甚至更严重的后果。因此,我们引入HTTPS,对传输的信息进行加密,保障传输数据的安全。

HTTPS采用 对称加密非对称加密 结合的方式来保护浏览器和服务端之间的通信安全。

如果想了解什么是对称加密和非对称加密,可以看之前密码学概述的博客:

【软考中级信安】第三章--密码学基本理论_RexHarrr的博客-CSDN博客软考信息安全工程师第三章密码学概述https://blog.csdn.net/m0_51683653/article/details/127444502?spm=1001.2014.3001.5501

HTTPS加密过程

【每天学习一点新知识】嘘!上课偷偷学习HTTPS加密_第2张图片

  1.  客户端向服务器发送连接请求,请求中包括:SSL/TSL版本号、客户端支持的加密算法列表、产生一个随机数(第一随机数)、一个Client Hello字符串
  2. 服务器返回连接响应,响应包括:确认SSL/TSL版本号、确认的加密算法列表、产生一个随机数(第二随机数)并且返回数字证书,证书中包含公钥,发送Hello Done表示发送完毕。
  3. 客户端接收到证书后验证证书是否有效
  4. 确认有效后,客户端生成一个随机数(第三随机数),用证书的公钥加密,将加密后的密钥发送给服务器
  5. 服务器用私钥解密密钥,通过计算第一、二、三随机数的哈希值作为会话密钥(对称密钥)。客户端也计算出该会话密钥。
  6. 服务器用会话密钥加密消息发送给客户端,客户端也用该会话密钥解密信息。
  7. 之后服务器和客户端的通信都通过此会话密钥进行加密解密。

你可能感兴趣的:(每天学习一点新知识,https,学习,网络)