HTTPS和SSL握手過程

2021-08-29 23:14:30 字數 1733 閱讀 8291

https介紹

https = http + 一組對稱、非對稱和基於證書的加密技術 

https是最常見的http安全版本。它得到了很廣泛的應用,所有主要的商業瀏覽器和伺服器都提供https。https將http協議與一組強大的對稱、非對稱和基於證書的加密技術結合在一起,使得https不僅很安全,而且很靈活,很容易在出於無序狀態的、分散的全球網際網路上進行管理

https與http連線過程區別

https的優勢:

通訊過程的hash生成的摘要,保證資料完整性

握手過程的非對稱加密,傳輸過程的對稱加密,保證資料私密性

證書保證雙方身份的真實性

https大致過程

建立伺服器443埠連線

ssl握手:隨機數,證書,金鑰,加密演算法

傳送加密請求

傳送加密響應

關閉ssl

關閉tcp

ssl握手大致過程:

客戶端傳送隨機數1,支援的加密方法(如rsa公鑰加密)

服務端傳送隨機數2,和伺服器公鑰,並確認加密方法

客戶端傳送用伺服器公鑰加密的隨機數3

伺服器用私鑰解密這個隨機數3,用加密方法計算生成對稱加密的金鑰給客戶端,

接下來的報文都用雙方協定好的加密方法和金鑰,進行加密

ssl握手詳細過程:

一、客戶端發出加密通訊請求clienthello

提供: 

1,協議版本(如tsl1.0) 

2,隨機數1(用於生成對話金鑰) 

3,支援的加密方法(如rsa公鑰加密) 

4,支援的壓縮方法

二、伺服器回應severhello

回應內容: 

1,確認使用的加密通訊協議版本(tsl1.0) 

2,隨機數2(用於生成對話金鑰) 

3,確認加密方法(rsa) 

4,伺服器證書(包含非對稱加密的公鑰) 

5,(可選)要求客戶端提供證書的請求

三、客戶端驗證證書

如果證書不是可信機構頒布,或證書網域名稱與實際網域名稱不符,或者證書已經過期,就會向訪問者顯示乙個警告,是否繼續通訊

四、客戶端回應

證書沒有問題,就會取出證書中的伺服器公鑰 

然後傳送: 

1,隨機數3(pre-master key,此隨機數用伺服器公鑰加密,防止被竊聽) 

2,編碼改變通知(表示隨後的資訊都將用雙方商定的方法和金鑰傳送) 

3,客戶端握手結束通知

五、雙方生成會話金鑰

雙方同時有了三個隨機數,接著就用事先商定的加密方法,各自生成同一把「會話金鑰」 

伺服器端用自己的私鑰(非對稱加密的)獲取第三個隨機數,會計算生成本次所用的會話金鑰(對稱加密的金鑰),如果前一步要求客戶端證書,會在這一步驗證

六、伺服器最後響應

伺服器生成會話金鑰後,向客戶端傳送: 

1,編碼改變通知(後面的資訊都用雙方的加密方法和金鑰來傳送) 

2,伺服器握手結束通知

至此,握手階段全部結束,接下來客戶端與伺服器進入加密通訊,用會話金鑰加密內容

SSL握手過程(訪問https)

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

https加密過程(SSL握手)

https在http的基礎上多了ssl加密層。https的加密過程也就是ssl的握手過程。mac金鑰相當於資料校驗,是為了保證資料完整性而存在的。ssl將資料流分割成記錄,每條記錄都會附上乙個mac,然後再對 記錄 mac值 進行加密。比如客戶端要向服務端傳送資料,對於資料的每個記錄,客戶端都會用它...

SSL 握手過程

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