Google停止對SSL 3.0的支持

jopen 10年前發布 | 8K 次閱讀 Google

  英文原文: Google to remove support for SSL 3.0

  Google 在他們的線上安全 blog聲明他們將在近期取消對過時的 SSL 3.0 協議的支持。有一篇文章對相關漏洞 CVE-2014-3566進行了詳細的描述(在本文撰寫時 CVE 數據還處于保密狀態)。這個漏洞可以通過禁用 SSL 3.0 或直接禁用其中的 CBC(密碼塊鏈)支持來解決。

  這個問題源于 TLS 的向后兼容,它允許在會話無法完成時在較低的層次進行再次協商。當客戶端和服務器均支持 TLS 協議的當前版本(本文撰寫時是 1.2),通信錯誤會導致客戶端和服務器在較低一層進行再次協商。TLS 1.0 是 SSL 的后繼者(最初是二十年前在 Netscape Navigator 中實現的)。TLS 1.0 的實現允許回退到 SSL 3.0,而 SSL 3.0 支持的一些加密方式存在被攻破的可能。TLS 的新版本中禁用了一些加密算法 —— 例如八年前的 TLS 1.1 取消了一些可能被攻擊的 CBC 算法,而在下一個規范中 TLS 1.3 取消了對所有 CBC 和 RC4 算法的支持。

  這個攻擊發生在兩個部分。首先,通過包注入,在連接建立階段,客戶端和服務器的連接可能被中間人攻擊重置,這將會導致客戶端和服務器被強制在較低密級(例如 SSL 3.0)進行再次協商。一旦攻擊完成,論文中所描述的 POODLE 攻擊(譯者注:參考這里)導致秘鑰的特定部分在會話過程中泄露。SSL 3.0 使用 RC4 流加密(存在已知漏洞) 或 CBC 模式的塊加密。現在后者的安全性存疑。由于這是 SSL 提供的僅有的兩種加密模式,所以應該避免使用 SSL。這種攻擊向服務器發送最多 256 個數據包,這些包僅有第一塊的最后一個字節不同,通過這些數據包來分析加密塊的最后一個字節。在這些請求中,服務器只接受最后一個字節正確的那個包,除此 以外所有的數據包都被拒絕,這樣就泄露了傳輸信息的一個字節。然后攻擊者可以將整個序列移動一個字節(例如在請求路徑末位增加一個字符),進而推導出負載 中任意數量的字節內容,這有可能會導致本該被 SSL 保護的 cookie 值泄露。

  對于無法簡單禁用 SSL 3.0 的系統,TLS 提供了一個選項 TLS_FALLBACK_SCSV,可以在連接時禁止自動降級。客戶端便可以確定他是否需要繼續并且以一個較低密級連接,而不是將其作為 TLS 握手中的一個自動環節。

  這個討論與開發中的 HTTP/2相關,這個協議目前正處于最后確認階段。問題 612描述了對存在爭議的 9.2.2 章進 行的修改,增加了對于 HTTP/2 中可以使用的加密算法的限制,在更早的草案中,該章在 TLS 之上添加了一個額外的協商過程來確定加密算法是否合法。即使所選定的底層 TLS 連接版本對于客戶端和服務端都已經可以接受,這一章同樣特別要求在默認情況下禁用基于 CBC 模式進行連接。上周,對連接前 256 個字節的信息泄露可能性的關注似乎導致 Google 公布了這樣的決定,即便 HTTP/2 本身不打算對 TLS 庫進行額外限制,Google 也會取消支持 SSL 3.0 以保護其線上環境。

  盡管已經有了進展,但是依然有問題困擾著工作組,包括 Roy Fielding 稱一個內嵌了安全需求的應用層協議是瘋狂的,并且高調聲明不會支持 9.2.2,Jetty 的作者(Greg Wilkins)聲稱不可能以一種有前瞻性的方式進行實現,Apple 的 Michael Sweet 說 9.2.2可能無法在約 9 億的 iOS 和 OSX 設備上實現,微軟也對提案投了反對票

  通過移除 SSL 3.0 和過時且存在漏洞的 CBC 模式,Google 希望保障瀏覽器—服務器連接(已經使用了一段時間 TLS 1.2)的安全,同時減輕連接被攻擊后可能存在的進一步攻擊。這有可能會消除 HTTP/2 規范的障礙,使其依賴 TLS 1.2 或以上版本,下個月將發布的 TLS 1.3 版本規范(同樣禁用了 CBC 模式)有可能足以讓 HTTP/2 前進。否則我們只能有以下結論

據我所知,9.2.2 提議的修改,要求服務器基于黑名單而非白名單工作,是不脆弱的。

只要客戶端還使用白名單,服務器還基于黑名單并且服務器可以影響加密算法選擇

并且它會禁用任何你提供的符合那 3 種模式加密算法

并且加密算法名稱始終與那些模式不同

并且只要沒有配置更多的模式。

我想你定義了脆弱。

</blockquote>

來自: InfoQ
                    <span id="shareA4" class="fl">                  
                        </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!