SSL vs TLS TLS和SSL一樣嗎?有什麼區別?

TLS和SSL一樣嗎?有什麼區別?

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

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

****什麼是SSL?****

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

起初HTTP在傳輸數據時使用的是明文,是不安全的。爲了解決這個隱患,網景(Netscap)公司推出了SSL。而越來越多的人也開始使用HTTPS(HTTP+SSL)。

****什麼是TLS?****

HTTPS的推出受到了很多人的歡迎,在SSL更新到3.0時, 互聯網工程任務組(IETF)對SSL3.0進行了標準化,並添加了少數機制,並將其更名爲TLS1.0(Transport Layer Security 安全傳輸層協議)。

****TLS與SSL之間的主要區別:****

1、版本號:TLS記錄格式與SSL記錄格式相同,但版本號的值不同,TLS的版本1.0使用的版本號爲SSLv3.1。

2、報文鑑別碼:SSLv3.0和TLS的MAC算法及MAC計算的範圍不同。TLS使用RFC-2104定義的HMAC算法。SSLv3.0使用了相似的算法,兩者差別在於SSLv3.0中,填充字節與密鑰之間採用的是連接運算,而HMAC算法採用的異或運算。但是兩者的安全程度是相同的。

3、僞隨機函數:TLS使用了稱爲PRF的僞隨機函數來將密鑰擴展成數據塊,是更安全的方式。

4、報警代碼:TLS支持幾乎所有的SSLv3.0報警代碼,而且TLS還補充定義了很多報警代碼,如解密失敗(decryption_failed)、記錄溢出(record_overflow)、未知CA(unknown_ca)、拒絕訪問(access_denied)等。

5、密文族和客戶證書:SSLv3.0和TLS存在少量差別,即TLS不支持Fortezza密鑰交換、加密算法和客戶證書。

6、certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息計算MD5和SHA-1散列碼時,計算的輸入有少許差別,但安全性相當。

7、加密計算:TLS和SSLv3.0在計算主密值(master secret)時採用的方式不同。

8、填充:用戶數據加密之前需要增加的填充字節。在SSL中,填充後的數據長度喲啊達到密文快長度的最小整數倍。而在TLS中,填充後的數據長度可以是密文塊長度的任意整數倍(但填充的最大長度爲255字節),這種方式可以防止基於對報文長度進行分析的攻擊。

簡單的來說可以把TLS看做是SSL3.0的升級版,由於它們所支持的加密算法不同,所以TLS與SSL3.0不能互操作。另外SSL表示安全套接字層,而TLS表示傳輸層安全。雖然它們之間有些區別,但是SSL和TLS協議的目的都是爲互聯網通信提供安全及數據完整性保障。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章