带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(9)

简介: 带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(9)

带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(8)https://developer.aliyun.com/article/1340622?groupCode=taobaotech

image.png第四次握手

image.png

 

【C端 -> S端】

  1. 客户端在本地随机生成一个私钥d2,通过私钥d2和基点G生成公钥Q2(Pubkey)。此时,双方都有对方的椭  圆曲线公钥、自己的椭圆曲线私钥、椭圆曲线基点 G。于是,双方都就计算出点(x,y),其中 x 坐标值双方都是一样的。x直接作为对称加密的秘钥使用安全性低,双方为了会提高秘钥的安全性,会在x上“加盐”处理, 即使用先前会话产生的随机数组合产生秘钥 —— 【5a882b + 524401 + x 】。
  2. 秘钥协商完毕,告知S端后续通信数据改用对称算法加密;
  3. 对数据做摘要算法,使用秘钥加密,交给服务端验证;

 

image.png

image.png第五次握手

 

【S端 -> C端】

  1. 确认改用对称加密算法加密后续的通信数据;
  2. 使用同样的方式传输加密后的数据并交给客户端验证。

 

TLS 经过五次握手协商并得到加密秘钥后,双方就开始基于对称加密的方式对传输数据,这样能很好的提高数据传输的效率。

 

 

数据传输(加密)

 

image.png

通信双方使用“加盐”后的秘钥加密数据,并在网络间传输。如果传输中获取到秘钥协商时产生的秘钥,则可以解密已经加密的 Application Data,例如,TLSv1.3 的加密数据被wireshark解密。

 

(https-ssl.ccdoit.com-no ico-WITH FIN TCP.pcapng)

 

 

小结

 

文章的最开始就提出了HTTP协议在目前网络传输中存在的问题,然后基于两个典型问题做了合理的方案设想,最终推演出的第四种方案是更趋近于两个问题的实际解决方案的。在提出方案后,开始对其中涉及到的哈希函数、数据加密、数字签名等书面概念做了简单的总结,目的是为后续HTTPS的实际秘钥协商过程和数据传输过程做了铺 垫。随后,基于wireshark工具,拦截一次HTTPS请求流量,对TLS(1.2版本)的秘钥协商过程(握手过程)做  了相对细致的分析,期间也对先前TLS版本使用的秘钥协商过程做了简要的介绍,希望能够帮助你在理解HTTPS  协议概念上能有所帮助。

 

下一篇文章属于实战部分,将重点介绍HTTPS证书的配置过程,我将会以阿里云证书配置和OpenSSL自签证书配置两种方式来让你的网站从HTTP转换到HTTPS。

 

 

带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(10)https://developer.aliyun.com/article/1340620?groupCode=taobaotech

相关文章
|
3天前
|
网络协议 前端开发 Java
网络原理 - HTTP / HTTPS(4)——构造http请求
网络原理 - HTTP / HTTPS(4)——构造http请求
9 1
|
3天前
|
JSON 缓存 前端开发
网络原理 - HTTP / HTTPS(3)——http响应
网络原理 - HTTP / HTTPS(3)——http响应
6 0
|
3天前
|
存储 JSON 安全
网络原理 - HTTP / HTTPS(2)——http请求
网络原理 - HTTP / HTTPS(2)——http请求
7 1
|
3天前
|
前端开发 网络协议 JavaScript
网络原理 - HTTP / HTTPS(1)——http请求
网络原理 - HTTP / HTTPS(1)——http请求
6 0
|
17天前
|
算法 安全 网络协议
https原理--RSA密钥协商算法
https原理--RSA密钥协商算法
24 0
|
23天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
23天前
|
缓存 安全 算法
网络原理 HTTP _ HTTPS
网络原理 HTTP _ HTTPS
18 0
|
23天前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
253 0
|
2天前
|
安全 前端开发 中间件
中间件中HTTP/HTTPS 协议
【6月更文挑战第3天】
12 3
|
9天前
|
存储 安全 前端开发
HTTP 协议 与HTTPS
HTTP 协议 与HTTPS