網絡原理之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.pswp.cn/web/71767.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71767.shtml
英文地址,請注明出處:http://en.pswp.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…