TLS和SSL一樣嗎?有什么區(qū)別?

之前的文章中,我們談及了SSL,今天我們就來(lái)聊一聊它的“孿生兄弟”——TLS。

TLS
圖片來(lái)源于網(wǎng)絡(luò)

說起TLS,就不得不提起SSL,它們就像“孿生兄弟”,一樣但又不完全一樣。

什么是SSL?

SSL(Secure Socket Layer 安全套接層)是TCP/IP協(xié)議中基于HTTP之下,TCP之上的一個(gè)可選協(xié)議層。

SSL
圖片來(lái)源于網(wǎng)絡(luò)

起初HTTP在傳輸數(shù)據(jù)時(shí)使用的是明文,是不安全的。為了解決這個(gè)隱患,網(wǎng)景(Netscap)公司推出了SSL。而越來(lái)越多的人也開始使用HTTPS(HTTP+SSL)。

什么是TLS?

HTTPS的推出受到了很多人的歡迎,在SSL更新到3.0時(shí),?互聯(lián)網(wǎng)工程任務(wù)組(IETF)對(duì)SSL3.0進(jìn)行了標(biāo)準(zhǔn)化,并添加了少數(shù)機(jī)制,并將其更名為TLS1.0(Transport Layer Security 安全傳輸層協(xié)議)。

TLS
圖片來(lái)源于網(wǎng)絡(luò)

TLS與SSL之間的主要區(qū)別:

  1. 版本號(hào):TLS記錄格式與SSL記錄格式相同,但版本號(hào)的值不同,TLS的版本1.0使用的版本號(hào)為SSLv3.1。
  2. 報(bào)文鑒別碼:SSLv3.0和TLS的MAC算法及MAC計(jì)算的范圍不同。TLS使用RFC-2104定義的HMAC算法。SSLv3.0使用了相似的算法,兩者差別在于SSLv3.0中,填充字節(jié)與密鑰之間采用的是連接運(yùn)算,而HMAC算法采用的異或運(yùn)算。但是兩者的安全程度是相同的。
  3. 偽隨機(jī)函數(shù):TLS使用了稱為PRF的偽隨機(jī)函數(shù)來(lái)將密鑰擴(kuò)展成數(shù)據(jù)塊,是更安全的方式。
  4. 報(bào)警代碼:TLS支持幾乎所有的SSLv3.0報(bào)警代碼,而且TLS還補(bǔ)充定義了很多報(bào)警代碼,如解密失?。╠ecryption_failed)、記錄溢出(record_overflow)、未知CA(unknown_ca)、拒絕訪問(access_denied)等。
  5. 密文族和客戶證書:SSLv3.0和TLS存在少量差別,即TLS不支持Fortezza密鑰交換、加密算法和客戶證書。
  6. certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息計(jì)算MD5和SHA-1散列碼時(shí),計(jì)算的輸入有少許差別,但安全性相當(dāng)。
  7. 加密計(jì)算:TLS和SSLv3.0在計(jì)算主密值(master secret)時(shí)采用的方式不同。
  8. 填充:用戶數(shù)據(jù)加密之前需要增加的填充字節(jié)。在SSL中,填充后的數(shù)據(jù)長(zhǎng)度喲啊達(dá)到密文快長(zhǎng)度的最小整數(shù)倍。而在TLS中,填充后的數(shù)據(jù)長(zhǎng)度可以是密文塊長(zhǎng)度的任意整數(shù)倍(但填充的最大長(zhǎng)度為255字節(jié)),這種方式可以防止基于對(duì)報(bào)文長(zhǎng)度進(jìn)行分析的攻擊。
TLS和SSL
圖片來(lái)源于網(wǎng)絡(luò)

簡(jiǎn)單的來(lái)說可以把TLS看做是SSL3.0的升級(jí)版,由于它們所支持的加密算法不同,所以TLS與SSL3.0不能互操作。另外SSL表示安全套接字層,而TLS表示傳輸層安全。雖然它們之間有些區(qū)別,但是SSL和TLS協(xié)議的目的都是為互聯(lián)網(wǎng)通信提供安全及數(shù)據(jù)完整性保障。

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