網頁SSL運作原理

  • 139
  • 0
  • 2021-10-18

目前主流網站都會使用SSL做兩方面的傳輸,但很少人知道運作原理,這邊就先記錄一下

通常我們加密有兩種方式

  1. 對稱式加密
  2. 非對稱式加密

對稱式加密

  • 優點
  1. 加解密都用同一把key
  2. 因Client and Server都用同一把key,運算速度加
  • 問題點
  1. 如果有一方的key外洩,這有資安問題
  2. 如何有效的傳送共用金鑰

非對稱式加密

  • 特性
  1. 已公開金鑰進行加密的資料,只用用私鑰去做解密
  2. 運用方式是將公開金鑰傳給Client端,Server則保留私鑰
  3. 很難去破解和反推算私鑰
  • 缺點
  • 運算相對複雜,對電腦效能會造成負擔

SSL 伺服器取得憑證原理

  1. 管理者在伺服器上產生公鑰和私鑰
  2. 將公開的金鑰資訊以CSR(Certificate Signing Request)方式提交給憑證機構(Certificate Authority)
  3. 憑證機構進行審查並發送數位憑證(公開金鑰和數位簽章)
  4. 管理者拿到數位憑證後安裝到伺服器上

SSL 進行加密和通訊的流程

  1. Client連線到伺服器,伺服器回傳數位憑證(公開金鑰和數位簽章)給用戶
  2. Clinet拿到數位憑證後,確認伺服器的身分
  3. 因為效能問題Client和伺服器要使用對稱式加密方法傳送資料,但傳送公鑰的方法會使用非對稱式加密去進行
  4. Client先將公用金鑰用伺服器公開金鑰去加密,並傳給伺服器,伺服器收到後用私鑰進行解密,並製作共用金鑰
  5. Client也在製作共用金鑰中
  6. 兩邊都有同樣的key,傳輸速度會變快