文章分享

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

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

TLS 1.3概述

摘錄:HCTech 無錫和控電子   時(shí)間:2020-08-07   訪問量:3846

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

TLS 1.3是IETF正在制定的TLS 新標(biāo)準(zhǔn)。TLS 自標(biāo)準(zhǔn)化至今已有近20年的時(shí)間,自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è)計(jì)本身存在的不足(如幸運(yùn)十三攻擊[1]、三次握手攻擊[2]、跨協(xié)議攻擊 [3]等),或利用TLS所用密碼原語本身的缺陷(如RC4加密 [4]、RSA-PKCS#1 v1.5加密 [5]等),或利用TLS實(shí)現(xiàn)庫(kù)中的漏洞(如心臟出血攻擊[6]等)。面對(duì)這一系列的攻擊,一直以來我們采取的措施是“打補(bǔ)丁”,即針對(duì)新的攻擊做新的修補(bǔ)。然而,由于TLS的應(yīng)用規(guī)模過于龐大,不斷地打補(bǔ)丁在如此大規(guī)模的實(shí)際應(yīng)用中并不容易全面實(shí)施。除此之外,交互雙方必須運(yùn)行復(fù)雜的TLS握手協(xié)議才能開始傳輸信息,很多情況下我們希望在握手輪數(shù)和握手延遲方面可以有更多的選擇。出于以上以及其他種種因素的考慮,IETF從2014年開始著手制定一個(gè)“clean”的TLS1.3。

問題一:TLS 1.3的制定過程

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

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

問題二:為什么是TLS 1.3

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

圖一:TLS 1.2握手框架

 

圖二:TLS 1.3握手框架

問題三:TLS 1.3做出了哪些重大改動(dòng)

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

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

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

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

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

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

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

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

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

從目前發(fā)布的最新草案來看,TLS 1.3主要支持四種握手模式:(1)基于(EC)DHE密鑰交換的握手模式;(2)基于PSK的會(huì)話重啟,由預(yù)共享密鑰PSK進(jìn)行快速簡(jiǎn)短的握手;(3)會(huì)話重啟與(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ù)器在任何時(shí)刻向客戶端發(fā)起身份認(rèn)證的申請(qǐng),作為回復(fù),客戶端會(huì)發(fā)送證書以及對(duì)本次連接握手內(nèi)容的簽名,除此之外,還會(huì)發(fā)送密鑰確認(rèn)消息以提供對(duì)整個(gè)握手消息和會(huì)話密鑰的確認(rèn)。該條認(rèn)證消息是在記錄層的安全信道中傳輸?shù)摹?/p>

總結(jié):

TLS 1.3 draft 19發(fā)布之后,起草者Eric Rescorla在討論列表中列出了仍待解決的問題供大家討論 [14],由此可見TLS 新標(biāo)準(zhǔn)的制定工作仍然在進(jìn)行中,而對(duì)于TLS 1.3的研究也會(huì)成為未來的熱點(diǎn)方向。與此同時(shí),TLS 1.2仍然是目前甚至未來相當(dāng)一段時(shí)間內(nèi)被普遍使用或者兼容的TLS 版本,這可能導(dǎo)致TLS 1.2對(duì)TLS 1.3的安全性帶來影響,這也是未來研究的重要方向。

部分參考文獻(xiàn):

[1]AlFardan N J, Paterson K G. Lucky thirteen: Breaking the TLS and DTLS record protocols [C]. Proceedings of 2013 IEEE Symposium on Security and Privacy (S&P), 2013. 526–540.

[2]Bhargavan K, Lavaud A D, Fournet C, et al. Triple handshakes and cookie cutters: Breaking and fixing authentication over TLS [C]. Proceedings of 2014 IEEE Symposium on Security and Privacy (S&P), 2014. 98–113.

[3]Mavrogiannopoulos N, Vercauteren F, Velichkov V, et al. A cross-protocol attack on the TLS protocol[C]//Proceedings of the 2012 ACM conference on Computer and communications security. ACM, 2012: 62-72.

[4]AlFardan N J, Bernstein D J, Paterson K G, et al. On the Security of RC4 in TLS [C]. Proceedings of 22nd USENIX Security Symposium, 2013. 305–320.

[5]Bleichenbacher D. Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1 [C]. Advances in Cryptology—CRYPTO’98, 1998. 1–12.

[6]Codenomicon. The Heartbleed Bug [EB/OL]. http://heartbleed.com, April 2014.

[7]https://www.ietf.org/mail-archive/web/tls/current/maillist.html.

[8]Rescorla E. The Transport Layer Security (TLS) Protocol Version 1.3 – draft-ietf-tls-tls13-09[S]. https://tools.ietf.org/html/draft-ietf-tls-tls13-19, March, 2017.

[9]Dowling B, Fischlin M, Günther F, et al. A cryptographic analysis of the TLS 1.3 handshake protocol candidates [C]. Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security (CCS), 2015. 1197–1210.

[10]Cremers C, Horvat M, Scott S, et al. Automated analysis and verification of TLS 1.3: 0-RTT, resumption and delayed authentication[C]//Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016: 470-485.

[11]Fischlin M, Günther F, Schmidt B, et al. Key confirmation in key exchange: a formal treatment and implications for TLS 1.3[C]//Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016: 452-469.

[12]Li X, Xu J, Zhang Z, et al. Multiple handshakes security of TLS 1.3 candidates[C]//Security and Privacy (SP), 2016 IEEE Symposium on. IEEE, 2016: 486-505.

[13]Krawczyk H, Wee H. The OPTLS protocol and TLS 1.3[C]//Security and Privacy (EuroS&P), 2016 IEEE European Symposium on. IEEE, 2016: 81-96.

[14]https://www.ietf.org/mail-archive/web/tls/current/msg22593.html.

作者簡(jiǎn)介:

李新宇,本科、碩士就讀于中國(guó)科學(xué)技術(shù)大學(xué),現(xiàn)為中國(guó)科學(xué)院軟件研究所在讀博士生,目前的研究方向主要為密碼協(xié)議的設(shè)計(jì)與安全性分析。


上一篇:TLS 1.3概述

下一篇:SSL和TLS部署注意事項(xiàng)

在線咨詢

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

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

在線咨詢

免費(fèi)通話

24小時(shí)免費(fèi)咨詢

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

免費(fèi)通話

微信掃一掃

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