CA掃盲的巔峯之做!!!

★ 先說一個通俗的例子html

     考慮到證書體系的相關知識比較枯燥、晦澀。俺先拿一個通俗的例子來講事兒。git

  ◇ 普通的介紹信編程

  想必大夥兒都據說過介紹信的例子吧?假設 A 公司的張三先生要到 B 公司去拜訪,可是 B 公司的全部人都不認識他,他咋辦捏?經常使用的辦法是帶公司開的一張介紹信,在信中說:茲有張三先生前往貴公司辦理業務,請給予接洽......云云。而後在信上敲上A公司的公章。瀏覽器

  張三先生到了 B 公司後,把介紹信遞給 B 公司的前臺李四小姐。李小姐一看介紹信上有 A 公司的公章,並且 A 公司是常常和 B 公司有業務往來的,這位李小姐就相信張先生不是歹人了。安全

  說到這,愛擡槓的同窗會問了:萬一公章是僞造的,咋辦捏?在此,俺要先聲明,在本例子中,先假設公章是難以僞造的,不然俺的故事無法說下去鳥。網絡

  ◇ 引入中介機構的介紹信工具

  好,回到剛纔的話題。若是和 B 公司有業務往來的公司不少,每一個公司的公章都不一樣,那前臺就要懂得分辨各類公章,很是滴麻煩。因此,有某個中介公司 C,發現了這個商機。C公司專門開設了一項「代理公章」的業務。網站

  從此,A 公司的業務員去 B 公司,須要帶2個介紹信:加密

  介紹信13d

  含有 C 公司的公章及 A 公司的公章。而且特意註明:C 公司信任 A 公司。

  介紹信2

  僅含有 A 公司的公章,而後寫上:茲有張三先生前往貴公司辦理業務,請給予接洽......云云。

  某些不開竅的同窗會問了,這樣不是增長麻煩了嗎?有啥好處捏?

  主要的好處在於,對於接待公司的前臺,就不須要記住各個公司的公章分別是啥樣子的;他/她只要記住中介公司 C 的公章便可。當他/她拿到兩份介紹信以後,先對介紹信1的 C 公章,驗明正身;確認無誤以後,再比對介紹信1和介紹信2的兩個 A 公章是否一致。若是是同樣的,那就能夠證實介紹信2是能夠信任的了。

  ★ 相關專業術語的解釋

  費了很多口水,終於說完了一個俺自認爲比較通俗的例子。若是你聽到到這,仍是想不明白這個例子在說啥,那後續的內容,就沒必要浪費時間聽了 :(

  下面,俺就着上述的例子,把相關的名詞,做一些解釋。

  ◇ 什麼是證書?

  「證書」洋文也叫「digital certificate」或「public key certificate」(專業的解釋看「這裏」)。

 它是用來證實某某東西確實是某某東西的東西(是否是像繞口令?)。通俗地說,證書就比如例子裏面的公章。經過公章,能夠證實該介紹信確實是對應的公司發出的。

  理論上,人人均可以找個證書工具,本身作一個證書。那如何防止壞人本身製做證書出來騙人捏?請看後續 CA 的介紹。

  ◇ 什麼是CA?

  CA是Certificate Authority的縮寫,也叫「證書受權中心」。(專業的解釋看「這裏」)

  它是負責管理和簽發證書的第三方機構,就比如例子裏面的中介——C 公司。通常來講,CA必須是全部行業和全部公衆都信任的、承認的。所以它必須具備足夠的權威性。就比如A、B兩公司都必須信任C公司,纔會找 C 公司做爲公章的中介。

  ◇ 什麼是CA證書?

  CA 證書,顧名思義,就是CA頒發的證書。

  前面已經說了,人人均可以找工具製做證書。可是你一個小破孩製做出來的證書是沒啥用處的。由於你不是權威的CA機關,你本身搞的證書不具備權威性。

  這就比如上述的例子裏,某個壞人本身刻了一個公章,蓋到介紹信上。可是別人一看,不是受信任的中介公司的公章,就不予理睬。壞蛋的陰謀就不能得逞啦。

  文本後續說起的證書,若無特殊說明,均指 CA 證書。

  ◇ 什麼是證書之間的信任關係?

  在俺的例子裏談到,引入中介後,業務員要同時帶兩個介紹信。第一個介紹信包含了兩個公章,並註明,公章C信任公章A。證書間的信任關係,就和這個相似。就是用一個證書來證實另外一個證書是真實可信滴。

  ◇ 什麼是證書信任鏈?

  實際上,證書之間的信任關係,是能夠嵌套的。好比,C 信任 A1,A1 信任 A2,A2 信任 A3......這個叫作證書的信任鏈。只要你信任鏈上的頭一個證書,那後續的證書,都是能夠信任滴。

  ◇ 什麼是根證書?

  「根證書」的洋文叫「root certificate」,專業的解釋看「這裏」。爲了說清楚根證書是咋回事,再來看個稍微複雜點的例子。

  假設 C 證書信任 A 和 B;而後 A 信任 A1 和 A2;B 信任 B1 和 B2。則它們之間,構成以下的一個樹形關係(一個倒立的樹)。 


 

  處於最頂上的樹根位置的那個證書,就是「根證書」。除了根證書,其它證書都要依靠上一級的證書,來證實本身。那誰來證實「根證書」可靠捏?實際上,根證書本身證實本身是可靠滴(或者換句話說,根證書是不須要被證實滴)。

  聰明的同窗此刻應該意識到了:根證書是整個證書體系安全的根本。因此,若是某個證書體系中,根證書出了問題(再也不可信了),那麼全部被根證書所信任的其它證書,也就再也不可信了。這個後果是至關至關滴嚴重(簡直能夠說是災難性的),具體在下一個帖子裏介紹。

  ★ 證書有啥用?

  CA 證書的做用有不少,俺爲了節省口水,只列出經常使用的幾個。

  ◇ 驗證網站是否可信(針對HTTPS)

  一般,咱們若是訪問某些敏感的網頁(好比用戶登陸的頁面),其協議都會使用 HTTPS 而不是 HTTP。由於 HTTP 協議是明文的,一旦有壞人在偷窺你的網絡通信,他/她就能夠看到網絡通信的內容(好比你的密碼、銀行賬號、等);而 HTTPS 是加密的協議,能夠保證你的傳輸過程當中,壞蛋沒法偷窺。

  可是,千萬不要覺得,HTTPS 協議有了加密,就可高枕無憂了。俺再舉一個例子來講明,光有加密是不夠滴。假設有一個壞人,搞了一個假的網銀的站點,而後誘騙你上這個站點。假設你又比較單純,一不留神,就把你的賬號,口令都輸入進去了。那這個壞蛋的陰謀就得逞鳥。

  爲了防止壞人這麼幹,HTTPS 協議除了有加密的機制,還有一套證書的機制。經過證書來確保,某個站點確實就是某個站點。

  有了證書以後,當你的瀏覽器在訪問某個 HTTPS 網站時,會驗證該站點上的 CA 證書(相似於驗證介紹信的公章)。若是瀏覽器發現該證書沒有問題(證書被某個根證書信任、證書上綁定的域名和該網站的域名一致、證書沒有過時),那麼頁面就直接打開;不然的話,瀏覽器會給出一個警告,告訴你該網站的證書存在某某問題,是否繼續訪問該站點?爲了形象起見,下面給出 IE 和 Firefox 的抓圖:


 

 

  大多數知名的網站,若是用了 HTTPS 協議,其證書都是可信的(也就不會出現上述警告)。因此,從此你若是上某個知名網站,發現瀏覽器跳出上述警告,你就要當心啦!

  ◇ 驗證某文件是否可信(是否被篡改)

  證書除了能夠用來驗證某個網站,還能夠用來驗證某個文件是否被篡改。具體是經過證書來製做文件的數字簽名。製做數字簽名的過程太專業,咱就不說了。後面專門告訴你們如何驗證文件的數字簽名。考慮到大多數人用 Windows 系統,俺就拿 Windows 的例子來講事兒。

  好比,俺手頭有一個 Firefox 的安裝文件(帶有數字簽名)。當俺查看該文件的屬性,會看到以下的界面。眼神好的同窗,會注意到到上面有個「數字簽名」的標籤頁。若是沒有出現這個標籤頁,就說明該文件沒有附帶數字簽名。


 

  選擇該標籤頁,看到以下界面。

  順便說一下,某些數字簽名中沒有包含「郵件地址」,那麼這一項會顯示「不可用」;一樣的,某些數字簽名沒有包含「時間戳」,也會顯示「不可用」。沒關係張,這裏顯示的「不可用」跟數字簽名的有效性不要緊

  通常來講,簽名列表中,有且僅有一個簽名。選中它,點「詳細信息」按鈕。跳出以下界面:

  一般這個界面會顯示一行字:「該數字簽名正常」(圖中紅圈標出)。若是有這行字,就說明該文件從出廠到你手裏,中途沒有被篡改過(是原裝滴、是純潔滴)。

  若是該文件被篡改過了(好比,感染了病毒、被注入木馬),那麼對話框會出現一個警告提示「該數字簽名無效」(圖中紅圈標出)。界面以下:

  不論簽名是否正常,你均可以點「查看證書」按鈕。這時候,會跳出證書的對話框。以下 


 

  從後一個界面,能夠看到俺剛纔說的證書信任鏈。圖中的信任鏈有3層:

  第1層是根證書(Thawte Premium Server CA)。

  第2層是 Thawte 專門用來簽名的證書。

  第3層是 Mozilla 本身的證書。 

  目前大多數知名的公司(或組織機構),其發佈的可執行文件(好比軟件安裝包、驅動程序、安全補丁),都帶有數字簽名。你能夠本身去看一下。

  建議大夥兒在安裝軟件以前,都先看看是否有數字簽名?若是有,就按照上述步驟驗證一把。一旦數字簽名是壞的,那可千萬別裝。

  ★ 總結

  費了半天口舌,大體介紹了 CA 證書相關的概念。想更深刻了解這方面知識的同窗,能夠找些信息安全或密碼學方面的資料,繼續鑽研。

  若是哪一個同窗以爲俺有說得不對的地方,或者有須要補充的內容,歡迎給俺寫郵件(program.think@gmail.com)。

  *******

  版權聲明

  本博客全部的原創文章,做者皆保留版權。轉載必須包含本聲明,保持本文完整,並以超連接形式註明做者編程隨想和本文原始地址:

  http://program-think.blogspot.com/2010/02/introduce-digital-certificate-and-ca.html

相關文章
相關標籤/搜索