1. 程式人生 > >TLS 1.3:網路安全加密升級

TLS 1.3:網路安全加密升級

TLS 1.3 是IETF(國際網際網路工程任務組)在2014年開始著手製定的另一個新協議,其安全等級是基於TLS1.1和TLS1.2的基礎上在進一步加強。經過三年多的籌備,TLS 1.3呈現出一種未上市先爆紅的狀態,令大家都對TLS 1.3翹首以待。近日IETF(國際網際網路工程任務組)正在進行第27屆草案。這意味著,TLS 1.3的釋出時間越來越接近。

TLS 自標準化至今已有近20年的時間,1999年TLS 1.0標準頒佈;2006年TLS 1.1釋出;兩年後(即2008年),目前得到廣泛使用的TLS 1.2也上市;TLS 1.3將會是TLS協議的第四代。雖然TLS 1.2仍未被破解,但是網際網路的世界千變萬化,所以須做好未雨綢繆的準備。因此也成就了TLS是保障網路傳輸安全最重要的安全標準之一。

與前面三代的TLS相比,TLS 1.3是TLS標準更新過程中變動最大的一次,除了對於執行過程中的若干問題如密碼套件的選擇、金鑰的計算方式、握手訊息的傳送方式等做了更改之外,TLS 1.3還增加了新的握手模式,以滿足不同應用場景下的需求。

TLS 1.2與TLS 1.3 的對比 TLS 1.2 TLS 1.2握手過程,與TLS 1.0和1.1類似,涉及一系列的客戶端和伺服器之間背後的來往通訊。

第1步:客戶端向服務端傳送 Client Hello 訊息,該訊息由加密資訊組成,支援的協議和客戶端支援的加密套件(Support Ciphers)和 SSL Version 等資訊。也包含一個隨機字元。

步驟2:響應客戶端的“客戶端問候”訊息,伺服器以“伺服器問候”訊息響應。該訊息包括伺服器從客戶端提供的CipherSuite中選擇的CipherSuite。伺服器還會將其證書和會話ID以及另一個隨機值一起傳送。

第3步:客戶端驗證伺服器傳送的證書。驗證完成後,傳送一個隨機字串,也稱為“金鑰”,並使用伺服器證書的公鑰對其進行加密。

步驟4:伺服器收到金鑰,客戶端和伺服器都會生成一個主金鑰以及會話金鑰(臨時金鑰)。這些會話金鑰將用於對稱加密資料。

第5步:客戶端向伺服器傳送“更改密碼規範”訊息,通過會話金鑰的幫助讓其知道它將切換到對稱加密。除此之外,它還發送“客戶端已完成”的訊息。

步驟6:回覆客戶端的“更改密碼規範”訊息時,伺服器執行相同操作並將其安全狀態切換為對稱加密。伺服器通過傳送“伺服器已完成”訊息來結束握手。

有上述可知,客戶端和伺服器之間需要三次往返才能完成握手。平均而言,這需要0.25秒到0.5秒之間的時間。這個數字使用者一般都察覺不到,但此刻資料傳輸還沒有開始。當比較HTTP和HTTPS站點的TTFB(第一個位元組的時間)時,與HTTP站點相比,HTTPS站點的TTFB需要更長的時間,尤其是當站點執行在HTTP / 1上時。

TLS 1.3握手 與TLS 1.2握手過程對比,TLS 1.3握手過程只需一次往返,大大加快了其相應時間。

第1步:與TLS 1.2握手類似,TLS 1.3握手從“客戶問候”訊息開始。客戶端傳送支援的密碼套件列表並猜測伺服器可能選擇的金鑰協議協議。客戶端還發送其特定金鑰協議。

第2步:在回覆“客戶端問候”訊息時,伺服器回覆它所選擇的金鑰協議。“伺服器問候”訊息還包含伺服器的金鑰共享,其證書以及“伺服器已完成”訊息。

第3步:現在,客戶端檢查伺服器證書,生成金鑰,因為它具有伺服器的金鑰共享,併發送“客戶端已完成”訊息。從這開始,資料的加密就開始了。

TLS 1.3做出了哪些重大改動 與之前版本類似,TLS 1.3協議可分為握手協議和記錄協議,前者負責密碼元件的協商以及安全通道的建立,後者則是在已建立的安全通道中傳輸祕密資訊。TLS 1.3設計的第一個重要目標就是避免之前版本存在的缺陷,為此,一部分相關的改動如下:

(1)禁止使用RSA金鑰傳輸演算法。

(2)禁止一些安全性較弱的密碼原語如MD5的使用。

(3)不再支援重協商握手模式。

(4)握手訊息採取了加密操作,如圖二中標有{}的部分。

(5)實現了握手協議和記錄協議的金鑰分離。

(6)實現了會話金鑰與整個握手訊息的繫結。

(7)記錄層只能使用AEAD(Authenticated Encryption with Additional Data)認證加密模式。

目前,TLS 1.3仍處於討論修改階段,因此TLS 1.2仍然是目前甚至未來相當一段時間內被普遍使用或者相容的TLS 版本。這可能導致TLS 1.2對TLS 1.3的安全性帶來影響,也是未來研究的重要方向。作為國內的CA機構數安時代(GDCA)也是十分期待TLS 1.3 協議的釋出,這對於我們自主的SSL證書來說也是技術的升級更新。

文章轉載https://www.trustauth.cn/wiki/25276.html