1. 程式人生 > >【科普】什麽是TLS1.3

【科普】什麽是TLS1.3

加密方式 del 註入 load 兼容 帶來 移動應用 網絡管理員 歐洲

技術分享

TLS1.3是一種新的加密協議,它既能提高各地互聯網用戶的訪問速度,又能增強安全性。

我們在訪問許多網頁的時候,常常會在瀏覽器的地址欄上看到一個鎖的圖標,並使用“https”代替傳統的“http”。這裏的“s”代表著安全。當你連接到一個HTTPS站點時,你和該站點之間的通信會被加密,這會顯著提高瀏覽的安全性,使你的通信避開那些窺視的眼睛,並防止惡意代碼的註入。HTTPS不僅應用於網站,還保護著大部分API和移動應用後臺的安全。

我們把使互聯網實現安全通信的基礎性技術稱為傳輸層安全協議(TLS)。TLS是安全套接層協議(SSL)的進化版本,SSL是由Netscape公司在1990年代研發的。國際互聯網工程任務組(IETF)做為一個標準化組織,負責定義該協議,該協議已經歷了多次修訂。最新版本TLS1.2在2008年被確立為標準,目前被大多數瀏覽器和啟用HTTPS的web服務所支持。

在配置正常的情況下,TLS1.2會很安全,但如今它卻顯得有些過時了。在過去幾年中,幾次引人註目的攻擊暴露出該協議的一些漏洞。在計算機安全領域,8年是一段很長的時間,因此IETF已經在著手開發該協議的新版本TLS1.3,並將於2016年底完工。
TLS1.3是一次全面升級,與此前版本相比,它有兩個主要優勢:
●增強安全性
●提升速度

增強安全性

過去幾年來,大部分針對TLS的攻擊都是以該協議90年代遺留下來的殘余部分為目標的。TLS1.2具有很強的可配置性,因此一些有安全漏洞的站點為兼容老版本的瀏覽器而沒有關閉那些舊的屬性。

TLS1.3信奉“少即是多”哲學,取消了對一些老舊而衰弱的加密方式的支持。這意味著你無法打開那些潛在的漏洞。TLS1.2中原有的大量特性都被刪除了,其中大部分特性與那些著名的攻擊有關,這些特性包括:
●RSA密鑰傳輸——不支持前向安全性
●CBC模式密碼——易受BEAST和Lucky 13攻擊
●RC4流密碼——在HTTPS中使用並不安全
●SHA-1哈希函數——建議以SHA-2取而代之
●任意Diffie-Hellman組——CVE-2016-0701漏洞
●輸出密碼——易受FREAK和LogJam攻擊

TLS1.3消除了舊版本中糟糕的加密方式,同時降低了舊的攻擊方式對其產生影響的可能性。這種精簡使網絡管理員可以更簡便地進行配置。此外,這次更新提高了協議的速度,也給用戶帶來更好的瀏覽體驗。

提升速度

網頁加載速度的提高對web服務的成功是至關重要的。亞馬遜公司曾有一個著名的發現:網頁加載時間每增加100毫秒,銷售額就會下降1%。網頁加載時間的一個主要組成部分就是瀏覽器和web服務器之間發送數據耗費的“延遲時間”。

“延遲時間”特別會顯著影響到:
a)移動設備用戶
b)服務器在地理上相距很遠的用戶

技術分享

一條消息從悉尼往返紐約會花費超過200毫秒,而在移動設備上瀏覽還會增加這一延遲時間。通過現代4G移動網絡發送一條消息通常會額外增加100毫秒的延遲。在歐洲仍普遍使用的3G網絡下,這一延遲則會增加200毫秒。就連家用WiFi和ISP也會再增加幾十毫秒的延遲。這些額外的延遲會使人感覺到移動瀏覽速度很緩慢。不幸的是,數據加密會進一步降低連接的速度。而TLS1.3有助於改善這種狀況。

要向加密網站發送一條消息,你必須首先建立共用密鑰。這一過程叫做一次握手。它要求有專門的消息往來於瀏覽器和網站之間。只要你的瀏覽器連接到一個加密站點,TLS握手就會在後臺發生。

對於TLS1.2來說,在請求發送出去之前,需要2次消息往來才能完成握手。通過移動網絡訪問一個站點時,加載時間會額外增加超過半秒鐘。而對於TLS1.3來說,首次握手只需要1次消息往來。這就像把一輛0-60邁加速需10秒的旅行車升級成一輛只需5秒的特斯拉Model S。如果一次連接所需的消息往來耗時約100毫秒,那麽TLS1.3的速度提升足以讓那些反應遲緩(加載時間超過300毫秒)的站點變得足夠快(加載時間低於300毫秒)。

不僅如此,而TLS1.3還有其他的優點。對於近期訪問過的站點,你可以在第一次給服務器發消息時就發送有用的數據。這叫做“零消息往來”模式(0-RTT),會使網頁加載變得更快!

它為所有瀏覽器而生

TLS1.3對網絡安全和性能來說都是一大進步。盡管TLS1.3規範仍在進一步完善中,但IETF已非常接近完成這一協議的最終版本。主要瀏覽器Firefox和Chrome都已在其開發版(火狐Nightly版和Chrome Canary版)中使用了TLS1.3的初步版本。

那麽問題來了,怎樣才能在你的瀏覽器中啟用TLS1.3呢?

火狐Nightly版

●安裝並運行火狐Nightly版:https://nightly.mozilla.org/
●在地址欄輸入“about:config”
●將security.tls.version.max的值由3改為4
●重啟瀏覽器

技術分享

Chrome Canary版

●安裝並運行Chrome Canary版:
https://www.google.com/chrome/browser/canary.html
●在地址欄輸入“chrome://flags/”
●找到“Maximum TLS version enabled.”並選擇“TLS 1.3”
●重啟瀏覽器

技術分享

關於TLS1.3的更多細節,請戳此處

【科普】什麽是TLS1.3