HTTPS对HTTP的加密过程

1、HTTPS是在HTTP的基础上,引入了一个加密层(SSL),对数据进行保护,HTTP 是明文传输的(不安全,很可能会被运营商通过referer劫持,或者黑客通过修改链接来窃数据)

2、加密和解密需要一个重要的道具叫做,密钥

3、对称加密:加密和解密,使用的是同一个密钥(主要针对header和body来加密)

(1)对称加密的时候,客户端和服务器需要使用同一个密钥

(2)不同的客户端需要使用不同的密钥,随机生成

  我们在用k2对我们的数据key进行加密的时候,就需要把我们的K2密钥也传输给服务器,服务器才能揭秘拿到key,但是我们的k2密钥可能被黑客拿到,此时数据就不安全(需要引用非对称加密)。

4、非对称加密:加密和解密使用的是两个密钥,这两个密钥,K1,K2 是成对的,可以使用K1来加密,此时就是K2解密,也可以使用K2加密,此时就是K1解密,一个密钥公开出去称作公钥,另一个自己保存好叫做私钥。主要目的是为了对对称密钥进行加密,确保密钥的安全性,不能直接使用非对称密钥对各种数据直接进行加密,因为这样CPU的开销太大,消耗太多的CPU资源。

  黑客虽然可以拿到公钥,但是密文需要通过私钥才能解密,私钥黑客拿不到(但是此方法仍然有漏洞)

5、非对称密钥的漏洞

  我们黑客在中间过程对公钥进行了置换,我们的客户端不知道是谁传来的公钥所以就也会对黑客传来的公钥之后就对数据基于黑客的公钥传输,黑客在中见过程就通过自己的私钥公钥获取到了数据,之后把数据再通过公钥pub1进行传送给服务器,这样的过程客户端和服务器发现不了

6、为解决上述黑客置换公钥的问题,我们引入了证书认证(证书是一个结构化的数据,帧数会包含一系列信息,比如服务器的主域名,公钥,证书有效日期...,证书是搭建服务器的人,要从第三方机构进行公正的申请)

  返回证书的时候黑客是不能把证书中的公钥替换成自己的公钥的(因为客户端拿到证书之后会先对证书验证真伪)证书中有证书签名,签名本质上是一个加密的校验和,这个校验过程需要通过一系列的算法来完成

(1)如果两份数据一样校验和经过算法算出来的就一样,反之不同,颁布证书的机构会在发布证书时候给这个证书计算出一个校验和,然后公证机构用自己的私钥对这个校验和进行加密,就得到了证书的签名

(2)如果证书被修改了那么我们的客户端和服务器对证书的校验和就不同,就会报警,如果黑客修改公钥后想尝试重新生成签名,因为黑客不知道公证机构的私钥,就不能对重新生成的数据进行加密,如果黑客拿着自己的私钥进行加密,到了客户端那里也会解密失败。(工作证机构对应的公钥都包含在常见的系统windows中)

(3)黑客不能去申请公证机构的证书,因为黑客申请的证书的域名和服务器的域名肯定不同,域名是唯一的,此时都不需要校验和就知道是假的

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

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

相关文章

计网:动手尝试SMTP交互【利用Telnet发送邮件, 带图片】

文章目录 准备工作发送仅有ascii码的邮件发送图片附件后记 准备工作 1.如图,勾选telnet客户端 2.邮箱开启第三方登录服务 开启服务后,会给一个授权码。授权码是QQ邮箱用于登录第三方客户端/服务的专用密码,适用于登录以下服务:…

自定义el-upload 上传文件

前言 最近在做一个文件上传的功能&#xff0c;后端接口写好了、发现前端上传文件的页面不会写……&#xff08;我很笨的&#xff09;然后我就找啊找发现element有个组件是<el-upload/>能直接上传文件。我就想直接用拿来改改改成自己想要的&#xff0c;可是就是这样我花了…

银河麒麟操作系统安装Anaconda

下载 首先确认需要安装的版本 uname -maarch64https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?CM&OD 在上面网址中下载相应的版本 下载后&#xff0c;上传到服务器 安装 bash Anaconda3-2023.09-0-Linux-aarch64.sh 点击enter&#xff0c;继续 输入yes同意许…

MongoDB之客户端工具与核心概念及基本类型篇

MongoDB之客户端工具与核心概念及基本类型篇 文章目录 MongoDB之客户端工具与核心概念及基本类型篇1. MongoDB是什么?1. 关于MongoDB2. 相关客户端工具1. MongoDB Compass2. Studio 3T3. Navicat for MongoDB4. NoSQL Manager for MongoDB Professional 2.MongoDB相关概念2.1 …

苹果 CMS 大橙子 vfed 5.0优化版

大橙子模版算是在苹果 CMS 众多主题里&#xff0c;较为亮眼的一款了&#xff0c;主题简洁&#xff0c;功能众多&#xff0c;非常的齐全。 今天分享的就是大橙 5.0 版本模板&#xff0c;完美破解&#xff0c;自测无后门&#xff0c;无广告不影响任何功能体验性。下载地址&#…

恒峰-高压森林应急消防泵:守护绿色生命线

随着城市化进程的加快&#xff0c;森林覆盖率逐渐降低&#xff0c;人们对于森林资源的保护意识也在不断提高。然而&#xff0c;一旦发生森林火灾&#xff0c;将会给生态环境带来极大的破坏。因此&#xff0c;如何提高森林火灾的防治能力&#xff0c;成为了亟待解决的问题。而高…

Spring Boot Profiles简单介绍

Spring Boot application.properties和application.yml文件的配置 阅读本文之前&#xff0c;请先阅读上面的配置文件介绍。 Spring Boot Profiles是一个用于区分不同环境下配置的强大功能。以下是如何在Spring Boot应用程序中使用Profiles的详细步骤和代码示例。 1. 创…

HarmonyOS4.0系统性深入开发36 媒体查询(mediaquery)

媒体查询&#xff08;mediaquery&#xff09; 概述 媒体查询作为响应式设计的核心&#xff0c;在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景&#xff1a; 针对设备和应用的属性信息&#xff08;比如显…

密码学及其应用(应用篇15)——0/1背包问题

1 问题背景 背包问题是一个经典的优化问题&#xff0c;在计算机科学和运筹学中有着广泛的应用。具体到你提到的这个问题&#xff0c;它是背包问题中的一个特例&#xff0c;通常被称为0/1背包问题。这里&#xff0c;我们有一系列的正整数 &#xff0c;以及一个正整数&#xff0c…

opengles 绘制图元 ——glDrawArrays() 相关API介绍 (十)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、opengles3.0 绘制图元介绍二、绘图图元 API 介绍1. glDrawArrays()1.1 glDrawArrays()函数原型1.2 GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN 三者的区别1.3 使用GL_TRIANGLES, G…

java-map集合的基本使用

一、HashMap集合 1.HashMap示意图 2.HashMap的特点 3.HashMap的常用方法 ①.put(K key, V value) 将键&#xff08;key&#xff09;/值&#xff08;value&#xff09;映射存放到Map集合中 public class Test {public static void main(String[] args) {HashMap<String, I…

【笔记】【电子科大 离散数学】 2.命题

文章目录 数理逻辑定义 命题定义不是命题的例子 原子命题和复合命题定义约定 命题联结词否定联结词定义例子真值表 合取联结词定义例子真值表 析取联结词定义例子 蕴含联结词定义例子真值表 等价联结词定义例子真值表 命题符号化及其应用速查表格优先级复合命题符号化布尔检索演…

【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合

Flink SQL 语法篇&#xff08;四&#xff09;&#xff1a;Group 聚合、Over 聚合 1.Group 聚合1.1 基础概念1.2 窗口聚合和 Group 聚合1.3 SQL 语义1.4 Group 聚合支持 Grouping sets、Rollup、Cube 2.Over 聚合2.1 时间区间聚合2.2 行数聚合 1.Group 聚合 1.1 基础概念 Grou…

【汽车电子】万字详解汽车标定与XCP协议

XCP协议基础 文章目录 XCP协议基础一、引言1.1 什么是标定1.2 什么时候进行标定1.3 标定的意义 二、XCP协议简介2.1 xcp简介2.2 XCP如何加快开发过程&#xff1f;2.3 XCP的主要作用 三、XCP工作过程3.1 工作过程3.2 通讯模型3.3 测量与标定 四、XCP报文解析4.1 数据包报文格式4…

vue基础操作(vue基础)

想到多少写多少把&#xff0c;其他的想起来了在写。也写了一些css的 input框的双向数据绑定 html <input value"123456" type"text" v-model"account" input"accou" class"bottom-line bottom" placeholder"请输入…

pytorch -- torch.nn下的常用损失函数

1.基础 loss function损失函数&#xff1a;预测输出与实际输出 差距 越小越好 - 计算实际输出和目标之间的差距 - 为我们更新输出提供依据&#xff08;反向传播&#xff09; 1. L1 torch.nn.L1Loss(size_averageNone, reduceNone, reduction‘mean’) 2. 平方差&#xff08;…

探索水下低光照图像检测性能,基于YOLOv6全系列【n/s/m/l】参数模型开发构建海底生物检测识别分析系统

底这类特殊数据场景下的检测模型开发相对来说比较少&#xff0c;在前面的博文中也有一些涉及&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 试探索水下目标检测&#xff0c;基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统》 《基于YOLOv5C3CBAMCBAM注意力…

IAA增收如何更上一层楼?NetMarvel 4招让您致胜全球

成本上涨&#xff0c;收益收紧&#xff0c;IAA厂商的增收似乎越来越难走&#xff1f;但在重定向广告被玩得如火朝天的当下&#xff0c;IAA一定是持续增长的市场。广告主、品牌方的需求只会越来越多&#xff0c;你只要确保圈住真实用户&#xff0c;流量即变现是迟早的事。 海外…

SocketWeb实现小小聊天室

SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE&#xff08;server-sent event&#xff09;&#xff1a;服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端-->服务端服务端-->客户端 消息推送的常见方式 轮询 浏览器…

matlab经验模式分解的R波检测算法

1、内容简介 略 56-可以交流、咨询、答疑 2、内容说明 略 心血管疾病是威胁人类生命的主要疾病之一&#xff0c;而心电信号&#xff08;electrocardiogram, ECG&#xff09; 则是评价心脏功能的主要依据&#xff0c;因此&#xff0c;关于心电信号检测处理的研究一直为各方所…