Cloudflare:什么是傳輸層安全性(TLS)?

來源: Cloudflare
作者:Cloudflare
時間:2021-01-21
16947
傳輸層安全性(Transport Layer Security,TLS)是一種廣泛采用的安全性協(xié)議,旨在促進(jìn) Internet 上通信的隱私和數(shù)據(jù)安全性。TLS 的主要用例是對 Web 應(yīng)用程序和服務(wù)器之間的通信(例如,(例如,Web 瀏覽器加載網(wǎng)站)進(jìn)行加密。TLS 還可以用于加密其他通信,如電子郵件、消息傳遞和 IP 語音(VOIP)等。在本文中,我們將重點介紹 TLS 在 Web 應(yīng)用程序安全中發(fā)揮的作用。

什么是傳輸層安全性(TLS)?

傳輸層安全性(Transport Layer Security,TLS)是一種廣泛采用的安全性協(xié)議,旨在促進(jìn) Internet 上通信的隱私和數(shù)據(jù)安全性。TLS 的主要用例是對 Web 應(yīng)用程序和服務(wù)器之間的通信(例如,(例如,Web 瀏覽器加載網(wǎng)站)進(jìn)行加密。TLS 還可以用于加密其他通信,如電子郵件、消息傳遞和 IP 語音(VOIP)等。在本文中,我們將重點介紹 TLS 在 Web 應(yīng)用程序安全中發(fā)揮的作用。

TLS 由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force, IETF)提出,該協(xié)議的第一個版本于 1999 年發(fā)布。最新版本是 TLS 1.3,發(fā)布于 2018 年。

TLS 和 SSL 之間有什么區(qū)別?

Netscape 開發(fā)了名為安全套接字層(Secure Socket Layer,SSL)的上一代加密協(xié)議,TLS 由此演變而來。TLS 1.0 版的開發(fā)實際上始于 SSL 3.1 版,但協(xié)議的名稱在發(fā)布之前進(jìn)行了更名,以表明它不再與 Netscape 關(guān)聯(lián)。由于這個歷史原因,TLS 和 SSL 這兩個術(shù)語有時會互換使用。

TLS 和 HTTPS 有什么區(qū)別?

HTTPS 是在 HTTP 協(xié)議基礎(chǔ)上 TLS 加密的實現(xiàn),所有網(wǎng)站以及某些其他 Web 服務(wù)都使用該協(xié)議。因此,任何使用 HTTPS 的網(wǎng)站都使用 TLS 加密。

為什么應(yīng)該使用 TLS?

TLS 加密可以幫助保護(hù) Web 應(yīng)用程序免受攻擊,如數(shù)據(jù)泄露和 DDoS 攻擊等。此外,受 TLS 保護(hù)的 HTTPS 迅速成為網(wǎng)站的標(biāo)準(zhǔn)實踐。例如,Google Chrome 瀏覽器正在打擊非 HTTPS 網(wǎng)站,而且日常的 Internet 用戶也開始更加警惕那些沒有 HTTPS 掛鎖圖標(biāo)的網(wǎng)站。

TLS 如何工作?

TLS 可以在 TCP 等傳輸層安全協(xié)議之上使用。TLS 包含三個主要組件:加密、身份驗證和完整性。

加密:隱藏從第三方傳輸?shù)臄?shù)據(jù)。

身份驗證:確保交換信息的各方是他們聲稱的身份。

完整性:驗證數(shù)據(jù)是否并非偽造而來或未遭篡改過。

使用稱為 TLS 握手的序列來啟動 TLS 連接。TLS 握手為每個通信會話建立一個密碼套件。密碼套件是一組用于指定詳細(xì)信息的算法,例如哪些共享加密密鑰或會話密鑰將用于某個特定會話。借助稱為公鑰加密的技術(shù),TLS 能夠通過未加密通道設(shè)置匹配的會話密鑰。

握手還處理身份驗證,通常包括服務(wù)器向客戶端證明其身份。這是使用公鑰完成的。公鑰是使用單向加密的加密密鑰,這意味著任何人都可以復(fù)原用私鑰加密的數(shù)據(jù)以確保其真實性,但只有原始發(fā)送方才能使用私鑰加密數(shù)據(jù)。

數(shù)據(jù)完成加密和驗明身份后,使用消息身份驗證碼(MAC)進(jìn)行簽名。接收方然后可以驗證 MAC 來確保數(shù)據(jù)的完整性。這有點像阿司匹林藥瓶上的防篡改鋁箔;消費(fèi)者知道沒人篡改過他們的藥品,因為購買時鋁箔完好無損。

tls-ssl-handshake.png

TLS 如何影響 Web 應(yīng)用程序性能?

由于建立 TLS 連接涉及復(fù)雜的過程,因此必須消耗一些加載時間和計算資源。在傳輸任何數(shù)據(jù)之前,客戶端和服務(wù)器必須來回通信幾次,這將占用 Web 應(yīng)用程序?qū)氋F的幾毫秒加載時間,以及客戶端和服務(wù)器的一些內(nèi)存。

幸運(yùn)的是,已有技術(shù)可以幫助緩解 TLS 握手帶來的延遲。一種是TLS 錯誤啟動,它允許服務(wù)器和客戶端在 TLS 握手完成之前開始傳輸數(shù)據(jù)。另一種加快 TLS 速度的技術(shù)是 TLS 會話恢復(fù),它允許以前通信過的客戶端和服務(wù)器使用簡略的握手。

這些改進(jìn)有助于使 TLS 成為一種非??焖俚膮f(xié)議,不會明顯影響加載時間。至于與 TLS 相關(guān)的計算成本,以當(dāng)今的標(biāo)準(zhǔn)來看幾乎可以忽略不計。例如,Google 在 2010 年將整個 Gmail 平臺移至 HTTPS 時,不曾有啟用任何其他硬件的需求。TLS 加密給其服務(wù)器造成的額外負(fù)載不足 1%。

如何開始在網(wǎng)站上實施 TLS?

所有 Cloudflare 用戶自動獲得 Cloudflare 的 HTTPS 保護(hù)。通過 Universal SSL,Cloudflare 向所有用戶提供免費(fèi)的 TLS/SSL 證書。非 Cloudflare 用戶必須從某一證書頒發(fā)機(jī)構(gòu)獲取 SSL 證書(通常需要付費(fèi)),然后將證書安裝到其源站服務(wù)器上。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多