03.HTTPS的实现原理-HTTPS的工作流程

03.HTTPS的实现原理-HTTPS的工作流程

  • 简介
  • [1. HTTPS的工作流程](#1. HTTPS的工作流程)
    • [1.1. TCP的工作流程](#1.1. TCP的工作流程)
      • [1.1.1. 三次握手的详细步骤](#1.1.1. 三次握手的详细步骤)
      • [1.1.2. 三次握手的作用](#1.1.2. 三次握手的作用)
    • [1.2. HTTPS的工作流程](#1.2. HTTPS的工作流程)
      • [1.2.1. HTTPS与TCP的关系](#1.2.1. HTTPS与TCP的关系)
      • [1.2.2. HTTPS的工作流程](#1.2.2. HTTPS的工作流程)
  • [2. 公钥和私钥的作用](#2. 公钥和私钥的作用)
  • [3. 对称密钥的生成和交换](#3. 对称密钥的生成和交换)
  • [4. 对称加密和非对称加密的区别](#4. 对称加密和非对称加密的区别)

简介

主要讲述了HTTP与HTTPS工作流程比较,以及服务器与客户机资源分配与初始化流程。首先,HTTP和HTTPS都基于TCP,但在三次握手后,HTTP直接发送请求,而HTTPS还需进行SSL/TLS握手。此外,服务器资源分配和初始化流程也包括检查资源情况、分配资源、创建连接和初始化等步骤。如果服务器回复丢失,客户机未收到确认,可能导致服务器资源耗尽。然后,重点解释了HTTPS中的TLS/SSL握手过程,强调了公钥和私钥的概念及其重要性。

1. HTTPS的工作流程

HTTPS的工作流程主要是关于S的部分,即安全部分(secure )。

HTTP本身是基于TCP的,包括其语法语义和请求方式等。

HTTPS与HTTP的区别主要在于安全性的增强,我们主要关注与安全相关的部分。

1.1. TCP的工作流程

TCP的工作流程包括三次握手和四次挥手

1.三次握手:客户机发送请求,服务器进行监听并响应,客户机进行确认。

2.四次挥手:服务器发送FIN包,客户机进行确认,然后客户机发送FIN包,服务器进行确认。

1.1.1. 三次握手的详细步骤

1.第一次握手:客户机发送请求报文段,序列号为x。

2.第二次握手:服务器收到请求后,发送确认报文段,序列号为y,确认号为x+1。

3.第三次握手:客户机收到确认报文段后,发送确认报文段,序列号为x+1,确认号为y+1。

1.1.2. 三次握手的作用

1.第三次握手的作用是确认客户机是否已收到服务器的确认报文段

2.如果没有第三次握手,服务器无法确认客户机是否收到确认报文段,可能导致资源浪费或服务器崩溃。

3.泛洪攻击(SYN Flooding)就是利用没有第三次握手导致的服务器资源被快速分配完毕的漏洞进行攻击。

1.2. HTTPS的工作流程

1.2.1. HTTPS与TCP的关系

1.HTTP和HTTPS都是基于TCP协议的。

2.HTTPS在TCP之上添加了SSL/TLS安全协议来提供加密和身份验证。

1.2.2. HTTPS的工作流程

1.HTTPS首先建立TCP连接 ,然后进行SSL/TLS握手。

2.握手过程包括客户端发起请求,服务器返回公钥证书,客户端验证证书,生成对称密钥并用公钥加密发送给服务器

3.服务器用私钥解密收到对称密钥客户端和服务器都用对称密钥进行加密和解密。

2. 公钥和私钥的作用

1.公钥用于加密对称密钥,私钥用于解密。

2.公钥可以发给任何客户端,私钥由服务器保留。

3.公钥加密的内容可以用私钥解密,反之亦然。

3. 对称密钥的生成和交换

1.客户端生成对称密钥,并用公钥加密后发送给服务器。

2.服务器用私钥解密收到对称密钥,客户端和服务器都用对称密钥进行加密和解密。

4. 对称加密和非对称加密的区别

1.对称加密:加密和解密用同一个密钥。

2.非对称加密:加密用公钥,解密用私钥,或反之。

3.HTTPS结合使用了对称加密和非对称加密,数据传输前进行密钥交换,使用非对称加密;数据传输使用对称加密。

往期文章参考:
01.HTTPS的实现原理-HTTPS的概念
02.HTTPS的实现原理-HTTPS与HTTP的区别详解

相关推荐
王二端茶倒水1 天前
从千兆到万兆:宽带运营不能只卖套餐,要管用户生命周期从千兆到万兆:宽带运营需要管理用户生命周期
后端·网络协议·架构
牛奶2 天前
HTTPS你不知道的事
前端·https·浏览器
extrao3 天前
🚀 Kea DHCP4 自动分配系统完整搭建
网络协议
喵个咪3 天前
Go-Wind HTTP 服务器从入门到精通
后端·http·go
不做菜鸟的网工5 天前
BGP特性
网络协议
AlfredZhao5 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
明月_清风7 天前
开发者网络概念全扫盲:一篇搞定
后端·网络协议
刘马想放假7 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水8 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议