Aes

AES-CTR-HMAC-SHA256 有什麼問題 - 或者為什麼不在 TLS 中?

  • April 28, 2014

似乎 TLS 中唯一指定的 CTR 模式密碼都是基於 GCM 的。

GCM 密碼執行AES-CTR並使用基於 Galois-field 算術(“GHASH”)的 MAC 進行身份驗證加密 - 後者似乎很難在軟體中正確使用(側通道攻擊、恆定時間)或需要 CPU 硬體支持(例如Intel AES-NI / PCLMULQDQ)反過來可能會通過微碼更新/植入來操縱/削弱。

另一方面HMAC-SHA256,在軟體中正確使用並與 AES-CTR 和 encrypt-then-MAC 方案一起使用似乎相對簡單。

那麼為什麼沒有類似的模式TLS_DHE_RSA_AES128_SHA256呢?

我能找到的最接近的是這個未完成、過期的 IETF 草案。

簡短的回答:

CTR + HMAC 密碼套件不會有任何問題(TLS 還沒有錯),但技術優點只是技術特性在 TLS 工作組中獲得 RFC 狀態的一個因素。

在不對TLS 工作組 (WG)參與者或流程不禮貌的情況下,其他原因可能是: 政治(包括國家/標準機構對齊);個人/公司偏好/動機;歷史時間;抗拒改變(修改實現是經常提到的成本);恐懼/不確定性/懷疑/冷漠/辯論技巧等。TLS標準化在現實世界的實施+真實的人類互動環境中非常常見,其中一個想法的孤立技術優點絕不是唯一衡量或促成的因素,成功。

為什麼 draft-ietf-tls-ctr 從未進入 RFC 狀態(作為 TLS 1.2 的一部分或單獨)有點模糊,但我最好的猜測是:

  • **時機和政治:**可能最重要的是,AEAD 模式(例如 GCM),許多基於 CTR 模式,並且在 NIST 標準化流程所支持的 GCM 的情況下,在 TLS 1.2 流程的早期出現,並且可能在思想中取代了 CTR工作組編輯/參與者。
  • **不確定性:**與 CBC 相比,2006 年 CTR 的知名度和可信度相對較低。
  • **懷疑:**在 TLS WG 討論中,有人對它在 DTLS 中的使用以及顯式與隱式 IV 的使用提出了一些擔憂
  • Eric Rescorla 既是 draft-ietf-tls-ctr 的作者,也是 TLS 1.2 草案的共同編輯,所以我懷疑一旦 GCM 成為 WG 的首選,他就停止編輯並推動 CTR 模式。

更長的時間線:

  • 2005 年 11 月

在2005 年 10 月的 TLS WG 會議上首次提到 draft-ietf-tls-ctr ,在這個階段不是特許的 WG 項目。

  • 2006 年 2 月

draft-ietf-tls-ctr 00作為TLS 1.2 draft 00的配套草稿開始了生命。

  • 2006 年 3 月

draft-ietf-tls-ctr 被列入2006 年 3 月的 TLS WG 會議議程 當時的 TLS WG 章程明確討論了計數器模式密碼套件作為 TLS 1.2 的目標。

2006年3 月的 TLS WG 會議紀要提到,draft-ietf-tls-ctr 是一個特許項目,可以進行審查。

此時TLS 1.2 規範的初稿,包括 CTR 模式密碼套件里程碑被標記為完成,但 CTR 模式顯然不在當時的1.2 規範草案中(或任何其他)。

  • 2006 年 7 月

2006 年 7 月的 TLS WG 會議上,draft-ietf-tls-ctr 被描述為準備好在會議記錄中進行最後一次通話。

TLS WG 郵件列表中沒有最後一次呼叫 draft-ietf-tls-ctr。

  • 2006 年 10 月

TLS 1.2 draft 02發布,首次包含AEAD/GCM模式。

  • 2006 年 11 月

2006 年 11 月的 TLS WG 會議上,draft-ietf-tls-ctr 仍在議程上,會議紀要顯示圍繞櫃檯和 IV 結構的討論。提到 GCM 模式草案迫在眉睫。

  • 2006 年 12 月

TLS WG mailing list上討論了有關計數器模式的一些問題,特別是計數器/IV 結構。

  • 2007 年 1 月

除了一些關於 DTLS 潛在問題的討論之外, TLS WG 郵件列表中關於 CTR 模式的討論已經枯竭,而 GCM 模式正在積極討論中。

  • 2007 年 3 月

TLS 1.2 章程中仍然提到了 draft-ietf-tls-ctr,但不再在2007 年 3 月的 TLS WG 會議議程上,並且會議記錄中的所有討論都是關於 GCM。

從此時起,draft-ietf-tls-ctr 不再被提及,TLS 1.2 中也沒有 CTR 模式。GCM 模式繼續在RFC 5288中發布,與 TLS 1.2 在RFC 5246中最終確定的時間大致相同。

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