HTTPS的工作原理及DNS的工作過程

HTTPS

HTTP協議安全上存在以下三個風險:完整性 可用性 保密性

  • 竊聽風險,比如通信鏈路上可以獲取通信內容,用戶號容易沒。

  • 篡改風險,比如強制植入垃圾廣告,視覺污染,用戶眼容易瞎。

  • 冒充風險,比如冒充淘寶網站,用戶錢容易沒。

HTTPS 在 HTTP 與 TCP 層之間加入了 TLS 協議,來解決上述的風險。

TLS 協議是如何解決 HTTP 的風險的呢?

TLS能夠加密交互信息,如果信息泄露被篡改則會有警告提示,并且擁有身份證書證明發送端非偽造。

TLS 握手

上述每個框都是一個記錄,多個記錄可組合為一個tcp包,通常四個包就可以完成TCP握手

因為需要先完成TCP連接,然后通過TLS握手才建立安全通信鏈接,所以可以發現HTTPS是應用層協議。

密鑰交換算法

因為在傳輸過程中想要保證加密密鑰的安全性,所以采用了非對稱加密的方法來保護對稱加密的加密密鑰。

RSA密鑰協商握手過程

TLS 第一次握手

客戶端發起握手請求(ClientHello)

客戶端向服務器發送第一個消息,包含以下關鍵信息:

  • 支持的 TLS 版本(如 TLS 1.2)。
  • 支持的加密套件列表(需包含以 RSA 為密鑰交換方式的套件,如TLS_RSA_WITH_AES_256_CBC_SHA)。
  • 客戶端生成的隨機數(Client Random):16 字節,用于后續密鑰計算。
  • 其他可選信息(如壓縮方法、擴展字段等)。

TLS 第二次握手

服務器回應(ServerHello)

服務器根據客戶端的請求,選擇合適的配置并返回消息:

  • 確認使用的 TLS 版本和加密套件(必須是客戶端支持的 RSA 類套件)。
  • 服務器生成的隨機數(Server Random):16 字節,同樣用于密鑰計算。
  • (可選)會話 ID:用于復用已有會話,減少握手次數。

客戶端驗證證書

服務器發送證書及相關信息(Certificate + ServerHelloDone)
  • Certificate 消息:服務器向客戶端發送自己的數字證書(包含服務器 RSA 公鑰),證書鏈可能包含多級 CA 證書(從服務器證書到根 CA 證書)。
  • (可選)CertificateRequest:若服務器需要驗證客戶端身份(如雙向認證),會請求客戶端證書。
  • ServerHelloDone 消息:表示服務器已完成初始消息發送,等待客戶端回應。

TLS 第三次握手

客戶端發送加密的預主密鑰(ClientKeyExchange)

客戶端將加密后的 PMS 通過ClientKeyExchange 消息發送給服務器。由于 PMS 用服務器公鑰加密,中途被竊聽也無法解密。

客戶端和服務器計算會話密鑰(Master Secret + Session Keys)
  • 服務器解密 PMS:服務器收到加密的 PMS 后,用自己的RSA 私鑰解密,得到原始的 Pre-Master Secret。
  • 計算主密鑰(Master Secret):客戶端和服務器分別使用相同的算法,結合以下三個參數計算 Master Secret:

    plaintext

    Master Secret = PRF(Pre-Master Secret, "master secret", Client Random + Server Random)
    


    其中,PRF是偽隨機函數(Pseudorandom Function),用于將輸入轉換為固定長度的密鑰材料。
  • 生成會話密鑰:再用 Master Secret、Client Random、Server Random 通過 PRF 生成用于實際通信的對稱密鑰(如 AES 密鑰、HMAC 密鑰等),包括:
    • 客戶端加密密鑰、服務器加密密鑰(對稱加密,用于數據加密)。
    • 客戶端 MAC 密鑰、服務器 MAC 密鑰(用于數據完整性校驗)。
客戶端驗證握手完整性(Finished 消息)
  • 客戶端用生成的會話密鑰,對之前握手過程中的所有消息(ClientHello 到 ClientKeyExchange)計算摘要(通過 MAC 算法),并加密后通過Finished 消息發送給服務器。
  • 目的:證明客戶端已正確生成會話密鑰,且握手過程未被篡改。

TLS 第四次握手

服務器驗證握手完整性并回應(Finished 消息)
  • 服務器用自己生成的會話密鑰,對相同的握手消息計算摘要,與客戶端發送的 Finished 消息解密后的值對比,驗證客戶端是否正確生成密鑰。
  • 驗證通過后,服務器同樣生成Finished 消息(加密握手消息摘要)并發送給客戶端,證明服務器也已正確生成密鑰。
握手完成,開始加密通信

客戶端和服務器均驗證通過后,握手結束。后續所有通信數據均使用協商出的對稱密鑰進行加密和校驗,確保機密性和完整性。

DNS域名解析的過程

DNS解析方式
正向解析:將FQDN----->IP
反向解析:將IP----->FQDN
1、在瀏覽器中輸入www . qq .com 域名,操作系統會先檢查自己本地的hosts文件是否有這個網
址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。
2、如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系,
如果有,直接返回,完成域名解析。
3、如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/IP參數中設置的
首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包
含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
4、如果要查詢的域名,不由本地DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則
調用這個IP地址映射,完成域名解析,此解析不具有權威性。
5、如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設
置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS服務器收
到請求后會判斷這個域名(.com)是誰來授權管理,并會返回一個負責該頂級域名服務器的一個IP。
本地DNS服務器 收到IP信息后,將會聯系負責.com域的這臺服務器。這臺負責.com域的服務器收到請求后,如果 自己無法解析,它就會找一個管理qq.com的DNS服務器地址給本地DNS服務器。當本地DNS服務 器收到這個地址后,就會找qq.com域服務器,重復上面的動作,進行查詢,直至找到www . qq .com主機。
6、如果用的是轉發模式,本地DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器
進行解析,上一級服務器如果不能解析,或找根DNS或把請求轉至上上級,以此循環。找到最后
把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
注:從客戶端到本地DNS服務器是屬于遞歸查詢,而DNS服務器之間使用的交互查詢就是迭代查
詢。 114.114.114.114是國內移動、電信和聯通通用的DNS,手機和電腦端都可以使用,干凈無廣告, 解析成功率相對來說更高,國內用戶使用的比較多,而且速度相對快、穩定,是國內用戶上網常用 的DNS。
8.8.8.8是GOOGLE公司提供的DNS,該地址是全球通用的,相對來說,更適合國外以及訪問國外
網站的用戶使用。

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

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

相關文章

VisualXML全新升級 | 新增BusLoad計算

VisualXML是一個功能強大的網絡總線設計工具,專注于簡化汽車電子系統中復雜的網絡數據設計操作。該軟件支持多種主流總線網絡格式的數據編輯(如DBC、LDF、ARXML、HEX等),并能夠基于Excel表格的方式生成和轉換多種數據庫文件。由此…

李天意考研數學精講課學習筆記(課堂版)

視頻鏈接:【考研數學精講課李天意】基礎強化真題,概念精講與解題技巧(適用數學一/二/三)_嗶哩嗶哩_bilibili 講義:夸克網盤分享 高數6 不定積分

閑庭信步使用圖像驗證平臺加速FPGA的開發:第二十三課——圖像直方圖和灰度圖像疊加的FPGA實現

(本系列只需要modelsim即可完成數字圖像的處理,每個工程都搭建了全自動化的仿真環境,只需要雙擊top_tb.bat文件就可以完成整個的仿真,大大降低了初學者的門檻!!!!如需要該系列的工程…

C++并發編程-14. 利用柵欄實現同步

前文我們通過原子操作實戰實現了無鎖隊列,今天完善一下無鎖的原子操作剩余的知識,包括Relaese和Acquire內存序在什么情況下是存在危險的,以及我們可以利用柵欄機制實現同步等等。 線程可見順序 我們提到過除了memory_order_seq_cst順序&#…

如何選擇旅游科技行業云ERP?Oracle NetSuite助力匯智國際數智化升級

2025年4月21日,匯智國際旅游發展有限公司(以下簡稱匯智國際)攜手 Oracle NetSuite與Hitpoint Cloud ,共同參與了匯智國際 Oracle NetSuite 云ERP 項目啟動會。 本次會議標志著匯智國際在數字化轉型道路上邁出了堅實而關鍵的一步&…

深度學習零基礎入門(3)-圖像與神經網絡

好久不見~我又回來了 這一節我們來講一講圖像在計算機中的本質,以及全連接神經網絡的缺陷,進而引出卷積神經網絡一、圖像在計算機中的本質 不知道你有沒有學過數據結構,在講這一部分的時候對數組進行了擴展,講到了廣義表和壓縮矩陣…

http性能測試命令ab

在 Linux系統中, ab( ApacheBench)是一個用于 測試HTTP服務器性能的 工具。它是 Apache HTTP服務器項目的 一部分,專門設計用來模擬 多個用戶對 服務器發起 并發請求,從而 評估服務器的 負載能力和 響應時間其中&#…

從0開始學習R語言--Day50--ROC曲線

對于已經擬合好的生存模型,我們一般會直接用ROC去評判一下整體的水平,因為很多時候閾值都是我們人為根據實際情況去設定的,這種微調的細節都是在整體模型的擬合程度確定下來后再做的工作。ROC曲線可以提供給我們模型對于二分類變量的區分能力…

從Hyperliquid到AILiquid:一場從極致性能到策略智能的迭代

在Hyperliquid以極致性能引爆鏈上衍生品交易熱潮之后,DeFi市場正迎來新一輪的范式轉變。作為AI原生的下一代交易平臺,AILiquid正式上線并引發市場廣泛關注。該平臺不僅保留了高頻低延遲的交易體驗,更通過AI撮合引擎與鏈上風險控制系統&#x…

磁懸浮軸承轉子不平衡質量控制:陷波濾波器深度解析

在磁懸浮軸承高速旋轉的世界里,不平衡質量如同一個無形的幽靈,引發危險的同步振動,而陷波濾波器,正是精準捕獲并消除這個幽靈的“電磁獵手”。本文將深入剖析其核心原理與實戰設計。引言:同步振動的致命誘惑磁懸浮軸承…

Oracle 數據庫常見等待事件參數詳解

在 Oracle 數據庫的性能診斷與優化中,等待事件是重要的分析依據,而理解等待事件的參數則是深入排查問題的基礎。本文將結合 Oracle 官方文檔,對數據庫中常見的等待事件參數進行詳細解析,幫助數據庫管理員和開發人員更好地解讀等待…

STM32中的CAN總線詳解:從原理到實戰

前言:為什么CAN總線是嵌入式通信的"硬通貨"? 在嵌入式通信領域,CAN(Controller Area Network)總線憑借其高可靠性、實時性和多節點通信能力,成為汽車電子、工業控制、智能設備等領域的"標配…

【鴻蒙HarmonyOS】鴻蒙app開發入門到實戰教程(二):封裝自定義可復用組件

組件的可復用性,對我們開發的app質量影響很大,看看鴻蒙中如何封裝這種組件 實現效果代碼實現 局部封裝 Builder titleBuilder(title:string 默認標題) {// Builder裝飾此函數,使其能以鏈式調用的方式配置并構建Text組件Row(){Text(title).fo…

Volo-HTTP 0.4.0發布:正式支持 HTTP/2,客戶端易用性大幅提升!

🤖 VOLO簡介 Volo 是由字節跳動服務框架團隊開源的一款高性能、易用的 Rust RPC 框架。 Volo 框架自身開銷極低,并提供了命令行工具與靈活的中間件設計,讓開發者可以輕松上手,享受 Rust 帶來的開發樂趣。 本文介紹自 Volo-HTTP 0…

HTTP相關知識

文章目錄一、基礎特性與規范二、頁面元素與布局三、交互與表單四、網絡通信基礎流程(以瀏覽器訪問網頁為例)五、配套技術與工具六、知識關聯圖(簡化版)一、基礎特性與規范 技術定位:HTML 是前端技術棧的核心標記語言&…

機器人-組成結構

目錄 一、發展歷程 二、軟件硬件算法深讀耦合 感知 - 決策 - 執行 1.機械系統: 2.驅動系統: 3.感知系統: 4.控制系統: 5.決策/智能系統: 6.電源系統: 7.總結 一、發展歷程 國際標準化組織(ISO)對…

pycharm結構查看器

v表示整個文件中定義的變量,c是類灰色部分是繼承的父類的,明亮的是定義的,其中m表示定義的函數,f表示

AdsPower 功能詳解 | 應用中心使用指南:插件統一管理更高效、更安全!

當你使用 AdsPower 管理多個瀏覽器環境時,插件的統一配置就變得尤為重要。而「應用中心」正是幫助你集中管理瀏覽器插件的功能入口,搭配瀏覽器環境使用,可以讓賬號操作更便捷、團隊協作更高效。這篇教程將帶你快速上手 AdsPower 應用中心的核…

回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測

回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測 預測效果 基本介紹 主要功能 邏輯關聯與算法流程 1. 數據準備 2. DBO優化BP參數 3. BP神經網絡構建 4. 預測與評估 運行…

Lsposed/Xposed

1.環境 1.1 xposed: 安卓8以下使用 下載并安裝xposed installer,模擬器需勾選設置-共享磁盤。 若提示未激活,需要下載sdk sdk下載地址 放置目錄 /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework/文件權限設置 777 …