Tls
使用 TLS 可以提供多少安全性?
如果有人告訴我他們的服務使用 TLS 1.2 或更高版本,這能提供多少“保證”安全性?
是否可以正確聲稱使用 TLS 1.2 或 1.3 但仍然不安全?例如,使用正確實現的 TLS 握手但密碼較弱?
如果可以使用上面的範例“正確”不安全地暗示 TLS,那麼 TLS 標準中可接受但實際上不安全的密碼範例是什麼?
是否可以正確聲稱使用 TLS 1.2 或 1.3 但仍然不安全?
絕對地。即使不考慮故意不安全的嘗試,實現也可能會出現以下實現錯誤:
- 選擇熵較差的預主密鑰(用於基於 TLS 1.2 RSA 的密碼套件)
- 選擇熵較差的 (EC)DH 私有值
- 選擇不當的 CBC 或 GCM IV
- 未正確驗證證書
在 TLS 標準中可接受但實際上不安全的密碼範例有哪些?
TLS 1.2 有許多“不太安全”的密碼套件(因為它繼承了所有 TLS 1.0 密碼套件)。在 TLS 1.3 中,他們將支持的密碼套件的數量減少到 5 個,其中沒有一個是可怕的(我對基於 CCM_8 的密碼套件並不感到興奮,但即使這樣也不是那麼糟糕)。
另一方面,即使在 TLS 1.2 中,雙方也必須同意使用“不太安全”的密碼套件;對於我上面列出的可能的實施缺陷,另一方沒有很好的方法來檢查它們。