On 11/17/14, 2:12 PM, Stephen Farrell wrote:
Hi all,
For some reason Joe's post didn't get to the list so I'm just
forwarding that whilst someone figures out what is/was up. Please
cc' Joe on responses just in case he's not seeing list traffic.
Cheers,
S.
Thanks for the forward, and my apologies for the slow reply. My
attention is in round-robin mode among a dozen active I-Ds. :-)
From [email protected] Fri Nov 14 13:14:42 2014
Date: Fri, 14 Nov 2014 13:14:42 -0500 (EST)
From: joe <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: Feedback on draft-ietf-uta-tls-bcp-07
Hi,
Following discussions with some colleagues, I was encouraged to directly
share feedback on draft-ietf-uta-tls-bcp-07 with UTA. That feedback is
enclosed below for your consideration.
Section 1., top of page 3 in the text version:
"These are minimum recommendations for the use of TLS in the vast
majority of implementation and deployment scenarios"
At least in some parts of the draft, specific recommendations are
offered, and I am concerned that rather than being read as
establishing a minimum floor, those recommendations may be taken
as narrowly defining the ONLY acceptable specification. I'd urge
that *stronger* options always be explicitly allowed, since different
users will often have different priorities when it comes to
cryptographic strength vs. computational loads, etc.
Although I think the current document is clear enough here, it also
can't hurt to reinforce the point.
Section 3.1.1
Totally agree with efforts to get SSLv2 and SSLv3 gone. Would
like to ALSO see TLS 1.0 and TLS 1.1 treated equally strongly
(e.g., change the "SHOULD NOT negotiate TLS verison 1.0" and
change the "MAY negotiate TLS version 1.1" to "MUST NOT")
If you're NOT doing TLS 1.2, you lose the ability to employ
AES GCM/AES CCM, you lose HMAC-SHA256/SHA-384 and AEAD,
and given that TLS 1.1 dates from April 2006 and TLS 1.2 dates
from August 2008, I think the time has come to pull the plug
on TLS 1.1. Six years is enough time for TLS 1.2 to gain
adoption, and if penetration isn't yet where it should be,
the time has come to push on that a bit.
I'd also note, as the draft itself comments, "the cipher suites
recommended by this document (Section 4.2 below) are only
available in TLS 1.2."
So, let's not backslide/compromise on TLS 1.1 :-)
I'd be fine with SHOULD NOT for TLS 1.1 (instead of the MAY in the
document right now). I'm not sure what my co-authors think, or working
group participants more broadly.
As always with documents like this (e.g., RFC 6125), we're walking a
fine line between best practice and current practice. Right now, saying
MUST NOT for SSLv2 and SSLv3 is clear, but it's less clear to me that we
have that consensus for TLS 1.0 and TLS 1.1. Might we have that
consensus a year or two from now? Maybe, in which case someone can
publish a document that obsoletes this one.
In any case, I'd want to see some support from other folks here before
changing TLS 1.0 and TLS 1.1 to MUST NOT. (Perhaps the chairs could
issue a consensus call on the topic.)
3.1.2: Consistent with the preceding comments, I'd like to see
only Version 1.2 of DTLS listed as acceptable.
3.1.3: If you're only doing TLS 1.2, the fallback scenario is
inherently dealt with
True, and that has its appeal.
3.2: I strongly support HSTS. However, I'd encourage you to to
reference the Proxy User Stories page at
https://github.com/http2/http2-spec/wiki/Proxy-User-Stories
outlining some of the issues that can arise in a proxy-incompatible
Strict TLS environment so that folks can make a fully-informed
decision.
Should there be a recommendation around max-age?
HSTS also relies on the browser maintaining data on what sites are
using HSTS. Should there be recommendations to browser authors
around maintaining the integrity of that data? Currently the process
of overriding HSTS state is trivially accomplished for major browsers
(see for example
http://classically.me/blogs/how-clear-hsts-settings-major-browsers)
My feeling is that those matters are HSTS implementation details and
ought to be covered in an HSTS-specific document.
4.2: This section recommends:
o TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
o TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
o TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
o TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
I agree with those recommendations. However, are those cipher suites
listed in *recommended* order?
I don't think so, but Yaron and Ralph might have had something else in mind.
4.2.1 states that TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 SHOULD
be the first cipher proposed, and servers SHOULD prefer that
cipher whenever is proposed.
I'd prefer to see the AES_256 version recommended instead, given
that it provides a large margin of cryptographic strength.
We had a separate discussion about this and I for one didn't see
agreement there that AES_256 was recommended.
Also in 4.2.1, NIST P-256 (secp256r1) is called out for
interoperability purposes. I get the intent, but I have concerns
given the analysis reported near the bottom of
http://safecurves.cr.yp.to/ for that (and related) curves.
Yes, that is concerning.
I would like to see a more complete discussion of ECC curve
selection criteria.
Ideally, that would be nice. Finding the time to write it is another
question.
4.3: Currently recommends at least 2048 bit DH parameters and
certificates. I'd prefer to see 4096 bit DH parameters and 4096 bit
certificates explicitly recommended. (Rationale: industry
efforts to move to SHA-2 for hashes should be supported by
proportionately strong symmetric and asymmetric key lengths,
as nicey summarized at http://www.keylength.com/en/compare/ )
Should there be recommendations around the dhparam generator, too?
E.G., openssl supports 2 and 5 -- which should be used, and why?
I'd also suggest that the realities of plans for deprecating
SHA-1 certs in popular browsers means that use of SHA-2 (including
EITHER SHA-256 *OR* SHA-384) is now effectively necessary for
sites that want to have their certs be globally trusted. Thus,
RECOMMENDING use of SHA-256 should be strengthened to MUST USE
and EITHER SHA-256 *OR* SHA-384 should be permitted.
Again I think that might be something for a future BCP, not this one.
(IMHO this document is already a year late.)
7. Security considerations section: often this is a proforma section
included merely to meet RFC formatting requirements, and many
readers may be in the habit of "tuning out" by the point they
hit that section. In the case of this draft, however, important
content is included in section 7. I would urge that it be moved
up in the document to a more prominent location.
I don't particularly see a reason to route around lazy readers. :-)
The approaches for obtaining access to a private key (at the
bottom of page 14/top of page 15) omit an important process:
subornation of a system administrators through bribery,
coercion, etc., or collection of private keys from inadequately
protected backups.
Sadly, yes.
7.5: Certificate revocation. This section could be succinctly
summarized as "revocation s*cks." However, revocation is still a
critically important protection. From a practitioners POV, CRL
and OCSP are widely supported by CAs and many browsers, and
should not be summarily given the RFC equivalent of a shrug of
the shoulders. They aren't perfect, but they do offer some
ability to communicate revocation status *IF* browsers and other
clients check them.
I think that text along the lines of what Massamiliano Para proposed
will improve this section.
That said...
More emphasis should be put on the privacy implications of
relying on OCSP,
See also the foregoing text proposed by Massamiliano Para.
*AND* use of OCSP should be flagged as a potential
denial of service attack (a down or unreachable OCSP responder
from a major CA tends to result in a real "fire drill")
Indeed.
I would also note that when clients aren't yet connected to the
Internet (e.g., prior to wireless auth for example), they often
lack the ability to reach OCSP responders or the ability to
download CRLs, yet they often need to evaluate the revocation
status of a certificate they've been presented for use in
establishing that connection, potentially resulting in a troublesome
circularity.
Good point.
We'll add some text on both of those points.
Other: should there be discussion of certificate chains? Specifically,
some implementations want intermediate certs in order from closest
to the root to furthest from the root, while others reverse that
order. I'd like to see that order normalized.
I don't think that's within the scope of this document.
No discussion of SPDY. Given that TLS can impose a performance hit,
I think it would be worth at least touching on the impact that SPDY
can have as an offsetting factor.
IMHO this document ought to be as application-neutral as possible, so
I'd prefer to avoid talking about HTTP/2 details.
And as a practical matter, given the technical complexity involved in
configuring systems to meet all the recommendations in the draft,
should there be endorsement of use of automated assessment tools
for the purpose of confirming appropriate system configurations?
I'm not sure if that level of operational advice really belongs here.
Thanks for considering this feedback on a very important draft.
Thanks for your feedback!
Peter
--
Peter Saint-Andre
https://andyet.com/
_______________________________________________
Uta mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/uta