Sha-256

如果 TLS1.3 密碼套件中的所有加密算法都是 AEAD ,為什麼它們還要包含雜湊算法?

  • November 23, 2019

在 TLS1.3 中,密碼套件中包含的所有允許的算法都是 AEAD,這意味著它們不僅會加密,而且還會進行身份驗證(因此,如果我沒有誤解,它們不僅提供機密性,還提供完整性/身份驗證。那麼,那麼。 ..為什麼必須在密碼套件中包含雜湊算法?我的意思是…為什麼 ChaCha20(或 AES-GCM 等)不夠,所以 Poly1305(或 SHA256 等)應該是必要的?

RFC 8446開始,雜湊用於:

  1. 成績單雜湊,涵蓋握手中的每條消息,以在密鑰協商和證書驗證期間對其進行身份驗證(第 4.4.1 節)。
  2. 使用HKDF(第 7.1 節)從原始密鑰協議材料和成績單雜湊派生各種會話密鑰。
  3. 根據 TLS 會話 ( RFC 5705 )中協商的密鑰為協議派生密鑰材料。

您沒有列出 TLS 1.3 中的其他工具。來自E.1.1 節。在 RFC8446

E.1.1。密鑰派生和 HKDF TLS 1.3 中的密鑰派生使用 HKDF,如

$$ RFC5869 $$及其兩個組件,HKDF-Extract 和 HKDF-Expand。

HKDF 是基於 HMAC 的提取和擴展密鑰派生函式,在rfc5869中定義

HMAC 需要密碼套件中指定的加密雜湊算法,這些算法是 SHA256 或 SHA384。

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