HTTPS建立连接原理、SSL工作原理

news2024/11/24 8:53:03

HTTPS与HTTP相比有什么区别?
HTTPS保证安全的原理是什么?
HTTPS是如何建立连接的?

巨人的肩膀
3.1 HTTP 常见面试题 | 小林coding

HTTP与HTTPS的区别

  • HTTP是超文本传输协议,传输的内容是明文(HTTP1.1及之前版本)。HTTPS在TCP与HTTP层之间引入SSL/TLS安全协议,传输的报文都是加密传输的
  • HTTP建立连接简单,TCP三次握手后即可进行报文传输。而HTTPS在TCP三次握手之后,还需要进行SSL/TLS复杂的交互过程之后,才可以进行加密报文传输
  • HTTP占用80端口,HTTPS占用443端口
  • HTTPS协议需要向CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

HTTPS安全的原理

通过混合加密的方式保证报文的机密性,采用了对称加密和非对称加密两种方式结合的加密方式

  • 在通信建立前采用非对称加密的方式交换会话密钥
  • 在通信过程中使用对称加密(会话密钥)的方式加密报文
    看懂了下面的SSL的原理你就懂了。

SSL原理

数字证书,这张图直接看懂:

HTTPS建立连接

本来想用文
还是一张图弄懂:

  1. 首先是TCP的三次握手,建立TCP连接
  2. 然后客户端向服务器发送请求,请求中包含了客户端支持的TLS版本、一个随机数、密码套件
  3. 服务器接收到请求,将客户端发送过来的随机数保留下来,然后响应,响应内容:服务器生成的随机数、数字证书、确认TLS版本、确认密码套件
  4. 客户端接收到响应后,将服务器生成的随机数保留下来,然后验证数字证书的权威,然后从数字证书中取出公钥,重新生成一个随机数pre-master,利用公钥对报文进行加密。报文中的内容:新生成的随机数pre-master、加密通信算法改变的通知、对之前的数据生成一个摘要交给服务器验证。同时,利用这三个随机数计算出会话密钥
  5. 服务接收到请求后,将客户端的第二个随机数保留下来,然后对加密通信算法改变通知进行确认,验证客户端摘要的正确性。同样,服务器也有了这三个随机数,能够生成同样的会话密钥
    至此,SSL的加密通信已建立,接下来所有的报文都会利用会话密钥进行加密,因为这个会话密钥是相同的,所以在加密、解密时效率很高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/472561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】27. 移除元素

题目链接:https://leetcode.cn/problems/remove-element/ 📕题目要求: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,…

【原创】生成文件MD5图像,类似于GitHub的像素风格头像

前言 我想通过文件的md5生成关于这个md5的图像,类似于GitHub的随机像素头像,用处是让这个md5更加直观,也能用于生成各种用户头像,跟GitHub一样。 网上搜了一下,没有现成的方法,只能有一篇类似的文章可以借…

第N2周:中文文本分类-Pytorch实现

目录 一、前言二、准备工作三、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 三、模型构建1. 搭建模型2. 初始化模型3. 定义训练与评估函数 四、训练模型1. 拆分数据集并运行模型 一、前言 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 …

运算符重载----赋值运算符重载

运算符重载 本质是函数调用,内置类型编译器直接比,自定义就去找对应类内重载的函数 如果定义在类外,需要访问私有的成员函数,只能将成员函数权限变为Public或者友元(非必须不用) ,所以一般重载…

Linux程序设计之字节序转换

1.在网络通信中,数据的存储方式十分重要,因为它影响到数据的准确性。如今,电脑和网络上数据的存储方式有两种:大端模式和小端模式。大端模式:数据的高位存储在内存的低位,数据的低位存储在内存的高位。小端…

【keil5开发ARM工程时使用STLink调试的技巧分享】

ARM工程开发小技巧系列文章 St link V2驱动安装方法 文章目录 ARM工程开发小技巧系列文章前言一、准备工作1. 硬件连接2. 安装stlink的驱动3. Keil 5配置 二、调试示例1.进入调试状态2. 调试演示2.1 复位,使程序复位到初始位置2.2 单步调试2.3 逐步调试2.4 跳出调…

Quartus中的逻辑锁定与增量编译

逻辑锁定功能可以将FPGA中的代码模块在固定区域实现,优化时序性能,提升设计可靠性。增量编译功能,可以使设计更快速时序收敛,加快编译速度。 LogicLock 使用Chip Planner创建逻辑锁定区域 打开Chip Planner,点击Vie…

Kubernetes Controller原理讲解

Controller原理 在 K8s 中,用户通过声明式 API 定义资源的“预期状态”,Controller 则负责监视资源的实际状态,当资源的实际状态和“预期状态”不一致时,Controller 则对系统进行必要的更改,以确保两者一致&#xff0…

人群计数数据集汇总和详细介绍,全网最全,crowd counting datasets

Crowd Counting数据集汇总 视频监控video surveillance https://github.com/gjy3035/Awesome-Crowd-Counting/blob/master/src/Datasets.md进展 | 密集人群分布检测与计数 :https://www.sohu.com/a/338406719_823210 Free-view 2022_Pedestrian Attribute Recognition htt…

vue+element Ui 树型组件tree懒加载+搜索框远程请求数据为平铺类型

本人之前一直是耕耘后台研发,最近接了个小需求需要接触到vue,记录一下我遇到的一些前端解决时间长的问题 需求: 1:每次动态请求接口获取下一节点数据 2:接口返回的数据是list,不带子节点,用pid来…

Scala中使用Typesafe Config 库

Typesafe Config 库 在 Scala 中加载配置文件有很多种方法,其中一种常用的方法是使用 Typesafe Config 库。该库提供了一种简单易用的方式来读取和解析配置文件。 以下是在启动 main 方法后加载配置文件的示例代码: 引入 Typesafe Config 库 import c…

【MySQL】函数

一、概述 MySQL中提供了大量函数来简化用户对数据库的操作,比如字符串的处理、日期的运算、数值的运算等等。使用函数可以大大提高SELECT语句操作数据库的能力,同时也给数据的转换和处理提供了方便。 (在sql中使用函数)函数只是对…

shadowsocks服务端和客户端搭建

shadowsocks服务端和客户端搭建 一、服务端搭建 买个境外云服务器,搭建shadowsocks服务端。 需要python3环境。 1.下载shadowsocks服务端python包,并启动。下载地址 # 1.下载 [rootiZrj982e4r5hkd053zsnmqZ ~]# wget https://pypi.python.org/packa…

2023隐私计算与人工智能峰会成功举办!数据宝演讲实录(上篇)分享

2023年4月8日,2023隐私计算与人工智能峰会在深圳举办,大会由华东江苏大数据交易中心和热点资讯联合主办,会上,数据宝董事詹臻女士做开幕式致辞。 数据宝与开放群岛(Open Islands)进行战略签约,…

LoRA: 大语言模型个性化的最佳实践

出品人: Towhee 技术团队 大型语言模型(LLM)在今年获得了极大的关注。在以往,预训练微调(finetuning)成为了让模型适配于特定数据的最佳范式。然而随着大型模型的出现,这种完全微调(…

【运动规划算法项目实战】如何实现机器人多目标点导航

文章目录 前言一、 什么是actionlib?二、实现流程三、总结前言 在ROS机器人应用中,实现机器人多目标点导航是非常常见的需求。本文将介绍如何使用ROS和actionlib来实现机器人的多目标点导航,目标点信息将被记录在YAML文件中。 我们可以通过使用MoveBaseAction来实现机器人…

高并发场景下JVM调优实践

一、背景 2021年2月,收到反馈,视频APP某核心接口高峰期响应慢,影响用户体验。 通过监控发现,接口响应慢主要是P99耗时高引起的,怀疑与该服务的GC有关,该服务典型的一个实例GC表现如下图: 可以…

【WinForm】定时器的使用方法除了定时还有延迟执行可用

在使用VS开发工具创建的WinForm项目中,有一个定时器组件,拖出来放上,它只是一个定时处理的作用,不会显示在窗体中。 开发中如果需要定时处理,就使用Timer组件即可, 在它的属性事件一栏里,有一…

offer选择:创业公司 VS 大厂外包

面试拿到两个offer,一个是规模只有几十人的初创小公司,另一个是大厂外包岗位。都是功能测试,两者薪水待遇也差不多,该如何选择?更有利于之后的职业发展...... 这是一个比较典型的问题,对于要转行的同学或者是刚入行没…

【Call for papers】2023年CCF人工智能会议信息汇总(持续更新)

本博文是根据2022年CCF会议推荐的人工智能领域相关会议目录撰写。 注: 由于一些会议的投稿时间还没公开,因此根据往年投稿时间在表格中使用 ~ 符号表示大概的投稿时间(一旦会议日期更新,我们也将同步更新博文。若更新不及时请小伙…