首頁  >  文章  >  運維  >  手把手教你在瀏覽器校驗HTTPS數位證書

手把手教你在瀏覽器校驗HTTPS數位證書

藏色散人
藏色散人轉載
2023-01-29 17:07:155237瀏覽

本篇文章為大家帶來了關於HTTPS的相關知識,其中主要介紹了瀏覽器是怎麼校驗HTTPS的數位證書 ,以及HTTP協定、相關憑證的概念介紹,下面一起來看一下,希望對大家有幫助。

手把手教你在瀏覽器校驗HTTPS數位證書

本文解決的問題如下:

  • 為何從HTTP協定變成HTTPS協定為何需要憑證?
  • HTTPS協定如何體現安全性(HTTPS協定原則)?
  • 如何免費取得HTTPS所需的憑證以及如何部署憑證到伺服器?
  • 瀏覽器如何驗證憑證?
  • 憑證包含哪些內容?
  • CA憑證和網關憑證是一個東西嗎?

免費申請證書

免費申請證書網站:https://freessl.cn

  • 網域申請,並解析到伺服器

  • 憑證與網域綁定

  • 在伺服器下載憑證部署腳本,並部署

HTTPS原理

從HTTP 協定堆疊層級來看,我們可以在TCP 和HTTP 之間插入一個安全層,所有經過安全層的資料都會被加密或解密,

手把手教你在瀏覽器校驗HTTPS數位證書

於是HTTPS變成了HTTP和安全層先通信,安全層再和TCP通信。在安全層完成資料的加解密過程。

加密方式:

  • 對稱加密,就是雙方使用“相同的金鑰”,一方加密一方解密。
    • 優點:加上解密快
    • 缺點:加密金鑰易暴露,安全性低
  • 非對稱加密,就是一方使用公鑰加密,另一方只能使用私鑰解密,公鑰和私鑰是唯一配對的。
    • 優點:安全性
    • 缺點:加解密慢

#基於上述特性,傳輸資料過程採用對稱加密方式保證資料傳輸效率, 用非對稱加密方式解決金鑰易暴露問題。

手把手教你在瀏覽器校驗HTTPS數位證書

  • 瀏覽器發起https握手連結時,告知伺服器自己支援的「對稱加密套件清單」 和「非對稱加密套件清單」以及一個自己產生的“隨機數client-random”。

  • 伺服器收到請求後,選擇自行支援的加密方式告知瀏覽器,且傳回一個「資料數service-random」 和「伺服器的數位憑證」 和頒發給伺服器數字證書這個「CA機構本身的數位證書」。

  • 瀏覽器驗證「伺服器數位憑證」和「CA機構數位憑證」的有效性, 驗證成功後,再產生一個隨機數「pre-master”,並使用「伺服器數位憑證」中攜帶的「公鑰」會將隨機數「pre-master」加密,並發送給服務確認。

  • 伺服器利用「伺服器數位憑證」的「私鑰」進行解密,得到隨機數「pre-master」, 並回應瀏覽器已收到。

  • 瀏覽器把之前自己產生的隨機數「client-random」、「pre-master」 以及伺服器傳回的「service-random」 組合在一起產生一個新的金鑰“master secret”, 之後利用新的金鑰進行與伺服器之間資料的加密。

問題:

  • 伺服器上的憑證來自哪裡?
    向CA機構申請的數位證書, 部署在伺服器上時,一般除了CA機構發給服務的數位證書(俗稱網關證書),還有「CA機構本身的數位證書」。

  • CA機構頒發給伺服器的數位憑證包含哪些內容?
    至少包含了向CA機構申請證書時的“組織機構/個人資訊”, “證書有效期”、“證書的公鑰”、“CA機構給到證書的數位簽名”、“CA機構資訊”等

  • 伺服器上只部署了伺服器自己的證書,沒有CA機構的數位證書,咋辦?
    伺服器上沒得到CA機構的數位憑證時,瀏覽器可以從網路自動下載,但這樣可能拉長首次介面/頁面造訪的時間,還可能失敗。

瀏覽器如何驗證憑證

首先,瀏覽器利用憑證中指定的hash演算法對」組織機構的明文資訊」計算出資訊摘要
然後,利用CA憑證的公鑰來解密數位憑證中的”數位簽章”,解密出來的資料也是資訊摘要。
最後,判定兩個摘要資訊是否相等就行。

手把手教你在瀏覽器校驗HTTPS數位證書

如何證明CA憑證本身不是偽造的呢?

簡單粗暴的方案是:作業系統內建所有CA機構的證書,且假設這個作業系統沒有被惡意入侵。

折中方案是:把CA機構分成兩類,根CA和中間CA, 我們通常向中間CA申請證書,根CA主要給中間CA做認證用。中間CA又可以給其它中間CA認證,形成樹狀結構,一級級認證,直到找到根證書。

憑證上都有憑證鏈,能找到上一層機構是什麼,使用與上一步相同的演算法,讓上一層機構證實目前憑證的真實性,直到追溯到根憑證,而根憑證只需要在作業系統中可查找到就任務是對的,因為根憑證是業界瀏覽器和作業系統廠商的規範。

如何檢驗根憑證的合法性?

根證書在安裝作業系統時內建了。內建的根證書,是透過WebTrust國際安全審計認證的,權威證書。

如何驗證根憑證是否​​合法,瀏覽器尋找根憑證是否​​存在作業系統裡面,若不是則不合法,反之則合法。

WebTrust 是由兩大著名註冊會計師協會AICPA(美國註冊會計師協會)和CICA(加拿大註冊會計師協會)共同製定的安全審計標準,主要對互聯網服務商的系統及業務運作邏輯安全性、保密性等共七項內容進行近乎嚴苛的審查與鑑證。只有通過 WebTrust 國際安全審計認證,根憑證才能預先安裝到主流的作業系統,並成為一個可信任的認證機構。

自簽名證書

自簽署的CA證書,需要用戶提前內建證書在用戶電腦檔案中,或放置在伺服器上。
根憑證就是一種特殊的自簽名憑證。  

建議學習:《HTTP影片教學》                       ##    

以上是手把手教你在瀏覽器校驗HTTPS數位證書的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除