什么是TLS?TLS的發(fā)展史

在之前的文章中,我們講了TLS和SSL的區(qū)別,那么我們今天就來全面了解一下什么是TLS。

什么是TLS?

TLS全程為Transport Layer Security,中文名叫做傳輸層安全性協(xié)議,和它的前身SSL一樣,是一種旨在提供計(jì)算機(jī)網(wǎng)絡(luò)上的安全通信的加密協(xié)議。TLS最早版本發(fā)布于1999年,當(dāng)前最新版本為發(fā)布于2018年8月的TLS 1.3。

TLS

TLS的發(fā)展史

  1. SSL 1.0僅是網(wǎng)景內(nèi)部版本,由于嚴(yán)重Bug,從未公開發(fā)布;
  2. SSL 2.0 發(fā)布于1995年2月,同樣存在一些安全漏洞,已于2011年廢棄;
  3. SSL 3.0 發(fā)布于1996年,經(jīng)過完全重新設(shè)計(jì),也是一度廣泛使用的版本,但由于易遭臭名昭著的POODLE攻擊,同樣在2015年已被廢棄;
  4. TLS 1.0,發(fā)布于1999年1月,為協(xié)議從網(wǎng)景移交到IETF后的第一個(gè)版本,該版本變化并不大,已于2020年被廢棄;
  5. TLS 1.1,發(fā)布于2006年4月,修復(fù)了安全漏洞,增強(qiáng)加密強(qiáng)度,同樣于2020年被廢棄;
  6. TLS 1.2,發(fā)布于2008年8月,強(qiáng)化了支持的算法包,增加了擴(kuò)展定義,也是目前的使用的主流版本;
  7. TLS 1.3,發(fā)布于2018年8月,在強(qiáng)化安全性的同時(shí),引入了0-RTT模式,降低了傳輸延遲,增強(qiáng)了傳輸性能。

TLS

TLS 1.3協(xié)議層級架構(gòu)

在網(wǎng)絡(luò)領(lǐng)域,為了實(shí)現(xiàn)解耦基本都遵循了層級軟件架構(gòu),TLS協(xié)議位于下層TCP協(xié)議及上層(即應(yīng)用層)協(xié)議之間。

由于TLS對交互信息的時(shí)序有規(guī)定,所以下層協(xié)議必須能夠提供這種時(shí)序服務(wù),因此TLS不能使用UDP來傳輸。針對UDP的安全應(yīng)用場景,可參照DTLS規(guī)范。

同樣在TLS協(xié)議內(nèi)部也是基于分層架構(gòu),分為兩層:下層為記錄層協(xié)議,為TLS上層子協(xié)議為傳送提供分片、消息加密及加密后報(bào)傳輸,同時(shí)對接收到的數(shù)據(jù)進(jìn)行驗(yàn)證、解密、重新組裝,然后提交給高層的應(yīng)用層;上層包含4種子協(xié)議為握手協(xié)議、警報(bào)協(xié)議、應(yīng)用數(shù)據(jù)協(xié)議及Change_cipher_spec。其中change_cipher_spec只是為了兼容性存在,其余每個(gè)子協(xié)議都具有特定的作用,組合起來實(shí)現(xiàn)完整的協(xié)議功能。

TLS

TLS 1.3的升級

  1. 對原有的對稱算法列表進(jìn)行調(diào)整,只支持使用帶有關(guān)聯(lián)數(shù)據(jù)的認(rèn)證加密(AEAD)算法,增強(qiáng)安全性。
  2. 以犧牲某些安全屬性為代價(jià)添加了0-RTT模式,節(jié)省了特定場景下應(yīng)用程序數(shù)據(jù)的連接建立的往返時(shí)間,減少延遲,提升性能。
  3. 靜態(tài)RSA和Diffie-Hellman密碼套件已被刪除;所有基于公鑰的密鑰交換機(jī)制現(xiàn)在都提供前向保密性,增強(qiáng)安全性。
  4. ServerHello之后的所有握手消息都進(jìn)行加密,提高安全性。
  5. 重新設(shè)計(jì)密鑰派生函數(shù),用基于HMAC的密鑰提取和密鑰擴(kuò)展函數(shù)(HKDF)作原語,規(guī)范密鑰生成算法。
  6. 重組握手狀態(tài)機(jī)使其更加前后一致,并移除了多余的消息,進(jìn)一步提升性能。
  7. 壓縮,自定義DHE組和DSA已被刪除。壓縮可能帶來安全風(fēng)險(xiǎn)已被刪除,增強(qiáng)安全性。

TLS

TLS 1.3協(xié)議發(fā)布距TLS 1.2 版本已有十年時(shí)間,在這期間互聯(lián)網(wǎng)需求及密碼學(xué)都發(fā)生了翻天覆地的變化,經(jīng)過長時(shí)間需求累計(jì)和修訂,此版本相較之前版本,無論是性能還是安全方面,TLS 1.3都有了較大的發(fā)展,所以還是更推薦使用TLS 1.3協(xié)議。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。