网络原理——HTTP/HTTPS ---- HTTPS

在这里插入图片描述

T04BF

👋专栏: 算法|JAVA|MySQL|C语言

🫵 今天你敲代码了吗

目录

    • HTTPS
      • 加密与解密
      • HTTPS的工作流程
        • 使用对称密钥来加密
        • 使用非对称密钥 来对 对称密钥进行加密
        • 第三方公证
        • 总结

HTTPS

https本质上就是在http的基础之上 增加了加密层,抛开加密层之后,剩下的部分就和 http一样了

其中 S => SSL(安全相关的协议) 即HTTPS = HTTP + SSL

HTTPS引入的背景就是 臭臭名昭著的 运营商劫持事件
实际上,不只是运营商可以劫持,其他黑客也可以劫持,来窃取用户的信息,或者篡改请求里面的内容

试想一下,如果黑客在用户登录支付宝的时候,获取到账户余额,甚至获取到 用户的支付密码,那么后果不堪设想

因此,在互联网上,明文传输是很危险的的事情

HTTPS就是在HTTP的基础之上进行了加密,进一步来保证用户的信息安全

加密与解密

加密就是将明文(要传输的信息) 进行一系列变更之后 生成 密文
解密就是 把密文 在进行一系列变更之后 还原成 明文

这两种之间的相互转化,是通过 密钥 来实现的
即 将明文通过 密钥 转化为 密文 就是加密
将 密文 通过 密钥 转化为 明文 就是解密

而对于加密,又分为两种方式
(1)对称加密 ,指的就是 加密和解密使用的是同一个密钥.这种加密,后续进行解密的速度比较快
(2)非对称加密,指的是,此时加密解密使用的密钥是一对,分为公钥和私钥. 这种加密后续解密的速度比较慢,但是安全性更高
可以使用公钥加密,此时就是私钥解密;若通过私钥加密.此时就是公钥解密

实际上,所谓的安全都是相对的,指的实际上就是破解的成本比较高

HTTPS的工作流程

http通信本身是一个不安全的通信,为了能够保证安全,引入了加密

使用对称密钥来加密

这是相对简单的方法
在这里插入图片描述
此时黑客截获的数据,看到的是加密后的数据,无法看到原始的数据,更不用说篡改数据了

但是存在一个很大的问题

对称密钥,当存在很多个客户端的时候,客户端必须保证每一个客户端都有自己的一个密钥,与别人不一样
因为如果所有的客户端使用的都是同一个密钥,那么黑客通过自己的电脑不就也能拿到对称密钥了吗,就能够进行解密了

此时就应该让客户端自己生成一个密钥,告诉服务器就好了
在这里插入图片描述
那么问题就会出现,
这样的密钥,如果直接通过明文传输,那么后续的数据加密也就 形同虚设了
如果使用 对称密钥进行加密 ,那么就会暴露出和上面一样的问题,造成死循环

此时就要引入非对称密钥

使用非对称密钥 来对 对称密钥进行加密

实际上,为什么不直接使用非对称密钥来加密请求数据?? 本质上就是因为 非对称密钥的加密解密操作 的系统开销高很多
,消耗的时间,也比对称密钥要高很多,不太适合使用非对称密钥的方式来加密 业务数据

此时首先要做的就是对 对业务数据进行加密的对称密钥 使用非对称密钥 进行加密

此时的工作流程就是:
服务器生成一对公钥和私钥,当客户端连上服务器后,此时就将公钥告诉客户端,私钥就自己持有

在这里插入图片描述
此时,对于非对称密钥来说,所有客户端(包括黑客)拿到的公钥都是一样的,但是也是无法解密的,因为私钥在服务器手里

但是实际上,这样还是会存在问题 — 中间人攻击
在这里插入图片描述
此时关键环节就是,黑客可以自己生成一对 公钥 pub2 和 私钥 pri2
在这里插入图片描述
客户端无法区分出,当前的公钥 pub2 是不是 服务器,还是被掉包了的

客户端就会拿着pub2针对 对称密钥进行加密,并且发送给服务器

此时黑客就能拿到 密文,针对pub2 使用 pri2进行解密,从而拿到这里的 对称密钥

继续把拿到的对称密钥 通过 pub进行加密,发送给服务器

那么黑客 面对就能拿到对称密钥,扮演服务器的角色,面对服务器的时候,扮演客户端的角色,数据就泄露了

那么如何解决中间人攻击呢?? 就要引入第三方公证

第三方公证

实际上,解决中间人攻击最关键的一点就是 ,让客户端能够区分,当前来自服务器的公钥,是不是被伪造出来的公钥

解决办法就是引入第三方公证

公证机构正对客户端拿到的 公钥进行公证,此时客户端 看到这个公钥被公证了,就能认为 是这个公钥是合法的了

对于服务器,在自己的网站上线之后,就要去第三方公证机构 申请一个证书
在这里插入图片描述
其中证书里面就会包含一些信息
(1)发证机构
(2)证书的有效期
(3服务器的公钥
(4)证书的所有者
(5)持有者网站的主域名
(6)数字签名

在这里,最主要的就是这个数字签名

实际上,会根据前面的5点数据,形成一个校验和,就是基于MD5/CRC的方式,将原始数据的每个字节都带入进去,计算一遍,最终得到的一串数

数组签名就是针对这个校验和 再来一次加密,这个加密是通过 非对称密钥的形式

步骤就是,
(1)公证机构拿着一对非对称密钥 pub(公证) 和 pri(公证)
拿着pri(公证)对证书数据的校验和 进行了加密,得到了数字签名
在这里插入图片描述
此时服务器就会保存好自己申请到的证书

(2)客户端请求连接服务器的时候,服务器返回的响应里面就会包含证书
客户端就会 拿着公证机构的 公钥来进行解密
获取公证机构的公钥不是 通过网络的形式(如果通过网络的形式,就可能会出现中间人攻击)
而是操作系统内部会内置 真正的公证机构的公钥

接下来就可以拿着公证机构的公钥(来自操作系统) 来对证书里面的数字签名进行 解密了

解密之后就能拿到校验和,再自己根据证书里面的内容 计算一遍校验和

如果这两个校验和是一样的,那么就说明整个证书都是没有被篡改过的,此时证书里面的公钥就是可信的

那么为什么这种方式就能解决中间人攻击??
对于黑客来说,虽然能够和普通用户一样拿到数字签名背后的校验和
但是,拿到也没有用!!!

如果黑客修改了证书里面的公钥,那么客户端拿到经过黑客修改的证书后,计算出来的校验和 和 通过数字签名拿到的校验和 对比,就会发现不一样,判定证书非法
那如果黑客修改了公钥,并且通过修改后的内容自己计算一个新的数字签名 ??
如果这样做,由于黑客是拿不到公证机构的私钥的,只能通过自己的私钥来加密
那么用户拿到证书后,就会拿操作系统内置的公钥进行解密,.就会解密失败.因为压根就不是同一对密钥,也很会判定证书非法!!!

总结

为了保证数据的安全,不适用明文传输,而是使用对称密钥来进行加密后进行传输
那么就要保证每一个客户端都有自己对应的密钥,就可以让客户端自己生成后告诉服务器

但是这样的密钥在告诉服务器的过程,是通过网络传输的,就可能被黑客获取到
因此要进行加密,此时如果还是使用对称密钥来 对密钥进行加密,还是会暴露出上面的问题

于是引入了非对称密钥.来对 对称密钥 进行加密
但是还是会存在问题,就是 “中间人攻击”

为了解决中间人攻击,就引入了第三方公证机构

此时通过三层防护,就能保证网络数据的安全

感谢您的访问!!期待您的关注!!!

在这里插入图片描述

T04BF

🫵 今天记得敲代码

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

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

相关文章

USART串口外设

USART介绍 USART:另外我们经常还会遇到串口,叫UART,少了个S,就是通用异步收发器,一般我们串口很少使用这个同步功能,所以USART和UART使用起来,也没有什么区别。 其实这个STM32的USART同步模式&a…

抖店入驻门槛,一降再降,2024年商家入驻抖店最佳的时机来了!

大家好,我是电商糖果 抖店已经发展有四年多的时间了,现在也算是比较成熟的电商平台. 这几年因为直播带货的火爆,再加上抖音的流量支撑,还有抖音在背后的扶持和推广。 让抖店成了电商行业的黑马项目,吸引了不少商家入…

融合通信项目中常见设备有哪些?

在信息化时代的今天,人们对于通讯的需求越来越大,而传统的单一通讯方式已经无法满足现代社会的需要。因此,融合通信系统的出现成为了必然趋势。 融合通信系统对行业发展的作用不仅仅是提高通信效率和降低通信成本,还可以提升管理效…

elementplu父级页面怎么使用封装子组件原组件的方法

一、使用原因: 封装了el-table,表格中有多选,父级要根据指定状态,让其选择不上,需要用到elementplus中table原方法toggleRowSelection 附加小知识点:(el-tree刷新树后之前选中的保持高亮setCurr…

COMPUTEX 2024 国际电脑展即将举行,英伟达宣布将Copilot+引入RTX系列设备,赋能游戏本AI助理

COMPUTEX 2024 国际电脑展即将于2024年6月4日至7日在台北南港展览馆1馆及2馆盛大举行。作为业界瞩目的盛会,本次展会不仅吸引了全球各地的科技爱好者,更迎来了AMD CEO苏姿丰博士和NVIDIA首席执行官黄仁勋的精彩演讲。 在展会的开幕之际,图形…

LLM基础知识

LLM背景知识介绍 1 大语言模型 (LLM) 背景 大语言模型 (英文:Large Language Model,缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。 💥通常&…

【距离四六级只剩一个星期!】刘晓艳四级保命班课程笔记(2)(可分享治资料~)

这一节是专门的听力课程,众所周知,咱们刘晓艳刘老师的口语不是特别的突出,当然口才是一流的☝️。 文章目录 听力预判听前预判 听力过程八大出题关键点视听一致同义转换 听完一道题后平时练习精听步骤 听力预判 听前预判 画关键词&#xff…

【C、C++编译工具】CLion工具介绍与安装

一、问题 最近突发奇想想学学最开始接触的语言C,之前大学的时候用的更多的工具还是VC,工作后慢慢接触了CLion,跟pycharm其实差不多,都是集成开发环境(IDE) 解释:什么是 IDE? 根据计…

MySQL表的增删改查初阶(上篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

【uniapp】uniapp页面介绍

目录 开发工具:HBuilderX介绍特点和功能 页面简介页面管理新建页面删除页面页面改名pages.json 设置应用首页 页面内容构成template模板区script 脚本区export default 外的代码export default 里的代码 style样式区 页面生命周期Vue2 页面及组件生命周期流程图Vue3…

项目管理软件是什么?五大常用项目管理软件介绍

第一款, 奥博思 PowerProject 项目管理软件 PowerProject 项目管理软件是由国内老牌软件开发商“北京奥博思软件技术有限公司”出品。PowerProject 是一款集项目管理、项目集管理、项目组合管理三位一体的一站式数字化项目管理平台。 官网(提供软件免费…

研学活动是什么意思,一看就懂!

可能有很多人不了解研学活动是什么意思,其实研学活动一般是由学校组织的,不仅仅是一场简单的旅行,更是一种教育的延伸,一种知识的实践,一种能力的培养。它让学生走出课堂,走进社会,接触自然&…

AzSubEnum:针对Azure服务的子域名枚举查询工具

关于AzSubEnum AzSubEnum是一款专门为Azure服务量身定制的子域名枚举查询工具,该工具旨在帮助广大研究人员仔细搜索和识别与各种Azure服务相关的子域名信息。 通过结合查询技术和语句,AzSubEnum能够深入分析Azure的域名架构,并系统地探测和收…

亚信安全正式推出5G专网安全测试服务 圆满完成核电客户5G项目落地

近日,亚信安全联合北京触点互动信息技术有限公司成功完成某核电客户5G专网项目,从终端安全,基站,核心网网元,切片安全以及接口安全等重点存在安全风险点进行测试,发现潜藏的安全隐患漏洞,为客户…

【vue】@、@/、../和./的区别

:表示vue语法中v-on的简写;绑定事件的专用格式。当事件触发的时候,函数才会来调用; /:在build文件夹下webpack.base.conf.js找到,便能知道代表什么了; 这里指向src文件夹 . /:表示当前目录下&…

ESP8266在阿里云上线(arduino)

电脑连接上ESP8266的板子 在arduino编写代码(arduino按照之前的配置,已安装好esp的开发板和几个库ArduinoJson我选了5.的版本,PubSubclient,Crypto,AliyunIoTSDK并且修改pubsubclient的参数) 在项目,加载库&#xff0c…

一个通道,用友BIP获取全量九类电子凭证

在数字化时代,企业运营的效率和准确性已成为衡量竞争力的关键指标。用友BIP电子凭证3.0,作为企业数字化转型的得力助手,以其独特的全通道能力,为企业提供了一站式的电子凭证获取和管理解决方案。这一创新技术不仅简化了繁琐的凭证…

Linux【安全 02】OpenSSH漏洞修复(离线升级最新版本流程)网盘分享3个安装包+26个离线依赖

OpenSSH离线升级最新版本流程 1. 漏洞信息2. 环境说明3.依赖安装3.1 在线安装3.2 离线安装 4.备份卸载4.1 备份4.2 卸载旧版本 5.安装5.1 zlib5.2 ssl5.3 openssh5.3.1 安装5.3.2 配置 6.脚本整理7.文件资源 本文仅针对CentOS7.8版本,其他版本未测试,安装…

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

遇到由于“kernelbase.dll”文件出错导致的应用程序崩溃或系统不稳定的问题。这种情况不仅会影响工作效率,还可能导致数据损失或更严重的系统问题。kernelbase.dll是Windows操作系统中的一个关键系统文件,它包含了多个执行基础系统功能的程序代码。因此&…

千锋教育大优惠

IT全学科自学至尊卡(3年卡) Linux云计算运维、Python全栈、数据分析、人工智能、Java、大前端、网络安全、物联网、全媒体、影视剪辑等14大主流方向,300精品视频课程免费学。课程持续更新,电脑端手机APP小程序多平台无忧畅学&…