网络原理之HTTPS(如果想知道网络原理中有关HTTPS的知识,那么只看这一篇就足够了!)

        前言:随着互联网安全问题日益严重,HTTPS已成为保障数据传输安全的标准协议,通过加密技术和身份验证,HTTPS有效防止数据窃取、篡改和中间人攻击,确保通信双方的安全和信任。


✨✨✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

在正式开始讲解之前,先让我们看一下本文大致的讲解内容:

目录

1.HTTPS的概念

2.加密机制介绍

        (1)引入对称加密

        【1】对称加密的工作原理

        【2】常见的对称加密算法

        (2)引入非对称加密

        【1】非对称加密的工作原理

        【2】常见的非对称加密算法

        (3)引入中间人攻击防范

        【1】中间人攻击的工作原理

        【2】HTTPS如何防止中间人攻击

        (4)引入证书机制

        【1】证书的工作原理

        【2】证书的组成部分

3.HTTPS的工作原理

        (1)客户端发起请求

        (2)SSL/TLS握手过程

        (3)加密通信

4.HTTPS的优点


写在前面

学习HTTPS需要先学习HTTP的内容------------------------------------------------------------------------------>网络原理之HTTP(如果想知道网络原理中有关HTTP的知识,那么只看这一篇就足够了!)-CSDN博客


1.HTTPS的概念

        在开始学习HTTPS的原理之前,先让我们了解一下什么是HTTPS:

        HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)就是HTTP的加密版本,其主要目的为确保客户端和服务器之间传输的数据不被窃取或篡改,与传统的HTTP协议不同,HTTPS通过使用SSL/TLS(就是一个有关安全加密的协议)为通信提供加密保护,保证数据的安全。

        ——所以,简单来说HTTPS = HTTP + SSL/TLS,可以认为是HTTP协议的plus版,它比HTTP更加的安全可靠。

2.加密机制介绍

        在了解了HTTPS的基本概念之后,在让我们看一下在HTTPS的通信中会涉及的加密机制,其中大致有四个,分别为:对称加密、非对称加密、中间人攻击和数字证书

        (1)引入对称加密

基本概念:

        ——首先先让我们学习一下对称加密,对称加密是HTTPS中用于加密和解密传输数据的核心加密方法,在对称加密中,客户端和服务器是使用相同的密钥来加密和解密消息,这种加密方式的优势在于加密和解密的过程非常高效,适合大量数据的加密处理。

        但是,它也有其缺点,其主要缺点就是密钥分发(即服务器将其密钥发送给客户端,客户端用这个密钥对数据进行加密)的问题:一旦密钥被泄露,所有通过该密钥加密的数据可能会被窃取。

        【1】对称加密的工作原理

        对称加密其实就是通过同一个 "密钥" , 把明文加密成密文, 并且也能把密文解密成明文。虽然对称加密效率很高,但是其存在密钥分发的危险问题,所以通常HTTPS会通过非对称加密(下文会进行解释,读者可以先了解一下),对称加密的具体过程如下:

  • 首先客户端使用服务器发送过来的对称密钥对要加密的数据进行加密,然后发送给服务器(此时就可能会被中间的黑客所截获数据)

  • 当服务器接收到客户端发送来的数据之后,只用相同的对称密钥对数据进行解密

  • 之后对解密的信息进行响应,响应的数据也使用这个对称密钥加密之后发送给客户端

        ——这样我们就了解了对称加密的工作原理了!!!,接下来让我们看一下都有哪些常见的对称加密算法:

        【2】常见的对称加密算法

  • AES(高级加密标准):目前最广泛使用的对称加密算法,提供强大的安全性,且由于其加密和解密速度较快,适用于大规模的数据传输。

  • DES(数据加密标准):虽然DES曾经是非常流行的对称加密算法,但由于密钥长度仅为56位,已经被认为不再足够安全,现在已逐渐被AES取代。

        对称加密在加密数据时速度极快,能够有效保障数据的机密性,但仅凭对称加密无法解决密钥交换的问题,因此在HTTPS中它与非对称加密结合使用,形成了完整的安全通信方案。

        (2)引入非对称加密

        非对称加密(又称公钥加密)是HTTPS安全协议中不可或缺的另一个重要组成部分,在非对称加密中,使用一对密钥来进行加密和解密——公钥和私钥,公钥可以公开用于加密,而私钥只能由接收方持有并用于解密。

        【1】非对称加密的工作原理

在HTTPS中,非对称加密用于初始化加密通信过程中的密钥交换,具体流程如下:

  • 首先客户端与服务器在建立连接时,首先会通过网络给客户端公钥

  • 然后,当客户端接收到这个公钥之后,就会用这个公钥对对称密钥进行加密,然后将对称密钥传输给服务器

  • 服务器接收到对称密钥之后,使用私钥对加密的对称密钥进行解密,获取对称密钥

  • 在之后对称加密通信阶段,数据会被使用该对称密钥加密并发送,无论是客户端发送的请求还是服务器返回的响应,都将通过这个对称密钥进行加密和解密

        通过非对称加密,客户端和服务器能够在不暴露密钥的情况下安全地交换加密数据,这大大增强了通信过程的安全性。

        【2】常见的非对称加密算法

  • RSA:RSA是目前最广泛使用的非对称加密算法之一,基于大数分解的数学难题,RSA能够确保数据的加密和解密过程极为安全。RSA通常用于密钥交换和数字签名。

  • ECC:ECC基于椭圆曲线的数学原理,相较于RSA,在较短的密钥长度下能提供相同级别的安全性,且计算效率更高,适合移动设备等资源有限的环境。

        非对称加密解决了密钥传输的安全性问题,但其计算复杂度相对较高,因此在HTTPS通信过程中,通常只在握手阶段(传输对称密钥)使用非对称加密,而在数据传输阶段(使用对称密钥加密)切换到效率更高的对称加密。

        (3)引入中间人攻击防范

        在了解完了对称加密和非对称加密之后,在让我们了解一下中间人攻击,其是指攻击者通过拦截和篡改客户端与服务器之间的通信来窃取或篡改数据,在没有有效加密的情况下,中间人攻击可以轻易地读取和修改传输的信息,造成严重的安全隐患。

        【1】中间人攻击的工作原理

  • 设服务器具有非对称加密算法的公钥S,私钥S'

  • 设中间人具有非对称加密算法的公钥M,私钥M'

  • 客户端向服务器发起请求,服务器明文传送公钥S给客户端

  • 中间人劫持数据报文,提取公钥S并保存好,然后将被劫持报文中的公钥S替换成为自己的公钥M, 并将伪造报文发给客户端

  • 客户端收到报文,提取公钥M(自己当然不知道公钥被更换过了),自己形成对称秘钥X,用公钥M加 密X,形成报文发送给服务器

  • 中间人劫持后,直接用自己的私钥M'进行解密,得到通信秘钥X,再用曾经保存的服务端公钥S加 密后,将报文推送给服务器

  • 服务器拿到报文,用自己的私钥S'解密,得到通信秘钥X

  • 双方开始采用X进行对称加密,进行通信。但是一切都在中间人的掌握中,劫持数据,进行窃听甚 至修改,都是可以的

        这样我们就了解了中间人攻击的流程了!!!(读者可以在纸上进行绘图理解)

        【2】HTTPS如何防止中间人攻击

  • 数字证书与公钥基础设施:HTTPS依赖于数字证书来验证服务器的身份,确保客户端与真正的服务器建立连接,服务器的公钥经过证书颁发机构(CA)的签名,客户端可以通过验证证书的有效性来避免与伪造的服务器连接。

  • 完整性校验:SSL/TLS协议使用哈希函数和消息认证码(MAC)对数据进行完整性校验,确保数据在传输过程中没有被篡改,如果数据被篡改,接收方会发现数据的哈希值不匹配,从而中断连接。

        通过这两个机制,HTTPS有效地防止了中间人攻击,确保了客户端与服务器之间的通信是安全的,不会被攻击者篡改或窃取。

        (4)引入证书机制

        数字证书是HTTPS通信中非常重要的安全机制,证书的主要作用是为服务器提供身份验证,并确保服务器的公钥可以安全地传递给客户端,从而为加密通信建立信任基础。

        【1】证书的工作原理

  • 证书的作用:在客户端与服务器建立连接之前,服务器会向客户端发送其数字证书,客户端通过验证证书的有效性和合法性,来确认与服务器的通信是否安全,证书由受信任的CA签发,CA的作用是对证书进行签名,确保证书的合法性。

  • 验证证书:客户端收到证书后,会检查证书是否有效,证书是否过期,是否由受信任的CA签发,以及证书中的域名是否与服务器的域名匹配,如果证书合法,客户端会使用服务器的公钥进行加密操作,启动加密通信,如果不合法则终止通信。

        

        【2】证书的组成部分

  • 公钥:用于加密数据,是证书中最重要的部分,客户端通过公钥加密会话密钥,而服务器使用私钥解密。

  • 证书主体:包含了证书所属组织、域名、有效期等信息,表明服务器的身份。

  • 证书签名:由CA用私钥对证书进行签名,确保证书的合法性,如果证书被篡改,签名验证失败,客户端会拒绝建立连接。

3.HTTPS的工作原理

        在了解了加密机制之后,在让我们看一下HTTPS的工作原理,HTTPS的工作原理涉及到对称加密、非对称加密和数字证书的使用,具体过程如下:

        (1)客户端发起请求

        用户在浏览器中输入HTTPS网址时,浏览器会向服务器发送请求,希望建立一个加密的连接,此时,客户端与服务器之间的通信使用的是HTTP协议,但由于URL以https://开头,表明该连接将通过SSL/TLS进行加密。

        (2)SSL/TLS握手过程

为了建立加密连接,客户端和服务器需要进行SSL/TLS握手,过程如下:

  • 客户端发送请求:客户端向服务器发送一个“Hello”消息,告知服务器它支持的SSL/TLS版本、加密算法和随机数等信息。

  • 服务器回应:服务器接收到客户端请求后,发送自己的SSL/TLS证书(包含公钥等信息)和加密算法选择。服务器的证书由受信任的证书颁发机构(CA)签发,用于证明服务器的身份。

  • 证书验证:客户端验证服务器证书的有效性。如果证书有效且受信任(即证书由受信任的CA签发),客户端则接受服务器的公钥。如果证书无效,客户端会中断连接。

  • 对称密钥生成:客户端使用服务器公钥加密一个对称密钥(称为预主密钥),并将其发送给服务器,服务器使用私钥解密预主密钥,双方计算出一个共享的对称密钥。

  • 加密通信开始:在后续的数据交换中,客户端和服务器使用此共享的对称密钥加密和解密通信内容。

        (3)加密通信

在数据传输过程中,HTTPS通过对称加密和非对称加密来保护数据:

  • 非对称加密:用于在初始阶段交换对称密钥,在握手过程中,客户端和服务器通过非对称加密交换加密密钥,这种加密方式使用一对公钥和私钥,公钥用于加密,私钥用于解密。

  • 对称加密:一旦双方拥有共享的对称密钥,后续的数据传输将使用对称加密算法进行加密。

        通过上述的三个步骤,我们就大致的了解了HTTPS的工作流程了!!!

4.HTTPS的优点

        那么最后,让我们看一下为什么我们现在都在使用HTTPS而不是HTTP了呢?HTTPS有哪些优点呢?

        (1)数据加密: HTTPS通过加密传输数据,防止数据在传输过程中被窃取或篡改,确保机密性。

        (2)身份验证: 使用数字证书验证服务器的身份,防止伪造服务器和中间人攻击,增强了通信的安全性。

        (3)数据完整性: 由于使用了加密算法和哈希校验,HTTPS保证了数据在传输过程中的完整性,防止数据被篡改。

        (4)提高用户信任: 现代浏览器通常会在地址栏显示绿色锁标志,告诉用户该网站使用了HTTPS协议,从而提高用户对网站的信任。

        (5)SEO优势: 搜索引擎(如Google)将HTTPS作为排名因素之一,使用HTTPS的网站可能会在搜索结果中获得更好的排名。


以上就是本篇文章全部内容~~

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

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

相关文章

【江协科技STM32】ADC数模转换器-学习笔记

ADC简介 ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁,ADC是一种将连续的模拟信号转换为离散的数字信号的设备或模块12位逐次逼近型…

文件系统文件管理

文件缓冲区(内核级,OS内部的)存在的意义:系统调用将数据写入缓冲区后函数即可返回,是从内存到内存的,提高了程序的效率。之后将缓冲区数据刷新到硬盘则是操作系统的事了。无论读写,OS都会把数据…

HTML 标签语义化指南:让网页更易读

HTML 语义化标签是指在 HTML 中使用具有明确含义的标签来标记网页内容的结构和意义。这些标签可以提供更多的语义信息,有助于搜索引擎理解网页内容,并为使用辅助技术的用户提供更好的访问体验。 以下是一些常见的HTML语义化标签及其含义和用途&#xff…

机器学习:线性回归,梯度下降,多元线性回归

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式 多元线性回归(Multiple Linear Regression)

共绘智慧升级,看永洪科技助力由由集团起航智慧征途

在数字化洪流汹涌澎湃的当下,企业如何乘风破浪,把握转型升级的黄金机遇,已成为所有企业必须直面的时代命题。由由集团,作为房地产的领航者,始终以前瞻视野引领变革,坚决拥抱数字化浪潮,携手数字…

laravel es 相关代码 ElasticSearch

来源&#xff1a; github <?phpnamespace App\Http\Controllers;use Elastic\Elasticsearch\ClientBuilder; use Illuminate\Support\Facades\DB;class ElasticSearch extends Controller {public $client null;public function __construct(){$this->client ClientB…

阿里发布新开源视频生成模型Wan-Video,支持文生图和图生图,最低6G就能跑,ComFyUI可用!

Wan-Video 模型介绍&#xff1a;包括 Wan-Video-1.3B-T2V 和 Wan-Video-14B-T2V 两个版本&#xff0c;分别支持文本到视频&#xff08;T2V&#xff09;和图像到视频&#xff08;I2V&#xff09;生成。14B 版本需要更高的 VRAM 配置。 Wan2.1 是一套全面开放的视频基础模型&…

闭包函数是什么?

闭包函数是 JavaScript 中一个非常重要且强大的概念&#xff0c;下面将从定义、形成条件、作用、示例以及优缺点等方面详细介绍闭包函数。 定义 闭包是指有权访问另一个函数作用域中的变量的函数。简单来说&#xff0c;即使该函数执行完毕&#xff0c;其作用域内的变量也不会…

nuxt2 打包优化使用“compression-webpack-plugin”插件

在使用 Nuxt.js 构建项目时&#xff0c;为了提高性能&#xff0c;通常会考虑对静态资源进行压缩。compression-webpack-plugin 是一个常用的 Webpack 插件&#xff0c;用于在生产环境中对文件进行 Gzip 压缩。这对于减少网络传输时间和提高页面加载速度非常有帮助。下面是如何在…

大型语言模型训练的三个阶段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)

前言 如果你对这篇文章可感兴趣&#xff0c;可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」&#xff0c;查看完整博客分类与对应链接。 当前的大型语言模型训练大致可以分为如下三个阶段&#xff1a; Pre-train&#xff1a;根据大量可获得的文本资料&#…

模型压缩技术(二),模型量化让模型“轻装上阵”

一、技术应用背景 在人工智能蓬勃发展的浪潮下&#xff0c;大模型在自然语言处理、计算机视觉等诸多领域大放异彩&#xff0c;像知名的GPT以及各类开源大语言模型&#xff0c;其规模与复杂度持续攀升。然而&#xff0c;这一发展也带来了挑战&#xff0c;模型越大&#xff0c;对…

机器学习:愚者未完成的诗篇(零)

当算法在数据海洋中打捞支离破碎的韵律时&#xff0c;机器学习系统展现出的智慧如同断臂的维纳斯雕像——完美与残缺构成令人战栗的美学悖论。愚者&#xff0c;在词语的混沌中编织逻辑经纬&#xff0c;却总在即将触及诗性本质的瞬间&#xff0c;暴露出认知维度的致命裂隙。 一…

【算法题】小鱼的航程

问题&#xff1a; 分析 分析题目&#xff0c;可以看出&#xff0c;给你一个开始的星期&#xff0c;再给一个总共天数&#xff0c;在这些天内&#xff0c;只有周六周日休息&#xff0c;其他全要游泳250公里。 那分支处理好啦 当星期为6时&#xff0c;需要消耗2天&#xff0c;…

GStreamer —— 2.5、Windows下Qt加载GStreamer库后运行 - “教程5:GUI 工具包集成(gtk)“(附:完整源码)

运行效果 简介 上一个教程演示了时间管理及seek操作。本教程介绍如何将 GStreamer 集成到图形用户中 接口 &#xff08;GUI&#xff09; 工具包&#xff0c;如 GTK。基本上 GStreamer 负责媒体播放&#xff0c;而 GUI 工具包处理 用户交互。最有趣的部分是那些 库必须进行交互&…

NLTK和jieba

NLTK与jieba概述 自然语言处理&#xff08;NLP&#xff09;领域是计算机科学领域与人工智能领域中的一个重要方向&#xff0c;主要研究方向是实现人与计算机之间用自然语言进行有效通信的各种理论和方法。 在自然语言处理领域中&#xff0c;文本类型的数据占据着很大的市场&a…

linux查看定时任务与设置定时任务

一、查看定时任务 使用 cron 查看当前用户的定时任务&#xff1a; bash crontab -l # 查看当前用户的cron任务 查看系统级定时任务&#xff1a; bash 系统级任务通常存放在以下位置&#xff1a; cat /etc/crontab # 系统主配置文件 ls /etc/cron.d/ # 系统级任务片段 ls /…

DeepSeek-R1本地化部署(Mac)

一、下载 Ollama 本地化部署需要用到 Ollama&#xff0c;它能支持很多大模型。官方网站&#xff1a;https://ollama.com/ 点击 Download 即可&#xff0c;支持macOS,Linux 和 Windows&#xff1b;我下载的是 mac 版本&#xff0c;要求macOS 11 Big Sur or later&#xff0c;Ol…

支持向量简要理解

决策方程符合感知机区分理论&#xff0c;我们基于线性代数来看这满足子空间理论&#xff0c;可以获取得到超平面。 支持向量机的目标是寻找最与超平面最近的点的最大距离&#xff0c;而距离计算如上&#xff0c;符合数学上计算点到线&#xff08;面&#xff09;的距离公式。 …

使用OpenCV和MediaPipe库——实现人体姿态检测

目录 准备工作如何在Windows系统中安装OpenCV和MediaPipe库&#xff1f; 安装Python 安装OpenCV 安装MediaPipe 验证安装 代码逻辑 整体代码 效果展示 准备工作如何在Windows系统中安装OpenCV和MediaPipe库&#xff1f; 安装Python 可以通过命令行运行python --versio…

5G学习笔记之BWP

我们只会经历一种人生&#xff0c;我们选择的人生。 参考&#xff1a;《5G NR标准》、《5G无线系统指南:如微见著&#xff0c;赋能数字化时代》 目录 1. 概述2. BWP频域位置3. 初始与专用BWP4. 默认BWP5. 切换BWP 1. 概述 在LTE的设计中&#xff0c;默认所有终端均能处理最大2…