On 2014-01-27 02:43, ripber...@aol.com wrote:
Hi,
So I didn't get to the bottom of this thread because some of it is 'loading'

I really recommend that you do read all the messages. All of this has been discussed in various thread both here and on other lists.

Encryption:
          AES-256 - 256 bit
          AES-192 - 192 bit
          AES-128 - 128 bit
         Triple-Key Triple DES (3DES) - 112 bit

          (NOTICE: No Camilla, RC4, SEED, DES or 2DES).

Other recommendations don't not recommend 3DES, but do recommend Camellia.

The reason to have RC4 and 3DES enabled is that there are servers that do not support AES and only support either RC4 or 3DES. Actually running with RC4 disabled makes me run into some of those sites.

Digital Signature Generation:
         DSA with p>=2048, q>=224 - 112 bit
         RSA with n>=2048              - 112 bit
         EC-DSA with n>224            - 112 bit

         This generally affects what type of certifcates you need. Notice 
RSA-2048 now required (no RSA-1024).

Following CA/Browser baseline requirements, everything should now be 2048 bit or more, but some CAs aren't ready for this. 1024 bits is
now below 1%.  I think all ECDSA are 256 bit or more, and DSA isn't used.

Hash Functions:
         Digital Signature Generation:
             SHA-224: 112 bit
             SHA-256: 128 bit
             SHA-384: 192 bit
             SHA-512: 256 bit

         (NOTICE: No MD5, no SHA-1)

Please note that both MD5 and SHA-1 still have a preimage resistance of >= 112 bit, but their collision resistance isn't that good. That means
in an HMAC they can perfectly be used.

    A Suite B TLS client configured at a minimum level of security of 128
>     bits MUST offer the TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 or the

We do not have a minimum level of 128. As you say yourself, 112 bit is enough.

I'd suggest you follow NIST 800-131a, but if not at least give a configuration 
switch to drop NON-FIPS algorithms. From the above list,
I'd drop the RC4, MD5 and CAMELLIA options - at least if a FIPS configuratoin 
switch is activated. Better - no switch and drop them. If you have to included 
them for some reason - put them at the bottom if the preference list.

3DES, RC4 and MD5 are actually at the bottom of the list.

I think in general, you could say the shorter the key or hash, the faster it 
runs, so if all you are trying to get to as 112 bit security (all that is 
required in 2014), I'd consider preferring suites with AES_128 encryption and 
SHA MACs over
AES_256 or SHA-256 or SHA-384.

We prefer GCM, and AES128 over AES256. But GCM doesn't use a HMAC and so needs SHA256.

3DES is still acceptable for 2014.

It's still in the list.

The following suite is the MANDATORY suite required by TLS 1.1 (RFC 4346). If 
you are going to allow the browser to enable TLS 1.1, you should make sure this 
is enabled when TLS 1.1 is enabled. There's also no reason to take it out if 
the minimum security protocol is TLS 1.2 - just leave it at the bottom as you 
have it.
000A  TLS_RSA_WITH_3DES_EDE_CBC_SHA

So maybe you could argue that if we do a fall back from TLS 1.2 to 1.1 that it should be included. But RFC 4346 is obsolete, and I don't see any real problems with dropping it.

The following suite is the MANDATORY suite required by TLS 1.0 (RFC 2246). If 
you are going to allow the browser to enable TLS 1.0, you should probably make 
sure this is enabled when TLS 1.0 is enabled. There's also no reason to take it 
out if the minimum security protocol is TLS 1.1 or TLS 1.2 - just leave it at 
the bottom as you have it. This is less important since I don't think DSA 
certrificates are much used.
0013  TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Also obsolete.

I'm also not sure why you aren't supporting:
C0 08 - TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
00 13 - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
00 16 - TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
If the answer is no one uses them or not in NSS  - that's fine. However they 
would be OK for NIST 800-131a.

3DES is slow, support should be removed, no point in adding support for it anymore, you should move to AES or Camellia.

Might also ask why you didn't include any DH key negotiation cipher suites 
(e.g. C004, C003, 0031, 0030, 000D, 0010)
It's OK for the server to have a static DH key provided the client uses an 
ephemeral DH key.
If the answer is no one uses them or not in NSS  - that's fine. However the 
above ones would be OK for NIST 800-131a.

static (EC)DH keys do not offer forward security. They do cause you to spend more time on the key exchange. So what is the advantage of them?

Not sure why you included C02B and C02F or why they are at the top. The SHA-256 
is overkill for 2014 - I know if you want GCM - it only comes with at least 
SHA-256. I haven't researched GCM vs CBC. My first take would be you don't need 
them - but there might be some reason to include and maybe even to put first. 
C02B does allow you to support NSA Suite-B 128 if it is first in the list. It's 
probably OK there but see below about other requirements for Hash and Signature 
Algorithms.

GCM is an authenticated mode and doesn't use an HMAC. As a result the collision resistance is more important and you need 256 bits in the hash to have the 128 bit security level.

Subject of a separate question to be answered - I don't know if you are sending 
the Hash and Signature Algorithm extension in the client hello, but to get to 
112 bit security (required by NIST 800-131a) - you have to at least offer the 
extension and allow the server to select SHA-256 - SHA-1 signatures in the TLS 
protocol are no longer allowed after 2014 per NIST 800-131a.

So it's saying you should only use TLS 1.2. Only about 25% of the servers support that.


Kurt

--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to