https流程分析

2021-10-06 17:09:47 字數 990 閱讀 1125

先來回顧一下http協議的流程,http屬於應用層的協議,tcp傳輸層,ip網路層,arp 、mtu鏈路層,ip封裝tcp,https的圖大致為下圖所示:

ip層的16位總位元組為65535,意思是乙個ip的最大資料報的大小,mtu是限制了鏈路層的資料報的大小,所以ip層的每個資料報的大小限制在46-1500位元組之內,超過1500就要對ip進行分片,通過16位標識能區分乙個完整ip包的所有分包;

ip層的ttl8位,其最大值為2^8-1=255,這個是用來記錄路由器的跳數,為了防止無限跳下去,設定了乙個最大值,8位155,跳乙個路由-1,當==0的時候丟棄資料報,不跳了;window與linux系統裡面的ttl是不一樣的,有的時候可以用ping檢視ttl來確定作業系統型別,這裡ping檢視是指不通過路由器在區域網中進行的,因為經過乙個路由器就要-1,因為ip報文中都帶ttl引數,而ping是可以看到對方的ttl,這個ttl不是你的,是對方的ip裡面引數,通訊是指2個或者2個以上的物件;

ip首部長度,指的不是位元組,指的是乙個32位二進位制,例如32位cpu定址一樣,首部最大長度為4,最大值為2^4-1=15,則有15個32位這樣的位,則位的大小為15*32,因為8位為1個位元組,所以最大位元組為15*32/8=60,tcp最大值也是60;

mss是tcp的資料大小,他是mtu-ip頭-tcp頭的值;tcp的狀態碼就是確定每次握手的規律的;

現在來看一下https協議的時序圖:

上面瀏覽器第一次訪問https**的時候,伺服器返回乙個ca證書給瀏覽器讓他選擇安裝,並驗證證書信用度;

上面整個過程用到了,ca認證證書(概要檔案),http協議,對稱演算法,非對稱演算法,因為對稱演算法的效率比非對稱的效率高,

所以3次握手之後就一致選擇對稱演算法進行加密解密訊息

HTTPS加密流程

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

HTTPS 實現流程

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

HTTPS通訊流程

https的通訊流程 1 客戶端向伺服器發起ssl通訊,報文中包含客戶端支援的ssl的指定版本,加密元件列表 所使用的加密演算法及金鑰長度 2 伺服器的響應報文中,包含ssl版本以及加密元件,伺服器的加密元件內容是從客戶端發來的加密元件列表中篩選出來的,伺服器還會發乙個公開金鑰並且帶有公鑰證書 3 ...