目錄
一、數字證書簡介
二、 CA(證書頒發機構)
(一) 證書鏈(信任鏈)
1. 根證書
2. 中間證書
3. 網站證書
(二) 抓包軟件的證書鏈與信任機制
1. 抓包通信流程
2. 證書鏈偽造與信任驗證流程
(三) 關于移動設備的CA
一、數字證書簡介
數字證書就是網站的身份證 + 公鑰、是用來證明身份和搭建加密通道用的
證書通常包含以下信息:
- 持有者的信息: 網站域名(最重要的)、組織名稱(對于企業級證書)、地址等。
- 公鑰: 用于加密信息的密鑰。
- 頒發者信息: 簽發該證書的證書頒發機構名稱。
- 有效期: 證書的生效日期和到期日期。
- 數字簽名: 由 CA 使用其私鑰生成的簽名,用于證明證書的真實性和完整性。瀏覽器可以用 CA 的公鑰來驗證這個簽名。
二、 CA(證書頒發機構)
CA全稱:Certificate Authority,即“證書頒發機構”,負責簽發證書和提供背書服務的機構。
- 簽發: CA 生成一張新的證書,并用自己的私鑰對其內容進行數字簽名,正式頒布這個證書。
- 背書: CA 用自己的名義擔保:這個證書里的信息(比如域名、身份、公鑰)是我驗證過、我認可的。
- 關于申請證書,有免費的CA(一般用于個人網站),有收費的CA(用于企業/銀行等需高信任場景)。
注:CA(證書頒發機構)是一個角色,全球有很多個CA,任何合法的組織都可以成為 CA,只要它有能力簽發并管理證書。
(一) 證書鏈(信任鏈)
注:如果證書鏈出現問題,客戶端會提示證書不被信任等信息。
證書鏈:網站證書 → 中間證書 → 根證書。
驗證過程:
- 客戶端(瀏覽器)拿到網站證書,用中間證書的公鑰驗證它的簽名。
- 再用根證書的公鑰驗證中間證書的簽名。
- 最后確認根證書是否在客戶端的信任列表中。
證書提供:
- 服務器:發送網站證書和中間證書。
- 客戶端:預裝根證書,不需要服務器提供。
1. 根證書
根證書是信任鏈的起點,由根證書頒發機構自簽名,客戶端(瀏覽器)默認信任根證書
根證書預裝在您的設備(比如電腦、手機的操作系統或瀏覽器)中,作為驗證其他證書的“信任錨點”。
2. 中間證書
中間證書由根CA簽發,授權給中間證書頒發機構,用來簽發網站證書。
3. 網站證書
網站證書由中間CA簽發,頒給具體的網站或服務器,包含網站的公鑰和身份信息(如域名),用于加密通信和證明身份。
網站證書是你訪問的網站拿給瀏覽器的“身份證”,里面包含網站域名、公鑰等信息。
常見網站證書類型:
- DV(域名驗證證書)
- 只驗證域名所有權,比如你能證明你控制了 abc.com,就能簽。
- OV(組織驗證證書)
- 除了驗證域名,還驗證組織/企業的合法存在性和注冊信息(工商注冊、電話等)。
- EV(擴展驗證證書)
- 最高級別驗證,驗證企業真實身份、營業執照、電話、注冊地址等。
- 部分瀏覽器(不同版本)會在地址欄顯示“綠色鎖”和公司名。
(二) 抓包軟件的證書鏈與信任機制
1. 抓包通信流程
以訪問 https://www.baidu.com 為例:
Burp Suite 在本地充當代理服務器,整個 HTTPS 抓包過程的核心通信路徑如下:
- 瀏覽器訪問百度,實際連接的是本地的 BurpSuite 代理(如 127.0.0.1:8080)
- 瀏覽器只與 Burp 通信,瀏覽器不與百度服務器做交互。
- Burp 將請求轉發給真實的百度服務器
- 百度返回響應 → Burp 攔截并解析 → 再轉發給瀏覽器
- 瀏覽器收到的響應其實是 Burp 偽裝百度發出的。
2. 證書鏈偽造與信任驗證流程
由于瀏覽器訪問的是 HTTPS,必須進行證書驗證。流程如下:
- 瀏覽器要求:提供 https://baidu.com 的合法證書
- 但此時它連接的是 BurpSuite,不是百度。
- Burp 動態生成偽造的“baidu.com”站點證書
- 此證書由 Burp 內部的自簽名 CA 生成(非真實百度證書)。
- 瀏覽器校驗證書的簽發者
- 若瀏覽器的CA中沒有Burp自簽名CA,瀏覽器就會提示:證書無效 / 連接不安全 / 無法建立安全連接等安全告警。
所以抓包軟件一般都會有一個CA證書導入導出的功能。
(三) 關于移動設備的CA
安卓和蘋果都把CA明確區分成了兩種:
- 系統 CA(System CA)
- 出廠時就內置在操作系統里的根證書
- 只能由廠商簽名后刷入系統分區
- 默認所有 App 都信任
- 普通用戶(非 root)無法修改或新增
- 用戶 CA(User CA)
- 用戶手動安裝的證書(比如通過設置 → 安全 → 受信任憑據 → 用戶)
- 存在于用戶空間
從 Android 7/ iOS 10 開始以后的版本,默認大部分APP不信任用戶CA,所以即使把抓包軟件的CA證書導入到手機中也沒用除非是把證書裝到了系統CA區(需要ROOT權限)
注:手機開啟ROOT之后,也會遭受大部分APP限制,ROOT手機限制使用之類的。