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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(5)

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


image.png证书的产生和流转过程

image.png

 

 

 

  1. 产生终端证书:将发送方提供的身份信息和公钥信息作为基础数据,CA基于这些数据做哈希和数字签名(CA的 私钥加密)操作产生数字证书;
  2. 证书合法性校验:发送方会将CA签发的终端证书通过互联网发送给接收方,接收方会基于CA预装在系统内的根 证书(含CA公钥)来验证发送方提供的整证书是否合法;

 

这种在数据传输过程中引入第三方来证明公钥的合法性是相对安全的,因为被信任的CA根证书都会被预装在操作系统中,这就相当于信任自己的操作系统,所以HTTPS协议在整个传输过程中,数据的一致性和安全性可以得到有效 的保证。

 

任何解决方案都不是银弹,都存在弱点或者不足。基于CA证书的通信过程也不是完美无缺的,因为CA机构本身也 可能存在管理上的问题,进而导致伪造证书泛滥,被有心者恶意利用,或者用户本身安全意识淡薄导致将不安全的证书安装进操作系统,导致数据传输安全问题的发生。(案例:《distrusting-new-cnnic-certificates》https://blog.mozilla.org/security/2015/04/02/distrusting-new-cnnic-certificates/

 

HTTP的数据交换流程

 

下面会基于wireshark工具,对单次HTTPS协议的网站流量进行详细的分析。

 

HTTP和HTTPS数据交换流程对比

 

image.pngHTTP —— 数据传输过程简单,双方没有认证过程,数据明文传输

 

image.png

 

 

 

image.pngHTTPS —— 数据传输前要做复杂的协商过程,双方要做合法性校验,数据密文传输

image.png

 

基于DH秘钥协商算法的信息交换流程

 

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

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
12天前
|
网络协议 前端开发 Java
网络原理 - HTTP / HTTPS(4)——构造http请求
网络原理 - HTTP / HTTPS(4)——构造http请求
13 1
|
12天前
|
JSON 缓存 前端开发
网络原理 - HTTP / HTTPS(3)——http响应
网络原理 - HTTP / HTTPS(3)——http响应
10 0
|
12天前
|
存储 JSON 安全
网络原理 - HTTP / HTTPS(2)——http请求
网络原理 - HTTP / HTTPS(2)——http请求
13 1
|
12天前
|
前端开发 网络协议 JavaScript
网络原理 - HTTP / HTTPS(1)——http请求
网络原理 - HTTP / HTTPS(1)——http请求
8 0
|
26天前
|
算法 安全 网络协议
https原理--RSA密钥协商算法
https原理--RSA密钥协商算法
25 0
|
1月前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
1月前
|
缓存 安全 算法
网络原理 HTTP _ HTTPS
网络原理 HTTP _ HTTPS
20 0
|
1月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
298 0
|
11天前
|
安全 前端开发 中间件
中间件中HTTP/HTTPS 协议
【6月更文挑战第3天】
14 3
|
18天前
|
存储 安全 前端开发
HTTP 协议 与HTTPS
HTTP 协议 与HTTPS