Https通信之數字證書

https中的數字證書

證書構成

先通過google瀏覽器查看百度翻譯的數字證書
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
主要的幾個參數:
1. Issuer(證書的發佈機構)
指出什麼機構頒發的證書,即證書創建者。截圖中是 TrustAsia TLS RSA CA這個證書頒發機構,證書的格式是。

2. TLS
TLS證書信任,就是從用戶證書到中間證書,再到根證書,這樣一個溯源的過程,瀏覽器需要找到道受信任的根證書,纔會信任你的證書。
TLS(傳輸層安全)是更爲安全的升級版 SSL。由於 SSL 這一術語更爲常用,因此我們通常仍將安全證書稱作 SSL。TLS 證書一般有ECC、RSA 或 DSA 三種加密方式可以選擇,RSA加密只是其中一種方式

3. 證書格式RSA
RSA一種非對稱的加密方法

4. 證書有效期
證書的有效開始時間到截止時間,有效期一般12個月起

5. 證書使用者(Subject )
這裏是fanyi.baidu.com,一般是指申請證書的網站域名

6. 公鑰
2048bits的16進制的數組數據,公鑰進行server數據的解密

7. 簽名算法(Signature algorithm)
截圖中採用的是sha256RSA算法, 指的是這個證書的數字簽名加密算法。當client從server中獲取到加密數據,通過通過公鑰RSA解密後獲取數字簽名,然後通過該算法獲取通信內容的指紋(hash值)進行數據安全性驗證。

8. 指紋算法(Thumbprint algorithm)
截圖中爲sha1。其原理就是在發佈證書時,發佈者根據指紋算法(一個hash算法)計算整個證書的hash值(指紋)並和證書放在一起,使用者在打開證書時,自己也根據指紋算法計算一下證書的hash值(指紋),如果和原始指紋一致,就說明證書沒有被修改過。
這個指紋會使用"SecureTrust CA"這個證書機構的私鑰用自己的數字證書的簽名算法(Signature algorithm)加密後和證書放在一起。

9. 證書發佈機構(CA)
在證書的發佈機構發佈證書時,證書的指紋和指紋算法,都會加密後再和證書放到一起發佈,以防有人修改指紋後僞造相應的數字證書。這裏的是用發證機構自己的私鑰進行加密的

可以用證書發佈機構的公鑰(RSA算法)對指紋和指紋算法解密,也就是說證書發佈機構除了給別人發佈證書外,他自己本身也有自己的證書。

證書發佈機構的證書在我們安裝操作系統時,數字證書就已經安裝在電腦中了。微軟等操作系統開發商會根據一些權威機構的評估選取信譽較好且通過安全認證的證書發佈機構,將他們的證書默認安裝在系統中。證書機構持有自己數字證書對應的私鑰,通過這個私鑰加密他發佈的證書的指紋算法及指紋(證書hash值作爲證書的數字簽名)。

數字證書可以保證數字證書裏的公鑰確實是這個證書的所有者(Subject)的,或者證書可以用來確認對方的身份。
我們爲什麼能判定證書的Subject呢?

  1. 拿到數字證書放入電腦或移動端後,根據證書的CA名字找到對應證書發佈機構的數字證書,進行數字簽名解密。
  2. 通過發證機構的公鑰進行解碼獲取該證書的指紋和指紋加密算法,通過指紋算法再次計算該證書的指紋獲取真實指紋,如果證書包含的指紋和真實指紋一致,則說明證書未被篡改過,證書真實可靠,那麼證書中的subject真實可靠。

總結

  1. 證書由專業發證機構頒發,由多種信息參數如使用者、有效期、簽名算法等多種信息組成。
  2. 證書公鑰是爲了對傳遞的信息進行RSA解密獲取源信息
  3. 簽名算法是爲了驗證源信息是否被篡改過,源信息都是有被簽過名的,計算源信息的指紋是是否匹配
  4. 指紋及指紋算法,好像和簽名算法相同,但是他們的區別是指紋及指紋算法是爲了確保證書的安全可靠性。 簽名算法是爲了確保傳遞的信息的安全可靠性。

該篇博客純屬個人觀點和見解,如有錯誤懇請留言指正,萬分感激!

相關鏈接

  1. Https通信之RSA加密簽名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章