傳輸層安全性 (TLS) 安全網站憑證會驗證您所造訪網站的所有權與資訊完整性。本文將解釋其運作原理。
哪些網站會使用憑證?
網址以 https 開頭的網站會使用 TLS 伺服器憑證。使用 TLS 伺服器憑證的網站能保證兩件事:
- 網站管理員擁有或控制該網域名稱,確保使用者連線到的是合法網站,而非偽造或惡意的網站副本。
- 瀏覽器與網站之間透過 TLS 交換的加密資料受到保護,可防止未經授權者竊聽或竄改。
信任鏈
像 Firefox 這類的瀏覽器會透過稱為「信任鏈」的層級結構來驗證憑證,通常包含至少三種憑證:
- 根 (信任錨點) 憑證
- 一或多個中繼憑證
- TLS 伺服器 (終端實體) 憑證
根憑證屬於瀏覽器所信任的 憑證授權機構 (CA),可用於簽發其他憑證。通常,根憑證會簽發一或多個中繼憑證,這些中繼憑證再用於簽發 TLS 伺服器憑證給那些能證明其控制憑證中所指定網站網域的組織。
憑證依賴公開金鑰密碼學,其中非對稱金鑰對有兩個數學上相關的金鑰:
- 私密金鑰: 此金鑰由其所有者保密,用於加密操作,例如簽署資料(包含憑證)或解密用公開金鑰加密的資訊。
- 公開金鑰: 此金鑰公開分享,用於驗證由私密金鑰建立的簽章,或加密只有私密金鑰才能解密的資訊。
公開金鑰憑證包含以下資訊:
- 關於簽發憑證的憑證授權機構 (CA) 的詳細資訊
- 屬於收到憑證的組織的公開金鑰
- 關於持有私密金鑰的組織的識別詳細資訊(請參見下方的 憑證內容。對於 TLS 伺服器憑證,這主要是網站的網域名稱)
現在,我們可以說明 Firefox 如何判斷網站是否安全。
Firefox 如何驗證憑證的完整性?
Firefox 使用信任鏈來驗證 TLS 伺服器憑證的過程如下:
- Firefox 下載您所造訪網站的憑證。
- Firefox 會根據其內部信任的憑證授權機構 (CA) 資料庫來檢查憑證。
- 它使用根 CA 憑證的公開金鑰,以確保從根憑證和中繼憑證到網站提供的 TLS 伺服器憑證,整個信任鏈都已正確簽署。
- Firefox 檢查憑證中的資訊,以確保您連線的網站與憑證中列出的網站相符。
- Firefox 產生一個對稱金鑰,用於加密此連線的 HTTP 流量。
- Firefox 使用伺服器憑證中的伺服器公開金鑰來加密該對稱金鑰。
- 網頁伺服器上的私密金鑰會解密必要的連線資料,以完成所謂的「TLS 交握」。
之後,Firefox 和網站之間就可以進行安全通訊。
檢視憑證
若要檢視憑證,請按照以下步驟操作:
Firefox 現在會開啟 about:certificate 頁面,顯示您所在網站的憑證資訊:
三個分頁由左至右分別顯示 TLS 伺服器憑證、中繼憑證和根憑證。
憑證內容
TLS 伺服器憑證包含以下資訊:
- 主體: 包含可選屬性,例如網站名稱和關於擁有憑證的組織的其他資訊。
- 簽發者: 識別簽發憑證的 CA 實體。
- 有效期限: 顯示憑證的有效時間。
- 主體別名擴充: 列出此憑證有效的網站網址。
- 公開金鑰資訊: 列出憑證公開金鑰的屬性。
- 序號: 唯一識別此憑證。
- 簽章演算法: 用於建立簽章的演算法。
- 指紋: DER 二進位格式的憑證檔案雜湊值。
- 金鑰用途與延伸金鑰用途:指定人們如何使用此憑證,例如用於執行 TLS 網頁伺服器驗證。
- 主體金鑰識別碼: 從 TLS 憑證的公開金鑰產生的識別碼,用以識別該憑證。
- 授權金鑰識別碼: 從 CA 的公開金鑰產生的識別碼,用以識別對應用於簽署憑證的私密金鑰的公開金鑰。
- CRL 端點: 簽發 CA 的 憑證撤銷清冊 (CRL) 的位置。
- 授權資訊: 包含憑證授權機構和中繼憑證檔案的驗證方法。
- 憑證政策: 包含指向 TLS 憑證類型的指標(例如,憑證簽發時驗證的資訊)。
- 嵌入式 SCT: 列出 簽署憑證時間戳 (SCT)。
有問題的憑證
當您造訪網址以 https 開頭的網站,且偵測到 TLS 憑證有問題時,瀏覽器會顯示錯誤頁面。安全性警告代碼代表什麼意思? 一文說明了常見的憑證錯誤。
若要檢視有問題的憑證,請按照以下步驟操作:
- 在警告頁面上,點擊 。
- 點擊 檢視憑證檢視網站憑證。
-
現在將會顯示有問題的憑證。