重要的安全性術語

開發人員在遷移至 HTTPS 時會遇到兩個障礙:概念和術語。本指南將簡要說明這兩種方法。

Chris Palmer
Chris Palmer
Matt Gaunt

摘要

  • 使用公開/私密金鑰,在瀏覽器和伺服器之間簽署及解密訊息。
  • 憑證授權單位 (CA) 是負責保證公開金鑰和公開 DNS 名稱 (例如「www.foobar.com」) 之間對應關係的機構。
  • 憑證簽署要求 (CSR) 是一種資料格式,可將公開金鑰與金鑰擁有者實體的部分中繼資料捆綁在一起

公開和私密金鑰組是什麼?

公開/私密金鑰組是一組用於加密和解密金鑰的超大數字,且具有特殊的數學關係。RSA 加密系統是常見的金鑰組系統。公開金鑰用於加密訊息,而訊息只能使用相應的私密金鑰解密。您的網路伺服器會向全世界宣傳其公開金鑰,而用戶端 (例如網路瀏覽器) 會使用該金鑰啟動與伺服器的安全通道。

什麼是憑證授權單位?

憑證授權單位 (CA) 是負責保證公開金鑰和公開 DNS 名稱 (例如「www.foobar.com」) 之間對應關係的機構。舉例來說,用戶端如何得知特定公開金鑰是否為 www.foobar.com 的真實公開金鑰?我們無法事先得知。CA 會使用自己的私密金鑰以加密編譯方式簽署網站的公開金鑰,以此保證特定金鑰是特定網站的真實金鑰。這類簽名在運算上難以偽造。瀏覽器 (和其他用戶端) 會維護信任錨點儲存庫,其中包含知名 CA 擁有的公開金鑰,並使用這些公開金鑰以加密編譯方式驗證 CA 的簽名。

X.509 憑證是一種資料格式,可將公開金鑰與擁有金鑰實體的部分中繼資料綁在一起。在網站的情況下,鍵的擁有者是網站操作員,而重要的中繼資料是網站伺服器的 DNS 名稱。當用戶端連線至 HTTPS 網路伺服器時,網路伺服器會提供憑證供用戶端驗證。用戶端會驗證憑證未過期、DNS 名稱與用戶端嘗試連線的伺服器名稱相符,以及已知信任錨點 CA 已為憑證簽署。在大多數情況下,CA 不會直接簽署網路伺服器憑證;通常會建立一條憑證鏈,將信任錨點連結至中繼簽署者或簽署者,最後連結至網路伺服器的憑證 (終端實體)。

什麼是憑證簽署要求?

憑證簽署要求 (CSR) 是一種資料格式,就像憑證一樣,將公開金鑰與擁有金鑰實體的部分中繼資料一起封裝。不過,用戶端不會解讀 CSR,而是由 CA 負責解讀。如果您想請 CA 為您的網頁伺服器公開金鑰背書,請傳送 CSR 給 CA。CA 會驗證 CSR 中的資訊,並使用這些資訊產生憑證。接著,CA 會傳送最終憑證,您可以在網路伺服器上安裝該憑證 (或更可能的憑證鏈結) 和私密金鑰。