IKEv1 攻擊模式是否不如 IKEv1 主模式安全? - KH1591

常見問題

IKEv1 攻擊模式是否不如 IKEv1 主模式安全?
 

數年前,一群安全專家發表了一篇論文,描述了一種可以破解 IKEv1 Aggressive Mode 連接的預共享密鑰(PSK),但這種方法無法直接應用於 IKEv1 Main Mode 連接的 PSK,這導致了錯誤的假設,即 Aggressive Mode 本質上比 Main Mode 不安全。然而,如果客觀地看待事實,這個說法並不成立。大多數人不知道的是,該攻擊的一部分是使用“暴力破解”方法猜測預共享密鑰(PSK),而這種攻擊只有在 PSK 選擇不夠安全時才會成功。PSK 本身只是一個密碼,與所有密碼一樣,弱密碼會導致安全性降低。只要 PSK 長度至少為 14 個字符(越多越好),包含小寫字母、大寫字母和數字,並且是隨機生成的(這樣就無法輕易猜測),並且在 Phase 1 中選擇的哈希算法至少為 SHA1(或更好,如果可能的話,我們建議使用 SHA-256),那麼沒有理由認為 Aggressive Mode PSK 連接本質上比 Main Mode PSK 連接不安全。如果您想確保萬無一失,請盡可能選擇基於證書的身份驗證,因為這樣可以防止這種攻擊。

技術背景:

預共享密鑰(PSK)不是用於加密數據的密碼,它僅用於身份驗證,就像用戶使用密碼登錄網站一樣。在 Phase 1 期間,雙方必須互相證明他們知道 PSK。這當然不能通過一方將其發送給另一方來實現,因為即使另一方以前不知道它,現在也會知道了。相反,雙方必須計算一個數字(即哈希值),用於數據以及雙方已經交換的數據(每次連接建立時都會不同,以確保哈希值也每次都不同)和 PSK。只有這個哈希值會發送到另一方,然後對方必須執行完全相同的計算。如果結果相同,則另一方也使用了相同的 PSK,因此知道它。然後同樣的操作會在反向重複進行,但計算方式略有不同,以確保兩個哈希值始終不同,因為將相同的值返回不會證明任何事情。

Main Mode 和 Aggressive Mode 的簡單區別在於,在 Main Mode 中,哈希值會被加密傳輸,因為用於建立安全會話密鑰的密鑰交換過程(DH Exchange)已經完全完成,並且一旦雙方擁有會話密鑰,所有數據包都只會以加密形式傳輸。使用 Aggressive Mode 時,哈希值會以未加密的形式傳輸,因為此時密鑰交換尚未完成。因此,通過監聽 Aggressive Mode 連接的攻擊者可以獲得哈希值以及計算該值所需的所有數據,但除 PSK 之外。僅憑這些信息,攻擊者還無法破解連接,他們只是獲得了足夠的信息來搜索 PSK,例如使用“暴力破解”攻擊(嘗試所有可能的組合)或字典攻擊(嘗試從其他在線服務中通過數據洩露獲取的常用密碼)。只有當 PSK 太弱以抵抗這些攻擊時,才能最終破解連接。因此,良好的、足夠安全的 PSK 對於安全 PSK VPN 連接至關重要。

然而,相同的攻擊也可以針對 Main Mode 連接,但需要更多的工作。在 Main Mode 的情況下,僅監聽流量是不夠的,而是需要進行所謂的中間人(MitM)攻擊,即攻擊者必須能夠截獲和操縱流量。通過 MitM 攻擊,攻擊者可以破壞加密,雖然這不足以訪問 VPN,因為仍然需要 PSK,否則無法成功完成 Phase 1,但即使這樣,攻擊者也會獲得哈希值以及計算所需的所有數據,並且可以嘗試猜測 PSK。如果攻擊者已經能夠監聽所有流量(這是任何攻擊場景的基本先決條件),那麼很可能他也可以執行 MitM 攻擊,從而 Main Mode 不會提供額外的保護。

由 11 個隨機字母數字字符組成的 PSK 的熵約為 64 位,即 2^64 種可能的值。現代高端圖形卡(截至 2016 年)每秒可以計算數百萬個 SHA-256 哈希值。平均而言,需要嘗試 50% 的所有可能性才能找到匹配項,這將需要 292 年。如果攻擊者可以使用 100 個這樣的圖形卡,那麼該攻擊“僅”需要大約 3 年時間。但是,當 PSK 為 14 個字符時,熵為 80 位,單個圖形卡需要 19,154,798 年。即使是 10,000 個圖形卡也無法充分縮短時間。而且永遠不要忽視這種攻擊的成本。不是購買圖形卡的成本,而是它們的功耗,如果所有這些圖形卡以最大功率運行數年、數十年甚至數個世紀。這將很快產生數十億歐元的電費,僅用於破解世界上單一 PSK 連接。此外,每次更改 PSK 時,攻擊者都必須從頭開始。因此,如果每年更換一次 PSK,攻擊者最多只有 1 年的時間來找到它;即使對於弱 PSK 來說,這也相當有野心。

}