天天看點

數字證書&抓包安裝證書原理

一、數字證書

1、什麼是數字證書

證書用來證明某個網站或檔案。

簡單可以了解為類似公司公章,用來證明合同檔案等是該公司的。

2、什麼是CA憑證

CA是“證書授權中心”的簡稱,是負責管理和簽發證書的第三方機構。

CA憑證即為CA頒發的證書。

證書人人都可以制作,但隻有權威機構頒發的證書,大家才能一緻認可。

3、什麼是根證書

如下圖所示,假設C證書信任A證書,A證書信任A1證書,證書之間的關系構成一個樹。

根節點的證書即為“根證書”,根證書是不需要證明的,其他證書都需要上一級去證明可靠性。

4、證書的作用

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

  • 證書沒有問題的标準:1、證書被某個根證書信任,2、證書上綁定的域名和該網站的域名一緻,3、證書沒有過期
  • 因為HTTP協定是明文的,如果有人偷窺你的網絡通訊,他就可以看到通訊的内容。而HTTPS是加密協定。但是光有加密是不夠的,比如有人僞造了一個HTTPS站點,就可能擷取到你的賬戶密碼資訊。為了防止僞造站點,HTTPS協定除了加密機制,還有一套證書機制。有了證書以後,當通路這個HTTPS網站時,會驗證該站點上的CA憑證

2)驗證檔案是否可信

  • 證書還可以用來驗證某個檔案是否被篡改。具體是通過證書來制作檔案的數字簽名。

二、抓包安裝證書的原理

1、關鍵思想
  • 構造一個中間人代理,它有能力完成TLS/SSL握手
  • 弄到一個根證書,并用它生成簽名認證的代理伺服器證書
2、抓包代理伺服器的作用
  • 截獲真實用戶端的HTTPS請求,僞裝用戶端向真實服務端發送HTTPS請求
  • 接受真實伺服器響應,用Charles自己的證書僞裝服務端向真實用戶端發送資料内容
  • 一般情況下HTTPS中是用戶端對服務端做證書校驗(是以抓包時候,需要用戶端安裝代理伺服器的證書,并信任)
3、分析chrales代理工具如何實作
  • Charles就是一個理想的中間人,它支援SSL握手
  • Charles可以自動根據根證書生成一個簽名的伺服器證書
  • Charles的官網為我們提供了一個根證書

繼續閱讀