https的那些事兒

weixin_33763244發表於2019-02-21

什麼是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機構的證書是根證書。一般網站的證書不可能是根證書籤發的,這樣就會一級一級往上校驗證書的合法性。

參考文章

相關文章