当前位置: 首页 > news >正文

【网络协议】【http】【https】ECDHE-TLS1.2

【网络协议】【http】【https】ECDHE-TLS1.2

ECDHE算法

1.客户端和服务器端事先确定好使用哪种椭圆曲线,和曲线上的基点G,这两个参数都是公开的,
双方各自随机生成一个随机数作为私钥d,并与基点 G相乘得到公钥Q(Q=dG),此时客户端的公钥Q1, 私钥
d1
,服务器的公钥 Q2,私钥d2
双方交换各自的公钥,最后客户端计算点(x1,y1)=d1Q2,服务器计算点(x2,y2)=d2Q1,由于椭
圆曲线上是可以满足乘法交换和结合律,所以 d1Q2=d1d2G=d2d1G=d2Q1
因此双方的x坐标是一样的,所以它是共享密钥,也就是会话密钥生成材料。(会话密钥根据客户端随机数,服务器端随机数 以及x生成)

ECDHE生成会话密钥

1.客户端
客户端向服务器发送一个“ClientHello”消息
客户端支持的协议版本。
客户端支持的密码套件(密钥交换算法+签名算法+对称加密算法+摘要算法)列表。
客户端生成的一个随机数(Client Random)

2.服务器
服务器收到客户端消息后,返回一个“ServerHello”消息
服务器选择的协议版本。
服务器从客户端提供的密码套件列表中选定的密码套件。
服务器生成的一个随机数(Server Random)
服务器会发送自己的数字证书,供客户端验证服务器的身份。
服务器发送【server key Exchange】消息(这里的消息会进行签名 因为这个数据不能出错,需要证明可靠性)生成椭圆曲线Diffie-Hellman(ECDH)的公钥(d2),私钥(Q2)对,并将公钥Q2发送给客户端。

3.客户端身份验证与密钥生成:
客户端收到服务器的数字证书后,会验证证书的有效性,确保服务器的身份可信。
客户端也有自己的ECDH密钥公钥(d1),私钥(Q1),并将公钥Q1发送给服务端。通过ECDHE算法,与服务器的公钥(Q2)以及双方的私钥数生成一个共享的秘密密钥x。
密钥派生:
客户端和服务器各自基于双方生成的共享密钥x以及客户端随机数,服务端随机数,生成最终的会话密钥
消息认证:
客户端使用会话密钥加密之前发送的所有数据的摘要,并发送给服务器进行验证。
4.服务器同样验证摘要,确认无误后,双方进入安全的数据通信阶段。

后续会说明一下session ticket,session id 和TLS1.3,以及基于TLS1.3的QUIC
但是由于TLS1.3及其后续资料没有确切规范,说什么的都有,如有问题,希望大佬指出,并能给出我参考资料 那将万分感谢!

部分转自:https://zhuanlan.zhihu.com/p/686461033
部分转自:https://www.cnblogs.com/ToTigerMountain/articles/18220849

相关文章:

【网络协议】【http】【https】ECDHE-TLS1.2

【网络协议】【http】【https】ECDHE-TLS1.2 ECDHE算法 1.客户端和服务器端事先确定好使用哪种椭圆曲线,和曲线上的基点G,这两个参数都是公开的, 双方各自随机生成一个随机数作为私钥d,并与基点 G相乘得到公钥Q(QdG)&#xff0c…...

(十五)WebGL中gl.texImage2D函数使用详解

在 WebGL 中,gl.texImage2D 是一个非常关键的函数,用于将图像数据上传到 WebGL 上下文中并作为纹理对象的一部分。它允许你将图像、视频、画布等作为纹理源。理解如何使用 gl.texImage2D 是在 WebGL 中处理纹理的核心之一。 文章目录 gl.texImage2D 的基…...

CSS 颜色

所有浏览器都支持的颜色名 所有现代浏览器均支持以下 140 种颜色名称(单击颜色名称或十六进制值,可查看将以该颜色为背景颜色以及不同的文本颜色): 颜色名十六进制颜色值颜色AliceBlue#F0F8FFAntiqueWhite#FAEBD7Aqua#00FFFFAqu…...

C#,入门教程(03)——Visual Studio 2022编写彩色Hello World与动画效果

C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程https://blog.csdn.net/beijinghorn/article/details/123350910 C#,入门教程(02)—— Visual Studio 2022开发环境搭建图文教程https://blog.csdn.net/beijinghorn/article/detail…...

杀死安装 CentOS-7-x86_64-DVD-1908

使用 VMware 安装 CentOS-7-x86_64-DVD-1908 CentOS是 reahat 的 免费版本,有了ubutun ,为什么还要使用 CentOS呢? 在linux 服务器实际开发中,大家都用的CentOS,因为两个原因,一个是免费,第二是…...

55.【5】BUUCTF WEB NCTF2019 sqli

进入靶场 输入admin 123 过滤的这么严格??? 过滤很严格,此时要么爆破,要么扫描 直接扫描,得到robots.txt 访问后又得到hint.txt 继续访问 图片内容如下 $black_list "/limit|by|substr|mid|,|admi…...

LeetCode 题目 2545. 根据第 K 场考试的分数排序

在本篇文章中,我们将探讨如何根据第 K 场考试的分数对学生进行排序。这个问题是 LeetCode 上的一个中等难度问题,涉及到排序算法和自定义比较函数的使用。 问题描述 解题思路 理解问题 首先,我们需要理解问题的核心:根据第 K 场…...

算法随笔_12:最短无序子数组

上一篇: 算法随笔_11: 字符串的排列-CSDN博客 题目描述如下: 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的最短子数组,并输出它的长度。…...

计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

Linux-C/C++--初探linux应用编程概念

对于大多数首次接触 Linux 应用编程的读者来说,可能对应用编程(也可称为系统编程)这个概念并不 太了解,所以在正式学习 Linux 应用编程之前,笔者有必要向大家介绍这些简单基本的概念,从整体上认识 到应用编…...

用sklearn运行分类模型,选择AUC最高的模型保存模型权重并绘制AUCROC曲线(以逻辑回归、随机森林、梯度提升、MLP为例)

诸神缄默不语-个人CSDN博文目录 文章目录 1. 导入包2. 初始化分类模型3. 训练、测试模型,绘图,保存指标 1. 导入包 from sklearn.linear_model import LogisticRegression from sklearn.ensemble import RandomForestClassifier, GradientBoostingClass…...

动手学大数据-3社区开源实践

目录 数据库概览: MaxComput: HAWQ: Hologres: TiDB: Spark: ClickHouse: Apache Calcite 概览 Calcite RBO HepPlanner 优化规则(Rule) 内置有100优化规则 …...

使用Pydantic驾驭大模型

本文介绍Pydantic 库,首先介绍其概念及优势,然后通过基本示例展示如何进行数据验证。后面通过多个示例解释如何在LangChain中通过Pydantic进行数据验证,保证与大模型进行交互过程中数据准确性,并显示清晰的数验证错误信息。 Pydan…...

【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发之常见布局

目录 1 -> 自适应布局 1.1 -> 线性布局 1.1.1 -> 线性布局的排列 1.1.2 -> 自适应拉伸 1.1.3 -> 自适应缩放 1.1.4 -> 定位能力 1.1.5 -> 自适应延伸 1.2 -> 层叠布局 1.2.1 -> 对齐方式 1.2.2 -> Z序控制 1.3 -> 弹性布局 1.3.1…...

【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界

目录 前言 一、Python—— 网络爬虫的绝佳拍档 二、网络爬虫基础:揭开神秘面纱 (一)工作原理:步步为营的数据狩猎 (二)分类:各显神通的爬虫家族 三、Python 网络爬虫核心库深度剖析 &…...

队列的基本用法

以下是关于 C 语言中队列的详细知识,包括队列的生成、相关函数使用以及其他重要概念: 一、队列的概念 队列是一种线性数据结构,它遵循先进先出(First In First Out,FIFO)的原则,就像日常生活中…...

网络安全VS数据安全

关于网络安全和数据安全,我们常听到如下两种不同声音: 观点一:网络安全是数据安全的基础,把当年做网络安全的那一套用数据安全再做一遍。 观点二:数据安全如今普遍以为是网络安全的延伸,实际情况是忽略数据…...

Linux(NFS服务)

赛题拓扑: 题目: NFS: 共享/webdata/目录。用于存储AppSrv主机的WEB数据。仅允许AppSrv主机访问该共享。 [rootstoragesrv ~]# yum install nfs-utils -y [rootstoragesrv ~]# mkdir /webdata [rootstoragesrv ~]# chmod -R ow /webdata …...

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)边缘检测

OpenCV中边缘检测四种常用算子: (1)Sobel算子 Sobel算子是一种基于梯度的边缘检测算法。它通过对图像进行卷积操作来计算图像的梯度,并将梯度的大小作为边缘的强度。它使用两个3x3的卷积核,分别用于计…...

SSM课设-学生管理系统

【课设者】SSM课设-学生管理系统 技术栈: 后端: SpringSpringMVCMybatisMySQLJSP 前端: HtmlCssJavaScriptEasyUIAjax 功能: 学生端: 登陆 学生信息管理 个人信息管理 老师端: 多了教师信息管理 管理员端: 多了班级信息管理 多了年级信息管理 多了系统用户管理...

前端状态管理:别让你的应用状态一团糟

前端状态管理:别让你的应用状态一团糟 什么是前端状态管理? 前端状态管理是指管理前端应用中数据状态的方法和工具。别以为状态管理只是简单的变量存储,复杂的应用状态管理不当会让你的代码变成一团糟。 为什么需要状态管理? 统一…...

HsMod终极指南:如何通过开源插件将炉石传说个性化体验提升5倍

HsMod终极指南:如何通过开源插件将炉石传说个性化体验提升5倍 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架的开源炉石传说插件,为技术…...

vue 自定义验证规则rule只能为数字

vue中自定义rule进行校验input框只能为数字vue<el-input v-model"age" maxlength"3"/>jsconst isNum (rule, value, callback) > {const age /^[0-9]*$/if (!age.test(value)) {callback(new Error(年龄只能为数字))}else{callback()}}rules: {a…...

如何用Bebas Neue免费开源字体打造专业级标题设计

如何用Bebas Neue免费开源字体打造专业级标题设计 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 在当今数字设计领域&#xff0c;寻找既专业又免费的标题字体往往令人头疼。商业字体授权费用高昂&#xff0c;而…...

Pixel Dream Workshop 大模型一键部署教程:3步搭建创意生成环境

Pixel Dream Workshop 大模型一键部署教程&#xff1a;3步搭建创意生成环境 1. 开篇&#xff1a;为什么选择Pixel Dream Workshop&#xff1f; 如果你正在寻找一个能快速生成高质量创意内容的工具&#xff0c;Pixel Dream Workshop绝对值得一试。这个基于大模型的开源项目&am…...

Steam成就解锁工具:如何修复游戏bug并管理你的Steam成就

Steam成就解锁工具&#xff1a;如何修复游戏bug并管理你的Steam成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager&#xff0…...

类器官:十五五规划下的“人体替身“革命

3月10日&#xff0c;《中华人民共和国国民经济和社会发展第十五个五年规划纲要&#xff08;草案&#xff09;》正式对外公布并提请全国人大审议。值得关注的是&#xff0c;类器官与器官芯片技术首次被提升至国家战略高度——在"专栏8 前沿科技攻关"的"生命科学与…...

数据库外键设计实战:物理外键与逻辑外键的抉择与优化

1. 物理外键与逻辑外键的本质区别 第一次接触数据库设计时&#xff0c;我被外键这个概念困扰了很久。直到有次在项目中踩了坑才真正明白&#xff1a;物理外键是数据库的硬性规定&#xff0c;而逻辑外键是开发团队的君子协议。举个例子&#xff0c;就像交通规则中的红绿灯&#…...

BERT中文模型实战指南:从零开始搭建智能文本分类系统

BERT中文模型实战指南&#xff1a;从零开始搭建智能文本分类系统 1. 项目概述与准备工作 1.1 BERT模型简介 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是Google在2018年提出的预训练语言模型&#xff0c;它通过双向Transformer架…...

Java 25虚拟线程与Project Loom深度绑定解析(2025生产环境禁用清单首次公开)

第一章&#xff1a;Java 25虚拟线程与Project Loom深度绑定解析&#xff08;2025生产环境禁用清单首次公开&#xff09;Java 25正式将Project Loom的虚拟线程&#xff08;Virtual Threads&#xff09;从预览特性升级为**完全标准化、JVM内建的并发原语**&#xff0c;但这一演进…...