最新版本的TLS(Transport Layer Security,傳輸層安全協(xié)議)是IETF(Internet Engineering Task Force,Internet工程任務(wù)組)制定的一種新的協(xié)議,它建立在SSL 3.0協(xié)議規范之上,是SSL 3.0的后續版本。在TLS與SSL3.0之間存在著(zhù)顯著(zhù)的差別,主要是它們所支持的加密算法不同,所以TLS與SSL3.0不能互操作。
1.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使用了稱(chēng)為PRF的偽隨機函數來(lái)將密鑰擴展成數據塊,是更安全的方式。
4)報警代碼:TLS支持幾乎所有的SSLv3.0報警代碼,而且TLS還補充定義了很多報警代碼,如解密失?。?/font>decryption_failed)、記錄溢出(record_overflow)、未知CA(unknown_ca)、拒絕訪(fǎng)問(wèn)(access_denied)等。
5)密文族和客戶(hù)證書(shū):SSLv3.0和TLS存在少量差別,即TLS不支持Fortezza密鑰交換、加密算法和客戶(hù)證書(shū)。
6)certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息計算MD5和SHA-1散列碼時(shí),計算的輸入有少許差別,但安全性相當。
7)加密計算:TLS與SSLv3.0在計算主密值(master secret)時(shí)采用的方式不同。
8)填充:用戶(hù)數據加密之前需要增加的填充字節。在SSL中,填充后的數據長(cháng)度要達到密文塊長(cháng)度的最小整數倍。而在TLS中,填充后的數據長(cháng)度可以是密文塊長(cháng)度的任意整數倍(但填充的最大長(cháng)度為255字節),這種方式可以防止基于對報文長(cháng)度進(jìn)行分析的攻擊。
2.TLS的主要增強內容
TLS的主要目標是使SSL更安全,并使協(xié)議的規范更精確和完善。TLS 在SSL v3.0 的基礎上,提供了以下增強內容:
1)更安全的MAC算法;
2)更嚴密的警報;
3)“灰色區域”規范的更明確的定義;
3.TLS對于安全性的改進(jìn)
1)對于消息認證使用密鑰散列法:TLS 使用“消息認證代碼的密鑰散列法”(HMAC),當記錄在開(kāi)放的網(wǎng)絡(luò )(如因特網(wǎng))上傳送時(shí),該代碼確保記錄不會(huì )被變更。SSLv3.0還提供鍵控消息認證,但HMAC比SSLv3.0使用的(消息認證代碼)MAC 功能更安全。
2)增強的偽隨機功能(PRF):PRF生成密鑰數據。在TLS中,HMAC定義PRF。PRF使用兩種散列算法保證其安全性。如果任一算法暴露了,只要第二種算法未暴露,則數據仍然是安全的。
3)改進(jìn)的已完成消息驗證:TLS和SSLv3.0都對兩個(gè)端點(diǎn)提供已完成的消息,該消息認證交換的消息沒(méi)有被變更。然而,TLS將此已完成消息基于PRF和HMAC值之上,這也比SSLv3.0更安全。
4)一致證書(shū)處理:與SSLv3.0不同,TLS試圖指定必須在TLS之間實(shí)現交換的證書(shū)類(lèi)型。
5)特定警報消息:TLS提供更多的特定和附加警報,以指示任一會(huì )話(huà)端點(diǎn)檢測到的問(wèn)題。TLS還對何時(shí)應該發(fā)送某些警報進(jìn)行記錄。
聯(lián)系客服