So I went over the https://wiki.mozilla.org/Security/Server_Side_TLS
article with a bit more attention to detail and I think we should
extend it in few places.

Especially if it is supposed to be also the general recommendation
for servers, not just for ones that are part of Mozilla network.

The items that probably should be changed or added:
 * curves weaker than secp256r1 - I think they shouldn't be
   enabled at all - while browsers do enable only the two or three
   NIST curves, clients that use OpenSSL enable also the rather weak
   163 bit curve, making it possible to negotiate them (and as such
   limit the level of security to about 80 bit)
 * negotiation of curves in ECDHE - servers in general should
   be able to negotiate the used curve for this KEX - it's a RFC MUST
 * lack of secp256r1 intolerance - servers that hardcode this
   curve may ignore the tls extension completely, causing the connection
   to fail if the client doesn't support this curve (the server should
   choose a cipher that doesn't require ECC in such case)
 * SHA1 signing of (EC)DHE in TLSv1.2 - there's a bug in OpenSSL that
   causes the SNI certificate selection to not copy acceptable signature
   algs properly, this causes it to sign the key exchange using SHA1.
   Some servers may just hardcode the sig alg, which would be just as bad
 * SHA-384 and SHA-512 signatures in certs - in current version
   they are not acceptable - as they are stronger, I think they should
   be added as acceptable (but maybe marked as not recommended).
   SHA-224 should probably be explicitly marked as non recommended as
   it is not supported in some libraries that do support SHA-256 and
   greater (very old NSS had this issue)
 * ECDSA certs (and prioritisation of ECDSA above RSA) - there's no
   mention of those, and since we suggest PFS over non-PFS and 
   ECDHE-ECDSA is over twice as fast as ECDHE-RSA[1], I think we
   definitely should allow (if not recommend) its use
 * intolerance of TLS1.3 ClientHello - new version is incoming
   while a significant percentage of servers can't do TLS version
   negotiation properly

While most of those items may become issues only in future, I think
it's better to point to them now, so that the number of
servers that have bad configurations/bugs is limited. As such,
it will also limit the need for clients to do the TLS downgrade dance.

 1 - 
https://securitypitfalls.wordpress.com/2014/10/06/rsa-and-ecdsa-performance/
-- 
Regards,
Hubert Kario
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to