• Demo
    保持交易與客戶資料隱密性

    GoDaddy

    Keep payments & customer data private
  • Demo
    創造線上信任者!

    COMODO

    Creating Trust Online
  • Demo
    您的成功來自於信任!

    digicert

    Your Success is Built on Trust
  • Demo
    保護數位認證與信息安全!

    Entrust

    Securing digital Identities & Information
  • Demo
    數位憑證的領導品牌!

    GeoTrust

    a leading certificate authority
  • Demo
    安全地溝通和交易!

    GlobalSign

    Communicate and transact securely.
  • Demo
    保護您的網站!保護您的客戶們!

    Network Solutions

    Secure Your Site!Protect Your Customers
  • Demo
    瑞士軍刀的數位認證和PKI

    StartCom

    The Swiss Army Knife of Digital Certificates & PKI
  • Demo
    最高等級的安全與身分認證

    SwissSign

    Extreme Security & Identity
  • Demo
    一個全新等級的保護和信任

    Symantec

    protect and trust to a whole new level
  • Demo
    最明顯的網站安全性標誌

    Thawte

    The most visible sign of web site security
  • Demo
    最簡單方案滿足您安全性與法規的遵從

    trustwave

    to your complex security and compliance challenges
  • Demo
    低成本,高保證的SSL證書

    instantssl

    low cost high assurance ssl certificates
  • Demo
    官網負擔得起的SSL證書及信任標章

    trustico

    Official Supplier Of Affordable Website SSL Certificates & Trust Seals
  • Demo
    簡單的網站安全性

    rapidssl

    simple site security for less
  • Demo
    由SSL.com來建立客戶信任

    ssl.com

    simple site security for less
  • Demo
    我們知道需要什麼是安全的

    certs4less

    We know what it takes to be secure
  • Demo
    從世界上唯一的高級SSL服務

    thesslstore

    SSL Certificates from the Only Premium SSL Service in the World
  • Demo
    專業,認證,信任

    certcenter

    expert. proven. trusted
  • Demo
    網頁安全解決方案

    secure128

    web security solutions
  • Demo
    保護您的業務,高度信任的SSL證書

    sslcertificate

    secure your business,high trust ssl cert
  • Demo
    保護您客戶的資料

    Namecheap

    Protect your site visitors' data
  • Demo
    我們把信任標識化

    IdenTrust

    We Put The Trust In Identity

憑證串鍊(Certificate chain)是什麼?為何如此重要!

我們在查詢網站安裝的SSL憑證時,除了您購買的憑證外,還會看到所謂中繼憑證與根憑證一併安裝在你的機器上,而且還是有前後連結(串鍊)的關聯性,那這樣的關聯性到底是為何而來?一定要都安裝上嗎?甚麼是串鍊中斷?我們來討論釐清一下!

要討論憑證串鍊之前(certificate chain),我們先來了解整個公開金鑰基礎建設(Public Key Infarstructure:PKI))當初的信任架構規劃,PKI的信任架構目前最常看到的兩種,如下

1.階層式的 : 階層式的架構是以一層一層的類似樹狀結構的方式,由最上層的CA,網下信任下層的CA,然後一層層往下信任,有上下游的連結信任關係,要產生信任關係,必須有上下游互相信任的憑證,如下圖

2.網狀式的 : 網狀式的架構則是在網狀的結點中都是獨立的CA,每個CA互相之間可有信任關係,也可以沒有,要產生信任關係,就必須互相接受彼此的憑證(互相簽章),如下圖

藉由以上的信任架構來看, 憑證的簽發方式, 就可以依照架構分成

簽發對象是自己的話:

自簽憑證(Self-Signed Certificate),如以階層式的架構來看,最上面的頭頭,就是簽發自簽憑證給自己,因為他上面沒有其他CA可簽給他,舉個實際的例子:就像SSL憑證的簽發一樣,有一個根憑證,中繼憑證與伺服器憑證

簽發對象是另一個CA:

互簽憑證(Cross-Certificate),如網狀式架構來看,CA1可以簽發給CA2,CA2也可簽發給CA1,只要互相認證過即可,舉個實際的例子:就像兩個銀行之簽要轉帳,銀行與銀行之間的憑證商所發的憑證,就必須互相簽認過才能進行轉帳功能!

簽發對象是終端End-Entity:(EE Certificate)

如個人,設備,組織: 不論是階層式或者網狀式的架構,最後面都可能會有一個尾端,這尾端例如簽發給設備,程式,或個人

要達成不論自簽或者互簽,他們的交互認證的方式也有區分,也有分成單向式與雙信式的,簡單的說,

單向式 CA1--> CA2 : CA1只認證CA2 , CA2不認證CA1

雙向式 CA1 <--> CA2 : CA1與CA2互相認證

了解CA的信賴關係與認證方式後,接下來就來討論憑證路徑

憑證路徑: 憑證路徑(Certification Path)也稱做憑證串鍊(Certificate Chain),由多張的憑證組成的順序性串列,前一張憑證與後一張憑證之間是有關聯性的,如下圖

也就是說 前後憑證可以用publickey來驗證簽章

了解憑證路徑後,結合信賴關係,就可以看到如下圖的說明,

根憑證 與 CA CA EE 一層層往下信任

確認憑證信賴與憑證路徑的關係後, 我們正式進入說明重點,

串鍊路徑是信賴的基礎, 只要其中一點出問題(路串鍊斷掉),那整個信任機制就出問題,因此憑證串鍊路徑的檢查就很重要! 因此!我們必須先知道這串鍊的頭是誰, 尾巴是誰, 中間有誰(找到串鍊路徑), 然後依照RFC3280的規定,去檢驗整條憑證路徑的合法性,才能確定串鍊是否OK! 聽起來好像很難! 其實也不會太難!

舉例: 當我們購買到憑證的時候, 很多web server會在安裝的時候會要您提供的檔案中,必須要有完整的憑證串鍊檔案,而您的CA商一定會在官網上提供他們的根憑證(CA廠商提供的根憑證通常會內植於瀏覽器信任的根憑證清單中,您可以從瀏覽器中取得!))與中繼憑證檔案,您只要把這三個檔案,利用工具包裝成web server要求的檔案格式(如IIS要求pfx格式,Tomcat要求JKS格式) 然後設定到web server設定檔案中, 重啟web server之後,打開瀏覽器看一下您的https網頁是否正常,這就可以知道憑證串鍊是否OK了! 當然您也可以使用我們的ssl checker來確認,我們的工具會完整列出憑證串鍊上的憑置資訊,如果有錯也會提醒您!

好那我們要如何來看憑證串鍊呢? 我舉個例子您就可以看清楚,

首先請打開瀏覽器, 找到一個有https的網址, 如https://www.google.com ,點擊鎖頭, 找到憑證資訊,如下圖

這時候我們會看到一個階層式架構,一層一層, 第一層就是根憑證(root CA),第二層就是中繼憑證(),第三層是您server的憑證,您在此串鍊上應該要注意幾個事情

1.串鍊上每個憑證都應該點擊憑證的詳細資料, 看一下簽章演算法, 雜湊函數 , 簽發者 , 有效期間, 公開金鑰演算法與長度 , 主體, 等等資訊是否符合要求

2.確認憑證的主題名稱應該就是下一層憑證的簽發者名稱!

3.每一層的簽發者是哪家公司, 因為! 目前憑證的販售有CA自己賣以及代理商幫忙賣, 您也可以從串鍊中知道, 賣你憑證的公司是代理商或者是CA廠商本身!最容易的方式就是去看根憑證與中繼憑證廠商是否同一家! 如果是同一家,代表本身是CA廠商,如果不是很可能是代理商! 同公司CA如下圖可看到,根憑證與中繼憑證到server憑證都是verisign發的!

舉台灣銀行為例,可看到是不同家公司發的!根憑證是AddTrust External CA Root,中繼是 AddTrust External CA Root, server憑證是TWCA Secure Certification Authority, 路徑中發證公司不同! 如下圖

前面提到串鍊斷掉(不是真正的斷掉),這會是如何的情形,通常最常發生是在您取得根憑證(另外是! CA廠商提供的根憑證通常會內植於瀏覽器信任的根憑證清單中,您可以從瀏覽器中取得!)與中繼憑證時,取得錯誤,然後打包成串鍊檔案(如pfx檔案)時發生錯誤,這時候就會發生串鍊路徑不正確的事情! 大部分都必須重新包裝,或者把憑證放到該放的位置(根憑證放在跟憑證位置,中繼放在中繼,server憑證放在正確的位置)就可以解決此問題! 如apache的設定會要設定憑證的存放地點

第一個問題: 根憑證的憑證是誰簽給他的, 任何的根憑證都是自簽憑證, 您可以透過一個地方發現,就是憑證簽發者(ISSUER)的名稱與憑證主體(Subject Name)名稱相同!,但是自簽憑證因為是自簽,沒有其他憑證來背書他!所以有可能會被偽造! 因此根憑證的自簽憑證的保護非常重要,CA廠商都必須有很好的資安要求讓根憑證中心免於受駭!由於根憑證可以偽冒,在網路上取得根憑證時需要很小心!

第二個問題: 中繼憑證如果也是CA廠商發出,安全性的要求就會與CA相同,那如果是代理商呢? 通常代理商要代理產品時,必須取得CA廠商的認可,同時CA廠商也會對代理商進行第三方的查核,來保證代理商資格的合法性!但是還是偶會發生一些代理商勿發憑證的事情,這樣的規範能對代理商要求到怎樣的程度,這就值得討論了!

第三個問題: 前面提到網狀是的信任架構,那如果是跨國的CA要如何信任,也就是說,台灣的CA與美國的CA如果憑證要互信(Cross Certificate),要如何進行!目前是沒看到這樣的案例出來,也就是說跨國的交互認證,好像沒看到業務面的東西!

後記:

憑證串鍊是一個PKI信任架構下的一種概念,上下游的廠商有互相信任的技術,您在購買SSL憑證的時候, 可以藉由憑證串鍊去知道串鍊上的發證商與憑證相關資訊,置於串鍊是否正常,可藉由一些工具進行了解與修正! 各種web server大都會要求提供憑證串鍊的憑證檔案進行安裝,您可以從您購買的廠商中拿到根憑證與中繼憑證,加上自己的憑證包裝起來進行安裝! 憑證商與代理商也可從串鍊略知一二! 這樣對於憑證串鍊就有一定的了解了!

PS:以上圖片階由網路取得,若有侵權請通知我們!