Tls

使用與 Google 相同的 HTTPS 密碼套件是個好主意嗎?

  • September 30, 2016

我正在為我的 HTTPS 網站搜尋一個密碼套件,該套件在 Apache 2 Web 伺服器上執行,它可以在與使用者的兼容性和安全性之間提供良好的折衷。我的一個想法是簡單地使用Google使用的相同密碼套件,即:

Accepted  TLSv1  256 bits  ECDHE-RSA-AES256-SHA
Accepted  TLSv1  256 bits  AES256-SHA
Accepted  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
Accepted  TLSv1  128 bits  AES128-SHA
Accepted  TLSv1  112 bits  DES-CBC3-SHA
Accepted  TLS11  256 bits  ECDHE-RSA-AES256-SHA
Accepted  TLS11  256 bits  AES256-SHA
Accepted  TLS11  128 bits  ECDHE-RSA-AES128-SHA
Accepted  TLS11  128 bits  AES128-SHA
Accepted  TLS11  112 bits  DES-CBC3-SHA
Accepted  TLS12  256 bits  ECDHE-RSA-AES256-GCM-SHA384
Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA384
Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA
Accepted  TLS12  256 bits  AES256-GCM-SHA384
Accepted  TLS12  256 bits  AES256-SHA256
Accepted  TLS12  256 bits  AES256-SHA
Accepted  TLS12  128 bits  ECDHE-RSA-AES128-GCM-SHA256
Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA256
Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA
Accepted  TLS12  128 bits  AES128-GCM-SHA256
Accepted  TLS12  128 bits  AES128-SHA256
Accepted  TLS12  128 bits  AES128-SHA
Accepted  TLS12  112 bits  DES-CBC3-SHA

據推測,Google選擇他們的密碼套件是為了與大多數人的瀏覽器兼容,同時也非常安全,所以看起來這對於一般的密碼套件來說應該是一個不錯的選擇。但由於我只經營一個小型網站,我並不完全相信對 Google 有益的東西也對我有益。所以我的問題是:

  1. 上面的套件中是否有我不應該使用的密碼?如果是這樣,為什麼?
  2. 即使Google不允許,我真的應該允許其他任何密碼嗎?

但由於我只經營一個小型網站,我並不完全相信對 Google 有益的東西也對我有益。

你對這個評估是正確的。Google在這方面的資源比你可能擁有的要多得多,這就是為什麼他們可以在標準化之前推出 ChaCha20-Poly1305他們正在使用的新的後量子密鑰交換等事情,特別是因為他們在很大程度上控制了 Chrome 的開發它擁有龐大的使用者群。

即使Google不允許,我真的應該允許其他任何密碼嗎?

是的。

出於某種原因,Google提供ECDHE 和(靜態)RSA 密碼套件。雖然他們接觸到的人最多,但您可能不需要接觸那些既不了解 DHE 也不了解 ECDHE 的古老瀏覽器(現在是 2016 年,加油!)。所以這裡的建議是添加密碼套件的 DHE 變體(儘管優先級低於 ECDHE 對應部分)。

此外,如果您的 TLS 實現支持,您應該考慮將(現在標準化的)ChaCha20-Poly1305 密碼套件添加到該列表中,因為移動平台上的高性能。

但請注意:如果可以,請禁用參數(如在私鑰中)與 (EC)DHE 密碼套件一起重複使用並生成您自己的 DH 參數(並使用它們)一次(使用 OpenSSL 或類似的東西)。

上面的套件中是否有我不應該使用的密碼?如果是這樣,為什麼?

是的。

所有名稱中缺少“ECDHE”或“DHE”的密碼套件都應該消失。這些 a) 無論如何都從TLS v1.3中刪除,b) 如果您的伺服器密鑰被洩露(讓任何人心血來潮?)攻擊者可以解密在使用此密鑰和這些密碼套件時記錄的所有流量。(EC)DHE 套件不會發生這種情況,它們的屬性稱為“前向保密”。

此外,您可以(並且應該)放棄 3DES 密碼套件,因為您不需要它們(可能)提供的向後兼容性,並且因為它們的塊大小非常小,因此容易受到Sweet32 之類的攻擊。

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