Http和Https和SSL工作原理

news2025/1/4 20:06:30

相关概念

Http:超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上,是Web协议族中非常重要的一个协议。协议版本包含Http1.0Http1.1Http2.0.

Https:HTTPS (Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

SSL:安全套接层(Secure Socket Layer,SSL),是网景公司(Netscape)设计的主要用于Web的安全传输协议,这种协议在Web上获得了广泛的应用。版本包含 SSL1.0(未发布)、SSL2.0(于2011年废弃)、SSL3.0(于2015年废弃)。

TSL:传输层安全协议(Transport Layer Security (TLS) Protocol)是 互联网工程任务组(IETF)组织将SSL标准化后的发布的协议。版本包含 TLS1.0(于2021年弃用)、TLS1.1(于2021年弃用)、TLS1.2、TLS1.3。

相关性

TLS

TLS 包含握手协议(The Handshake Protocol)和记录协议(The Record Protocol)。

记录层协议(The Record Layer Protocol)

记录层接收来自TCP、UDP等更底层的数据。它被划change_cipher_specalerthandshakeapplication_data 四种数据类型。

握手协议(The Handshake Protocol)

握手协议比记录层协议更高,对应记录层协议handshake类型的数据。

主要作用

  • 密钥套件的协商
  • 服务器和客户端(可选)的身份验证
  • 会话密钥信息交互

握手协议包含以下步骤

  1. Client发送ClientHello,包含协议版本,随机数(RN),所有支持的密码套件(CipherSuites)。
  2. Server回应ServerHello ,包含协议版本,随机数,选择的密钥套件,会话ID。
  3. Server发送Certificate消息(可选)
  4. Server发送 ServerKeyExchange消息(可选)
  5. Server发送 CertificateRequest消息(可选)
  6. Server发送ServerHelloDone消息
  7. Client 发送 Certificate消息(可选)
  8. Client 发送 ClientKeyExchange消息
  9. Client 发送 CertificateVerify消息(可选)
  10. Client 发送 ChangeCipherSpec
  11. Client 发送 Finished消息
  12. Server发送 ChangeCipherSpec
  13. Server 发送 Finished消息
  14. Server 与Client 采用加密通信,发送application_data数据

密码套件(The Cipher Suite)

加密套件是一个算法集合,通常包含秘钥交换算法、数据加密算法、信息校验算法。格式为:

TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg

SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg

秘钥交换算法(KeyExchangeAlg):用于两个设备间秘钥的交换

数据加密算法(CipherAlg):用于传输数据的加密

信息校验算法(MacAlg):用于校验传输信息的完整性

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

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

相关文章

【3D游戏基础】蒙皮骨骼动画与骨架

效果目标!画出蒙皮动画的骨架。视频https://www.bilibili.com/video/BV1pM411m7YwPPThttps://zfxdvouj61.feishu.cn/file/boxcnwgESO6zdQetO7oNhKboNsd以下为PPT文字稿,建议还是看视频讲讲自己对蒙皮骨骼动画的理解,并在 Cocos Creator 3.6 中…

全志Tina Linux MPP (多媒体框架)开发指南支持百问网T113 D1-H哪吒DongshanPI-D1s V853-Pro等开发板

1 简述 整理 MPP sample 使用说明文档的目的是:使 MPP sample 更好用。 2 简介 MPP sample 一般存放在 MPP Middleware 的 sample 目录下。此外,MPP Framework 的 demo 目录下也有一些 sample。 本文档主要介绍 MPP Middleware 各 sample 的基本使用方…

【再学Tensorflow2】TensorFlow2的建模流程:疫情发展趋势分析

TensorFlow2的建模流程:疫情发展趋势分析时间序列简介基本概念平稳性白噪声随机游走(Random Walk)识别一个时间序列Augmented Dickey-Fuller Test(ADF)Kwiatkowski-Phillips-Schmidt-Shin Test(KPSS)时间序列模型预测准确度的衡量衡量预测准确…

舆情监测系统适用哪些行业,如何选择舆情监测系统?

当前,去网上搜索第三方舆情监测工具可以看到很多家不同公司的产品,比如TOOM舆情监测系统,那我们该如何选择舆情监测系统?舆情监测系统到底适用什么行业,带着这些疑问,接下来我们简单了解一下。 ​一、舆情监测系统适…

6.前端笔记-JS-流程控制

1、流程控制 通过控制代码的执行顺序实现我们要完成的功能。控制代码按照什么结构顺序执行 有三种结构:顺序结构、分支结构、循环结构 1.1 顺序流程控制 最简单、最基本的流程控制。程序按照代码的先后顺序,依次执行 1.2 分支流程控制 从上到下执行…

ArcGIS基础实验操作100例--实验8绘制中点连线

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据: 请访问实验1(传送门) 基础编辑篇--实验8 绘制中点连线 目录 一、实验背景 二、实验数据 三、实验步骤 (1&…

【操作系统】CPU平均负载和使用率

1.CPU的平均负载 (1)什么是CPU的平均负载 单位时间内系统处于【可运行状态】和【不可中断状态】的平均进程数,就是平均活跃进程数,和CPU使用率并没有直接关系 可运行状态 正在使用CPU或者正在等待CPU的进程用 ps aux命令看到的…

【OpenCV-Python】教程:9-1 级联分类器训练

OpenCV Python 级联分类器训练 【介绍】 使用增强的弱分类器级联包括两个主要阶段: 训练和检测阶段。使用基于HAAR或LBP模型的检测,在object detection tutorial中进行了描述。本文档概述了训练您自己的增强弱分类器级联所需的功能。当前的手册将走过所有不同的阶段: 收集训练…

机器学习-决策树算法原理及实现-附python代码

1.决策树-分类树 sklearn.tree.DecisionTreeClassifier官方地址: https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier 在机器学习中,决策树是最常用也是最强大的监督学…

用双因子认证2FA替换Google authenticator谷歌令牌,助力准上市公司实现等保安全审计

21世纪初,某人力资源科技公司试水HR SaaS赛道,以大客户为目标客群,持续深耕,稳扎稳打,如今已是一家专门为中大型企业提供一体化HR SaaS及人才管理产品/解决方案的头部企业。其产品覆盖了从员工招募、入职、管理到离职的…

Linux系统安装Mysql5.7(详解)

Linux系统上安装软件的3种方式: 本次使用二进制发布包安装方式安装Mysql5.7 (一)下载Mysql5.7的二进制包 这里可以选择去Mysql官网下载,但是由于服务在外国,下载速度实在是太慢了。这里我们可以选择去阿里云的镜像网…

数据通信基础 - 解调技术(PCM)

文章目录1 概述2 脉冲编码调制技术2.1 采样2.2 量化2.3 编码3 扩展3.1 网工软考真题1 概述 #mermaid-svg-K45XtgYRoAw04KU0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-K45XtgYRoAw04KU0 .error-icon{fill:#5522…

医疗影像工具LEADTOOLS 入门教程: 使用文档编写器创建文档 - 控制台 C#

LEADTOOLS是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理&#x…

【数据结构】Leedcode消失的数字(面试题)

目录 一、题目说明 二、题目解析 一、题目说明 题目链接: leetcode消失的数字 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 示例1: 输入:[3,0,1] 输出&#x…

菜鸟也能懂的 - 音视频基础知识。

前言 说到视频,大家自己脑子里基本都会想起电影、电视剧、在线视频等等,也会想起一些视频格式 AVI、MP4、RMVB、MKV等等。 但是我们如果认真思考这些应该就有很多疑问,比如以下问题: mp4 和 mkv有什么区别 ? 视频封装…

Lua基本数据类型

Lua官网文档入口 http://www.lua.org/ document --> manual 一、基本数据类型 lua 中有八种基本数据型,分别是: nil,boolean,number,string,function,userdata,thread 和 tab…

vue - - - - - vue-property-decorator的使用

哪有小孩天天哭,哪有赌徒天天输 。遇到不会的技术、知识点,看得多了,掉的坑多了,也就会了。 vue-property-decorator的使用1. 单文件组件写法 - Component的使用2. 组件内使用变量3. 使用计算属性 - get的使用4. 生命周期5. metho…

Nydus 镜像扫描加速

文|余硕上海交通大学22届毕业生阿里云开发工程师从事云原生底层系统的开发和探索工作。本文 6369 字 阅读 16 分钟GitLink 编程夏令营是在 CCF 中国计算机学会指导下,由 CCF 开源发展委员会(CCF ODC)举办的面向全国高校学生的暑期…

Java字符集编码解码详细介绍

文章目录字符集字符集的基本认识字符集编码和解码字符集 字符集的基本认识 字符集基础知识 计算机底层不可以直接存储字符的。计算机中底层只能存储二进制(0、1) 二进制是可以转换成十进制的 计算机底层可以表示十进制编号。计算机可以给人类字符进行编号存储,这套…

【进阶C语言】数据的存储形式

文章目录一.数据类型分类二.整形的存储形式1.源码,反码,补码的关系内存中数据的存储——二进制源码,反码,补码的关系正数负数三.大小端1.概念2.例题:判断当前编译器的存储形式四.浮点数的存储形式1.二进制的补充&#…