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的区别详解

相关推荐
严谨的麻辣烫11 小时前
数据中心出口与住宅出口的技术差异:从 ASN 到 TCP 行为的一次拆解
网络·网络协议·tcp/ip
Freed&11 小时前
Zabbix TCP连接状态自定义监控完整部署手册
网络·tcp/ip·zabbix
学着改变27511 小时前
手持式超声波流量计为何首选行澳科技?便携巡检与外夹计量的性能标杆
大数据·网络·人工智能·科技·产品运营·量子计算
2501_9159214313 小时前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Lucky_Turtle13 小时前
【SSL】letsencrypt域名证书申请,Cloudflare域名
网络·网络协议·ssl
路由侠内网穿透13 小时前
本地部署企业级快速开发平台芋道管理后台并实现外部访问
运维·服务器·网络·网络协议
basketball61613 小时前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
睡一觉就好了。16 小时前
Linux 信号机制
linux·运维·网络
A_humble_scholar18 小时前
Linux(二) C++ TCP/UDP网络编程
linux·网络·c++
Sylvia33.18 小时前
篮球数据API的技术架构与工程实践:基于火星数据WebSocket实时推送体系
java·python·websocket·网络协议·架构