安全性術語簡介

當移轉至 HTTPS 時,網站營運者經常面臨的障礙之一是概念問題:這究竟是在做什麼?這些加密術語有什麼意義?在本節中,我們會提供一個簡短的總覽。

TL;DR

  • 公開 / 私密金鑰用於簽署和解密瀏覽器和伺服器之間的訊息
  • 憑證授權單位 (CA) 是一個專門擔保公開金鑰和公開 DNS 名稱 (例如 www.foobar.com) 之間對應的機構
  • 憑證簽署要求 (CSR) 是一種資料格式,它會組合公開金鑰和擁有該金鑰之實體的相關中繼資料

公開和私密金鑰組為何?

公開/私密金鑰組 是一組非常大的數字,它可以用來當加密金鑰和解密金鑰, 同時它們分享一特別的數學關係。 金鑰組有一常見系統, 那就是 RSA 密碼系統公開金鑰 用於加密訊息, 並且訊息只能以對應的 私密金鑰 解密。 您的網頁伺服器會通告其公開金鑰給全世界, 而用戶端 (如網頁瀏覽器) 將使用它,以啟動 (bootstrap) 一安全通道至您的伺服器。

憑證授權單位為何?

憑證授權單位 (CA) 是一個專門擔保公開金鑰和公開 DNS 名稱 (例如 www.foobar.com) 之間對應的機構。

例如,用戶端如何知道一特定的公開金鑰是 www.foobar.com 的_真正_金鑰? 可想而知,根本沒有辦法知道。 CA 會擔保 特定金鑰為特定網站的真正金鑰,方法是使用本身的 私密金鑰,以 [加密方式 簽署] (https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Signing_messages) 該網站的公開金鑰。 此簽名無法以運算技術偽造。 瀏覽器 (和其它用戶端) 會保有內含知名 CA 擁有的公開金鑰的 信賴起點存放區, 而且瀏覽器會使用這些公開金鑰以 加密方式驗證 CA 的簽名。

X.509 憑證 是一種資料格式, 它結合一公開金鑰和擁有該金鑰的實體之相關中繼資料。 就網頁而言,金鑰的擁有者是網站營運者, 而重要的中繼資料則是網頁伺服器的 DNS 名稱。 當用戶端連接至 HTTPS 網頁伺服器時, 網頁伺服器會出示其憑證,供用戶端驗證。 用戶端會驗證憑證尚未過期、 DNS 名稱符合用戶端試圖連接的目標伺服器名稱, 以及一已知的信賴起點 CA 已簽署該憑證。 在大多數情況下,CA 不直接簽署網頁伺服器憑證; 通常會有一 憑證鏈 連結至一信賴起點、連結至中繼簽署者, 並在最後連結至網頁伺服器本身的憑證 (最終實體)。

何謂憑證簽署要求?

就像一張憑證,憑證簽署要求 (CSR) 是一種資料格式, 它結合一公開金鑰和擁有該金鑰的實體之相關中繼資料。 但是,用戶端將不解譯 CSR;這是 CA 的工作。 當您想讓 CA 為您的網頁伺服器公開金鑰擔保時, 您先傳送 CSR 給 CA。 CA 先驗證 CSR 中的資訊, 並用它來產生一個憑證。 然後 CA 傳送給您最終憑證,而您安裝該憑證 ( 或更可能為憑證鏈) 和您的私密金鑰在您網頁伺服器上。