信任鏈
信任鏈,或稱數位憑證鏈,是一連串的數位憑證,由根憑證為起點,透過層層信任[1],使終端實體憑證的持有者可以獲得轉授的信任[2],以證明身分。基於資訊安全的考慮,在進行電子商務或使用政府服務時,交易的另一方使用者,以根憑證為基礎,憑藉對簽發機構的信任,相信當時持有信任鏈終端的憑證持有者確為其人,並透過公開金鑰加密確保通訊保密、透過數位簽章確保內容無誤、以及保證對方不可否認。
公開金鑰基礎建設已經在X.509及RFC 5280指定了使用信任鏈的認證路徑驗證演算法[3]。其中,會透過憑證吊銷列表及OCSP檢查手上得到的憑證是否已被憑證機構在到期前復原。另一方面,憑證機構簽發新的憑證時,也可能透過憑證透明度公佈簽發憑證的記錄,讓公眾查核,避免有其他機構在未得到當事人同意下濫發欺詐憑證偽冒身分。CA/瀏覽器論壇通過了DNS憑證頒發機構授權協定,參與的憑證機構會在簽發憑證前透過域名系統檢查是否已獲授權。
背景
[編輯]在網際網路中,任何機構都可以登記域名以設立伺服器,供大眾連接溝通並進行電子商務或使用政府服務。雖然公開金鑰加密可以確保通訊保密、數位簽章可以確保內容無誤、以及保證對方無法抵賴;但如果數位憑證未獲得可供信任的數位憑證認證機構數位簽章(即自簽憑證),對方的真實身分仍然可疑[4](除非通訊雙方早已互相認識並預先透過安全管道交換數位憑證)。數位憑證認證機構在公開金鑰加密基建擔任了非常重要的角色,電腦軟體安裝並信任了其根憑證,根據其私鑰簽發的下層憑證都可(基於數位簽章)被自動信任,如果是中介憑證,則再下層的終端實體憑證也一樣被自動信任,此即構成了一條信任鏈[5]。
舉例
[編輯]以維基百科為例,其信任鏈包含了三張數位憑證:
- 維基百科網站因為使用HTTPS,故伺服器已安裝了數位憑證。此憑證的主體一欄列明係發給 *.wikipedia.org 所使用,故如果使用者是連接任何 *.wikipedia.org 旗下的網站,此憑證都適用。此即終端實體憑證,亦是TLS伺服器憑證(由於使用了萬用字元,所以也是萬用字元憑證)。
- 瀏覽器驗證 *.wikipedia.org 的數位憑證時,除檢查其有效期外,還會再檢查其上級簽發憑證,亦即「GlobalSign Organization Validation CA - SHA256 - G2」--這是中介憑證,持有機構已根據組織驗證確認 *.wikipedia.org 的擁有者--維基媒體基金會--在現實世界中的身分。
- 「GlobalSign Organization Validation CA - SHA256 - G2」是由「GlobalSign Root CA」所發出,由於「GlobalSign Root CA」沒有再上級簽發機構,它是自簽憑證。應用軟體會檢查此憑證有否已預載於根憑證清單上:如有,則 *.wikipedia.org 的終端實體憑證確認為有效,維基百科網站被認為可信任;否則向使用者警告網站未獲信任。
總括來說,由於使用者信任 GlobalSign,所以由 GlobalSign 所擔保的維基百科可以被信任。而由於使用者信任作業系統或瀏覽器的軟體商,所以由軟體商預載了根憑證的 GlobalSign 都可被信任。
參考資料
[編輯]- ^ How certificate chains work. Symantec (英語).
A certificate chain is an ordered list of certificates, containing an SSL Certificate and Certificate Authority (CA) Certificates, that enable the receiver to verify that the sender and all CA's are trustworthy. The chain or path begins with the SSL certificate, and each certificate in the chain is signed by the entity identified by the next certificate in the chain.
[永久失效連結] - ^ 數位憑證:你能相信誰?. 趨勢科技全球技術支援與研發中心. 2015-05-14 [2017-07-17]. (原始內容存檔於2020-09-20) (中文(臺灣)).
我們在網路上可以信任誰或什麼?每台連到網路的電腦都包含可信任的根CA列表。這些根CA簽發的憑證可以用來為其他CA或伺服器簽章憑證。任何憑證都需有一個「信任鏈」,讓系統看到它所信任的任何一個根憑證。
- ^ RFC 5280. IETF (英語).
In general, a chain of multiple certificates may be needed, comprising a certificate of the public key owner (the end entity) signed by one CA, and zero or more additional certificates of CAs signed by other CAs. Such chains, called certification paths, are required because a public key user is only initialized with a limited number of assured CA public keys.
- ^ Secure Website Certificate. Mozilla. [2017-07-17]. (原始內容存檔於2019-05-11).
An https web site is only secure to the extent that the web site is operated by someone in contact with the person who registered the domain name, and the communication between you and the website is encrypted to prevent eavesdropping. No other surety is implied. When you visit a secure website, Firefox will validate the website’s certificate by checking that the certificate that signed it is valid, and checking that the certificate that signed the parent certificate is valid and so forth up to a root certificate that is known to be valid. This chain of certificates is called the Certificate Hierarchy.
- ^ 鏈結信任與憑證授權單位. 微軟開發者網路.
憑證是在階層中建立的,其中每個個別憑證都會連結到核發憑證的 CA。此連結連至 CA 的憑證。接著,CA 的憑證會連結至核發 CA 原始憑證的 CA。在找到根 CA 的憑證之前,會一直重複這個程式。根 CA 的憑證在本質上會受到信任。數位簽章會藉由信任此階層 (也稱為「信任鏈結」(Chain of Trust)) 來驗證實體。您可以使用 MMC 嵌入式管理單元來檢視任何憑證的鏈結,只要按兩下任何憑證,然後按一下 [憑證路徑] 索引標籤即可。