Tls

AEAD 密碼的優勢是什麼?

  • May 30, 2017

AEAD 密碼的優勢是什麼?為什麼 TLS 工作組要推動他們?我認為現代密碼套件需要 SHA256 進行身份驗證。包含 Poly1305 有什麼好處?

額外的小問題:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 有 GCM 和 SHA256。GCM 是做什麼用的,SHA256 是做什麼用的?似乎只需要GCM。

AEAD 密碼實現通常是在內部加密然後驗證(而 OpenSSL 中的 CBC 密碼不是)。TLS 確實需要擺脫需要對 CBC 程式碼進行特殊處理以用於塊密碼(例如 AES)的先驗證後加密。AEAD 密碼 - 無論內部結構如何 - 都應該不受由驗證後加密引起的問題的影響。

AEAD 算法通常帶有安全證明。這些安全證明當然依賴於底層的原語,但它仍然對整個方案更有信心。

這些密碼通常是單通道(OCB,不常用)、1.5 通道(GCM、Poly1305)或 2 通道(EAX)。這意味著它們通常比使用 CBC + (H)MAC 的兩次傳遞方案具有執行速度優勢。如果使用更高級的語言(Java、Python 等)來實現 TLS,即使是 EAX 這樣的方案也可以具有性能優勢。這是因為為一種算法 (EAX) 創建完全優化的實現比在協議級別 (CBC + HMAC) 組合兩種算法更容易。在內部,EAX 就是 CTR + CMAC。

此外,AEAD 方案通常可以(強制)遵守RFC 5116。這意味著對於IV 和明文的處理,*所有AEAD 密碼只需要一個介面。*當然,也可以讓CBC + HMAC 遵守這個 RFC

速度和安全性可能是Google已經在 Chrome 中支持ChaCha20 + Poly1305/AES 的原因。房間裡有這麼大的大象,很難忽視 Daniel J. Bernstein(等所有人)的這個計劃。這是一個 1.5 次 AEAD 密碼,它在下面使用快速流密碼,因此總體上非常有效。

AEAD 密碼的優勢是什麼?

這取決於一個方案,但通常它意味著你:

  • 只信任一種算法,而不是兩種。
  • 只執行一次(AEAD 世界中的理想,而不是它的結果)。
  • 節省程式碼,有時還節省計算。

程式碼節省在嵌入式和物聯網設置中可能很重要。

為什麼 TLS 工作組要推動他們?

我沒有關注 IETF TLS WG 本身,但是錯誤地使用 AEAD 模式密碼是相當困難的。一般來說,密碼學社區的 KAT 所犯的錯誤更少,覆蓋的區域更大。

我認為現代密碼套件需要 SHA256 進行身份驗證。包含 Poly1305 有什麼好處?

SHA256 是一個可靠的散列,我假設您的意思是在 HMAC 中使用它進行身份驗證。即,例如 SuiteB (SECRET)。它還需要信任 SHA256 和您的加密算法以及 SHA256 的性能和記憶體要求,這可能不是那麼好。

從 cr.yp.to 的 poly1305 部分:

Poly1305-AES 有幾個有用的特性:

  • 如果 AES 是安全的,則保證安全。有一個定理保證即使對於長期密鑰(2^64 條消息),安全漏洞也非常小(16n 字節消息的每次偽造嘗試 n/2^(102))。攻擊者破解 Poly1305-AES 的唯一方法是破解 AES。
  • 密碼可替換性。如果 AES 出現任何問題,使用者可以從 Poly1305-AES 切換到 Poly1305-AnotherFunction,並獲得相同的安全保證。
  • 極高的速度。我的 Poly1305-AES 軟體僅需要 3843 個 Athlon 週期、5361 個 Pentium III 週期、5464 個 Pentium 4 週期、4611 個 Pentium M 週期、8464 個 PowerPC 7410 週期、5905 個 PowerPC RS64 IV 週期、5118 個 UltraSPARC II 週期或 5601 個 UltraSPARC III 週期來驗證一個1024 字節消息上的身份驗證器。Poly1305-AES 提供一致的高速,而不僅僅是一個受歡迎的 CPU 的高速。
  • 低每條消息成本。我的 Poly1305-AES 軟體僅需要 1232 個 Pentium 4 週期、1264 個 PowerPC 7410 週期或 1077 個 UltraSPARC III 週期來驗證 64 字節消息的身份驗證器。Poly1305-AES 提供一致的高速,而不僅僅是長消息的高速。大多數競爭功能都是為長消息設計的,不關注短包性能。
  • 關鍵敏捷。Poly1305-AES 可以同時將數千個密鑰放入記憶體中,即使在密鑰超出記憶體的情況下也能保持快速。Poly1305-AES 提供一致的高速,而不僅僅是單鍵基準測試的高速。幾乎所有競爭函式都為每個鍵使用一個大表;隨著鍵數量的增加,這些功能會錯過記憶體並顯著減慢。
  • 可並行性和增量。Poly1305-AES 可以利用額外的硬體來減少長消息的延遲,並且可以以低成本重新計算長消息的小修改。
  • 沒有智慧財產權要求。我不知道有任何與 Poly1305-AES 相關的專利或專利申請。

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