Sha-256
如果 TLS1.3 密碼套件中的所有加密算法都是 AEAD ,為什麼它們還要包含雜湊算法?
在 TLS1.3 中,密碼套件中包含的所有允許的算法都是 AEAD,這意味著它們不僅會加密,而且還會進行身份驗證(因此,如果我沒有誤解,它們不僅提供機密性,還提供完整性/身份驗證。那麼,那麼。 ..為什麼必須在密碼套件中包含雜湊算法?我的意思是…為什麼 ChaCha20(或 AES-GCM 等)不夠,所以 Poly1305(或 SHA256 等)應該是必要的?
從RFC 8446開始,雜湊用於:
- 成績單雜湊,涵蓋握手中的每條消息,以在密鑰協商和證書驗證期間對其進行身份驗證(第 4.4.1 節)。
- 使用HKDF(第 7.1 節)從原始密鑰協議材料和成績單雜湊派生各種會話密鑰。
- 根據 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。