對稱非對稱加密,https和http,https通訊原理,Charles抓包原理

文章目錄

  • 對稱加密的非對稱加密
  • http和https原理
  • TCP三次握手四次揮手
  • https通訊流程:
  • Charles抓包原理

對稱加密的非對稱加密

對稱加密:發送方的接收方式使用同一個秘鑰進行加密和解密,發送方將需要發送的數據,選擇某種加密算法,加上秘鑰,加密之后傳輸給接收方,接收方接收到數據使用秘鑰和相同的加密算法進行解密,獲得數據信息。對稱加密的優點是加密速度快,但是,接收方和發送方擁有同樣的秘鑰,容易泄露,安全得不到保證,且秘鑰傳遞的過程中也容易泄露。

非對稱加密:發送方生成一對秘鑰,公鑰和私鑰,公鑰可以交給別人,用來加密,私鑰用來解密,自己保留,傳輸過程中即使公鑰和傳輸的數據別截獲了,沒有私鑰也解密不了。

http和https原理

http是什么:http是一種基于請求響應的應用層協議,設計的初衷是為了簡單高效的傳輸超文本數據,所以不涉及任何的數據加密,身份校驗和完整性驗證,安全性較差。

https是什么:https在http的基礎上使用對稱加密和非對稱加密保證的數據傳輸的安全性,在握手階段使用非對稱加密傳輸秘鑰,建立連接之后使用秘鑰進行對稱加密,保證數據的安全,https對數據進行加密,身份的校驗還有數據的額完整性,保證數據的安全。

TCP三次握手四次揮手

TCP三次握手:目的是為了在不可靠的網絡中建立可靠的連接,并協商初始序號

  • 第一步,客戶端服務端發送SYN請求請求建立連接
  • 第二步,SYN收到之后發送SYN+ACK報文,表明同意建立連接
  • 第三步,客戶端收到消息之后發送ACK再次確認
  • 之后就可以發送消息

在這里插入圖片描述

為什么不能兩次握手,要三次握手?這個是為了防止失效的連接請求再次發送到了服務端,服務端同意連接之后,客戶端拒絕了,但是服務端認為建立了連接,等待消息的接收,造成資源浪費。

TCP四次揮手:目的是為了確保算法數據傳輸完畢,優雅釋放連接

  • 第一步,客戶端發送fin表示不再發送數據,告訴服務端我數據傳輸結束
  • 第二步,服務端接收到數據,發送ACK確認,表明收到服務端的請求,但是我可能還有一些數據需要發送給你,你還要接收
  • 第三步,服務端發送完數據之后,發送fin報文,表明我的數據也發送完了,可以關閉了
  • 第四步,客戶端回復ACK確認收到信息,關閉連接

在這里插入圖片描述

為什么不能兩次揮手:由于客戶端請求關閉連接,自己沒有數據需要發送,但由于http是全雙工的兩邊都是可以發送數據,服務器的數據可能還沒有發送完成,這個時候客戶端還需要接收數據不能關閉連接

為什么不能三次揮手:三次揮手是可以的,不過得滿足特定條件,當客戶端發送關閉連接,這個時候服務端已經也沒有數據需要發送了,就可以進行關閉

第四步能不能不要了:不能,第四步是為了確保客戶端已經收到了服務端的fin信息,服務端收到之后才會關閉連接,如果沒有收到信息,服務端會進行超時重傳,再次發送fin給客戶端,在2msl時間里,客戶端收到信息之后回再次發送ACK

https通訊流程:

TCP三次握手

  1. 目的:建立可靠的數據傳輸
  2. 過程:
    • 客戶端 → 發送SYN包 → 服務器
    • 服務器 → 回復SYN+ACK包 → 客戶端
    • 客戶端 → 發送ACK包 → 服務器

TLS握手

  1. 目的:保證數據的安全性,協商秘鑰和驗證服務器證書
  2. 過程:
    • 客戶端發起握手,發送信息(支持的TSL版本,支持的加密套件,客戶端生成的隨機數)
    • 服務器響應,發送信息(確定的TSL版本,選定的加密套件,服務器生成的隨機數,服務器的CA證書)
    • 客戶端驗證服務器的證書
    • 交換密鑰,客戶端生成預主密鑰,使用服務器的公鑰加密,發送到服務器,服務器解密獲取預主密鑰
    • 生成會話密鑰,服務器和客戶端都使用兩個隨機數和這個預主密鑰生成會話密鑰

數據傳輸

  1. 目的:使用協商的對稱密鑰加密實際通信數據
  2. 過程:
    • 客戶端和服務端使用秘鑰對數據加密之后再發送

TCP四次揮手

  1. 目的:安全關閉TCP連接,釋放資源
  2. 過程:
    • 客戶端 → 發送FIN包 → 服務器。
    • 服務器 → 回復ACK包 → 客戶端。
    • 服務器 → 發送FIN包 → 客戶端。
    • 客戶端 → 回復ACK包 → 服務器。

Charles抓包原理

作為一個代理服務器,攔截客戶端和服務器之間的通訊,做響應的處理之后再發送到對應的地址

  • 客戶端向服務發送證書請求
  • Charles攔截請求,偽裝客戶端向服務器發送請求
  • 服務器返回CA證書
  • Charles獲取證書的公鑰,自己制作證書,返回自己證書給客戶端
  • 客戶端檢查證書,生成秘鑰,使用Charles公鑰加密,發送給服務器
  • Charles攔截,使用自己的私鑰解密,使用服務端的公鑰加密,發送給服務器
  • 服務器用自己的私鑰解密,想客戶端發送響應
  • Charles攔截,自己給客戶端響應
  • 連接建立

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87032.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87032.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87032.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubernetes(K8s)_15_調度原理

文章目錄 Pod調度實現原理調度隊列優先隊列底層數據 調度緩存調度框架 Pod調度 Pod調度: 通過污點、容忍度和親和性影響Pod的調度 調度器實現, 其基于配置器構造(其配置來源于配置API)調度過程中任何插件返回拒絕, 都會導致Pod可能再次返回調度隊列 如: Pod調度簡略流程 調度…

moduo之tcp客戶端TcpClient

結構 #mermaid-svg-muvN6eOMXA4rCyXP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-muvN6eOMXA4rCyXP .error-icon{fill:#552222;}#mermaid-svg-muvN6eOMXA4rCyXP .error-text{fill:#552222;stroke:#552222;}#merm…

中國科技術語雜志中國科技術語雜志社中國科技術語編輯部2025年第3期目錄

理論研究 認知術語學與社會認知術語學比較研究 吳小芳; 3-11 大語言模型背景下的術語翻譯研究:現狀、問題與展望 朱玉彬;王梓; 12-20 航空事件謠言敘事中的術語初探 劉成盼;劉東亮; 21-28 定名研討 淺談訓詁、訓詁學和訓詁學術語 林童; 29-35 …

自然語言處理NLP期末復習

目錄 第一章1. NLP的基本過程包括哪些-自然語言處理面臨的困難是什么2. 自然語言處理算法定義,過程和應用3. 結合自己的研究-描述研究中涉及的自然語言處理模型或算法,模型或算法原理,具體的處理過程4. 自然語言處理的的兩大核心任務是5. 程序…

單片機 - STM32F103“復用功能重映射”完整解析:從JTAG釋放到TIM重映射實戰詳解

本文將詳細講解 STM32F103 系列中常見的“復用功能重映射”(Remap)機制,包括 JTAG 占用、引腳默認功能與復用功能的關系,以及如何通過寄存器或標準庫代碼實現重映射。以 TIM3 在 PB4/PB5 上輸出 PWM 為例,進行實戰講解…

【C語言】知識總結·內存函數

目錄 前言: 一、內存復制函數 1. memcpy - 內存塊復制 2. memmove - 內存塊移動 二、內存設置函數 1. memset - 內存塊填充 三、內存比較函數 1. memcmp 2.memchr 三內存分配函數 1 .malloc 2.free 總結: 注意事項: 前言&…

python+uniapp基于微信小程序面向品牌會員的在線商城系統

文章目錄 具體實現截圖本項目支持的技術路線源碼獲取詳細視頻演示:文章底部獲取博主聯系方式!!!!本系統開發思路進度安排及各階段主要任務java類核心代碼部分展示主要參考文獻:源碼獲取/詳細視頻演示 ##項目…

小魚fish系統 sudo apt update報錯(密鑰失效)

在使用小魚fish提供的系統鏡像文件,sudo apt update系統更新時遇到了以下報錯,即ROS 2 倉庫的 GPG 密鑰已過期,以及 Docker 倉庫使用了過時的密鑰存儲方式 fishrosfishros-linux:~$ sudo apt update 獲取:1 http://mirrors.tuna.tsinghua.ed…

深度優先搜索 (DFS) 詳解

1. 什么是深度優先搜索? 深度優先搜索(Depth-First Search, DFS)是一種用于遍歷或搜索樹或圖的算法。這個算法會盡可能深地搜索樹的分支。當節點v的所在邊都已被探尋過,搜索將回溯到發現節點v的那條邊的起始節點。這一過程一直進…

文心4.5開源大模型的使用和部署

前言 就在今天,文心4.5模型開源了,不是一個,而是整個系列模型正式開源。很突然,我都震驚了。文心4.5系列開源模型共10款,涵蓋了激活參數規模分別為47B 和3B 的混合專家(MoE)模型(最…

HarmonyOs開發之——TypeScript介紹、入門,及 TypeScript、JavaScript、ArkTs的具體區別解讀。

HarmonyOs開發之——TypeScript介紹、入門,及 TypeScript、JavaScript、ArkTs的具體區別解讀。 一、 開發語言介紹: TypeScript是JavaScript的超集,ArkTS則是TypeScript的超集。ArkTs是 HarmonyOs的主力開發語言,它在TypeScript…

《JMS事務性會話徹底解析:消息監聽中的 commit、rollback 和冪等設計》

大家好,我是G探險者! 📌 場景引入 在實際項目中,我們常常面臨以下挑戰: 監聽 MQ 消息失敗了,希望自動重試?消費 MQ 消息后,要寫數據庫,但中間報錯了?消息處…

vue3 el-table 列增加 自定義排序邏輯

在 Vue 3 中使用 Element Plus 的 <el-table> 組件時&#xff0c;如果你想增加自定義排序邏輯&#xff0c;可以通過以下幾個步驟實現&#xff1a; 1. 使用 default-sort 屬性 首先&#xff0c;你可以在 <el-table> 組件上使用 default-sort 屬性來指定默認的排序…

ISP Pipeline(7): Gamma Correction 伽馬校正

AI_Plays/ISP/Fast_ISP_Progress.ipynb at main ameengee/AI_Plays GitHub Gamma Correction&#xff08;伽馬校正&#xff09;是圖像處理中的一個重要步驟&#xff0c;目的是調整圖像的亮度&#xff0c;使其更符合人眼的感知或顯示設備的特性。 為什么需要 Gamma Correcti…

AI提取伴奏,實現卡拉OK效果 —— 「suno api/luno api/kuka api」

導讀 喜歡唱歌&#xff0c;卻總苦于找不到純凈的伴奏&#xff1f;或者你想把喜歡的歌曲翻唱一遍&#xff0c;卻被人聲干擾搞得頭大&#xff1f;現在&#xff0c;AI技術已經悄悄解決了這個問題。借助AI智能工具&#xff0c;你可以輕松提取任何一首歌的伴奏&#xff0c;享受宛如…

pip介紹

pip是什么&#xff1f; pip&#xff08;Pip Installs Packages&#xff09;是Python的官方管理工具&#xff0c;用于安裝、升級、卸載和管理Python第三方庫及其依賴關系。它是Python生態系統的核心組件&#xff0c;通過連接PyPI&#xff08;Python Package Index&#xff09;這…

機器學習20-線性網絡思考

機器學習20-線性網絡思考 針對線性網絡的基礎問題&#xff0c;使用基礎示例進行解釋 1-核心知識點 1-線性模型家族的線性回歸和邏輯回歸分別是什么&#xff0c;線性模型家族還有沒有其他的模型 線性模型家族是一系列基于線性假設的統計模型&#xff0c;它們假設因變量和自變量…

【科研繪圖系列】R語言繪制世界地圖分布(world map)

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹加載R包數據下載導入數據數據預處理準備畫圖畫圖總結系統信息介紹 本教程旨在通過R語言及其相關地理空間分析包,展示如何對環境數據進行空間聚類分析,并將結果可視化。教程從讀…

Armbian 25.5.1 Noble Gnome 開啟遠程桌面功能

sudo apt install gnome-remote-desktop ----長話短說 故障表現 Ubuntu 25版本點擊遠程桌面功能沒有任何反應, WIN_20250630_00_53_24_Pro 最后 armbian 官方社區充滿了傲慢,一言不合就關閉話題,問題都沒有解決就給我關閉了 最后檢索到英文網站,說到了這么一句話,檢查遠程桌…

嵌入式 Linux 入門:從裸機到系統級開發的第一步

隨著嵌入式系統應用的不斷深入&#xff0c;很多 MCU 項目開發者會在某個階段遇到瓶頸&#xff1a;系統越來越復雜、任務越來越多、通信越來越頻繁、性能要求越來越高。 這時候&#xff0c;從 MCU / RTOS 過渡到 嵌入式 Linux 開發 就成為一次技術升級的關鍵轉折點。 本文將帶…