Tls
無操作模式的 TLS 密碼套件
如果密碼套件名稱中沒有指定操作模式,是否會有任何安全問題?
例如,在 中沒有操作模式
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,而不是那個特定的密碼套件。