知識庫

什麼是 SSL 證書以及它的用途是什麼?

1. 介紹

SSL 證書 用於在客戶端和伺服器之間創建加密通道。傳輸信用卡詳細信息、帳戶登錄信息或任何其他敏感信息時必須進行加密,以防止竊聽。

使用 SSL 證書時,數據在通過互聯網傳輸之前會被加密。只有實際發送數據的伺服器才能解密加密數據。這確保了您提交給網站的信息不會被竊取。

從 2014 年 6 月 8 日起,谷歌宣布,在您的網站上安裝 SSL 證書 將會提高您的排名位置,這是使用 SSL 的另一個好理由。

證書本身代表的是編碼為 base64 的數據,包含關於該證書簽發給的實體的信息、加密所需的公鑰和數字簽名驗證,以及使用證書簽發者的私鑰生成的數字簽名。

certificate

SSL 證書必須在伺服器端安裝。當您訪問受受信任的證書授權機構發出的 SSL 證書保護的網站時,您將在其 URL 的開頭看到 https://。瀏覽器還會通過在地址欄中顯示“鎖”圖標顯示連接的安全性:

https

2. SSL 證書的類型

SSL 證書可以劃分為 3 種驗證類別:

域名驗證證書

要求證書申請者僅需證明其對域名的控制權。簽發的證書包含在證書請求中提供的域名。

組織驗證證書

要求證書申請者證明其公司是一家註冊的、對法律負責的企業,並通過域名驗證。簽發的證書包含證書申請者的域名和公司名稱。

擴展驗證證書

包括上述兩種類型的驗證要求和額外要求。簽發的證書包含證書申請者的域名和公司名稱。值得一提的是,只有擴展驗證證書會在網頁瀏覽器中顯示帶有擁有者公司名稱的綠色條。

技術概述

詞彙表

  • 非對稱加密 - 需要不同的金鑰進行加密和解密過程的密碼;
  • 密碼套件 - 在 SSL/TLS 協議中使用的密鑰交換、身份驗證、加密和消息驗證碼 (MAC) 算法的集合;
  • 握手 - 在 SSL/TLS 中用於安全參數協商的協議使用;
  • 密鑰交換 - 在 SSL/TLS 的上下文中,客戶端和伺服器安全地建立會話的前主密鑰的方法;
  • 主密鑰 - 用於生成加密金鑰、MAC 密鑰和初始化向量 (IV) 的密鑰材料;
  • 消息驗證碼 (MAC) - 針對消息和密鑰計算的單向哈希函數;
  • 前主密鑰 - 用於主密鑰衍生的密鑰材料;
  • 對稱加密 - 用於加密和解密過程的密碼需要相同的金鑰;

4. 對稱與非對稱加密

SSL/TLS 協議使用了兩種加密類型:對稱和非對稱。

對稱加密(也稱為“批量加密”)意指加密和解密使用相同的金鑰。在 SSL/TLS 中,對稱密碼通常用於應用數據的加密。
對稱密碼的示例: AES、RC4、DES
非對稱加密(也稱為“公鑰加密”)意指加密和解密使用不同的金鑰。
包含在 CSR 和後來在 SSL 證書中的公鑰用於加密和簽名驗證。私鑰通常保存在伺服器上,可以根據握手期間協商的密碼套件的不同,使用於解密計算主密鑰所需的前主密鑰,或簽名計算主密鑰所需的參數。
簡而言之,在 SSL/TLS 協議的上下文中,非對稱加密的目的是為雙方(客戶端/伺服器)計算安全的對稱加密金鑰。

非對稱加密系統的示例: RSA、DHE、ECDHE

5. 密碼套件

密碼套件是在 SSL/TLS 協議中使用的密鑰交換、身份驗證、加密和消息驗證碼 (MAC) 算法的集合。

示例:

密碼套件 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 意味著
- DHE 用於密鑰交換
- RSA 用於身份驗證
- AES_256_GCM 用於批量加密
- SHA384 是用於 MAC 計算的哈希函數

6. 握手

握手是 SSL/TLS 中用於安全參數協商的協議。根據密碼套件,握手可以由不同的消息組成,這些消息在雙方之間傳送。

下圖描述了一個最常見的握手消息流,該消息流意味著使用 RSA 公鑰進行前主密鑰的加密。這樣的握手消息流適用於以下類型的密碼套件(示例):

TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384

handshake