開發人員在遷移至 HTTPS 時面臨的兩大挑戰是概念和術語。本指南將概略介紹這兩項功能。
摘要
- 使用公開/私密金鑰來簽署及解密瀏覽器和伺服器之間的訊息。
- 憑證授權單位 (CA) 會保護公開金鑰和公開 DNS 名稱 (例如「www.foobar.com」) 之間的對應關係。
- 憑證簽署要求 (CSR) 是一種資料格式,可將公開金鑰與擁有金鑰的實體相關中繼資料一併納入
什麼是公開與私密金鑰組?
「公開/私密金鑰組」是一對非常大的數字,做為加密和解密金鑰使用,且具有特殊的數學關係。RSA 加密系統是常見的金鑰組系統。公開金鑰可用來加密訊息,且訊息只能使用對應的私密金鑰解密。您的網路伺服器會向全世界通告其公開金鑰,而用戶端 (例如網路瀏覽器) 使用該金鑰將安全通道啟動到您的伺服器。
什麼是憑證授權單位?
「認證機構 (CA)」是一個機構,負責對應公開金鑰和公開 DNS 名稱 (例如「www.foobar.com」) 之間的對應關係。舉例來說,用戶端如何得知 www.foobar.com 的特定公開金鑰是否為 true 公開金鑰?先說,怎麼會很難知道。特定金鑰的 CA 漏洞是使用自身的私密金鑰以加密方式簽署網站公開金鑰,因此是特定網站的真實憑證。這種簽章在計算上無法進行偽造。瀏覽器 (和其他用戶端) 維護了包含知名 CA 擁有的公開金鑰的「信任錨點存放區」,並使用這些公開金鑰以加密方式驗證 CA 的簽章。
X.509 憑證是一種資料格式,其中包含公開金鑰以及擁有金鑰的實體的部分中繼資料。在網頁方面,金鑰的擁有者是網站營運商,而重要的中繼資料則是網路伺服器的 DNS 名稱。當用戶端連線到 HTTPS 網路伺服器時,網路伺服器會將其憑證提供給用戶端進行驗證。用戶端會驗證憑證是否尚未過期、DNS 名稱與用戶端嘗試連線的伺服器名稱相符,以及已知的信任錨點 CA 簽署了該憑證。在大多數情況下,CA 不會直接簽署網路伺服器憑證;一般情況下,會有一個「憑證鏈」,將信任錨點連結至中繼簽署者或簽署者,最後再連結至網路伺服器本身的憑證 (即「終端實體」)。
什麼是憑證簽署要求?
憑證簽署要求 (CSR) 是一種資料格式,像憑證一樣,會將公開金鑰與擁有金鑰的實體相關中繼資料一起組合在一起。但是,用戶端不會解讀 CSR,CA 也是如此。當您針對網路伺服器的公開金鑰要求 CA 擔保時,請將 CSR 傳送給 CA。CA 會驗證 CSR 中的資訊,並使用該資訊產生憑證。CA 會接著將最終憑證傳送給您,然後在網路伺服器上安裝該憑證 (或較有可能為憑證鏈結) 和私密金鑰。