On Friday, May 19, 2017 04:51:21 pm Viktor Dukhovni wrote: > Which brings us to some more undesirable layer violation in the current > draft. The language in question is appropriate for updates to RFC5280, > but does not belong in TLS. The problems in question are largely > already addressed elsewhere (as CAs no longer issue MD5, SHA1, ... > certificates, browsers no longer support them, ...) and continue to > be further remediated in the appropriate standards and products. > > Therefore delete: > > Section 4.2.3 (Legacy algorithms paragraph final sentence): > > ... TLS 1.3 servers > MUST NOT offer a SHA-1 signed certificate unless no valid > certificate chain can be produced without it (see > Section 4.4.2.2). > > Section 4.4.2.2: > > ... This fallback chain MAY use the deprecated SHA-1 hash > algorithm only if the "signature_algorithms" extension provided by > the client permits it. If the client cannot construct an acceptable > chain using the provided certificates and decides to abort the > handshake, then it MUST abort the handshake with an > "unsupported_certificate" alert. > > Section 4.4.2.4: > > Any endpoint receiving any certificate signed using any signature > algorithm using an MD5 hash MUST abort the handshake with a > "bad_certificate" alert. SHA-1 is deprecated and it is RECOMMENDED > that any endpoint receiving any certificate signed using any > signature algorithm using a SHA-1 hash abort the handshake with a > "bad_certificate" alert. All endpoints are RECOMMENDED to transition > to SHA-256 or better as soon as possible to maintain interoperability > with implementations currently in the process of phasing out SHA-1 > support.
No. I strongly oppose stripping all off this out. > I note that TLS 1.3 does not have any language prohibiting MD2, MDC2DES, > MD4, RIPEMD160, private signature oids, ... that may be weaker than SHA-1 > or even MD5. They're not listed as possible field values anywhere directly in the TLS spec. If someone wants to add a line to one of the "MUST NOT" lists somewhere for all hashes weaker than SHA-1, that sounds fine to me. > Opportunistic unauthenticated TLS ignores the peer certificate and should > not have to fall back to cleartext just because some certificate in the > chain is not sufficiently sexy. There are other legitimate use cases where > the restrictions above are inappropriate. Opportunistic unauthenticated TLS isn't the protocol we're defining here. If your goal isn't authentication, then by all means violate the requirements laid out for authentication. I have no problem making that explicit, if desired, however this is not the primary desired operating mode of TLS. > The reason I am pointing this out is that I just had to waste a bunch of > time convincing the rest of the OpenSSL team to ignore the draft language > in question, and just stick with whatever "security level" (floor on > algorithm strength) the application or default settings requested. This > already excludes MD5 by default, and we'll likely adjust the collision > resistance rating of SHA-1 from 2^80 to its reported ~2^64 strength (from > the recent Google collision announcement), after which SHA-1 will also > be excluded at security level 1. This will be done in the X.509 ala PKIX > code and not the TLS code, and applications that ignore the chain or do > DANE-EE(3), ... will not be affected. > > I propose that the current draft language is just a landmine for TLS > implementations, that addresses a non-problem (or more precisely a > problem that is more properly and well addressed elsewhere). TLS is already a minefield of problems. Enumerating many of them explicitly is a step forward to avoiding them more easily in the future. In a complex system, just fixing something in one place is not enough. If we list it as a possible option in the spec, we should be _very_ clear when it is crap. I'm aware that this is unavoidably messy. Viktor, your input has greatly helped improve the language here to accommodate varying use-cases, and I would personally prefer we work together to make the mess correct, rather than give up and delete the relevant text. Dave _______________________________________________ TLS mailing list TLS@ietf.org https://www.ietf.org/mailman/listinfo/tls