SSL是如何工作的?SSL握手又有何含義?

目前大多數(shù)網(wǎng)站所使用的“HTTPS”,和之前的“HTTP”就多了一個“S”,而這個“S”就是SSL,它是一種網(wǎng)絡(luò)安全協(xié)議,用于加密瀏覽器和服務(wù)器之間傳輸?shù)臄?shù)據(jù)信息,其主要功能就是身份認(rèn)證和數(shù)據(jù)傳輸加密。那么你知道SSL是如何工作的嗎?

SSL

SSL的工作流程

  1. 客戶使用HTTPS的URL訪問Web服務(wù)器,要求與Web服務(wù)器建立SSL連接。
  2. Web服務(wù)器收到客戶端請求后,會將網(wǎng)站的證書信息(證書中包含公鑰)傳送一份給客戶端。
  3. 客戶端的瀏覽器與Web服務(wù)器開始協(xié)商SSL連接的安全等級,也就是信息加密的等級。
  4. 客戶端的瀏覽器根據(jù)雙方同意的安全等級,建立會話密鑰,然后利用網(wǎng)站的公鑰將會話密鑰加密,并傳送給網(wǎng)站。
  5. Web服務(wù)器利用自己的私鑰解密出會話密鑰。
  6. Web服務(wù)器利用會話密鑰加密與客戶端之間的通信。

整個過程經(jīng)過握手之后就能建立加密鏈接,數(shù)據(jù)傳輸都是經(jīng)過加密后的信息。

SSL的工作流程

SSL握手的含義

建立安全連接的過程稱為“SSL握手”。這里所說的“握手”并非我們傳統(tǒng)意義上的握手,SSL握手過程涉及三個步驟:交換加密功能服務(wù)器驗證密鑰傳輸。

  • 交換加密功能

正如我們在見到某人時所做的一樣,客戶端和服務(wù)器也會互相問好??蛻舳讼蚍?wù)器發(fā)送一條“Client Hello”的消息,包含一些SSL證書信息。為響應(yīng)此客戶端的“Client Hello”消息,服務(wù)器通過發(fā)送“Server Hello”對其作出響應(yīng),同樣該消息也包含相應(yīng)的證書信息。

SSL

  • 服務(wù)器驗證

在客戶端和服務(wù)器之間已建立安全連接后,接下來就是客戶端驗證服務(wù)器身份的階段。SSL證書中包含所有者/組織、其位置的公鑰、有效日期等信息,客戶端確保有效的證書頒發(fā)機(jī)構(gòu)CA已驗證證書。

  • 密鑰傳輸

客戶端驗證并驗證服務(wù)器后,雙方就該共享密鑰了。服務(wù)器驗證完成后,客戶端使用公共密鑰生成預(yù)主密鑰,然后此預(yù)主密鑰被發(fā)送到服務(wù)器,服務(wù)器使用其私鑰解密該預(yù)主密鑰。這樣,客戶端和服務(wù)器就會計算出一個新密鑰,此主密鑰用于加密和解密在客戶端和服務(wù)器之間傳輸?shù)男畔ⅰ?/p>

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。