隨著CBC和RC4加密算法的相繼“淪陷”,依賴SSL/TLS的企業需要引起高度重視,選擇更安全的加密算法。
最近, 一個來自數個安全研究學術機構成員組成的團隊, 又爆出了SSL的又一些漏洞。
在2013年2月, NadhemAlFardan和 Kenny Paterson發現了一個名為Luck13的攻擊方式, 這種攻擊方式主要攻擊SSL/TLS采取的CBC方式的塊加密方式。攻擊著可以通過阻斷TLS連接的方式(比如通過惡意軟件故意斷掉鏈接, TLS會自動重發), 讓發送方反復發送同一加密內容(比如cookie或者密碼的密文), TLS發送錯誤信息的時間差異的分析。 Luck13攻擊可以在較短時間內破解密文。
Nadhem和AlFardan發表了他們的發現。 建議在SSL/TLS中盡量不要使用CBC模式的塊加密算法。 可以采用如RC4這樣的流加密算法。
然而, 不到一個月, 在2013年3月, NadhemAlFardan, Dan Bernstein, Kenny Paterson, Bertram Poettering 和 Jacob Schuldt又宣布, 采用RC4 加密的SSL/TLS也存在安全漏洞。
SSL/TLS的工作原理大致是這樣的, 首先通過公鑰加密算法如RSA等, 通過網絡交換一個共同的Session密鑰。 然后, 利用這個Session密鑰利用對稱加密算法進行加密。 這樣的好處是, 由于公鑰加密算法的效率較低,可以用來傳遞小數據量如對稱加密的密鑰, 然后利用對稱加密的高效率來加密大數據量。 CBC模式塊加密和RC4的流加密都屬于對稱加密的算法。
根據Nadhem等人的報告, 目前網絡上的SSL/TLS的流量的50%大約是用RC4進行加密的。 其實RC4的加密不安全性已經不是什么新聞了。 其實早在2001年, 兩位以色列的密碼專家ItsikMantin和Adi Shamir就發表了一篇論文《”A practical attack on RC4》, 當時,無線互聯網Wi-Fi的早期加密算法WEP就是利用RC4來進行加密的。 而這篇論文成為破解WEP密碼的理論基礎, 導致了人們能夠輕易的破解WEP, 從而推動Wi-Fi加密全面轉向WPA。 (編者: 有意思的是 Adi Shamir就是加密算法RSA中的“S”, 而RC4中的“R”Ron Rivest, 也是RSA中的“R”)。
對RC4的攻擊, 主要集中在RC4 的隨機數生成的統計不平均的漏洞上。 WEP的破解就是利用WEP數據包的標號的漏洞進行統計分析從而進行破解的。
而NadhemAlFardan, Dan Bernstein, Kenny Paterson, Bertram Poettering 和 Jacob Schuldt對RC4 的攻擊方法, 比ItsikMantin和 Adi Shamir要更進一步。 他們通過對RC4的前256個密文字節的每一位建立了統計。 通過224次Session就可以破解出密文的前256個字節。 而研究小組還在進一步改進算法, 以期達到更好的效果。
對于依賴SSL/TLS的企業來說, 重要的是必須意識到SSL/TLS的安全性問題。 企業需要認真檢查他們的SSL安全模塊的加密算法實施。 對此, 研究小組給出的綜合建議是:
鑒于CBC模式的塊加密方式以及RC4流加密都出現了漏洞, 并且已經有了現實的攻擊手法。 企業最好是在SSL/TLS加密方式上選擇更為安全的AES-GCM方式。
AES-GCM方式是一種新的塊加密實現方式。 它可以同時實現加密和認證兩個步驟。 不但可以避免類似于RC4加密這樣的漏洞, 同時也能夠防范類似于Luck13 這樣的時間差異分析的攻擊手段。
不過, 由于RC4方式的廣泛使用, 企業在廢棄SSL/TLS的RC4方式時, 也需要注意用戶是否會因為服務器端不支持RC4而產生的連接問題。 當然, 企業需要權衡用戶使用的不便與采用RC4 可能導致的后果。