HTTPS工作过程!

news2024/10/2 1:59:33

HTTPS了解

  1. HTTPS 也是一个应用层协议, 是在 HTTP 协议的基础上引入了一个加密层。
  2. HTTP 协议内容都是按照文本的方式明文传输的, 这就导致在传输过程中出现一些被篡改的情况。如运营商劫持。

HTTPS工作过程

① 既然要保证数据安全, 就需要进行 “加密”。
② 网络传输中不再直接传输明文了, 而是加密之后的 “密文”。
③ 加密的方式有很多,但是整体可以分成两大类: 对称加密 和 非对称加密。

其实,HTTPS加密中最主要的就是:对称加密是数据安全的基本保证,非对称加密是保护对称加密的安全,证书为了防止中间人攻击。


数据摘要/签名

数据签名,其实就类似于现实中的签名。

  1. 不同的数据, 生成的 “签名” 差别很大, 这样使用这样的签名就可以一定程度的区分不同的数据。
  2. 常见的生成签名的算法有: MD5 和 SHA 系列。
    以 MD5 为例, 我们不需要研究具体的计算签名的过程, 只需要了解 MD5 的特点:

① 定长: 无论多长的字符串, 计算出来的 MD5 值都是固定长度 (16字节版本或者32字节版本)
② 分散: 源字符串只要改变一点点,最终得到的 MD5 值都会差别很大
③ 不可逆: 通过源字符串生成 MD5 很容易, 但是通过 MD5 还原成原串理论上是不可能的.

正因为 MD5 有这样的特性, 我们可以认为如果两个字符串的 MD5 值相同, 则认为这两个字符串相同。


完整流程!

文字

在客户端的系统中内置了CA证书的的公钥1,服务器申请证书并获得CA机构的私钥1,同时生成了公钥2与私钥2.
客户端发起建立连接的请求,服务器收到请求后将公钥2放入证书,重新计算证书的签名并使用私钥1进行加密,客户端使用公钥1解密获取签名并验证正实数的合法性,然后获取到证书中的公钥2(其实在这里,黑客也是可以解密私钥1拿到公钥2的,但是没有私钥2也没有办法,亦或者是篡改了公钥2后使用私钥2解不开也是会被发现的);然后在客户端生成对称密钥,使用公钥2对对称密钥加密并发送给服务器,服务器收到请求之后使用私钥2解密,获取到对称密钥,接着返回一个确认相应,响应内容使用对称密钥进行加密,客户端收到确认响应之后就确认对方已经获取到对称密钥了;然后客户端就可以使用对称密钥对业务请求进行加密发送给服务器了,服务器收到请求之后使用对称密钥进行解密,获取业务请求的内容,然后使用对称密钥加密业务响应并返回给客户端,客户端使用对称密钥解密获取业务响应的内容。

【为什么后期直接使用对称加解密了?】
答:后续客户端和服务器的通信都只用对称加密即可。 由于该密钥只有客户端和服务器两个主机知道, 其他主机/设备不知道密钥即使截获数据也没有意义。


图文

111

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

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

相关文章

【python】如何把你的python包发布出去(pip install)

python:如何把你的python包发布出去(pip install) 介绍 实际上分为两步 打包发布 我们要发布的网站是https://pypi.org/。也就是用户通过pip install XXX,就可以安装你的包。 1 通过setuptools打包 需要我们编写setup.py f…

数据库的事务

作者:~小明学编程 文章专栏:MySQL 格言:目之所及皆为回忆,心之所想皆为过往 目录 什么是事务? 事务的特性 原子性 一致性 持久性 独立性 事务之间的影响 脏读 不可重复读 幻读 数据库的隔离级别 读未提交…

kvm介绍

kvm里主要去介绍它的虚拟化技术,包括云计算的组成和云计算的背景。 kvm的运行原理,虚拟机的创建,虚拟机的生命周期管理。 云计算的定义 它不是一种技术,它是一种收费模式,就是通过互联网把一些主机的硬件&#xff0…

2021年我国企业服务市场投融资概况 技术服务单笔规模最大 早期融资笔数最多

一、企业服务投融资年度概况 据相关数据显示,2021年我国企业服务市场共发生2417笔投融资事件,其中,1753笔项目已披露融资金额。从月度分布来看,3月、6月、7月、8月和12月的融资数量均在200起以上,其中,12月…

[附源码]Python计算机毕业设计高校学生体温管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Python实现:高斯滤波 均值滤波 中值滤波 Canny(边缘检测)PCA主成分分析 直方图规定化 Mean_Shift

Python实现:高斯滤波 均值滤波 中值滤波 Canny(边缘检测)PCA主成分分析 直方图规定化 Mean_Shift(文末附上整合这些函数的可视化界面并且已做打包处理) 1.高斯滤波(以下函数所有的图片路径为方便前来copy的同学&#…

微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.4 实现进程缓存

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 多级缓存 文章目录微服务框架多级缓存46 JVM 进程缓存46.4 实现进程缓存46.4.1 实现进程缓存46 JVM 进程缓存 46.4 实现进程缓存 46.4.1 实…

Linux从入门到进阶学习(Ⅱ):Linux基础命令

目录 1 Linux目录结构 2 命令格式 3 目录切换命令 3.1 ls命令 3.2 选项与参数 3.3 目录切换 1.cd 2.pwd 4 路径 5 创建目录命令 6 文件操作命令 6.1 创建文件 6.2 查看文件 6.3 复制文件 6.4 移动文件 6.5 删除文件 1.rm命令 2.通配符 3.root用户 7 查找命…

C语言期末集训2(大一,超基础,小猫猫大课堂的配套练习)——分支结构

更新不易,麻烦多多点赞,欢迎你的提问,感谢你的转发, 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我…

分库分表 15 连问,你抗的住吗?

我们去面试的时候,几乎都会被问到分库分表。 在这里整理了分库分表的15道经典面试题,大家看完肯定会有帮助的。 1. 我们为什么需要分库分表 在分库分表之前,就需要考虑为什么需要拆分。我们做一件事,肯定是有充分理由的。所以得…

技术分享-应用列表性能优化

阅读文章大约需要10分钟 目录 1.背景 2.分析 3.优化 4.成果 背景 应用存在大量的列表和图片资源加载,如首页、喵圈、直播间广播、礼物面板等, 这些列表的性能对应用性能有着不少的影响。 分析 分析-列表架构VLayout 分析-RecycleView缓存机制 分析-RecycleVi…

【记录】Ubuntu实现逻辑卷的删除

由于我的电脑上有机械硬盘和固态硬盘,所以在之前安装的Centos7系统中,定义了逻辑卷,希望将机械硬盘和固态硬盘在逻辑上当作是统一的整体,但是正因为此操作,导致在重装系统过程中,始终无法对逻辑卷进行分区&…

m基于改进PSO粒子群优化的RBF神经网络解耦控制算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 智能控制的思想最早来自傅京孙教授[,他通过人机控制器和机器人方面的研究,首先把人工智能的自觉推理方法用于学习控制系统,将智能控制概括为自动控制和人工智能…

MASM32编程完善SysInfo遇到奇怪故障,真切感受全局变量和局部变量之别……

SysInfo主要是通过WMI来获取系统信息的,但是WMI获取的操作系统信息中没有Windows操作系统是32位还是64位的内容,所以需要另外想办法编程获取,比较常见的方法是调用Windows API函数GetNativeSystemInfo()或IsWow64Process()。之前分别用MASM32…

Spring官宣新家族成员:Spring Authorization Server

8月17日,Spring官方宣布 Spring Authorization Server 已正式脱离实验状态,并进入Spring-Project家族! 背景 Spring Authorization Server (以下简称 SAS)是 Spring 团队最新开发适配 OAuth 协议的授权服务器项目&…

【react】生命周期

组件从创建到死亡会经历一些特定的阶段 React组件中包含一系列勾子函数(生命周期回调函数)会在特定的时候调用 我们 在定义组件时,会在特定的生命周期回调函数中做特定的工作 一、旧版本的生命周期 1、初始化阶段 constructor()componentWil…

CVE-2022-22965:spring参数绑定漏洞

CVE-2022-22965 博客链接:https://www.blog.23day.site/articles/73 漏洞说明 Spring framework 是Spring 里面的一个基础开源框架,其目的是用于简化 Java 企业级应用的开发难度和开发周期,2022年3月31日,VMware Tanzu发布漏洞报告&#xff…

LabVIEW创建自定义书签管理器

LabVIEW创建自定义书签管理器 书签是一种特殊的标记机制,可以添加到VI框图中。任何以井号标签(#)开头的文本都将被LabVIEW自动识别为书签。这些可用于标记代码不同部分中的待办事项或未完成的任务。当您将主题标签添加框图注释时&#xff0c…

基于java的贪吃蛇游戏-计算机毕业设计

项目介绍 本游戏采用Java环境和Eclipse开发工具,开发了一个界面美观,操作简单并且功能齐全的贪食蛇游戏,整个游戏分为了10个类,实现了游戏的开始、结束、暂停,通过了本游戏的开发,达到了学习Java及Java GU…

使用新路由器有线/无线桥接旧路由器

问题描述 已有一个无线路由器,但信号不能满足需求,遂购买新路由器对其进行桥接。经过在网上搜索和实践,成功配置,将经验记录成帖。 解决方案 无线桥接 1. 打开新路由器设置界面。(根据路由器说明说或者网上搜索对应…