Tls

無操作模式的 TLS 密碼套件

  • October 24, 2018

如果密碼套件名稱中沒有指定操作模式,是否會有任何安全問題?

例如,在 中沒有操作模式TLS_ECDHE_RSA_WITH_AES_256_SHA

這是一個安全問題,因為它可能表明某人不知道他在做什麼。

TLS_ECDHE_RSA_WITH_AES_256_SHA不是官方支持的密碼套件名稱(網際網路搜尋結果太快退化)。它可能存在於配置錯誤的 OpenSSL 伺服器中。我認為它會預設為 CBC 以獲得實際安全性。極不可能使用 ECB 模式,因為它從來都不是受支持的模式,如果要使用它,它需要以某種方式忽略 IV。

只需使其成為測試伺服器上唯一可能的密碼套件,然後使用客戶端連接到它。您可能會發現它實際上是TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA帶有 ID的 CBC 密碼套件{0xC0, 0x14}。ID 是握手期間實際傳達的內容;密碼套件的名稱就是您在伺服器的配置參數中找到的名稱。

不可能只為密碼套件命名:它需要解析為要在握手中通信的 ID。在開發人員語言中:密碼套件名稱是一個列舉。不幸的是,OpenSSL 有一個討厭的習慣,即使用自己的名稱和模式來允許/禁止列舉值。

我更喜歡 TLS 1.2 特定的 GCM 密碼套件和 SHA-256 或 SHA-512,而不是那個特定的密碼套件。

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