
與SSL協議相比,TLS協議的優勢是獨立在應用程式外,高層協議能透明地分佈在TLS協議之上,開發人員可在TLS協議之上繼續構造自己的應用層協議,比SSL協議靈活得多。
因TLS和SSL v3.0間支持的加密算法不一樣,兩者不可互操作。
①版本號:TLS和SSL的記錄格式一樣,版本號的值不一樣,TLS 1.0使用的為SSL v3.1。
②報文鑑別碼:SSL v3.0與TLS的MAC算法及MAC計算範疇不一樣,TLS用了RFC 2104規定的HMAC算法。SSL v3.0用的算法類似,它們的不同之處就在:SSL v3.0中,填充字節和密鑰間用連接運算,而HMAC算法是異或運算。但是兩者的安全強度是相同的。
③偽隨機函數:TLS藉助PRF的偽隨機函數擴展密鑰為數據塊,這種舉措更安全。
④報警代碼:TLS支持差不多全數的SSL v3.0報警代碼,且TLS補充規定了許多報警代碼,如解密失敗、記錄溢出、未知CA、拒絕訪問等。
⑤密文族和客戶證書:SSL v3.0與TLS有些許差別,即TLS不支持Fortezza密鑰交換、加密算法和客戶證書。
⑥certificate_verify和finished消息:SSL v3.0與TLS在此消息計算MD5與SHA-1散列碼時,計算的輸入有一些差別,不過安全性差不多。
⑦加密計算:在計算主密值時,TLS和SSL v3.0用的手段不一樣。
⑧填充:用戶數據在加密前得擴大的填充字節,在SSL中,填充後的數據長度要達到密文塊長度的最小整數倍。而在TLS中,填充後的數據長度是密文塊長度的任意整數倍,這種方式可預防基於分析攻擊報文長度。
TLS的關鍵目的為讓SSL更安全,及協議的規範進一步精確、完備。TLS在SSL v3.0的基礎上,還有如下增強內容。
①更安全的MAC算法。
②更嚴密的警報。
③“灰色區域”規範的更清楚的定義。
TLS對於安全性的改進有如下幾點:
①對消息認證用密鑰散列法:TLS用“消息認證代碼的密鑰散列法”,當在開放的網絡上傳送記錄時,此代碼保證其不會被變更,SSL v3.0也可消息認證,不過HMAC相對於SSL v3.0的MAC功能更安全。
②增強的偽隨機功能(PRF):PRF生成密鑰數據。在TLS中,HMAC定義PRF。PRF藉助兩種散列算法使它安全,若任一算法暴露了,只要第二種算法未暴露,則數據仍安全。
③改進的已完成消息驗證:TLS與SSL v3.0均向兩個端點給出完成了的消息,此消息認證交換的消息未變換更新。然而,TLS把這個完成了的消息置於PRF與HMAC值上面,這也安全於SSL v3.0。
④一致證書處理:不同於SSL v3.0,TLS嘗試規定一定要在TLS之間完成交換的證書類型。
⑤特定警報消息:TLS有更多的指定與附加警報,來明確示意任意一個會話端點檢測出來的問題。TLS還記錄應發送一些警報的時間。
