手把手教你在瀏覽器校驗HTTPS數位證書
本篇文章為大家帶來了關於HTTPS的相關知識,其中主要介紹了瀏覽器是怎麼校驗HTTPS的數位證書 ,以及HTTP協定、相關憑證的概念介紹,下面一起來看一下,希望對大家有幫助。
本文解決的問題如下:
- 為何從HTTP協定變成HTTPS協定為何需要憑證?
- HTTPS協定如何體現安全性(HTTPS協定原則)?
- 如何免費取得HTTPS所需的憑證以及如何部署憑證到伺服器?
- 瀏覽器如何驗證憑證?
- 憑證包含哪些內容?
- CA憑證和網關憑證是一個東西嗎?
免費申請證書
免費申請證書網站:https://freessl.cn
網域申請,並解析到伺服器
憑證與網域綁定
在伺服器下載憑證部署腳本,並部署
HTTPS原理
從HTTP 協定堆疊層級來看,我們可以在TCP 和HTTP 之間插入一個安全層,所有經過安全層的資料都會被加密或解密,
於是HTTPS變成了HTTP和安全層先通信,安全層再和TCP通信。在安全層完成資料的加解密過程。
加密方式:
- 對稱加密,就是雙方使用“相同的金鑰”,一方加密一方解密。
- 優點:加上解密快
- 缺點:加密金鑰易暴露,安全性低
- 非對稱加密,就是一方使用公鑰加密,另一方只能使用私鑰解密,公鑰和私鑰是唯一配對的。
- 優點:安全性
- 缺點:加解密慢
#基於上述特性,傳輸資料過程採用對稱加密方式保證資料傳輸效率, 用非對稱加密方式解決金鑰易暴露問題。
瀏覽器發起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憑證的公鑰來解密數位憑證中的”數位簽章”,解密出來的資料也是資訊摘要。
最後,判定兩個摘要資訊是否相等就行。
如何證明CA憑證本身不是偽造的呢?
簡單粗暴的方案是:作業系統內建所有CA機構的證書,且假設這個作業系統沒有被惡意入侵。
折中方案是:把CA機構分成兩類,根CA和中間CA, 我們通常向中間CA申請證書,根CA主要給中間CA做認證用。中間CA又可以給其它中間CA認證,形成樹狀結構,一級級認證,直到找到根證書。
憑證上都有憑證鏈,能找到上一層機構是什麼,使用與上一步相同的演算法,讓上一層機構證實目前憑證的真實性,直到追溯到根憑證,而根憑證只需要在作業系統中可查找到就任務是對的,因為根憑證是業界瀏覽器和作業系統廠商的規範。
如何檢驗根憑證的合法性?
根證書在安裝作業系統時內建了。內建的根證書,是透過WebTrust國際安全審計認證的,權威證書。
如何驗證根憑證是否合法,瀏覽器尋找根憑證是否存在作業系統裡面,若不是則不合法,反之則合法。
WebTrust 是由兩大著名註冊會計師協會AICPA(美國註冊會計師協會)和CICA(加拿大註冊會計師協會)共同製定的安全審計標準,主要對互聯網服務商的系統及業務運作邏輯安全性、保密性等共七項內容進行近乎嚴苛的審查與鑑證。只有通過 WebTrust 國際安全審計認證,根憑證才能預先安裝到主流的作業系統,並成為一個可信任的認證機構。
自簽名證書
自簽署的CA證書,需要用戶提前內建證書在用戶電腦檔案中,或放置在伺服器上。
根憑證就是一種特殊的自簽名憑證。
建議學習:《HTTP影片教學》 ##
以上是手把手教你在瀏覽器校驗HTTPS數位證書的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CSS自定義resize符號的方法與背景色統一在日常開發中,我們經常會遇到需要自定義用戶界面細節的情況,比如調...

在網頁中使用本地安裝的字體文件最近,我從網上下載了一種免費字體,並成功將其安裝到了我的系統中。現在...

HTTPS是一種在HTTP基礎上增加安全層的協議,主要通過加密數據保護用戶隱私和數據安全。其工作原理包括TLS握手、證書驗證和加密通信。實現HTTPS時需注意證書管理、性能影響和混合內容問題。

在Safari中使用自定義樣式表的問題探討今天我們來探討一個關於Safari瀏覽器的自定義樣式表應用問題。前端新手...

如何解決用戶代理樣式表導致的顯示問題?在使用Edge瀏覽器時,項目中的一個div元素無法顯示。經過查看,發�...
