Diffie-Hellman
是否有針對 Diffie-Hellman 的攻擊的完整匯總列表?
是否有針對 Diffie-Hellman 的攻擊的完整匯總列表?
對於 RSA,有Boneh 的這篇論文,所以我想知道是否有這樣的針對 DHKE 的攻擊列表。我一直在到處尋找。令人驚訝的是,我找不到一個。你能告訴我這樣的名單是否存在嗎?
以下是Diffie-Hellman 密鑰交換(DHKE,有時縮寫為 DH)面臨的威脅的基本非詳盡列表,從最一般的開始:
- DHKE 容易受到中間人攻擊(MitM) 的攻擊,其中主動插入 A 和 B 之間的對手偽裝成 B wrt A 和 A wrt B。問題通過Authenticated Diffie-Hellman 密鑰交換解決,但這需要事先交換受信任的(可能是公開的)資訊,因為密碼學提供了對抗 MitM 的一切。在下文中,為了使答案簡短,我們忽略了對經過身份驗證的 DHKE 的身份驗證部分的許多威脅。
- DHKE理論上容易受到具有任意計算能力的對手的攻擊。量子密鑰分配(QKD)理論上解決了這個問題(不是 MitM)。然而在實踐中,對手在計算上是有限的。QKD 設備面臨嚴格的操作限制,並且通過利用設備與其理論模型的偏差,已經證明幾種實現方式不安全。因此,主流觀點是密鑰分發實踐,而不是使用 QKD,可以安全地繼續假設計算有界的對手,以定義考慮計算能力的技術進步。以下是假設的。
- DHKE 的參數不安全,使得離散對數問題(DLP) 在使用的有限組中計算上易於處理。假設的密碼相關量子電腦將使 DLP 的常用實際實例易於通過例如Schor 算法處理,從而使 DHKE 不安全。這合法地推動了後量子密碼學 (PQC),後者研究能夠抵抗 CRQC 的密碼學。一些人(包括我)認為,自 2000 年代初以來,在使用可擴展的算法解決任何密碼問題時,量子電腦沒有公開的實驗進展,並且沒有證據表明至少在商業應用中採用 PQC 的緊迫性。下面我們忽略 CRQC 的可能性。
- DHKE 的安全性正式依賴於一個可能比 DLP 的硬度更強的假設:計算 Diffie-Hellman (CDH) 假設,該假設表明無法計算共享秘密。然而,沒有已知的攻擊利用這種區別。
- 在直接使用共享密鑰的應用程序中,DHKE 的安全性將依賴於比 CDH 更強的假設:Decisional Diffie-Hellman (DDH) 假設,該假設指出共享密鑰與公眾生成的組的隨機元素無法區分範圍 $ g $ . 一個簡單的例子,當群是模素數的乘法群時,不成立 $ p $ , 和公共 DH 參數 $ g $ 是該組的生成器:共享秘密的勒讓德符號洩露給被動竊聽者。
- 此外,即使 DDH 成立,組元素的按位表示也可能不統一。針對這個和 5 的標準防禦是使用由 ECDH 建構的共享密鑰專門作為對稱密鑰導出函式 (KDF) 的密鑰輸入,該函式構造基本上均勻的隨機密鑰以用於其他密碼原語。以下是假設的。
- 任意組大小的 DLP $ n $ 在哪裡 $ n $ 通過Pohlig-Hellman算法,與已知因素的複合可以簡化為更容易的DLP。這對將 DHKE 與此類複合材料一起使用是一種威脅 $ n $ ,以及確保生成器的原因 $ g $ 在 DHKE 中使用的順序是大素數的倍數 $ q $ . 一種常見的做法是使用公共參數 $ g $ 以那個主要順序 $ q $ . 這也可以防禦 5 中的威脅。
- 任何有限組中的 DLP $ n $ 理論上可以通過Baby-Step/Giant-Step算法解決 $ 2\sqrt n $ 組操作。Pollard 的 rho是該算法的一個實用變體,具有相當的計算成本和適度的記憶體要求。它可以有效地分發。這是每次使用 DHKE 的潛在威脅,需要 $ q $ 如上所述,足夠高 $ \sqrt q $ 組操作對於對手來說在計算上是不可行的。如果我們假設對手的計算能力每 2 年翻一番(技術進步和用於攻擊的資源增加)累積超過 $ y $ 年,因此我們需要添加 $ y $ 位到位大小 $ q $ . 目前的建議是 $ q $ 至少大約 256 位(在某些應用程序中仍然存在 160 位,但我建議盡快將其淘汰)。
- DHKE 最初是在以素數為模的乘法群中提出的 $ p $ (著名的 $ \mathbb Z_p^* $ )或其子群。在這些特定類型的組中,DLP 可能會受到通用數域篩和函式域篩的攻擊(我無法評論哪個最適合哪個 $ p $ )。使用此類組時的目前建議是 $ p $ 至少大約 2048 位或 3072 位(在某些應用程序中仍然存在 1024 位甚至更低,但我建議盡快將其淘汰)。此外,除非大小 $ p $ 進一步增加, $ p $ 不應該是形式 $ r^e\pm s $ 對於小 $ (r,e,s) $ . 確保該條件的許多方法之一是在 1/5 的最高有效位中隨機選擇 128 位 $ p $ .
- 現在非常流行的 DHKE 群選擇是橢圓曲線有限群。DHKE 然後變成 ECDHKE,通常縮寫為 ECDH。優點是計算速度更快,組元素的表示更小。除了適用的 5/6/7/8 之外,在選擇橢圓曲線組時還有許多複雜的可能陷阱,包括使用奇異橢圓曲線,這使得 DLP 多項式時間。請參閱Safecurves和其他許多答案所 指向的參考。
- 已經提出**使用各種其他組,但幾乎沒有實際採用。**DLP 比最初想像的更容易的風險是潛伏的,例如,通過展示與 DLP 容易的組的可計算同構。
- 不完美的隨機數生成器(例如,初始化時熵不足,因此產生的輸出容易受到列舉的影響,受到故障攻擊的干擾)是 DHKE 實現的關鍵威脅。
- 側通道洩漏是對 DHKE 實施的威脅。DHKE 中的短暫性和單一用途的秘密往往會緩解這個問題;但這不適用於經過身份驗證的 DHKE 的長期機密,以及由 DHKE 建立的對稱加密。
經過數小時的閱讀,這是我最好的發現,第 28 頁。