ca 證書機制

浮x塵發表於2018-09-19

很多人都聽過 CA 證書,其實我們每天都在使用它,即使你不知道。下面通俗的解釋一下 CA 證書是什麼。

假設你 A 公司的一名技術人員,要去 B 公司拜訪,但是 B 公司的人都不認識你,怎麼辦?

常見的做法是,A 公司給你開張介紹信:“xxx公司委派技術員xxx前往貴公司辦理業務,請予以方便。”然後在介紹信上蓋上公章。

你來到 B 公司,給前臺遞上介紹信,B 公司相信你不是壞人,給你相應的配合(許可權)。

這裡有兩個問題先思考,留待後面解決:

  1. 人是假的,介紹信是真的?
  2. 人是假的,介紹信是假的(私刻公章)?

假如來 B 公司辦業務的人非常多,每家公司的公章都不相同,前臺很難識別各種各樣的公章,非常麻煩。

有個中介公司 C 發現這個商機,專門開辦一項代理公章業務,做公司間的信用擔保。

從此,A 公司去 B 公司辦事需要帶 2 份介紹信:

  1. 含有 C 公司公章和 A 公司公章的介紹信,並註明 C 公司信任 A 公司
  2. 含有 A 公司公章的介紹信,寫上 “xxx公司委派技術員xxx前往貴公司辦理業務,請予以方便。”

搞這麼麻煩有啥好處呢?首先前臺只需要記住 C 公司的公章即可,當拿到兩份介紹信以後,先對第一份介紹信的 C 公章進行確認,確認無誤後再對比 2 份介紹信上的 A 公章是否一致,一致則可以信任。

相關專業術語

故事講完了,結合對故事的理解,下面講技術。

證書

證書英文叫 digital certificate 或 public key certificate,用來證明某個東西確實是某某的東西,例如通過公章證明 A 公司的介紹信確實是 A 公司頒發的。

CA

CA 是 cretificate Authority 即證書授權中心。

CA 是負責管理和簽發證書的第三方機構,就像 C 公司。機構必須是所有人達成信任共識的,具有足夠的權威才能在中間做信任擔保(其實這裡就存在安全性問題,有時候信任是脆弱的)。

CA 證書

由權威 CA 頒發的證書,雖然人人都可以頒發證書,但是個人沒有權威性,就像是我給你頒發一個最牛逼程式設計師將,沒有權威性,如果美國計算機協會給你頒發個圖靈將,權威性大大的,走到哪都被認可。

證書間信任關係

用一個證書來證明另一個證書是可信的,例如 C 公司公章和 A 公司公章在同一張介紹信上,註明公章 C 信任公章 A,A 也是可信的。

證書信任鏈

簡單說,信任關係是可以傳遞的,只要你信任頭一個證書,後續的證書都是可以信任的。

C 信任 A,A 信任 A1,A1 信任 A2,A、A1、A2 都是可信任的。

根證書

根證書 root certificate。在證書的信任鏈中,A1 可以由 A 證明可信任,A 由 C 證明可信任,C 由誰證明可信任呢?C 不需要證明自己是可信任的,因為它是權威機構,這就是根證書(處於樹結構的頂端)。

根證書是整個證書安全體系的根本,如果根證書出現問題,全部 gg。

證書的作用

HTTPS

HTTPS 是加密的協議,可以保證傳輸過程中,無法被竊取資訊。但是加密並不能保證萬事大吉,假如黑客把你誘騙到一個假的 HTTPS 站點,然後你輸入賬號密碼,資訊就被竊取了,加密不能保證訪問網站的真實性。

為了防止上面的情況,HTTPS 不僅有加密機制,還有一套證書機制(通過權威機構授權網站的真實性)。

開啟 HTTPS 的網站都有一個權威機構頒發的 CA 證書,我們在瀏覽器訪問某個 HTTPS 網站時,會驗證該網站的證書確保網站的真實性(網站證書被某個根證書信任、證書上繫結的域名與網站一致、證書沒有過期),證書錯誤時瀏覽器會彈出警告,告訴你證書有問題,就需要懷疑網站的真實性了。

相關文章