HTTPS的應用層協議

HTTPS的應用層協議

方案 5 - 非對稱加密 + 對稱加密 + 證書認證

在客戶端和服務器剛一建?連接的時候, 服務器給客戶端返回一個 證書,證書包含了之前服務端的公鑰, 也包含了網站的身份信息.

客戶端進行認證

當客戶端獲取到這個證書之后, 會對證書進行校驗(防止證書是偽造的).

? 判定證書的有效期是否過期

? 判定證書的發布機構是否受信任(操作系統中已內置的受信任的證書發布機構).

? 驗證證書是否被篡改: 從系統中拿到該證書發布機構的公鑰, 對簽名解密, 得到一個 hash 值(稱為數據摘要), 設為 hash1. 然后計算整個證書的 hash 值, 設為 hash2. 對比 hash1 和 hash2 是否相等. 如果相等, 則說明證書是沒有被篡改過的

中間人有沒有可能篡改該證書?

? 中間人篡改了證書的明文

? 由于他沒有 CA 機構的私鑰,所以無法 hash 之后用私鑰加密形成簽名,那么也就沒法辦法對篡改后的證書形成匹配的簽名

? 如果強行篡改,客戶端收到該證書后會發現明文和簽名解密后的值不一致,則說明證書已被篡改,證書不可信,從而終止向服務器傳輸信息,防止信息泄露給中間人

中間人整個掉包證書?

? 因為中間人沒有 CA 私鑰,所以無法制作假的證書(為什么?)

? 所以中間人只能向 CA 申請真證書,然后用自己申請的證書進行掉包

? 這個確實能做到證書的整體掉包,但是別忘記,證書明文中包含了域名等服務端認證信息,如果整體掉包,客戶端依舊能夠識別出來。

? 永遠記住:中間人沒有 CA 私鑰,所以對任何證書都無法進行合法修改,包括自己的

常見問題

為什么摘要內容在網絡傳輸的時候一定要加密形成簽名?

常見的摘要算法有: MD5 和 SHA 系列

以 MD5 為例, 我們不需要研究具體的計算簽名的過程, 只需要了解 MD5 的特點:

? 定?: 無論多?的字符串, 計算出來的 MD5 值都是固定?度 (16 字節版本或者32 字節版本)

? 分散: 源字符串只要改變一點點, 最終得到的 MD5 值都會差別很大.

? 不可逆: 通過源字符串生成 MD5 很容易, 但是通過 MD5 還原成原串理論上是不可能的.

正因為 MD5 有這樣的特性, 我們可以認為如果兩個字符串的 MD5 值相同,則認為這兩個字符串相同.

理解判定證書篡改的過程: (這個過程就好比判定這個身份證是不是偽造的身份證)

假設我們的證書只是一個簡單的字符串 hello, 對這個字符串計算 hash 值(比如 md5), 結果為 BC4B2A76B9719D91

如果 hello 中有任意的字符被篡改了, 比如變成了 hella, 那么計算的 md5 值就會變化很大. BDBD6F9CF51F2FD8

然后我們可以把這個字符串 hello 和 哈希值 BC4B2A76B9719D91 從服務器返回給客戶端, 此時客戶端如何驗證 hello 是否是被篡改過?

那么就只要計算 hello 的哈希值, 看看是不是 BC4B2A76B9719D91 即可.

所以被傳輸的哈希值不能傳輸明文, 需要傳輸密文.

所以,對證書明文(這里就是“hello”)hash 形成散列摘要,然后 CA 使用自己的私鑰加密形成簽名,將 hello 和加密的簽名合起來形成 CA 證書,頒發給服務端,當客戶端請求的時候,就發送給客戶端,中間人截獲了,因為沒有 CA 私鑰,就無法更改或者整體掉包,就能安全的證明,證書的合法性。最后,客戶端通過操作系統里已經存的了的證書發布機構的公鑰進行解密, 還原出原始的哈希值, 再進行校驗.

為什么簽名不直接加密,而是要先 hash 形成摘要?

? 縮?簽名密文的?度,加快數字簽名的驗證簽名的運算速度

總結

HTTPS 工作過程中涉及到的密鑰有三組.

第一組(非對稱加密): 用于校驗證書是否被篡改. 服務器持有私鑰(私鑰在形成 CSR 文件與申請證書時獲得), 客戶端持有公鑰(操作系統包含了可信任的 CA 認證機構有哪些, 同時持有對應的公鑰). 服務器在客戶端請求時,返回攜帶簽名的證書. 客戶端通過這個公鑰進行證書驗證, 保證證書的合法性,進一步保證證書中攜帶的服務端公鑰權威性。

第?組(非對稱加密): 用于協商生成對稱加密的密鑰. 客戶端用收到的 CA 證書中的公鑰(是可被信任的)給隨機生成的對稱加密的密鑰加密, 傳輸給服務器, 服務器通過私鑰解密獲取到對稱加密密鑰.

第三組(對稱加密): 客戶端和服務器后續傳輸的數據都通過這個對稱密鑰加密解密. 其實一切的關鍵都是圍繞這個對稱加密的密鑰. 其他的機制都是輔助這個密鑰工作的. 第?組非對稱加密的密鑰是為了讓客戶端把這個對稱密鑰傳給服務器. 第一組非對稱加密的密鑰是為了讓客戶端拿到第?組非對稱加密的公鑰

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

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

相關文章

【SpringBoot】05 容器功能 - SpringBoot底層注解的應用與實戰 - @Configuration + @Bean

文章目錄前言一、創建兩個組件二、使用傳統方式源代碼解釋三、使用SpringBoot方法源代碼解釋四、查看是否添加到組件中查看自定義組件名配置類在容器中注冊的是單實例組件配置類本身也是容器中的一個組件Configuration的proxyBeanMethods屬性:代理bean的方法proxyBe…

c#聯合Halcon進行OCR字符識別(含halcon-25.05 百度網盤)

1.下載安裝halcon 通過網盤分享的文件:halcon-25.05.0.0-x64-win64 鏈接: https://pan.baidu.com/s/1XAx-8ZQM-ZHkgHIc-dhCYw 提取碼: whek 2.c#環境配置 創建test_halcon_ocr項目 找到halcon的安裝路徑 我的: D:\halcon\HALCON-25.05-Progress\bin\x64…

絲桿支撐座怎樣助力升降設備實現智能化?

絲桿支撐座作為傳動系統中的關鍵支撐部件,憑借其高剛性、抗沖擊及精準定位能力,廣泛應用于重型機械與升降設備領域,為設備提供穩定可靠的軸向承載與徑向支撐,確保高負荷工況下的安全運行。電梯 / 升降平臺:液壓電梯的輔…

Notta:高效智能的音頻轉文字工具

本文轉載自:Notta:高效智能的音頻轉文字工具 - Hello123 ** 一、產品簡介 Notta 是一款基于 AI 語音識別引擎的語音轉文字工具,支持 58 種語言的轉錄和 42 種語言的翻譯。用戶可通過實時錄音或上傳音頻 / 視頻文件(如 MP3、WAV …

Docker私有倉庫創建及Docky存儲與網絡配置(小白的“升級打怪”成長之路)

目錄 一、Docker私有倉庫創建 1、在一臺安裝Docker私有倉庫的主機上添加docker-compose 命令 2、安裝docker-ce服務 3、Docker 鏡像加速 4、安裝Harbor倉庫 5、使用腳本安裝倉庫 6、網站登陸 7、客戶端使用Harbor倉庫 二、Docky存儲與網絡配置 1、存儲與網絡 掛載主機…

谷歌ADK接入文件操作MCP

文章目錄MCP基礎概念文件操作服務器文件操作MCP接入谷歌ADK項目創建多輪對話代碼MCP基礎概念 MCP技術體系中,會將外部工具運行腳本稱作服務器,而接入這些外部工具的大模型運行環境稱作客戶端。 一個客戶端可以接入多個不同類型的服務器,但都…

高光譜技術的獨特優勢

高光譜技術憑借其?納米級連續光譜采集能力?和?圖譜合一的探測模式?,在多個領域展現出不可替代的獨特優勢:一、光譜維度:精細物質指紋識別?納米級連續光譜解析? 通過 ?5-10nm帶寬的數百個連續波段?(最高330個通道&#xff…

基于Vue+Element UI集成高德地圖的完整實踐指南

本次開發使用deepseek 簡直如虎添翼得心應手 生成模擬數據、解決報錯那真是嘎嘎地 在 Vue Element UI 項目中引入高德地圖 具體實現步驟: 高德開放平臺:注冊賬號 → 進入控制臺 → 創建應用 → 獲取 Web端(JS API)的Key https://lbs.amap.com/ 這里需要…

Day50--圖論--98. 所有可達路徑(卡碼網),797. 所有可能的路徑

Day50–圖論–98. 所有可達路徑(卡碼網),797. 所有可能的路徑 刷今天的內容之前,要先去《代碼隨想錄》網站,先看完:圖論理論基礎和深度優先搜索理論基礎。做完之后可以看題解。有余力,把廣度優先…

Python 異常捕獲

一、獲取未知錯誤try:# 相關處理邏輯 異常后面輸出print(輸入信息……) except Exception as e:print(未知錯誤,e)二、獲取已知錯誤except 錯誤單詞(來源于錯誤信息的第一個單詞)多個已知錯誤使用 except XXXXX:try:# 相關處理邏輯 異常后面輸出print…

RIOT、RT-Thread 和 FreeRTOS 是三種主流的實時操作系統

RIOT、RT-Thread 和 FreeRTOS 是三種主流的實時操作系統(RTOS),專為嵌入式系統和物聯網(IoT)設備設計。它們在架構、功能、生態和應用場景上有顯著差異,以下是詳細對比:1. 架構與設計理念特性RI…

【FAQ】Win11創建資源不足繞開微軟賬號登錄

Win11安裝資源限制 因為 Windows 11 有兩項強制檢測 VMware 8 默認沒提供: TPM 2.0(可信平臺模塊)Secure Boot(安全啟動) 一步到位解決辦法(官方兼容方式) 關閉虛擬機電源編輯虛擬機設置 選項 →…

Docker使用----(安裝_Windows版)

一、Docker Docker 鏡像就像是一個軟件包,里面包括了應用程序的代碼、運行所需的庫和工具、配置文件等等,所有這些都打包在一起,以確保應用程序在不同的計算機上運行時,都能保持一致性。 可以把 Docker 鏡像想象成一個軟件安裝文件…

91、23種經典設計模式

設計模式是軟件設計中反復出現的解決方案的模板,用于解決特定問題并提高代碼的可維護性、可擴展性和可復用性。23種經典設計模式可分為創建型、結構型和行為型三大類,以下是具體分類及模式概述: 一、創建型模式(5種) 關…

Illustrator總監級AI魔法:一鍵讓低清logo變矢量高清,徹底告別手動描摹!

在海外從事設計十幾年,我敢說,每個設計師都經歷過一種“史詩級”的折磨:客戶發來一個像素低得感人、邊緣模糊不清的JPG格式Logo,然后要求你把它用在巨幅海報或者高清視頻上。這意味著什么?意味著我們要打開Illustrator…

各種 dp 刷題下

6.#8518 杰瑞征途 / 洛谷 P4072 征途 題意 Pine 開始了從 SSS 地到 TTT 地的征途。從 SSS 地到 TTT 地的路可以劃分成 nnn 段,相鄰兩段路的分界點設有休息站。Pine 計劃用 mmm 天到達 TTT 地。除第 mmm 天外,每一天晚上 Pine 都必須在休息站過夜。所以…

本地WSL部署接入 whisper + ollama qwen3:14b 總結字幕增加利用 Whisper 分段信息,全新 Prompt功能

1. 實現功能 M4-3: 智能后處理 - 停頓感知增強版 (終極版) 本腳本是 M4-3 的重大升級,引入了“停頓感知”能力: 利用 Whisper 分段信息: 將 Whisper 的 segments 間的自然停頓作為強信號 ([P]) 提供給 LLM。全新 Prompt: 設計了專門的 Prompt&#xff0c…

微算法科技(NASDAQ:MLGO)開發經典增強量子優化算法(CBQOA):開創組合優化新時代

近年來,量子計算在組合優化領域的應用日益受到關注,各類量子優化算法層出不窮。然而,由于現階段量子硬件的局限性,如何充分利用已有的經典計算能力來增強量子優化算法的表現,成為當前研究的重要方向。基于此&#xff0…

功能、延遲、部署、成本全解析:本地化音視頻 SDK 對比 云端方案

引言 在構建實時音視頻系統時,技術選型往往決定了項目的天花板。開發者面臨的第一個關鍵抉擇,就是是選擇完全可控的本地化音視頻內核,還是依賴云廠商的實時音視頻服務。 以大牛直播SDK(SmartMediaKit)為代表的本地部…

微調入門:為什么微調

歡迎來到啾啾的博客🐱。 記錄學習點滴。分享工作思考和實用技巧,偶爾也分享一些雜談💬。 有很多很多不足的地方,歡迎評論交流,感謝您的閱讀和評論😄。 目錄1 什么時候我們需要微調呢?1.1 微調的…