Re: [TLS] RFC8446 backward compatibility question

Toerless Eckert <tte@cs.fau.de> Thu, 05 August 2021 23:11 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68F873A11CD for <tls@ietfa.amsl.com>; Thu, 5 Aug 2021 16:11:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.118
X-Spam-Level:
X-Spam-Status: No, score=-1.118 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4oDNUkhkEbn9 for <tls@ietfa.amsl.com>; Thu, 5 Aug 2021 16:11:28 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:40]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 25C6A3A1031 for <tls@ietf.org>; Thu, 5 Aug 2021 16:11:09 -0700 (PDT)
Received: from faui48e.informatik.uni-erlangen.de (faui48e.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:51]) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTP id 39075548005; Fri, 6 Aug 2021 01:11:02 +0200 (CEST)
Received: by faui48e.informatik.uni-erlangen.de (Postfix, from userid 10463) id 2BF144E7C54; Fri, 6 Aug 2021 01:11:02 +0200 (CEST)
Date: Fri, 06 Aug 2021 01:11:02 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: Eric Rescorla <ekr@rtfm.com>
Cc: "Salz, Rich" <rsalz@akamai.com>, "tls@ietf.org" <tls@ietf.org>
Message-ID: <20210805231102.GF57091@faui48e.informatik.uni-erlangen.de>
References: <20210805204355.GB57091@faui48e.informatik.uni-erlangen.de> <491413A8-E420-49AA-AA0D-1494C29F20C8@akamai.com> <20210805213523.GD57091@faui48e.informatik.uni-erlangen.de> <CABcZeBMENb1bvgtWG7o180NM2Pm43qkFBNe9kRv3F4A49k21tg@mail.gmail.com> <20210805225244.GE57091@faui48e.informatik.uni-erlangen.de> <CABcZeBMbfQdKi2cOFip5o4CFfGEtFKDSKJM=Zvt6=0cZWXqb4w@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CABcZeBMbfQdKi2cOFip5o4CFfGEtFKDSKJM=Zvt6=0cZWXqb4w@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/IoKIJewUZqF9G1bwsSKISBDLcoE>
Subject: Re: [TLS] RFC8446 backward compatibility question
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Aug 2021 23:11:34 -0000

Sure, i like playing TLS cluedo ;-)

But for uneducated readers, i was thinking more about text that uplevels to the operational
aspect of interoperability:

  All (curent) TLS versions can negotiate to lower versions, but
  no version specification mandates actual support for such a lower version.

  In result: to ensure interoperability with a peer of version 1.x, 
  it is not sufficient to support 1.y, where y > x, but an implementation
  must explicitly also have support for 1.x.

Btw: pretty sure that if i go back to my domain (IP Multicast for example),
our text will likely not be any better, but TLS just has the biggest interest
surface so it makes most sense to encourage authors to write the most easily
read text.

Cheers
    Toerless


On Thu, Aug 05, 2021 at 03:57:07PM -0700, Eric Rescorla wrote:
> On Thu, Aug 5, 2021 at 3:52 PM Toerless Eckert <tte@cs.fau.de> wrote:
> 
> >
> > Another way to educate what you may consider to be "non-core" readership,
> > is maybe some form of "TLS operational considerations". Your prior answer
> > about that TLS server cluster consideration would also nicely fit into
> > something like that. Maybe something for opsec wg..
> >
> 
> This is in the next section:
> https://tools.ietf.org/rfcmarkup?doc=8446#appendix-D.3
> 
> -Ekr
> 
> 
> 
> > Cheers
> >     Toerless
> >
> > (*) Not sure about the number. Could have been egyption or chinese history
> > ;-)
> >
> >
> > On Thu, Aug 05, 2021 at 03:23:42PM -0700, Eric Rescorla wrote:
> > > On Thu, Aug 5, 2021 at 2:37 PM Toerless Eckert <tte@cs.fau.de> wrote:
> > >
> > > > Thanks for the explanation.
> > > >
> > > > My main concern was just to understand clearly what requirements
> > > > have to be written into RFC when one wants to ensure that TLS 1.2 needs
> > > > to be supported as the fallback in a particular solution.
> > > >
> > > >  With TLS 1.3 not mandating support for TLS 1.2, in such cases one
> > > > still needs to write MUST support TLS 1.2
> > >
> > >
> > > That's correct.
> > >
> > > when one thought
> > > > a MUST TLS 1.3 might have sufficed (assuming it included TLS 1.2
> > > > support). A bit more explanatory text in 8446 might have helped.
> > > >
> > >
> > > TBH, I think this is pretty clear in the document. We don't generally
> > expect
> > > that support for version X includes support for version X-1. Moreover,
> > there
> > > is text in the document which doesn't make much sense if you couldn't
> > > just have a TLS 1.3 stack:
> > >
> > >  This document defines TLS version 1.3.  While TLS 1.3 is not directly
> > >   compatible with previous versions, all versions of TLS incorporate a
> > >   versioning mechanism which allows clients and servers to
> > >   interoperably negotiate a common version if one is supported by both
> > >   peers.
> > >
> > >
> > > Or
> > >
> > >   TLS 1.2 and prior supported an "Extended Master Secret" [RFC7627
> > > <https://tools.ietf.org/rfcmarkup?rfc=7627>]
> > >    extension which digested large parts of the handshake transcript into
> > >    the master secret.  Because TLS 1.3 always hashes in the transcript
> > >    up to the server Finished, implementations which support both TLS 1.3
> > >    and earlier versions SHOULD indicate the use of the Extended Master
> > >    Secret extension in their APIs whenever TLS 1.3 is used.
> > >
> > > -Ekr
> > >
> > >
> > >
> > >
> > >
> > > > Also, the immediate status change of "obsoleted by 8446" may
> > > > make readers think that TLS 1.3 can take care of migration
> > > > from TLS 1.2 all by itself, when indeed it can not unless you
> > > > still also mandate implementing TLS 1.2. Of course we do not
> > > > have a better keyword vocabulary. Something like "Sunset by: 8446".
> > > >
> > > > Cheers
> > > >     Toerless
> > > >
> > > > On Thu, Aug 05, 2021 at 09:16:37PM +0000, Salz, Rich wrote:
> > > > > >    I am trying to figure out if every implementation compliant with
> > > > >     RFC8446 is also necessarily interoperable with an RFC5246 peer,
> > or
> > > > if this
> > > > >     is just a likely common, but still completely optional
> > > > implementation choice.
> > > > >
> > > > > It is possible to have a single stack that implements TLS.[123].
> > > > OpenSSL, among many others does this.  Some have implemented ONLY TLS
> > 1.3;
> > > > that code tends to be cleaner (in a nerd esthetic sense) than code that
> > > > implements multiple protocols. Some servers even "hand off" pre-1.3
> > > > protocols to separate implementations (libraries); FB and Amazon used
> > to do
> > > > that.
> > > > >
> > > > > The wire protocol for TLS 1.3 uses some deliberately-reserved
> > extension
> > > > fields so that a server which doesn't do 1.3 can fail cleanly, and a
> > server
> > > > that DOES will work. And also the other way, a 1.3 client can work fine
> > > > with both a 1.3 server and a 1.[12] server.
> > > > >
> > > > > It's easy to rationale 1.3-only for clients. It is harder to
> > rationalize
> > > > 1.3-only for servers if you are intending those servers to be generally
> > > > accessible on the public Internet.
> > > > >
> > > > >
> > > >
> > > > --
> > > > ---
> > > > tte@cs.fau.de
> > > >
> > > > _______________________________________________
> > > > TLS mailing list
> > > > TLS@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/tls
> > > >
> >
> > --
> > ---
> > tte@cs.fau.de
> >

-- 
---
tte@cs.fau.de