【科普】TLS1.3如此強大!咱們如何迎接它?

HTTPS 時代已經來臨,而新一代安全傳輸協議TLS1.3的普及會大大提高HTTP鏈接速度的性能,消除HTTPS使用性能上的擔心,助推HTTPS進一步應用落地。早在去年,阿里雲CDN HTTPS就已經全面支持TLS1.3,鼓勵用戶逐步升級到更安全、性能更佳的TLS1.3,幫助終端得到更好的訪問體驗。本文由阿里雲CDN技術專家林勝恩(嘯坤)爲你詳細揭祕TLS1.3的發展歷程、特性以及應用。html

1、TLS1.3協議發展歷程

SSL協議起源於1994年,當時網景公司推出首版網頁瀏覽器及HTTPS協議,用於加密的就是SSL。此後相繼推出SSL2.0及3.0版本,1999年IETF將SSL標準化,即 RFC 2246 ,並將其命名爲TLS。2006年和2008年又分別推出TLS1.1和TLS1.2版本。算法

在SSL/TLS發展過程當中曾出現過各類安全漏洞,如Heartbleed、POODLE,這致使SSL3.0及其以前版本逐漸廢棄,目前互聯網使用的主流協議是TLS1.2版本。瀏覽器

TLS1.3協議針對安全強化及效率提高等方面進行了大量修改,IETF相繼推出個28個草案版本,歷時4年多,終於在今年8月份完成最終的標準化 (RFC 8446) 。安全

2、TLS 1.3協議好在哪?

安全強化,TLS1.3依循極簡主義的設計哲學,移除並修復了舊版本協議中的壞味道,將密鑰交換、對稱加解密、壓縮等環節中可能存在的安全隱患剔除,防範於未然。
性能提高,TLS1.3在提升效率方面進行了大量改進,特別是對SSL握手過程進行了從新設計,將握手交互延時從2-RTT下降至1-RTT甚至是0-RTT。在網絡環境較差或節點距離較遠的狀況下,這種優化能節省幾百毫秒的時間。這幾百毫秒每每就能決定用戶下一步的行爲是繼續瀏覽網頁仍是關閉網頁。服務器

一、安全強化

TLS1.3依循極簡主義的設計哲學,移除並修復了舊版本協議中的壞味道,將密鑰交換、對稱加解密、壓縮等環節中可能存在的安全隱患剔除,防範於未然。網絡

1.1 密鑰交換

1.1.1 徹底支持PFSsession

TLS1.3協議中選取的密鑰交換算法均支持前向安全性。斯諾登事件以後互聯網企業開始重視加密算法的前向安全性,防止私鑰被破解以後歷史數據也能被解密成明文。
爲了達到上述安全目的,TLS1.3協議中廢除了不支持前向安全性的RSA和靜態DH密鑰交換算法。併發

1.1.2 廢棄DSA證書運維

DSA證書做爲歷史遺留產物,因安全性差,從未被大規模應用,故在TLS1.3協議中被廢棄。性能

1.1.3 RSA填充模式更改

協議中規定RSA填充模式使用PSS。

1.1.4 禁用自定義的DH組參數

若是選用了不「安全」的素數做爲DH的組參數,而且使用靜態DH密碼套件或使用默認OpenSSL配置的DHE加密套件(特別是SSL_OP_SINGLE_DH_USE選項未設置),就很容易受到 Key Recovery Attack 攻擊。 所以TLS1.3協議中禁用自定義的DH組參數。

1.2 對稱加密

1.2.1 禁用CBC模式

針對CBC模式加密算法的攻擊,歷史上出現過兩次,分別是2011年BEAST和2013年Lucky 13,實踐證實這種對稱加密模式確實存在安全隱患。

1.2.2 禁用RC4流加密算法

2011年9月,研究人員發現了BEAST攻擊,該攻擊針對全部基於CBC模式的加密算法。爲解決這個問題,專家建議採用非CBC模式且普及率較高的RC4算法做爲替代方案,由此RC4算法獲得普遍應用。

隨着TLS版本的演進,BEAST攻擊可經過升級到新版本解決,沒必要要採用RC4這種陳舊算法來替代。另外,2013年英國皇家哈洛威學院的研究人員發現了一種針對TLS的攻擊,該攻擊能夠從RC4算法加密的密文中恢復出少許明文,證實了這種算法沒法提供讓人放心的安全等級。

爲防止RC4算法被完全破解,致使以前加密的網絡流量被解密出現嚴重的安全事故,互聯網公司逐漸廢棄了這個算法。2014年,CloudFlare將RC4算法的優先級從最高降爲最低。2015年,IETF組織在rfc7465中明確指出要禁用RC4流加密算法。

1.2.3 禁用SHA1

早在2005年研究機構就發現SHA1存在理論上的漏洞,可能形成碰撞攻擊。
2013年開始微軟、Google、Symantec等相關廠商相繼公佈SHA1證書的升級計劃並宣佈2017年將開始中止信任SHA1證書。
2017年初Google與荷蘭研究機構CWI Amsterdam共同宣佈破解SHA1,將SHA1的碰撞攻擊從理論轉變爲現實。

1.3 禁用TLS壓縮

因爲TLS壓縮存在安全漏洞,TLS1.3協議刪除了該特性。該漏洞表現爲經過CRIME攻擊可竊取啓用數據壓縮特性的HTTPS或SPDY協議傳輸的Cookie。在成功解讀身份驗證Cookie後,攻擊者可實行會話劫持並發動進一步攻擊。

1.4 加密握手消息

TLS1.3協議中規定在ServerHello消息以後的握手信息須要加密。TLS1.2及以前版本的協議中各類擴展信息在ServerHello中以明文方式發送,新版本中可在加密以後封裝到EncryptedExtension消息中,在ServerHello消息以後發送,提升數據安全性。

二、效率提高

對於互聯網服務而言更快的頁面加載意味着更好的用戶體驗,從而也能帶動產品銷售的提高。

HTTPS在提升網絡安全的同時卻增長了額外的性能消耗,包括額外的SSL握手交互過程,數據加解密對CPU的消耗等。TLS1.3在提升效率方面進行了大量改進,特別是對SSL握手過程進行了從新設計,將握手交互延時從2-RTT下降至1-RTT甚至是0-RTT。在網絡環境較差或節點距離較遠的狀況下,這種優化能節省幾百毫秒的時間。這幾百毫秒每每就能決定用戶下一步的行爲是繼續瀏覽網頁仍是關閉網頁。

2.1 2-RTT

下面以ECDHE密鑰交換算法爲例,介紹下TLS1.2協議完整的SSL握手過程,以下圖所示。

首先客戶端發送ClientHello消息,該消息中主要包括客戶端支持的協議版本、加密套件列表及握手過程須要用到的ECC擴展信息;
服務端回覆ServerHello,包含選定的加密套件和ECC擴展;發送證書給客戶端;選用客戶端提供的參數生成ECDH臨時公鑰,同時回覆ServerKeyExchange消息;
客戶端接收ServerKeyExchange後,使用證書公鑰進行簽名驗證,獲取服務器端的ECDH臨時公鑰,生成會話所須要的共享密鑰;生成ECDH臨時公鑰和ClientKeyExchange消息發送給服務端;
服務器處理ClientKeyExchange消息,獲取客戶端ECDH臨時公鑰;服務器生成會話所須要的共享密鑰;發送密鑰協商完成消息給客戶端;
雙方使用生成的共享密鑰對消息加密傳輸,保證消息安全。
從上述過程能夠看出,在TLS1.2中須要加密套件協商、密鑰信息交換、ChangeCipherSpec協議通告等過程,須要消耗2-RTT的握手時間,這是形成HTTPS協議較慢的一個重要緣由。

2.2 1-RTT

TLS1.3中提供1-RTT的握手機制,以ECDHE密鑰交換過程爲例,握手過程以下。將客戶端發送ECDH臨時公鑰的過程提早到ClientHello ,同時刪除了ChangeCipherSpec協議簡化握手過程,使第一次握手時只須要1-RTT。

客戶端發送ClientHello消息,該消息主要包括客戶端支持的協議版本、DH密鑰交換參數列表KeyShare;
服務端回覆ServerHello,包含選定的加密套件;發送證書給客戶端;使用證書對應的私鑰對握手消息簽名,將結果發送給客戶端;選用客戶端提供的參數生成ECDH臨時公鑰,結合選定的DH參數計算出用於加密HTTP消息的共享密鑰;服務端生成的臨時公鑰經過KeyShare消息發送給客戶端;
客戶端接收到KeyShare消息後,使用證書公鑰進行簽名驗證,獲取服務器端的ECDH臨時公鑰,生成會話所須要的共享密鑰;
雙方使用生成的共享密鑰對消息加密傳輸,保證消息安全。

2.3 0-RTT

爲使TLS協議的性能獲得極致提高,TLS 1.3提出0-RTT工做模式。對於客戶最近訪問過的網站,能夠在第一次交互時就將加密數據發送給服務器。
具體的實現過程以下:
客戶端和服務端經過TLS session複用或外部輸入的方式共享PSK,這種狀況下,容許客戶端在第一次交互的ClientHello消息中包含應用數據,該數據使用PSK加密。
0-RTT模式不具備前向安全性,且消息可能被用做重放攻擊,因此安全性較低,需慎重使用。

TLS 1.2與TLS 1.3對比總結

相比TLSv1.2,TLSv1.3主要的優點以下:
性能提高:徹底握手場景下,TLSv1.3握手消耗1-RTT;會話複用的場景,TLSv1.3握手消耗0-RTT;均比TLSv1.2少一個RTT。
安全提高:TLSv1.3徹底支持PFS(即徹底前向安全)的密鑰交換算法;禁用有安全漏洞的加密套件;對ServerHello消息以後的握手信息加密。

阿里雲CDN支持TLS1.3狀況

當前阿里雲CDN已經支持TLS 1.3的標準化版本,客戶能夠經過控制檯自主開啓該功能。
具體開啓方式是:
1.登陸CDN控制檯。
2.在左側導航欄,單擊域名管理。
3.在域名管理頁面,單擊目標域名對應的管理。
4.在指定域名的左側導航欄,單擊HTTPS配置。
5.在TLS版本控制區域,根據所需開啓或關閉對應的TLS版本。

TLS協議說明以下表所示:

具體操做方式能夠點擊進入文檔查看

歡迎你們開啓TLS 1.3,一塊兒來使用阿里雲CDN更加安全和快速的服務。

阿里雲CDN介紹

做爲國內CDN行業的絕對領導者,阿里雲聚焦於超低延時、邊緣安全、智能中臺等領域,不斷尋求突破性技術進展。目前,阿里雲CDN已建成從智能運維,實時數據監控、全網動態實施故障感知到智能自修復的全鏈路智能運營支撐平臺。前不久,阿里雲發佈超低延時直播服務RTS,引領千萬級直播場景進入毫秒時代。此後,阿里雲將雲盾WAF性能注入CDN節點,推出一站式分發+安全解決方案。在7月份的阿里雲開發者大會中,阿里雲宣佈CDN邊緣腳本EdgeScript正式公測,幫助開發者生態快速構建CDN個性化業務體系,贏得敏捷的交付收益。

目前,阿里雲CDN在全球部署2800+節點,具有130Tb帶寬儲備,服務於全球超30萬客戶,天天爲超過百萬的域名加速,承接數十億次的刷新。


本文做者:樰籬

原文連接

本文爲阿里雲內容,未經容許不得轉載。

相關文章
相關標籤/搜索