HTTPS請求之SSL

目前大多數網站所使用的“HTTPS”,和之前的“HTTP”就多了一個“S”,而這個“S”就是SSL,它是一種網絡安全協議,用於加密瀏覽器和服務器之間傳輸的數據信息,其主要功能就是身份認證和數據傳輸加密。

那麼你知道SSL是如何工作的嗎?

SSL的工作流程

  1. 客戶使用HTTPS的URL訪問Web服務器,要求與Web服務器建立SSL連接。

  2. Web服務器收到客戶端請求後,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。

  3. 客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。

  4. 客戶端的瀏覽器根據雙方同意的安全等級,建立會話密鑰,然後利用網站的公鑰將會話密鑰加密,並傳送給網站。

  5. Web服務器利用自己的私鑰解密出會話密鑰。

  6. Web服務器利用會話密鑰加密與客戶端之間的通信。

整個過程經過握手之後就能建立加密鏈接,數據傳輸都是經過加密後的信息。

SSL握手的含義

建立安全連接的過程稱爲“SSL握手”。

這裏所說的“握手”並非我們傳統意義上的握手,SSL握手過程涉及三個步驟:交換加密功能服務器驗證密鑰傳輸

  • 交換加密功能

正如我們在見到某人時所做的一樣,客戶端和服務器也會互相問好。

客戶端向服務器發送一條“Client Hello”的消息,包含一些SSL證書信息。爲響應此客戶端的“Client Hello”消息,服務器通過發送“Server Hello”對其作出響應,同樣該消息也包含相應的證書信息。

  • 服務器驗證

在客戶端和服務器之間已建立安全連接後,接下來就是客戶端驗證服務器身份的階段。

SSL證書中包含所有者/組織、其位置的公鑰、有效日期等信息,客戶端確保有效的證書頒發機構CA已驗證證書。

  • 密鑰傳輸

客戶端驗證並驗證服務器後,雙方就該共享密鑰了。

服務器驗證完成後,客戶端使用公共密鑰生成預主密鑰,然後此預主密鑰被髮送到服務器,服務器使用其私鑰解密該預主密鑰。

這樣,客戶端和服務器就會計算出一個新密鑰,此主密鑰用於加密和解密在客戶端和服務器之間傳輸的信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章