如何檢測“僅給定來自衝突文件對的單個文件的未知 SHA-1 密碼分析衝突攻擊”?
以下來自http://shattered.it的描述引起了我的注意:
如何檢測此攻擊?
您可以使用上面的線上工具送出文件並檢查它們是否存在對 SHA-1 的密碼分析衝突攻擊。這背後的程式碼由 Marc Stevens (CWI) 和 Dan Shumow (Microsoft) 開發,可在 GitHub 上公開獲取。
它基於反密碼分析的概念,它能夠檢測已知和未知的 SHA-1 密碼分析衝突攻擊,只需來自衝突文件對中的單個文件。
我對密碼學基本上一無所知,所以我真的不知道片語SHA-1 密碼分析碰撞攻擊的全部含義。我閱讀描述的方式表明,我可以分析硬碟驅動器上的任意文件,並被告知該文件是否是碰撞攻擊的目標。如果是這種情況,並且該工具對世界的唯一了解就是我的文件的內容,那麼我看不出這樣的事情怎麼可能發生。
我希望有人可以用(相對)簡單的術語解釋為什麼我的理解是錯誤的,或者這實際上是如何可能的。
混淆來自以下句子:
我可以分析我的硬碟驅動器上的任意文件,並被告知該文件是否已成為碰撞攻擊的目標。
該攻擊不針對“無害”文件,並為它們生成衝突:這將是第二原像攻擊,這是一個更難解決的問題。碰撞攻擊只是產生一對有碰撞的文件。但是使用目前已知的攻擊,以這種方式產生的對具有非常特定的結構,可以很容易地辨識出來。因此,如果您檢查其中一個文件,它會告訴您它是否已在此攻擊過程中生成。
當然,可能存在其他攻擊,我們還不知道,目前的檢查器無法判斷您的文件不是來自此類攻擊。它告訴您的只是您的文件是否是在此特定攻擊的過程中生成的。另一種說法是:我們沒有證據證明不存在第二次原像攻擊(即使我們不知道如何建構這樣的攻擊),但如果存在,它確實可以找到任意文件的衝突,所以您的任何文件都可能成為此類攻擊的目標,但沒有軟體可以從您的文件中看到這一點。