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

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

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

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

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

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

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

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

HTTPS 是在 HTTP 協(xié)議基礎(chǔ)上 TLS 加密的實(shí)現(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)實(shí)踐。例如,Google Chrome 瀏覽器正在打擊非 HTTPS 網(wǎng)站,而且日常的 Internet 用戶也開(kāi)始更加警惕那些沒(méi)有 HTTPS 掛鎖圖標(biāo)的網(wǎng)站。

TLS 如何工作?

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

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

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

完整性:驗(yàn)證數(shù)據(jù)是否并非偽造而來(lái)或未遭篡改過(guò)。

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

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

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

tls-ssl-handshake.png

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

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

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

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

如何開(kāi)始在網(wǎng)站上實(shí)施 TLS?

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

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家