Sha-1

chrome給出的警告是否合理?

  • April 27, 2016

我最近訪問了一個網站的支付頁面,chrome 警告我該頁面可能不安全,我對加密有非常基本的了解,但不足以完全理解為什麼該頁面可能不安全。

證書來自 Thawte,我在 google 上發現它是一個非常受信任的 CA,但是證書的簽名算法和雜湊算法分別是sha1RSAsha1。我的印像是這些已經過時並且已經有一段時間了?

我認為該頁面使用AES-128-CBC它本身相對不安全,但消息已通過HMAC-SHA1. 在閱讀完 這篇文章後,我明白這是安全的,因為私鑰是安全的,應該考慮到密鑰交換是 RSA。據我所知,這使整個事情安全嗎?那是對的嗎?

總結一下:

  1. 我的理解正確嗎?
  2. 如果不是,為什麼不呢?
  3. 這個頁面安全嗎?為什麼/為什麼不安全?

警告螢幕截圖

您與該站點的連接存在四個問題(我認為基本上您可以立即解決所有問題),這就是 Chrome 警告您的原因。

第一個很容易發現:使用 SHA-1 進行證書籤名。SHA-1 通常被認為已棄用,不應用於需要抗衝突的場景,例如證書雜湊。一個資金充足的攻擊者可能能夠創建兩個具有完全相同 SHA-1 雜湊的有效證書,直到有人向我們提出第一個此類衝突(可能是某個機構?)只是時間問題。

並且要實際回答這部分問題:是的,SHA-1 已經被認為已經過時了很長一段時間,但是人們傾向於在真正的威脅出現之前不會遠離事物,儘管許多 CA 需要進行過渡。他們可能仍在使用的第二個原因是他們在 2012 年獲得了4 年的證書(而且這些證書往往很昂貴),並且當時並不像今天那樣棄用 SHA-1(Google 的文章是從 2014 年開始的)。

您觀察到的第二個警告是*證書缺乏透明度*。證書透明度是Google針對欺詐性 CA 向不應獲得這些證書的人頒發證書的措施。他們通過“強制”每個人將頒發的證書發佈到一組日誌中來做到這一點,這樣每個人都可以辨識他的域是否受到此類攻擊。這仍處於早期階段,許多 CA 預設不支持。如果您使用的是 Chrome,它只會刪除 EV 欄。

此警告頁面上的第三個問題是混合內容。這意味著頁面的某些部分是通過未加密的連接提供的,並且可能對您構成安全威脅,因為您和伺服器之間的任何人都可以觀察和更改它們。這可能會導致明顯的警告。

第四個問題是AES-CBC + HMAC-SHA1的使用。請注意,確實 HMAC-SHA1 仍然是安全的,並且會持續相當長的一段時間進一步注意,TLS 處理 CBC+HMAC 的方式確實存在安全證明

然而,CBC 在過去(POODLE等)失敗了很多,甚至一些 TLS 實現也很容易受到攻擊。此外,CBC 對用於每個數據包的 IV 有非常嚴格的要求(它們需要是不可預測的,而不是“只是”唯一的)。當然,正確使用 CBC+HMAC 比僅使用 AEAD 方案(例如 GCM)更難,因為您必須處理更多事情(密鑰、在正確的位置呼叫 MAC、生成正確的 IV) . TLS 的 CBC+HMAC 的最後一點是安全證明被認為是“壞的”。TLS 在使用 CBC 時使用 MAC-then-Encrypt,它沒有像 Encrypt-then-MAC 那樣通用的安全證明,使其更容易出錯。正是由於這些原因,Chrome 認為使用 CBC 建立的連接已過時,以及為什麼TLS v1.3允許使用 AEAD 模式。

TL;DR:SHA-1 確實已被棄用,但擺脫它需要時間,而且 AES-CBC+HMAC-SHA1 具有可證明的安全性,但由於某些原因被認為“過時”且容易出錯,因此 Chrome 會向您發出警告。

引用自:https://crypto.stackexchange.com/questions/29060