數字證書及CA的掃盲介紹
轉載:http://kb.cnblogs.com/page/194742/
★ 先說一個通俗的例子
考慮到證書體系的相關知識比較枯燥、晦澀。俺先拿一個通俗的例子來說事兒。
◇ 普通的介紹信
想必大夥兒都聽說過介紹信的例子吧?假設 A 公司的張三先生要到 B 公司去拜訪,但是 B 公司的所有人都不認識他,他咋辦捏?常用的辦法是帶公司開的一張介紹信,在信中說:茲有張三先生前往貴公司辦理業務,請給予接洽......
云云。然後在信上敲上A公司的公章。
張三先生到了 B 公司後,把介紹信遞給 B 公司的前臺李四小姐。李小姐一看介紹信上有 A 公司的公章,而且 A 公司是經常和 B 公司有業務往來的,這位李小姐就相信張先生不是歹人了。
說到這,愛擡槓的同學會問了:萬一公章是偽造的,咋辦捏?在此,俺要先宣告,在本例子中,先假設公章是難以偽造的,否則俺的故事沒法說下去鳥。
◇ 引入中介機構的介紹信
好,回到剛才的話題。如果和 B 公司有業務往來的公司很多,每個公司的公章都不同,那前臺就要懂得分辨各種公章,非常滴麻煩。所以,有某個中介公司 C,發現了這個商機。C公司專門開設了一項“代理公章”的業務。
今後,A 公司的業務員去 B 公司,需要帶2個介紹信:
介紹信1
含有 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 證書相關的概念。想更深入瞭解這方面知識的同學,可以找些資訊保安或密碼學方面的資料,繼續鑽研。
如果哪個同學覺得俺有說得不對的地方,或者有需要補充的內容,歡迎給俺寫郵件([email protected])。
相關推薦
數字證書及 CA 的掃盲介紹
轉自:http://www.sohu.com/a/112496619_463989 再推薦一個相關知識的連結:https://www.cnblogs.com/handsomeBoys/p/6556336.html ★ 先說一個通俗的例子 考慮到證書體系的相關知識比較枯燥、晦澀。俺先拿一個
[搬運]數字證書及 CA 的掃盲介紹
本文轉載自大神程式設計隨想的部落格。閱讀原文需要科學上網,建議有條件者直接閱讀原文,本文轉載只為方便牆內閱讀與存檔學習。 數字證書及 CA 的掃盲介紹 文章目錄 先說一個通俗的例子 相關專業術語的解釋 證書有啥用? 總結 最近1-2周,關
數字證書及CA的掃盲介紹
轉載:http://kb.cnblogs.com/page/194742/ ★ 先說一個通俗的例子 考慮到證書體系的相關知識比較枯燥、晦澀。俺先拿一個通俗的例子來說事兒。 ◇ 普通的介紹信 想必大夥兒都聽說過介紹信的例子吧?假設 A 公司的張三先生
數字簽名,數字證書,CA認證等概念理解
ca 認證 https openssl 本文將介紹數字簽名,數字證書以及CA相關知識。 加密相關知識可見我的上一篇博文:http://watchmen.blog.51cto.com/6091957/1923426本文參考文獻引用鏈接:1、https://www.zhihu.com
對稱(DES/AES)與非對稱(RSA/SSL/數字證書)加密介紹及實際應用
行數據 服務端 版本 報道 pass edi 得到 參數 crc 本文不對具體的算法做深入研究,只是講解各種安全算法的原理和使用場景。 一、數據校驗算法 數據校驗,是為保護數據的完整性,用一種指定的算法對原始數據計算出的一個校驗值。當接收方用同樣的算法再算一次校驗值,如
Https、OpenSSL自建CA證書及簽發證書、nginx單向認證、雙向認證及使用Java訪問
1.5 image echo create etc 保存 config openss ima 0.環境 安裝了nginx,安裝了openssl 1.配置和腳本 先創建一個demo目錄(位置自己選擇,我選擇建在nginx的目錄下): mkdir /etc/nginx/
Linux 部署CA數字證書服務
systemctl ati pass code 獨立 gui state 機構 rest CA數字證書服務CA Certificate Authority 數字證書授權中心被通信雙方信任的,獨立的第三方機構負責證書頒發,驗證,撤銷等管理PKI公鑰基礎設施一套標準的密鑰管理平
SECURITY 03: 郵件服務TLS/SSL 、 總結和答疑 、 CA數字證書服務
roo email tab cal hostname tcp6 std http let day03部署CA服務器郵件加密網站加密+++++++++++++++++++++++++++++部署CA服務器 (54) 機構名稱 tarenaa
系統安全之數據的加密和解密、CA的介紹、SSL或TLS協議簡介及握手過程
網絡運維 網絡通信需要安全 所謂的網絡通信就是進程與進程之間的通信 然而進程的通信一般可以分成兩類:1、同一主機之間的進程通信
https數字證書交換過程介紹
dig color 數字證書 信息 tar 一起 med www ron 文章轉自:https://www.2cto.com/kf/201804/739010.html,感謝原作者的辛苦整理,講解的很清楚,謝謝。 【https數字證書交換過程介紹】 註意:該問的背景用到了非
加密,認證疑難名詞總結----RSA, 公鑰,私鑰,CA,數字簽名,數字證書
成功 digital 出現 直觀 證明 col 文件簽名 nat blog 在網絡和操作系統安全通信中經常涉及到這幾個名詞: RSA, 公鑰,私鑰,CA,數字簽名,數字證書。我找了很多資料,很少有把疑難點講全面的。但不講清楚這幾個,很難有一個清晰的認識和理解。我現在也嘗試這
和安全有關的那些事 非對稱加密 數字摘要 數字簽名 數字證書 SSL HTTPS及其他
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
https登陸 及 數字證書 檢查 設計思路及解決方法總結
在一些管理嚴格的部門需要使用數字證書進行登陸,此時需要專門的數字證書登陸程式碼才行。 下面就總結一下最近做的一個專案的情況,供大家參考。 一、https 登陸的思路 先不談網站的https配置問題,另文詳細說明。 為了減少網站程式碼的變化,一般網站都採用了,只有登
基於自簽名的X 509數字證書生成及驗證
基於自簽名的X.509數字證書生成及驗證數字證書用於標誌網路使用者身份,在Web應用中,數字證書的應用十分廣泛,如:安全電子郵件、訪問安全站點、安全電子事務處理和安全電子交易等。數字證書的格式一般採用X.509國際標準。目前,數字證書認證中心主要簽發安全電子郵件證書、個人和企業
數字簽名過程及數字證書
數字簽名是什麼? 作者:David Youd 翻譯:阮一峰 原文網址:http://www.youdzone.com/signature.html 1. 鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。 2. 鮑勃把公鑰送給他的朋友們—-帕蒂、道
java安全之數字簽名及證書
MD5/SHA的應用 l 訊息摘要是一種演算法:無論原始資料多長,訊息摘要的結果都是固定長度的;原始資料任意bit位的變化,都會導致訊息摘要的結果有很大的不同,且根據結果推算出原始資料的概率極低。訊息摘要可以看作原始資料的指紋,指紋不同則原始資料不同。 l 數字摘要與M
和安全有關的那些事(非對稱加密、數字摘要、數字簽名、數字證書、SSL、HTTPS及其他)
本文原文連線:http://blog.csdn.net/bluishglc/article/details/7585965 對於一般的開發人員來說,很少需要對安全領域內的基礎技術進行深入的研究,但是鑑於日常系統開發中遇到的各種安全相關的問題,熟悉和了解這些安全技術的基本原理和使用場景還是非常必要的。本文將對
數字證書、SSL、HTTPS及在Nginx中的配置
一、什麼是 RSA、SSL、HTTPS RSA:它是非對稱加密演算法的一種,而且是最常用的一種。它的理論基礎是:計算兩個大質數的乘積非常簡單,而對該乘積進行因子分解就非常困難。而且 這兩個質數越大,對其乘積的分解就越困難。RSA生成的金鑰對有公鑰和私鑰之分,不過,貌似金鑰對中的任何一個當
https、SSL與數字證書介紹
在網際網路安全通訊方式上,目前用的最多的就是https配合ssl和數字證書來保證傳輸和認證安全了。本文追本溯源圍繞這個模式談一談。 名詞解釋 首先解釋一下上面的幾個名詞: https:在http(超文字傳輸協議)基礎上提出的一種安全的http協議,因此可以稱為安全的
基於開源CA系統ejbca community 6.3.1.1構建私有CA管理數字證書
最後更新於2017年01月24日 一、為什麼 為什麼寫這篇文章?ca是什麼?數字證書是什麼?ejbca又是什麼? 讓我們從http與https說起。http是超文字傳輸協議(HyperText Transfer Protocol)的縮寫,也是網際網路的基石,網際網路絕大部分資料傳輸都是基於htt