AES-CTR-HMAC-SHA256 有什麼問題 - 或者為什麼不在 TLS 中?
似乎 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中最終確定的時間大致相同。