網頁

2021/3/11

HTTPS 什麼是根憑證 root certificate

HTTPS協定是利用網站提供的憑證(certificate)來驗證網站的真實性,而網站憑證(server certificate)的源頭都是由「可信任的憑證頒發機構(trusted certificate authority)」又稱Root CA所簽發。而Root CA自身的憑證就叫作「根憑證」(root certificate)。


Root CA之所以可信任是因為其必須滿足各大作業系統(e.g Microsoft, Apple)、瀏覽器(Chrome, Mozilla)廠商制定的root ca program(根憑證計畫),只有滿足計畫的CA憑證才會列入廠商的root store。

作業系統或瀏覽器出廠時會預載根憑證及隨付的公開金鑰(public key)。存放根憑證的地方稱為root store,也就是一份根憑證清單。

當客戶端瀏覽HTTPS網站時,網站會提供其憑證(server/leaf certificate)及發行單位的中繼憑證(intermediate certificate)供客戶端驗證,客戶端根據憑證的信任鍊(chain of trust)層層去root store搜尋中繼憑證的public key來解密網站憑證的數位簽章(digital signature)並與憑證的雜湊函式(hash function e.g. SHA-256)算出的雜湊值比較是否相同來驗證憑證的真實性。而信任鍊最上層的憑證就是根憑證。

以Chrome瀏覽器檢視網站的憑證資訊時,可在[憑證路徑(Certification Path)]看到該網站憑證及上層頒發憑證機構的中繼憑證(可能有多個)及最上層的根憑證。

例如2021年3月的https://www.apple.com/的憑證路徑如下,
www.apple.com的憑證簽發者為上層的DigiCert SHA2 Extended Validation Server CA-3;
而DigiCert SHA2 Extended Validation Server CA-3的簽發者為更上層的DigiCert High Assurance EV Root CA。



www.apple.com的憑證為網站憑證(server certificate)又稱葉憑證(leaf certificate)或終端實體憑證(end-entity certificate);
DigiCert SHA2 Extended Validation Server CA-3的憑證為中繼憑證/中間憑證/中介憑證(intermediate certificate);
DigiCert High Assurance EV Root CA的憑證為根憑證(root certificate)。

由於根憑證沒有更上層的機構簽發,所以是自己簽發自己的憑證,屬於自簽憑證。從根憑證開始往下簽屬經層層中繼憑證直到網站憑證的串聯即為憑證的信任鍊。

Certificates chain of trust



如果覺得文章有幫助的話還幫忙點個Google廣告,感恩。


沒有留言:

張貼留言