RC4加密算法真的可以保護SSL/TLS嗎?

RC4算法是Ronald Rivest在1987年設計的密鑰長度可變的流加密算法簇,這種算法的優(yōu)點是速度快,和加密簡單易用,所以非常流行。它被用于HTTPS的安全套接字層(SSL)和傳輸層安全(TLS)協(xié)議;事實上,在所有TLS流量中,約有50%的流量目前在使用RC4算法來保護。

伊利諾伊大學的教授Dan Bernstein披露了RC4中的一個漏洞,該漏洞允許攻擊者從使用RC4加密的TLS連接中恢復有限數(shù)量的純文本內(nèi)容。這種RC4攻擊適用于支持該加密算法的所有版本的SSL和TLS。這種針對RC4的攻擊是可能的,因為該加密生成的密鑰流中存在統(tǒng)計性缺陷,從而導致泄露部分加密信息,為攻擊者提供了足夠的樣本來進行分析。

這個漏洞并不會給SSL/TLS用戶帶來直接的威脅,因為這是一個多會話攻擊,目前還不太可能實施。攻擊者必須能夠捕獲客戶端和服務器之間的網(wǎng)絡流量,以及在郵件中相同位置反復被發(fā)送的相同的加密內(nèi)容。即使攻擊者捕獲了這些信息,攻擊者仍然只能夠恢復一小部分信息。然而,HTTP消息具有程式化表頭,在對話中都是相同的,所以cookie的內(nèi)容可能會被捕獲,特別是當出現(xiàn)更有效的利用這個漏洞的方法時。如果攻擊者能夠訪問存儲在cookie中的數(shù)據(jù),這將給企業(yè)帶來巨大的危險。因為,cookie通常被用來存儲用戶賬戶信息或者用于身份驗證的會話令牌,這樣用戶就不需要反復登錄。如果攻擊者可以攔截這些cookie,他們就可以冒充用戶或者訪問受感染網(wǎng)站或服務內(nèi)的敏感數(shù)據(jù)。

SSL/TLS協(xié)議支持添加和選擇不同的算法,但主要的web瀏覽器并不支持最新和更安全的算法。TLS 1.2支持AEAD(帶關聯(lián)數(shù)據(jù)的加密認證)加密,但這種版本的TLS還沒有得到廣泛部署。除了iOS上運行的Safari外,主要的瀏覽器要么根本不支持它,要么默認情況下將它關閉了。為此,你可以改變TLS使用RC4的方式,但你需要改變每個客戶端和服務器的TLS部署,并能夠抵擋未來改進的RC4攻擊方法。