HTTPS 是如何工作的?你知道嗎?
作者:李華 ByteByteGo
HTTPS 確實引入了一定的性能開銷,但隨著現(xiàn)代硬件和協(xié)議優(yōu)化的進(jìn)步,HTTPS 的性能開銷相對于其安全性帶來的好處已經(jīng)微不足道,尤其是在 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))、HTTP/2、TLS 1.3 等優(yōu)化技術(shù)的幫助下。
使用 HTTPS(超文本傳輸安全協(xié)議)的主要原因包括以下幾點:
- 數(shù)據(jù)加密 - HTTPS 使用 TLS(傳輸層安全協(xié)議)對數(shù)據(jù)進(jìn)行加密,確保在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù)不會被中途竊聽或篡改。即使黑客截獲了數(shù)據(jù),也難以解密讀取。
- 數(shù)據(jù)完整性 - HTTPS 可以確保傳輸?shù)臄?shù)據(jù)不會在過程中被篡改。即使惡意攻擊者截獲了數(shù)據(jù)包,數(shù)據(jù)包的校驗機制會發(fā)現(xiàn)篡改的痕跡,進(jìn)而拒絕數(shù)據(jù)的傳遞。
- 身份驗證 - HTTPS 通過數(shù)字證書對服務(wù)器進(jìn)行驗證,確保用戶連接到的是真正的目標(biāo)服務(wù)器,而不是被攻擊者偽裝的假服務(wù)器。這大大減少了中間人攻擊(Man In the Middle)的風(fēng)險。
- 提高搜索排名 - 搜索引擎(如 Google)優(yōu)先顯示使用 HTTPS 的網(wǎng)站。Google 從 2014 年起就開始把 HTTPS 作為網(wǎng)站排名的一個因素。
圖片
HTTPS 如何工作?
- 第 1 步 - 客戶端(瀏覽器)和服務(wù)器建立 TCP 連接。
- 第 2 步 - 客戶端向服務(wù)器發(fā)送 “Client Hello” 信息。該信息包含一套必要的加密算法和它能支持的最新 TLS 版本。服務(wù)器回應(yīng)一個 “Server Hello”,以便瀏覽器知道它是否支持這些算法和 TLS 版本。然后,服務(wù)器向客戶端發(fā)送 SSL 證書。證書包含公鑰、主機名、有效期等信息。客戶端驗證證書。
- 第 3 步 - 驗證 SSL 證書后,客戶端生成會話密鑰 (Session Key),并使用公開密鑰對其進(jìn)行加密。服務(wù)器收到加密的會話密鑰后,用私鑰解密。
- 第 4 步 - 既然客戶端和服務(wù)器都持有相同的會話密鑰(對稱加密),加密數(shù)據(jù)就會在安全的雙向通道中傳輸。
HTTPS 為什么要在數(shù)據(jù)傳輸過程中切換到對稱加密?主要有兩個原因:
- 安全性:非對稱加密只能單向傳輸。這意味著,如果服務(wù)器嘗試將加密數(shù)據(jù)發(fā)送回客戶端,任何人都可以使用公鑰解密數(shù)據(jù)。
- 服務(wù)器資源:非對稱加密會增加大量數(shù)學(xué)開銷。它不適合長時間的數(shù)據(jù)傳輸。
HTTPS 確實引入了一定的性能開銷,但隨著現(xiàn)代硬件和協(xié)議優(yōu)化的進(jìn)步,HTTPS 的性能開銷相對于其安全性帶來的好處已經(jīng)微不足道,尤其是在 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))、HTTP/2、TLS 1.3 等優(yōu)化技術(shù)的幫助下。對于大多數(shù)應(yīng)用場景,HTTPS 帶來的性能影響可以忽略不計,而其提供的安全和信任則是至關(guān)重要的。
責(zé)任編輯:武曉燕
來源:
ByteByteGo