https加密過程(SSL握手)

2021-10-24 15:17:41 字數 955 閱讀 4751

https在http的基礎上多了ssl加密層。https的加密過程也就是ssl的握手過程。

mac金鑰相當於資料校驗,是為了保證資料完整性而存在的。ssl將資料流分割成記錄,每條記錄都會附上乙個mac,然後再對「記錄+mac值」進行加密。比如客戶端要向服務端傳送資料,對於資料的每個記錄,客戶端都會用它的mac金鑰mc對記錄進行一次mac計算生成乙個mac值,然後再用它的加密金鑰ec對「記錄+mac值」進行加密。不過需要注意ssl記錄的型別、版本、長度不會參與加密。

如果黑客從中間捕獲了兩個報文段,並修改了tcp報文的序號,從而打亂了順序,在沒有mac加密的情況下,接收端不會認為接收到的資料順序有任何異常。但如果我們有了這個mac加密的過程,並且讓序號也參與mac加密,那我們就可以防止黑客的這一行為。

在ssl握手的最後,客戶端和服務端會互相傳送之前所有報文的mac。這麼做的目的是為了確保之前的所有的連線都是安全的。服務端會將收到的mac與自己計算的mac相比較,如果不相同的話,服務端可以立即終止連線,而同樣的,客戶端也會做類似的檢查。

在ssl連線的最開始階段,客戶端和服務端有互相傳送不重數,並且在接下來的階段用這個不重數參與主金鑰的匯出。這樣做的目的是為了防止「連線重放攻擊」。如果黑客擷取了客戶端服務端之間所有的報文,然後第二天將這些報文段重新依次傳送給服務端。在沒有不重數的情況下,服務端不會察覺到任何異常,因為所有報文段的傳送與接收都會和前一天一模一樣,所有報文段都會通過mac完整性檢查。這樣一來,黑客不用去獲取金鑰,也不用去知道每個報文段是什麼內容,就完成了攻擊。相反,如果使用不重數的話,黑客就無法得逞。因為每次的不重數都不一樣,每次的金鑰也都將不同,黑客的報文段無法通過mac完整性檢查,由此「連線重放攻擊」得到了防禦。

SSL握手過程(訪問https)

1 客戶端的瀏覽器向伺服器傳送客戶端ssl協議的版本號 加密演算法的種類 產生的隨機數以及其他伺服器和客戶端之間通訊所需要的各種資訊 2 伺服器向客戶端傳送ssl協議的版本號 加密演算法的種類 產生的隨機數以及其他相關資訊,同時伺服器還向客戶端傳送自己的證書 3 客戶利用伺服器傳過來的資訊驗證伺服器...

HTTPS和SSL握手過程

https介紹 https http 一組對稱 非對稱和基於證書的加密技術 https是最常見的http安全版本。它得到了很廣泛的應用,所有主要的商業瀏覽器和伺服器都提供https。https將http協議與一組強大的對稱 非對稱和基於證書的加密技術結合在一起,使得https不僅很安全,而且很靈活,...

SSL 握手過程

出處 一 ssl握手有三個目的 1.客戶端與伺服器需要就一組用於 保護資料的演算法達成一致 2.它們需要確立一組由那些演算法所使用的 加密金鑰 3.握手還可以選擇 對客戶端進行認證。三 ssl記錄協議 3.1 記錄頭訊息 記錄頭資訊的工作就是為接收實現 receiving implementatio...