文章分享

開放、平等、協(xié)作、快速、分享

當(dāng)前位置:首頁>文章分享

TLS 1.3概述

摘錄:HCTech 無錫和控電子   時間:2020-08-07   訪問量:3680

作者:李新宇 中科院軟件所

TLS 1.3是IETF正在制定的TLS 新標(biāo)準(zhǔn)。TLS 自標(biāo)準(zhǔn)化至今已有近20年的時間,自1999年TLS 1.0標(biāo)準(zhǔn)頒布,到后來的TLS 1.1(2006年)和目前得到廣泛使用的TLS 1.2(2008年),TLS是保障網(wǎng)絡(luò)傳輸安全最重要的安全標(biāo)準(zhǔn)之一。然而,廣泛的應(yīng)用也使得TLS成為了攻擊的“眾矢之的”,這些攻擊或利用TLS設(shè)計本身存在的不足(如幸運十三攻擊[1]、三次握手攻擊[2]、跨協(xié)議攻擊 [3]等),或利用TLS所用密碼原語本身的缺陷(如RC4加密 [4]、RSA-PKCS#1 v1.5加密 [5]等),或利用TLS實現(xiàn)庫中的漏洞(如心臟出血攻擊[6]等)。面對這一系列的攻擊,一直以來我們采取的措施是“打補(bǔ)丁”,即針對新的攻擊做新的修補(bǔ)。然而,由于TLS的應(yīng)用規(guī)模過于龐大,不斷地打補(bǔ)丁在如此大規(guī)模的實際應(yīng)用中并不容易全面實施。除此之外,交互雙方必須運行復(fù)雜的TLS握手協(xié)議才能開始傳輸信息,很多情況下我們希望在握手輪數(shù)和握手延遲方面可以有更多的選擇。出于以上以及其他種種因素的考慮,IETF從2014年開始著手制定一個“clean”的TLS1.3。

問題一:TLS 1.3的制定過程

TLS 1.3的制定過程是“透明”的,即IETF發(fā)布的草案中會留下若干問題,相關(guān)領(lǐng)域的專家學(xué)者可以就這些問題或者自己有疑問的其他問題通過郵件系統(tǒng)進(jìn)行在線討論[7],而討論結(jié)果也會在更新后的草案版本中有所體現(xiàn)。目前最新發(fā)布的草案版本是TLS 1.3 draft 19 [8](2017年3月)。

除此之外,近兩年也出現(xiàn)了一系列對TLS 1.3草案的分析工作,如[9-13],在標(biāo)準(zhǔn)正式頒布之前,這對于我們對TLS的全面理解以及TLS安全防護(hù)的設(shè)計是大有幫助的。

問題二:為什么是TLS 1.3

有一個比較有趣的細(xì)節(jié),TLS新標(biāo)準(zhǔn)的名字并不是TLS 2.0或者其他名字,而是TLS 1.3,即延續(xù)了TLS 1.0、1.1和1.2的名稱。這說明1.3是之前版本的升級,TLS 協(xié)議的大致框架并未發(fā)生本質(zhì)改變。下面兩圖為TLS 1.2和TLS 1.3握手協(xié)議的對比(細(xì)節(jié)請參照標(biāo)準(zhǔn)文檔)。然而,TLS 1.3是TLS標(biāo)準(zhǔn)更新過程中變動最大的一次,除了對于運行過程中的若干問題如密碼套件的選擇、密鑰的計算方式、握手消息的發(fā)送方式等做了更改之外,TLS 1.3還增加了新的握手模式,以滿足不同應(yīng)用場景下的需求。

圖一:TLS 1.2握手框架

 

圖二:TLS 1.3握手框架

問題三:TLS 1.3做出了哪些重大改動

與之前版本類似,TLS 1.3協(xié)議可分為握手協(xié)議和記錄協(xié)議,前者負(fù)責(zé)密碼組件的協(xié)商以及安全信道的建立,后者則是在已建立的安全信道中傳輸秘密信息。TLS 1.3設(shè)計的第一個重要目標(biāo)就是避免之前版本存在的缺陷,為此,一部分相關(guān)的改動如下:

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

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

(3)不再支持重協(xié)商握手模式。

(4)握手消息采取了加密操作,如圖二中標(biāo)有{}的部分。

(5)實現(xiàn)了握手協(xié)議和記錄協(xié)議的密鑰分離。

(6)實現(xiàn)了會話密鑰與整個握手消息的綁定。

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

相應(yīng)的改動還有很多,新發(fā)布的草案中也會明確說明相比之前版本所做的改動。這些改動不僅可以避免之前版本存在的問題,如(6)使得TLS可以避免三次握手攻擊。同時,也使得TLS的可證明安全分析工作更加方便,如(5)使得TLS 1.3可以實現(xiàn)密鑰不可區(qū)分性質(zhì)的證明,而在TLS1.2中,由于握手協(xié)議和記錄協(xié)議的重疊,無法實現(xiàn)這一目標(biāo)的證明。

從目前發(fā)布的最新草案來看,TLS 1.3主要支持四種握手模式:(1)基于(EC)DHE密鑰交換的握手模式;(2)基于PSK的會話重啟,由預(yù)共享密鑰PSK進(jìn)行快速簡短的握手;(3)會話重啟與(EC)DHE結(jié)合的握手,可以提供前向安全性;(4)基于PSK的0-RTT(round-trip time)握手,客戶端利用PSK導(dǎo)出密鑰,在第一輪就發(fā)送秘密數(shù)據(jù),降低了握手的延遲。在此之后還可以繼續(xù)進(jìn)行(EC)DHE的密鑰交換完成完整的握手(該步為可選)。注意到,0-RTT握手第一輪中加密數(shù)據(jù)所使用的密鑰并沒有服務(wù)器的貢獻(xiàn),因此可能存在重放攻擊。另外,握手模式(4)與(2)或者(3)的區(qū)別僅在于是否在第一輪就傳輸秘密數(shù)據(jù)。

另外,TLS 1.3還定義了一種特殊的認(rèn)證方式:后握手認(rèn)證(post-handshake authentication)。在TLS握手過程中,客戶端的認(rèn)證是可選的,所謂后握手認(rèn)證指的是握手結(jié)束后,允許服務(wù)器在任何時刻向客戶端發(fā)起身份認(rèn)證的申請,作為回復(fù),客戶端會發(fā)送證書以及對本次連接握手內(nèi)容的簽名,除此之外,還會發(fā)送密鑰確認(rèn)消息以提供對整個握手消息和會話密鑰的確認(rèn)。該條認(rèn)證消息是在記錄層的安全信道中傳輸?shù)摹?/p>

上一篇:PSK在TLS中的應(yīng)用

下一篇:TLS 1.3概述

在線咨詢

點擊這里給我發(fā)消息 售前咨詢專員

點擊這里給我發(fā)消息 售后服務(wù)專員

在線咨詢

免費通話

24小時免費咨詢

請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號

免費通話

微信掃一掃

微信聯(lián)系
返回頂部