[轉帖]TLS 1.3 VS TLS 1.2,讓你明白 TLS 1.3 的強大

TLS 1.3 VS TLS 1.2,讓你明白 TLS 1.3 的強大

https://www.jianshu.com/p/efe44d4a7501?utm_source=oschina-app

 


又拍雲 
 0.5 2018.09.20 14:20 字數 1830 閱讀 3685評論 1

HTTPS 加密時代已經來臨,近兩年,Google、Baidu、Facebook 等互聯網巨頭,不謀而合地開始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上線,全部 HTTP 網站都會被明確標記爲「不安全」。國內外大到 Google、Facebook 等巨頭,小到我的博客在內的衆多網站,以及登錄 Apple App Store 的 App,微信的小程序,都已經啓用了全站 HTTPS,這也是將來互聯網發展的趨勢。html

有得必有失,HTTPS 雖然增長了網站安全性,但由於 HTTPS 握手次數增長,會必定程度上下降用戶訪問速度。爲了使 HTTPS 達到更快的數據傳輸性能,而且在傳輸過程當中更加安全,又拍雲 CDN 已支持 TLS 1.3 新特性。下文簡單介紹下 TLS 1.3 的新特性,讓你明白相較於TLS 1.2,TLS 1.3 強大在哪裏。算法

帶你認識 TLS

一般所說的 HTTPS 協議,說白了就是 「HTTP 協議」 和 「SSL/TLS 協議」 的組合。SSL 是 「Secure Sockets Layer」 的縮寫,中文意思爲「安全套接層」,而 TLS 則是標準化以後的 SSL。chrome

 

TLS(Transport Layer Security Protocol,傳輸層安全協議)主要目的是提供隱私和數據兩個通訊應用之間的完整性。該協議由兩層組成:TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。小程序

當使用 TLS 時,客戶端和服務器之間的鏈接具備如下一個或多個屬性:瀏覽器

  • 鏈接私密性:使用對稱加密算法用於加密數據的傳輸,例如 AES [AES], RC4 [SCH] 等
  • 可使用公鑰加密來驗證通訊方的身份
  • 鏈接可靠性:發送的每一個消息都使用 MAC(消息認證碼) 進行完整性檢查

低版本 TLS 之殤

Netscape(網景公司) 在 1994 年時提出了 SSL 協議的原始規範, TLS 協議也通過了不少次版本的更新。目前低版本的 TLS (例如:SSL 3.0/TLS 1.0 等)存在許多嚴重漏洞。另外根據 Nist(美國國家標準與技術研究院)所說,如今沒有補丁或修復程序可以充分修復低版本 TLS 的漏洞,儘快升級到高版本的 TLS 是最好的方法。安全

目前行業正處於 TLS 1.2 取代 TLS 1/1.1 的過渡時期,未來會有愈來愈多的互聯網安全企業啓用 TLS 1.2。它引入了 SHA-256 哈希算法,摒棄了 SHA-1,對加強數據完整性有着顯著優點。服務器

又拍雲提供最低 TLS 版本管理功能,只需登錄又拍雲控制檯,選擇服務,進入「配置」便可開啓。配置過程當中,選擇的協議級別越高,相應的也就更安全,可是能夠支持的瀏覽器也就越少,有可能會影響終端用戶訪問,請謹慎選擇配置。微信

TLS 1.3 VS TLS 1.2,強大盡顯

TLS 1.3 是時隔九年對 TLS 1.2 等以前版本的新升級,也是迄今爲止改動最大的一次。針對目前已知的安全威脅,IETF(Internet Engineering Task Force,互聯網工程任務組) 正在制定 TLS 1.3 的新標準,使其有望成爲有史以來最安全,但也最複雜的 TLS 協議。網絡

TLS 1.3 與以前的協議有較大差別,主要在於:app

  • 相比過去的的版本,引入了新的密鑰協商機制 — PSK
  • 支持 0-RTT 數據傳輸,在創建鏈接時節省了往返時間
  • 廢棄了 3DES、RC四、AES-CBC 等加密組件,廢棄了 SHA一、MD5 等哈希算法
  • ServerHello 以後的全部握手消息採起了加密操做,可見明文大大減小
  • 再也不容許對加密報文進行壓縮、再也不容許雙方發起重協商
  • DSA 證書再也不容許在 TLS 1.3 中使用

對比舊協議中的不足,TLS 1.3 確實能夠稱得上是向前邁了一大步。既避免以前版本出現的缺陷,也減小了 TLS 握手的時間。

總結一下,TLS 1.3 與之前的版本相比具備以下兩個大的優點,分別是:

更快的訪問速度

爲了對比 TLS 1.3 在 TLS 握手階段的變化, 這裏將 TLS 1.2 和 TLS 1.3 在 TLS 握手階段進行對比。

 
△ TLS 1.2 完整握手框架(來自 RFC 5246)

從上圖能夠看出,使用 TLS 1.2 須要兩次往返( 2-RTT )才能完成握手,而後才能發送請求。

 
△ TLS 1.3 完整握手框架(來自 TLS 1.3 最新草案 )

TLS 1.3 的握手再也不支持靜態的 RSA 密鑰交換,這意味着必須使用帶有前向安全的 Diffie-Hellman 進行全面握手。從上圖能夠看出,使用 TLS 1.3 協議只須要一次往返( 1-RTT )就能夠完成握手。

相比 TLS 1.2,TLS 1.3 的握手時間減半。這意味着訪問一個移動端網站,使用 TLS 1.3 協議,可能會減小將近 100ms 的時間。

更強的安全性

TLS 的發展有 20 多年的歷史,在以前的版本中,TLS 1.2 是高度可配置的,爲了更好的兼容舊版本的瀏覽器,這意味着那些易受攻擊的站點始終在運行着不安全的加密算法,這讓互聯網黑客有可乘之機。

TLS 1.3 在以前版本的基礎上刪除了那些不安全的加密算法,這些加密算法包括:

  • RSA 密鑰傳輸 —— 不支持前向安全性
  • CBC 模式密碼 —— 易受 BEAST 和 Lucky 13 攻擊
  • RC4 流密碼 —— 在 HTTPS 中使用並不安全
  • SHA-1 哈希函數 —— 建議以 SHA-2 取而代之
  • 任意 Diffie-Hellman 組—— CVE-2016-0701 漏洞
  • 輸出密碼 —— 易受 FREAK 和 LogJam 攻擊

總之,TLS 1.3 相比老版本的 TLS 協議將會更加安全,這也表明着互聯網安全的一大進步。

TLS 1.3 瀏覽器支持狀況

下面是各大瀏覽器的 TLS 1.3 支持狀況:

 

目前最新的 Chrome 和 Firefox 都已支持 TLS 1.3,但須要手動開啓:

Chrome 中須要將 chrome://flags/ 中的 Maximum TLS version enabled 改成 TLS 1.3(Chrome 62 中須要將 TLS 1.3 改成 Enabled (Draft)

 

Firefox 中,將 about:config 中的 security.tls.version.max 改成 4;

 

目前,又拍雲的 CDN 網絡已經率先支持 TLS 1.3,做爲國內較早支持 TLS 1.3 的 CDN 廠商,又拍雲始終跟隨時代的步伐,爲互聯網世界的安全與加速貢獻着本身的一份力量。

推薦閱讀:

科普 TLS 1.3 — 新特性與開啓方式

用了 HTTPS 還不安全,問題就出在低版本 TLS 上​

相關文章
相關標籤/搜索