HTTPS 的基本原理

HTTPS = HTTP + TLS/SSL,簡單理解 HTTPS 其實就是在 HTTP 上面加多了一層安全層。HTTP 可以是 Http2.0 也可以是 Http1.1,不過現在 Http2.0 是強制要求使用 Https 的。

HTTPS 基本原理

首先需要一個第三方認證機構(CA認證),確保公鑰的合法性(即證書,不合法的證書瀏覽器會警告),然後利用非對稱加密(公鑰私鑰)方式加密並傳輸共享密鑰到服務器,可以確保共享密鑰無法被攔截被獲取到(共享密鑰被公鑰加密了,只有對應的私鑰才能解密,服務器有私鑰),最終的客戶端和服務端 HTTP 傳輸就是使用共享祕鑰加密進行通信。

HTTPS 流程圖

首先,我們先看下HTTPS 的整個流程。

clipboard.png

HTTPS 是如何確保安全的?

  • 使用非對稱密鑰(即公鑰私鑰))和對稱密鑰)(即共享密鑰)相結合

    通過公鑰私鑰的方式,避免了共享密鑰發送途中被第三方攔截獲取密鑰的安全問題。

    通過公鑰和私鑰加密建立保護層(即 SSL 保護層),後續的 Http 請求就會使用共享密鑰進行加密通信(共享的密鑰已經被 SSL 保護起來了,外面無法攔截到),即所謂的安全層。

    所以建立了安全層後,即使 HTTP 報文被攔截到,也無法解密。

  • CA 認證

    由於公鑰這個環節是公開的,存在被替換的風險,所以就有了第三方證書認證公司(CA認證),瀏覽器通過判斷證書是否有效。

    一般系統或者瀏覽器都會內置信任的根證書(這些 CA 組織都是非常可信的),瀏覽器可以根據這個根證書判斷網站的證書是否合法。

    證書如果不合法,那麼久瀏覽器就會警告,都是不給訪問的證書不合法的網站,除非用戶跳過這個警告。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章