HTTPS 基本原理

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

HTTPS 基本原理

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

HTTPS 流程圖

首先,咱們先看下HTTPS 的整個流程。服務器

HTTPS 是如何確保安全的?

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

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

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

    因此創建了安全層後,即便 HTTP 報文被攔截到,也沒法解密。cdn

  • CA 認證blog

    因爲公鑰這個環節是公開的,存在被替換的風險,因此就有了第三方證書認證公司(CA認證),瀏覽器經過判斷證書是否有效。ip

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

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

相關文章
相關標籤/搜索