[网络]https的概念及加密过程
文章目录
- 一. HTTPS
- 二. https加密过程
一. HTTPS
https本质上就是http的基础上增加了一个加密层, 抛开加密之后, 剩下的就是个http是一样的
s => SSL
HTTPS = HTTP + SSL
这个过程, 涉及到密码学的几个核心概念
- 明文
要传输的真正意思是啥
2)密文
加密之后得到的数据
这个密文, 即使被拿到了, 也不知道真正的含义 - 密钥
用来加密和解密的重要的数据
把明文 通过密钥 变成密文 => 加密
把密文 通过密钥 变成明文 => 解密
5) 对称加密
加密和解密, 使用同一个密钥就行了
加密解密的速度比较快
6) 非对称加密
密钥是一对, 分别是公钥和私钥
可以使用公钥加密, 此时就是私钥解密
或者使用私钥加密, 此时就是公钥解密
加密的素的比较慢, 安全性更高
二. https加密过程
- 引入对称加密
首先, 最简单的办法,就是引入对称密钥
客户端和服务器之间通过密文传输, 然后根据密钥进行破解
这个密钥, 必须是每个客户端都有一个自己的
如果每个客户端都是相同的, 那么如果别人拿到这个密钥就可以破解了
可是, 当客户端告诉服务器密钥时, 可能被黑客截取:
所以, 我们必须给密钥再进行加密 - 引入非对称加密
非对称加密的方式, 针对对称密钥来进行加密
为什么不针对数据加密使用非对称密钥?
非对称加密的系统开销比对称加密高很多, 消耗的时间, 也比对称加密多很多, 所以不太适合使用非对称加密的方式来加密业务数据
客⼾端在本地⽣成对称密钥, 通过公钥加密, 发送给服务器.
• 由于中间的⽹络设备没有私钥, 即使截获了数据, 也⽆法还原出内部的原⽂, 也就⽆法获取到对称密
钥
• 服务器通过私钥解密, 还原出客户端发送的对称密钥. 并且使⽤这个对称密钥加密给客⼾端返回的响
应数据.
• 后续客户端和服务器的通信都只⽤对称加密即可. 由于该密钥只有客户端和服务器两个主机知道, 其
他主机/设备不知道密钥即使截获数据也没有意义
但是, 客户端怎么拿到公钥呢?
- 中间人攻击
如果使用服务器告知客户端公钥的方法, 同样会被黑客截获数据
- 引入公证机构
解决上述问题, 最重要切入点, 就是让客户端能够区分当前的公钥是不是服务器自己的公钥, 是不是被伪造出来的公钥, 所以引入了公证机构
服务器上线自己的网站时, 会向公证机构申请"证书", 服务器需要保存好这个证书
这个证书中会包含一系列消息:
1)发证机构
2)证书的有效期
3)服务器的公钥
4)证书的所有者
5)持有者网站的的主域名
6)数字签名
公正机构, 会生成一对非对称密钥, 分为公钥和私钥, 拿着私钥对证书中的一系列数据的校验和进行加密, 就得到了数字签名
客户端收到证书后, 就会对证书的合法性就行校验:
第一步: 针对证书的字段, 计算校验和1
第二步: 针对数字签名进行解密
数字签名是基于公正机构的私钥来加密的
就需要用公正机构的公钥进行解密
公证机构的公钥, 是操作系统内置的公钥!!!
解密后, 得到校验和2
第三步: 客户端比较 校验和1 == 校验和2
如果相等, 就说明, 证书没有被篡改过, 是有效的, 那么证书中的公钥, 就是可信的服务器公钥了
相关文章:

[网络]https的概念及加密过程
文章目录 一. HTTPS二. https加密过程 一. HTTPS https本质上就是http的基础上增加了一个加密层, 抛开加密之后, 剩下的就是个http是一样的 s > SSL HTTPS HTTP SSL 这个过程, 涉及到密码学的几个核心概念 明文 要传输的真正意思是啥 2)密文 加密之后得到的数据 这个密文…...
React 嵌套类名样式不生效
修改前 父级.blog样式生效,子级.circle样式不生效 // app/blog/page.js import styles from "./page.module.scss"export default function Blog () {return (<div className{styles.blog}><div classNamecircle><div /></div>…...

20Kg载重30分钟续航多旋翼无人机技术详解
一、机架与结构设计 1. 材料选择:为了确保无人机能够承载20Kg的负载,同时实现30分钟的续航,其机架材料需选用轻质高强度的材料,如碳纤维或铝合金。这些材料不仅具有良好的承重能力,还能有效减轻无人机的整体重量&…...
详解c++:认识类
文章目录 前言一、类是什么二、类(class)的使用publicprivate:protected: 前言 C 是一种面向对象的编程语言。面向对象编程是一种编程范式,它使用“对象”来设计软件应用程序。在面向对象编程中,对象包含了…...

HTML5中的重要元素详解
第3章 HTML5中的重要元素 3.1 html根元素 HTML文档中,元素html代表了文档的根,其他所有元素都是在该元素的基础上进行延伸或拓展的,该元素也是HTML文档的最外层元素,因此也称为根元素。 html元素的常用属性: manif…...
八股文知识汇总(常考)
八股文知识汇总(常考) 语言特性相关 JAVA知识 - JDK动态代理为什么只能代理有接口的类? 说一下对象创建的过程?ThreadLocal是什么?他的实现原理是什么?ThreadLocal会出现内存泄露吗?String、…...

unity 图片置灰shader
我和chatgpt真强! 在 Unity 编辑器中,右键点击 Assets 文件夹,选择 Create -> Shader -> Unlit Shader。shader代码如下,尽管我看的不是很懂,但确实有用 Shader "Custom/GrayScaleShader" {Properti…...

【C语言】(指针系列2)指针运算+指针与数组的关系+二级指针+指针数组+《剑指offer面试题》
前言:开始之前先感谢一位大佬,清风~徐~来-CSDN博客,由于是时间久远,博主指针的系列忘的差不多了,所以有些部分借鉴了该播主的,有些地方如果解释的不到位,请翻看这位大佬的,感谢大家&…...

探索信号处理:使用傅里叶小波变换分析和恢复信号
在现代信号处理领域,傅里叶变换是分析和处理信号的一种基本工具。然而,传统的傅里叶变换在处理非平稳信号时存在局限性,因为它无法同时提供时间和频率的信息。为了克服这一挑战,傅里叶小波变换(FSWT)应运而…...

俄罗斯方块——C语言实践(Dev-Cpp)
目录 1、创建项目(尽量不使用中文路径) 2、项目复制 3、项目配置 1、调整编译器 2、在配置窗口选择参数标签 3、添加头文件路径和库文件路径 4、代码实现 4.1、main.c 4.2、draw.h 4.3、draw.c 4.4、shape.h 4.5、shape.c 4.6、board.h 4.7、board.c 4.8、cont…...

关于wp网站出现的问题
问题1 问题1:如果出现这个界面的问题 说明是根目录的index.php编码出了问题,用备份的源文件退换一下即可。 问题2 问题2:如果出现页面错位现象,可能是某个WP插件引起的问题,这里需要逐步排查插件,或者你刚…...

为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白
H.266,也被称为Versatile Video Coding(VVC),是近年来由MPEG(Moving Picture Experts Group)和ITU(International Telecommunication Union)联合开发并发布的新一代国际视频编码标准…...
最全 高质量 大模型 -评估基准数据集(不定期更新)
评估基准是推动人工智能领域技术进步和应用落地的关键工具,通过这些基准,我们可以更全面地理解LLMs的能力,并指导未来的研究和实践。 评估基准,是一套衡量标准,就像老师用考试来检查学生学得怎么样。在大模型的世界里…...
react 中, navigate 跳转链接 2种写法
react 中, navigate 下面2种写法, 有什么区别, import { useNavigate } from "react-router-dom"; const navigate useNavigate(""); onClick{() > navigate("/signup")}import { Navigate } from "react-route…...

k8s Service 服务
文章目录 一、为什么需要 Service二、Kubernetes 中的服务发现与负载均衡 -- Service三、用例解读1、Service 语法2、创建和查看 Service 四、Headless Service五、集群内访问 Service六、向集群外暴露 Service七、操作示例1、获取集群状态信息2、创建 Service、Deployment3、创…...
安全建设当中的冷门知识
今天说点有趣的话题,也是因为在安全建设过程中,安全员也不太可能都按照最理想的状态去工作,有资源的问题,有管理惰性问题,当然也有管理者本身决策的问题。 安全行业起步较晚,16年才施行网络安全法ÿ…...

python画图|极坐标下的3D surface
前述学习过程中,我们已经掌握了3D surface的基本绘制技巧,详见链接: python画图|3D surface基础教程-CSDN博客 基础教程中的3D surface绘制位于笛卡尔坐标系,但有时候会用到极坐标绘图。虽然我们已经学过简单的极坐标绘图技巧&a…...

html+css+js网页设计 旅游 大理旅游7个页面
htmlcssjs网页设计 旅游 大理旅游7个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…...

Day 29~42 JavaWeb
Java Web 1、基本概念 1.1、前言 web开发: web,网页的意思,www.baidu.com静态web html,css 提供给所有人看的数据始终不会发生变化动态web 淘宝,几乎是所有的网站 提供给所有人看的数据始终会发生变…...

小程序开发设计-第一个小程序:创建小程序项目④
上一篇文章导航: 小程序开发设计-第一个小程序:安装开发者工具③-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142219152?spm1001.2014.3001.5501 须知:注:不同版本选项有所不同,并无大碍。 一、创…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...