From 36fc14333947b5129fad73bacd6434ffe492f45b Mon Sep 17 00:00:00 2001 From: Pale Moon Date: Sat, 25 Feb 2017 10:13:37 +0100 Subject: [PATCH] Add AES256-GCM suites to secmanager. Disabled by default for known wasted performance (40%) on a suite weaker to key attacks than AES128. --- netwerk/base/security-prefs.js | 2 ++ security/manager/ssl/src/nsNSSCallbacks.cpp | 2 ++ security/manager/ssl/src/nsNSSComponent.cpp | 12 ++++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/netwerk/base/security-prefs.js b/netwerk/base/security-prefs.js index 0f5309935a..5801c384cb 100644 --- a/netwerk/base/security-prefs.js +++ b/netwerk/base/security-prefs.js @@ -43,6 +43,8 @@ pref("security.ssl3.rsa_aes_256_sha", true); pref("security.ssl3.rsa_camellia_256_sha", true); // Cipher suites disabled by default //Reason: +pref("security.ssl3.ecdhe_ecdsa_aes_256_gcm_sha384", false); // performance +pref("security.ssl3.ecdhe_rsa_aes_256_gcm_sha384", false); // performance pref("security.ssl3.ecdhe_rsa_des_ede3_sha", false); //3DES pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false); //RC4 pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false); //RC4 diff --git a/security/manager/ssl/src/nsNSSCallbacks.cpp b/security/manager/ssl/src/nsNSSCallbacks.cpp index 0098cb0ee0..296d50e6a8 100644 --- a/security/manager/ssl/src/nsNSSCallbacks.cpp +++ b/security/manager/ssl/src/nsNSSCallbacks.cpp @@ -1077,6 +1077,8 @@ AccumulateCipherSuite(Telemetry::ID probe, const SSLChannelInfo& channelInfo) case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: value = 10; break; case TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: value = 11; break; case TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: value = 12; break; + case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: value = 13; break; + case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: value = 14; break; // DHE key exchange case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: value = 21; break; case TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: value = 22; break; diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp index e48fef0c79..a562e9621f 100644 --- a/security/manager/ssl/src/nsNSSComponent.cpp +++ b/security/manager/ssl/src/nsNSSComponent.cpp @@ -643,7 +643,12 @@ static const CipherPref sCipherPrefs[] = { TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, true }, { "security.ssl3.ecdhe_rsa_chacha20_poly1305_sha256", TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, true }, - + + { "security.ssl3.ecdhe_ecdsa_aes_256_gcm_sha384", + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, false }, // disabled for performance + { "security.ssl3.ecdhe_rsa_aes_256_gcm_sha384", + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, false }, // disabled for performance + { "security.ssl3.ecdhe_rsa_aes_256_sha", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, true }, { "security.ssl3.ecdhe_ecdsa_aes_256_sha", @@ -668,9 +673,6 @@ static const CipherPref sCipherPrefs[] = { TLS_RSA_WITH_AES_128_CBC_SHA, true }, // deprecated (RSA key exchange) { "security.ssl3.rsa_aes_256_sha", TLS_RSA_WITH_AES_256_CBC_SHA, true }, // deprecated (RSA key exchange) - { "security.ssl3.rsa_des_ede3_sha", - TLS_RSA_WITH_3DES_EDE_CBC_SHA, true }, // deprecated (RSA key exchange, 3DES) - // All the rest are disabled by default // As per RFC @@ -690,6 +692,8 @@ static const CipherPref sCipherPrefs[] = { {"security.ssl3.rsa_fips_des_ede3_sha", SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA, false, true }, {"security.ssl3.dhe_dss_camellia_256_sha", TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, false, false }, {"security.ssl3.dhe_dss_camellia_128_sha", TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, false, false }, + {"security.ssl3.rsa_des_ede3_sha", TLS_RSA_WITH_3DES_EDE_CBC_SHA, false, true }, // (3DES) + // Non-ephemeral {"security.ssl3.ecdh_ecdsa_aes_256_sha", TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, false, false }, {"security.ssl3.ecdh_ecdsa_aes_128_sha", TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, false, false },