HTTPS通訊流程

2021-09-28 15:33:32 字數 619 閱讀 8035

https的通訊流程

1、客戶端向伺服器發起ssl通訊,報文中包含客戶端支援的ssl的指定版本,加密元件列表(所使用的加密演算法及金鑰長度)

2、伺服器的響應報文中,包含ssl版本以及加密元件,伺服器的加密元件內容是從客戶端發來的加密元件列表中篩選出來的,伺服器還會發乙個公開金鑰並且帶有公鑰證書

3、客戶端拿到伺服器的公開金鑰,並驗證其公鑰證書(使用瀏覽器中已經植入的ca公開金鑰)

4、如果驗證成功,客戶端生成乙個pre-master secret隨機密碼串,這個隨機密碼串其實就是之後通訊要用的對稱金鑰,並用伺服器的公開金鑰進行加密,傳送給伺服器,以此通知伺服器,之後的報文都會通過這個對稱金鑰來加密

5、同時,客戶端用約定好的hash演算法計算握手訊息,然後用生成的金鑰進行加密,一起傳送給伺服器

6、伺服器收到客戶端發來的的公開金鑰加密的對稱金鑰,用自己的私鑰對其解密拿到對稱金鑰,再用對稱金鑰解析握手訊息,驗證hash值是否與客戶端發來的一致。如果一致,則通知客戶端ssl握手成功

7、之後的資料互動都是http通訊(當然通訊會獲得ssl保護),且資料都是通過對稱金鑰來加密(這個金鑰不會每次都發,在握手的過程中,伺服器已經知道了這個對稱金鑰,再有資料來時,伺服器知道這些資料就是通過對稱金鑰加密的,於是就直接解密了)

HTTPS加密流程

1 客戶端發起https請求首先向服務端傳送客戶端ssl tls協議版本號 支援的加密演算法種類 如 rsa加密演算法,des對稱加密演算法,sha1摘要演算法 產生隨機數等資訊 2 服務端向瀏覽器回傳 ssl tls 協議版本號 選擇一種客戶端瀏覽器支援的加密演算法和hash演算法 隨機數 服務端...

HTTPS 實現流程

https協議其實就是http over tsl,基礎的http通訊是明文的,有三大風險 資訊被竊聽,資訊被篡改,身份的冒充。tsl協議就是為防範這些風險存在的。tsl使用非對稱加密保護下的對稱加密在保證了通訊效率的同時防止竊聽,使用證書體系防止資訊篡改和身份冒認。注意 tsl協議握手階段的通訊是明...

https流程分析

先來回顧一下http協議的流程,http屬於應用層的協議,tcp傳輸層,ip網路層,arp mtu鏈路層,ip封裝tcp,https的圖大致為下圖所示 ip層的16位總位元組為65535,意思是乙個ip的最大資料報的大小,mtu是限制了鏈路層的資料報的大小,所以ip層的每個資料報的大小限制在46 1...