什麼是HTTPS
- HTTPS = HTTP + TLS
- TLS是一種安全傳輸協議,保證HTTPS請求與響應的資料安全性
HTTPS請求響應的大致流程
-
第一步:TLS握手,協商加密金鑰
- client請求server,say hello
- server傳送證書、簽名演算法、加密演算法等資訊
- client驗證證書合法性
- client與server協商資料傳輸的對稱金鑰
- 第二步:應用資料傳輸,用協商通過的金鑰加密應用資料,傳送加密資料
證書合法性校驗
證書合法性校驗用到數字簽名技術。合法的證書由CA機構簽發,證書中都會帶上Signature,Signature是證書的摘要(HASH)用CA的私鑰加密生成的。
證書校驗流程:
- client用同樣的演算法生成證書摘要A
- client用CA的公鑰解密Signature獲得摘要B
- client比較A和B是否相同,相同則證書合法。如果證書被修改過,A和B必然不會相同。
多級證書的校驗:
CA機構也是分級的,頂的CA機構的證書是根證書。一般網站的證書不可能是根證書籤發的,這樣就會一級一級往上校驗證書的合法性。