近期學習小結

一、TLS(Transport Layer Security)握手是建立安全通信通道的關鍵過程,確保客戶端與服務器之間的通信加密和身份驗證。以下是TLS 1.2和TLS 1.3的握手流程詳解及對比:

TLS 1.2 握手流程


目標:協商加密套件、交換密鑰、驗證身份??
步驟: ?
1. Client Hello?
- 客戶端發送支持的TLS版本、加密套件列表(如`AES256-GCM-SHA384`)、隨機數(Client Random)及擴展字段(如SNI)。
2. Server Hello??
- 服務器選擇TLS版本、加密套件,并返回隨機數(Server Random)和服務端證書(包含公鑰)。
3. 證書驗證
- 客戶端驗證服務器證書鏈(是否可信、是否過期、域名匹配等)。若啟用雙向認證,服務器會請求客戶端證書。
4. Server Key Exchange?
- 若使用DH/ECDHE密鑰交換,服務器發送臨時公鑰參數(如ECDHE公鑰)和簽名。
5. Server Hello Done??
- 服務器通知客戶端初始協商完成。
6. Client Key Exchange??
- 客戶端生成預主密鑰(Pre-Master Secret),用服務器公鑰加密(RSA)或發送臨時公鑰(DH/ECDHE)。
7. 密鑰派生?
- 雙方通過Client Random、Server Random和Pre-Master Secret生成會話密鑰(Master Secret),再派生出加密密鑰和MAC密鑰。
8. 切換加密通信??
- 雙方發送`Change Cipher Spec`通知,后續通信使用協商的密鑰加密。
9. Finished?
- 雙方發送加密的`Finished`消息,驗證握手完整性。

TLS 1.3 握手流程

?優化目標:減少延遲(1-RTT或0-RTT)、移除不安全特性。 ?
關鍵改進: ?
- 刪除RSA密鑰交換、靜態DH,僅支持前向安全的ECDHE。 ?
- 合并多步驟為單條消息,支持1-RTT握手。 ?

步驟: ?
1. Client Hello?
- 發送支持的加密套件、Client Random、密鑰共享參數(如ECDHE公鑰)。
2. Server Hello??
- 服務器選擇參數,返回Server Random、密鑰共享參數(ECDHE公鑰),并附帶證書和簽名。 ?
- 直接生成會話密鑰:雙方通過ECDHE參數即時計算共享密鑰。
3. 加密通信??
- 服務器立即發送`Finished`消息,客戶端驗證后即可開始加密通信(1-RTT)。 ?
- **0-RTT(可選)**:若之前連接過,客戶端可在首次請求中攜帶加密數據(有重放攻擊風險)。

二、DNS(Domain Name System)解析是將域名轉換為IP地址的過程,以下是詳細的解析流程:

---

1. 用戶輸入域名
用戶在瀏覽器中輸入域名,觸發DNS解析請求。

---

2. 本地緩存查詢
- 瀏覽器緩存:瀏覽器首先檢查自身緩存中是否有該域名的解析結果。
- 系統緩存(Hosts文件):如果瀏覽器無緩存,操作系統會檢查本地Hosts文件是否有對應的IP記錄。
- 系統DNS緩存:操作系統查詢本地DNS緩存。

> 若緩存命中且未過期:直接返回IP,解析結束。

---

3. 向遞歸DNS服務器發起請求
如果本地無緩存,系統會向遞歸DNS服務器(通常由ISP或公共DNS如`8.8.8.8`、`114.114.114.114`提供)發送查詢請求。

- 遞歸DNS服務器緩存:遞歸服務器先檢查自身緩存,若有記錄則直接返回。
- 無緩存時:遞歸服務器開始迭代查詢。

---

4. 迭代查詢(根域名→頂級域→權威DNS)
遞歸服務器按層級依次查詢以下DNS服務器:

(1) 根域名服務器(Root DNS)
- 全球共13組根服務器(邏輯上,實際通過任播擴展)。
- 返回`.com`頂級域(TLD)的DNS服務器地址(如`a.gtld-servers.net`)。

(2) 頂級域名服務器(TLD DNS)
- 管理`.com`、`.org`等頂級域的服務器。
- 返回`example.com`的**權威DNS服務器**地址(如`ns1.example.com`)。

(3) 權威域名服務器(Authoritative DNS)
- 由域名注冊商或托管服務商(如Cloudflare、阿里云)提供。
- 返回`www.example.com`的IP地址(如`192.0.2.1`)。

---

5. 返回解析結果
- 遞歸DNS服務器將IP返回給用戶,并緩存該記錄(根據TTL值)。
- 操作系統和瀏覽器也緩存結果,加速后續訪問。

---

6. 建立連接
用戶獲取IP后,通過TCP/IP協議(如HTTP/HTTPS)與目標服務器建立連接。

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

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

相關文章

maven本地倉庫清緩存py腳本

清_remote.repositories、以及 .lastUpdated 緩存文件,避免換倉庫or私服的時候一直往舊地方去download從而引起的failtodownlown問題 import os import sysdef delete_maven_metadata_files(directory):"""遞歸刪除指定目錄下的 _remote.repositorie…

職坐標:物聯網解決方案實戰指南

隨著物聯網技術的快速發展,其在智能家居、工業制造和農業領域的應用日益廣泛,為解決實際挑戰提供了高效方案。本文將圍繞職坐標一站式IT培訓就業服務平臺推出的實戰指南,系統解析物聯網解決方案的核心內容。指南首先概述物聯網解決方案的基本…

多云環境下的統一安全架構設計

關鍵詞:多云安全、統一架構、零信任、深度防御、身份管理、威脅檢測、SIEM、合規性 📚 文章目錄 引言:多云時代的安全挑戰多云環境面臨的安全挑戰統一安全架構設計原則核心安全組件架構多層防護體系設計統一身份管理與訪問控制安全監控與威…

批量制作Word:如何根據表格數據的內容批量制作word,根據Excel的數據批量制作word文檔的步驟和注意事項

企業批量制作員工勞動合同時,用 Excel 整理員工姓名、職位等信息,模板設對應占位符,系統快速填充生成合同;高校生成成績單,Excel 存學生成績數據,模板嵌入科目占位符,批量生成準確成績單&#x…

STM32f103ZET6之ESP8266模塊

一、ESP8265概述 官方網址:ESP8266 Wi-Fi MCU I 樂鑫科技 (espressif.com.cn) ESP8266模塊---wifi模塊 產品特點:ESP8266 是什么? ESP8266 是由樂鑫科技(Espressif Systems)開發的一款低成本、高性能的 Wi-Fi 微控制器…

前端設計模式應用精析

引言 設計模式是前端工程化架構的基石,通過抽象核心場景解法提升代碼復用性與系統可維護性。本文精析 7 個核心模式,結合原生 JavaScript 與框架實踐,揭示模式在現代前端架構中的底層映射與應用。1. 觀察者模式(Observer&#xff…

【機器學習深度學習】Ollama vs vLLM vs LMDeploy:三大本地部署框架深度對比解析

目錄 前言 一、為什么要本地部署大語言模型? 二、三大主流部署方案簡介 三、核心對比維度詳解 1?? 易用性對比 2?? 性能與并發能力 3?? 模型支持與生態兼容性 4?? 部署環境與平臺支持 四、一覽對比表 五、詳細介紹與比較 ? 1. Ollama ? 2. vL…

AWS ML Specialist 考試備考指南

以下是針對AWS機器學習專家認證(AWS Certified Machine Learning - Specialty)的備考指南精簡版,涵蓋核心要點和高效備考策略: ?一、考試核心要點? ?四大核心領域?: ?數據準備(28%)?:S3數據存儲、Glue ETL、Feature Store、數據清洗與特征工程。 ?模型開發(26%…

yolo8+ASR+NLP+TTS(視覺語音助手)

🧩 模塊總覽:步驟模塊作用①麥克風錄音(VAD支持)獲取語音并判斷是否有人說話②Whisper語音識別把語音內容識別為文字③DeepSeek 聊天接口發送用戶提問并獲取 AI 回復④edge-tts 朗讀回答把 DeepSeek 回答讀出來⑤整合成語音助手主…

Zabbix 分布式監控系統架構設計與優化

一、概念 1.核心概念 Zabbix是一個CS(服務端/客戶端)架構的服務Zabbix-Agent獲取數據-->發送給-->Zabbix-Server服務端--- >數據會被存放在數據庫 <--- Zabbix Web 頁面展示數據 2.部署流程 部署ngxphp環境并測試部署數據庫 mariadb 10.5及以上 然后進行配置編…

QT——文件選擇對話框 QFileDialog

QFileDialog概述QFileDialog是Qt框架中提供的文件對話框類&#xff0c;用于讓用戶選擇文件或目錄。它提供了標準的文件選擇界面&#xff0c;支持文件打開、保存、多選等常見操作。基本使用方式QFileDialog提供了兩種使用方式&#xff1a;靜態方法&#xff1a;直接調用類方法快速…

Flask+LayUI開發手記(十一):選項集合的數據庫擴展類

條目較少的選項集合&#xff0c;確實可以在程序中直接定義&#xff08;其實最合適的還是存儲在一個分類別的數據庫表里&#xff09;&#xff0c;但條目較多的選項集合&#xff0c;或者是復雜的樹型結構選項集合&#xff0c;一般都是存儲在數據庫中的&#xff0c;這樣維護起來比…

AI學習筆記三十二:YOLOv8-CPP-Inference測試(Linux版本)

若該文為原創文章&#xff0c;轉載請注明原文出處。主要介紹如何在Linux系統上安裝和部署基于YOLOv8的C推理項目一、服務器準備使用AutoDL平臺租用服務器AutoDL有git加速&#xff0c;可以自行啟用二、環境配件1、檢查Opencv版本pkg-config --modversion opencv4如果版本為4.5&a…

113:路徑總和 II

題目&#xff1a;給你二叉樹的根節點 root 和一個整數目標和 targetSum &#xff0c;找出所有 從根節點到葉子節點 路徑總和等于給定目標和的路徑。葉子節點 是指沒有子節點的節點。解答&#xff1a;用 go主要坑有兩個&#xff0c;一個是二維結果切片傳遞用指針&#xff0c;一個…

Perl 數組

Perl 數組 在Perl編程語言中&#xff0c;數組是處理數據的一種強大工具。數組允許我們將多個值存儲在單個變量中&#xff0c;從而簡化了代碼并提高了效率。本文將詳細介紹Perl數組的創建、操作、遍歷以及一些高級用法。 數組的創建 在Perl中&#xff0c;創建一個數組非常簡單。…

優先隊列的實現

目錄 引言 堆的基本概念與特性 堆的插入與向上調整 堆的刪除與向下調整 優先隊列的設計思路 模板參數設計 比較器的作用 核心接口實現 push pop top 附錄(完整代碼) 引言 優先隊列&#xff08;Priority Queue&#xff09;是一種特殊的隊列數據結構&#xff0c;其中每…

現代CSS實戰:用變量與嵌套重構可維護的前端樣式

現代CSS實戰&#xff1a;用變量與嵌套重構可維護的前端樣式 引言 在傳統CSS開發中&#xff0c;我們常常陷入「樣式冗余」與「維護噩夢」的循環&#xff1a; 想調整主題色&#xff1f;得全局搜索所有 #3498db 手動替換&#xff0c;稍有不慎就漏改某個角落&#xff1b; 寫嵌套…

DHTMLX Suite 9.2 重磅發布:支持歷史記錄、類Excel交互、剪貼板、拖放增強等多項升級

全球知名的 JavaScript UI 組件庫 DHTMLX Suite 迎來 9.2 新版本&#xff01;此次更新雖為次版本號&#xff0c;卻實質性提升了 Grid 網格組件的交互能力與用戶體驗&#xff0c;引入了包括歷史記錄管理、剪貼板操作、數據選擇范圍管理、Block 區塊選擇等多項高級模塊&#xff0…

深入理解Java中的Map.Entry接口

文章目錄深入理解Java中的Map.Entry接口1. 接口定義2. 核心方法解析2.1 基本方法2.2 Java 8新增的靜態方法3. 基本使用示例3.1 遍歷Map的條目3.2 修改Map中的值3.3 使用比較器排序4. Java 8/9增強特性4.1 與Stream API結合4.2 Java 9的equals和hashCode默認方法5. 實際應用場景…

AI培訓學習2

不要打擾用戶的習慣&#xff0c;比如APP右下角的我的&#xff0c;放到第一個就不合適 先抄再超 lifeTime value NPS: 評價 Product market 平衡 ARPU&#xff1a; LT活躍時長 游戲中好友的重要性 不花錢存活率很少 如何花錢&#xff0c;1分錢買東西 聯影醫療 figma uizard…