HTTPS 中間人攻擊 (一)https簡單介紹

2021-10-11 21:48:56 字數 1918 閱讀 4214

https是基於http協議,通過ssl或者tls保證資料傳輸的安全;使用數字證書、加密演算法和非對稱金鑰等技術完成資料傳輸的加密和身份認證;相比較於http,主要是改進了:資料的保密性、資料的完整性以及身份驗證。

資料的保密性:https通訊過程中的資料均為加密資料,通過第三方手段截獲資料報檢視到的都是密文;

資料的完整性:由於是通過雙方協商好的加密演算法進行加解密,因此客戶端和服務端之間能輕鬆的判斷資料是否丟失或者被篡改;

身份驗證:https支援單向認證和雙向認證,單向認證是服務端傳送數字證書給客戶端進行身份驗證;雙向認證兩端互發證書驗證;一般的web應用採用的是單向認證;

在解釋https加密前,先簡單解釋幾個詞語:對稱加密,非對稱加密,簽名、驗籤、數字證書。

對稱加密:使用乙個金鑰完成資料的加密和解密,主要優點是速度快;缺點是金鑰管理比較麻煩。

非對稱加密:使用一對公私鑰進行資料的加解密,公鑰加密,私鑰解密;優點是安全性高,去除金鑰協商過程;缺點是速度慢;適合少量資料的加密解密。

簽名、驗籤:同樣使用一對公私鑰,私鑰簽名,公鑰驗籤;通過公鑰驗證簽名可以驗證簽名者的身份;

數字證書:包含簽名、公鑰、上級頒發者等資訊,通過證書可以驗證身份;

https通訊過程中的資料主要是通過對稱加密演算法實現對傳輸資料的加密;因此在傳送資料前,客戶端和服務端需要協商乙個只有兩端才知道的對稱金鑰;https通過數字證書和非對稱加密演算法實現了對稱金鑰的安全獲取以及兩端的身份驗證;

如圖所示:

第一步:客戶端向服務端發起請求

客戶端生成隨機數r1,並將自己的ssl/tls版本資訊、支援的加密套件等資訊以明文資料傳送給服務端;

版本資訊:支援的最高ssl或tls協議版本,ssl基本已被棄用;

加密套件:認證演算法 au (身份驗證)、金鑰交換演算法 keyexchange(金鑰協商)、對稱加密演算法 enc (資訊加密)和資訊摘要 mac(完整性校驗);

隨機數r1:用於生成會話金鑰,會話金鑰就是兩端進行資料加密的對稱金鑰;

第二步:服務端返回協商結果和數字證書

服務端生成隨機數r2,將協商結果以及數字證書傳送給客戶端進行驗證,並請求客戶端的證書(雙向認證);協商結果包括選擇的協議版本、選擇的加密套件和會話秘鑰生成演算法;

數字證書:用於身份校驗和金鑰交換;

隨機數r2:用於生成會話金鑰;

會話秘鑰生成演算法:隨機數生成會話金鑰使用的演算法;

第三步:客戶端驗證服務端數字證書

客戶端通過服務端證書驗證服務端的身份,驗證通過後,生成隨機數r3,根據會話金鑰演算法使用隨機數r1、r2、r3生成會話秘鑰,並將隨機數r3使用服務端公鑰加密傳送給服務端;傳送客戶端證書給服務端;(雙向認證)

驗證證書可靠性:通過系統內建的根證書對服務端證書進行驗證;

驗證證書有效性:包括證書是否吊銷、是否到期、網域名稱是否匹配等;

隨機數r3:與之前的隨機數r1和r2通過會話金鑰演算法生成會話金鑰;

第四步:服務端解密隨機數生成會話金鑰

服務端驗證客戶端證書(雙向認證);通過私鑰解密出隨機數r3,根據會話金鑰演算法使用r1、r2、r3生成會話金鑰;

會話金鑰:服務端和客戶端根據相同的會話金鑰演算法使用r1、r2、r3生成了一致的會話金鑰;

第四步:客戶端與服務端進行資料的加密傳輸

客戶端使用會話金鑰加密資料傳送給服務端,服務端使用相同會話金鑰進行解密;

服務端使用會話金鑰加密資料傳送給客戶端,客戶端使用相同會話金鑰進行解密;

Https中間人攻擊

https也不是絕對安全的,如下圖所示為中間人劫持攻擊,中間人可以獲取到客戶端與伺服器之間所有的通訊內容。中間人擷取客戶端傳送給伺服器的請求,然後偽裝成客戶端與伺服器進行通訊 將伺服器返回給客戶端的內容傳送給客戶端,偽裝成伺服器與客戶端進行通訊。通過這樣的手段,便可以獲取客戶端和伺服器之間通訊的所有...

Https中間人攻擊

防範方法 一 https連線過程及中間人攻擊原理 https協議就是http ssl協議,如下圖所示為其連線過程 1.https請求 客戶端向服務端傳送https請求 2.生成公鑰和私鑰 服務端收到請求之後,生成公鑰和私鑰。公鑰相當於是鎖,私鑰相當於是鑰匙,只有私鑰才能夠開啟公鑰鎖住的內容 3.返回...

HTTPS攻擊(SSL TLS中間人攻擊)

攻擊機 kali 目標機 win7 攻擊前提 客戶端已經信任偽造證書頒發機構 攻擊者控制了核發證書頒發機構 客戶端程式禁止了顯示證書錯誤告警資訊 攻擊者已經控制客戶端,並強制其信任偽造證書。角色 客戶端 客戶路由器 真實伺服器 攻擊者 伺服器 攻擊者 伺服器 攻擊者通過arp欺騙客戶端通過攻擊者做閘...