认识HTTP

HTTP缺点

通信使用明文(不加密),内容可能会被窃听

不验证通信方的身份,可能遭遇伪装

无法证明报文的完整性,所以有可能遭篡改

一、通信使用明文(不加密),内容可能会被窃听

TCP/IP是可能被窃听的网络

1、http协议中没有加密机制,但可以通过SSL(Secure Socket  Layer安全套接层)和TLS(Translate Layer  Secure安全传输层协议)组合使用,加密HTTP的通信内容

2、与SSL组合使用的HTTP被称为HTTPS

加密处理防止窃听:

1、通信的加密:HTTPS

2、内容的加密:客户端对HTTP报文进行加密处理后再发送请求,前提要求客户端和服务器同时具备加密解密机制

二、不验证通信方的身份,可能遭遇伪装

HTTP协议通信时,任何人都可以发起请求,服务器只要接收请求不管对方是谁都会返回响应(不确认通信方)

查明对手的证书:

HTTP协议无法确定通信方,但使用SSL后不仅提供了加密手段,还使用了证书手段,用于确认通信方

证书:由第三方机构颁发(值得信任的),用以证明服务器和客户端是实际存在的,只要能够确认通信方持有的证书,即可判断通信方的真实意图

三、无法证明报文的完整性,所以有可能遭篡改

完整性是指信息的准确度

接收到的内容可能有误:在请求或响应送出之后直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没办法获悉(中途可能被篡改)

在请求或响应的传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击,攻击人会随意篡改请求和响应,而让客户端和服务器之间的通信看上去仍旧是正常的

防止篡改:

有使用HTTP协议确定报文完整性的方法,但并不快捷可靠

常用的MD5SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法

提供文件下载服务的Web网站也会提供相应的以PGP(Pretty Good Privacy)创建的数字签名及MD5算法生成的散列值。

PGP是用来证明拆跟你讲文件的数字签名

MD5是由单向函数生成的散列值

PGP和MD5都有被改写的可能,都有弊端

所以要用HTTPS

HTTP+加密+认证+完整性保护=HTTPS

用https通信时,https://左边会有一个🔒

https是身披SSL外壳的HTTP,之前HTTP直接和TCP通信,使用之后,先和SSL通信,再由SSL和TCP通信

HTTPS不是应用层的一种新协议,只是HTTP通信接口部分用SSL和TLS协议代替而已

SSL是当今应用最为广泛的网络安全技术

SSL采用的是公开密钥加密的加密方式

-------------------------------------加密两种方式:对称和非对称-----------------------------------------------------

加密方式 

①对称密钥加密:加密和解密同用一个密钥(也叫共享密钥加密))(发送密钥可能被窃听,不发送就无法解密,有困难)

②使用两把密钥的公开密钥加密:公开密钥加密很好的解决了共享密钥加密的困难,使用非对称的密钥

非对称密钥:一把公开密钥一把私有密钥(公开密钥和私有密钥是配对的一套密钥,公开密钥可以发给任何人)

公开密钥加密原理:发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密信息后,再使用自己的私有密钥进行解密

---------------------------------------------------------------------------------------------------------------------------------

HTTPS采用的是混合加密机制:共享密钥加密和公开密钥加密两者并用的混合加密机制(不单用公开密钥加密的原因是,处理速度太慢,所以利用各自优势,结合起来)

HTTPS原理:交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙OpenHarmony【轻量系统 编译】 (基于Hi3861开发板)

编译 OpenHarmony支持hb和build.sh两种编译方式。此处介绍hb方式,build.sh脚本编译方式请参考[使用build.sh脚本编译源码]。 使用build.sh脚本编译源码 进入源码根目录,执行如下命令进行版本编译。 ./build.sh --product-name name --ccache 说明&…

【算法基础实验】图论-深度优先搜索和深度优先路径

深度优先(DFS) 理论基础 深度优先搜索(DFS, Depth-First Search)是图和树的遍历算法中的一种,它从一个节点开始,沿着树的边走到尽可能深的分支,直到节点没有子节点为止,然后回溯继续搜索下一个分支。DFS …

python基础之元组、集合和函数的定义与返回值

1.元祖 1.元祖的定义 元组的数据结构跟列表相似 特征:有序、 有序:有(索引/下标/index) 正序、反序标识符: ( ) 里面的元素是用英文格式的逗号分割开来关键字:tuple 列表和元组有什么区别? 元组…

JavaEE 初阶篇-深入了解 I/O 高级流(缓冲流、交换流、数据流和序列化流)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 缓冲流概述 1.1 缓冲流的工作原理 1.2 使用缓冲流的步骤 1.3 字节缓冲流于字符缓冲流的区别 1.4 字节缓冲流的实例 1.5 字符缓冲流的实例 2.0 转换流概述 2.1 字符…

局部多项式近似与 AMPM 算法

kappa3; %已在您的代码中定义% 定义窗口大小 windowSize (2*kappa1);% 初始化梯度估计值 [rows, cols] size(wrappedPhase); phi_y zeros(rows, cols); phi_x zeros(rows, cols);% 遍历每个窗口 for m 1kappa:rows-kappafor n 1kappa:cols-kappa% 提取局部窗口Z_mn wrap…

Git--基础学习--面向企业--持续更新

一、基础学习 1.1基本命令 //查询基础信息 git config --global --list //选取合适位置创建 mkdir 文件名 //创建文件夹 //全局配置 git config --global user.email "****e***i" git config --global user.name "*** K****"//--------------------进入…

SHViT:具有内存高效宏设计的单头视觉Transformer

文章目录 摘要1、引言2、分析与方法2.1、宏观设计中的冗余分析2.2、微观设计中的冗余分析2.3、单头自注意力2.4、单头视觉转换器 3、实验3.1、实现细节3.2、SHViT在ImageNet-1K分类任务上的表现3.3、SHViT在下游任务中的表现3.4、消融研究 4、相关工作5、结论SHViT:…

python-opencv实现最近邻插值和双线性插值对图片上采样

使用背景 当我们需要把图像进行放大或者缩小的时候,第一反应是使用resize()实现。很多情况下,我们会调用最近邻插值和双线性插值去放大图片,当然要说没有分辨率的损失那是不可能的,只能说在放大图片的过程中尽可能增加了图片的分…

免费的一键伪原创工具,用来高效写文章真妙!

写文章是一件耗时间、费精力的事,遇到没有写作灵感的时候,写文章就像嚼蜡一样难受,但好在有免费的一键伪原创工具,它能帮助我们高效率实现自动写作文章,并且整个写作的过程我们无需思考内容怎么去写,是可以…

自动驾驶传感器篇: GNSSIMU组合导航

自动驾驶传感器篇: GNSS&IMU组合导航 1.GNSS1.1 GNSS 系统概述1.2 GNSS系统基本组成1. 空间部分(Space Segment):2. 地面控制部分(Ground Control Segment):3. 用户设备部分(Use…

x86 64位的ubuntu环境下汇编(无优化)及函数调用栈的详解

1. 引言 为了深入理解c&#xff0c;决定学习一些简单的汇编语言。使用ubuntu系统下g很容易将一个c的文件编译成汇编语言。本文使用此方法&#xff0c;对一个简单的c文件编译成汇编语言进行理解。 2.示例 文件名&#xff1a;reorder_demo.cpp #include<stdio.h>typede…

摩尔定律仍在延续|从最新1.6nm工艺节点看芯片发展-2

2nm工艺的斗争还没结束&#xff0c;TSMC台积电就又公开宣布了1.6nm&#xff08;TSMC A16TM&#xff09;半导体工艺&#xff0c;太卷了&#xff01; TSMC A16TM技术采用领先的纳米片晶体管&#xff0c;并结合创新的背侧电源轨方案&#xff0c;计划于2026年投入生产。这种设计极…

【项目】YOLOv8/YOLOv5/YOLOv9半监督ssod火灾烟雾检测(YOLOv8_ssod)

假期闲来无事找到一份火灾烟雾数据集&#xff0c;自己又补充标注了一些&#xff0c;通过论文检索发现现在的火灾检测工作主要局限于对新场景的泛化性不够强&#xff0c;所以想着用半监督&#xff0c;扩充数据集的方法解决这个问题&#xff0c;所以本文结合使用现在检测精度较高…

成功案例丨守“鲜”有道 Fortinet为都乐筑就全球安全防护网

作为全球知名的跨国食品企业&#xff0c;都乐业务遍布各大洲。在各种新兴业务模式层出不穷的数字化时代&#xff0c;都乐面临着生产持续性、安全运营、供应链安全等严峻的网络安全挑战。通过采用Fortinet的FortiSIEM、FortiMail等系列Fortinet Security Fabric安全平台生态产品…

DaVinci Resolve Studio 19(达芬奇19调色剪辑)win/mac激活版

DaVinci Resolve Studio是一个结合专业的8k 编辑&#xff0c;颜色混合&#xff0c;视觉效果和音频后期制作的软件。只需点击一下&#xff0c;你就可以立即在编辑、混音、特效和音频流之间切换。此外&#xff0c;达芬奇解决(达芬奇)是一个多用户协作的解决方案&#xff0c;使编辑…

Swift - 基础语法

文章目录 Swift - 基础语法1. 常量1.1 只能赋值1次1.2 它的值不要求在编译时期确定&#xff0c;但使用之前必须赋值1次1.3 常量、变量在初始化之前&#xff0c;都不能使用 2. 标识符3. 常用数据类型4. 字面量4.1 布尔4.2 字符串4.3 整数4.4 浮点数4.5 数组4.6 字典 5. 类型转换…

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…

OSPF的LSA详解

一、什么是LSA&#xff1f;LSA作用&#xff1f; 在OSPF协议中&#xff0c;LSA全称链路状态通告&#xff0c;主要由LSA头部信息&#xff08;LSA摘要&#xff09;和链路状态组成。部分LSA只有LSA头部信息&#xff0c;无链路状态信息。使用LSA来传递路由信息和拓扑信息&#xff0c…

2024全网最火的接口自动化测试,一看就会

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

网工内推 | 外企网工,思科认证优先,弹性工作,补贴多

01 淳华科技&#xff08;昆山&#xff09;有限公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1.全厂网络规划 2.Cisco交换机和路由器的配置 3.日常设备点检\维护\配置 4.网络设备的评估并做报告说明 任职要求&#xff1a; 1.具有一定的网络工作经验有Cisco或是其…
最新文章