The spec is actually extremely clear on this point
https://tools.ietf.org/html/draft-ietf-tls-tls13-28#section-4.1.3

   TLS 1.3 clients receiving a ServerHello indicating TLS 1.2 or below
   MUST check that the last 8 bytes are not equal to either of these
   values.  TLS 1.2 clients SHOULD also check that the last 8 bytes are
   not equal to the second value if the ServerHello indicates TLS 1.1 or
   below.  If a match is found, the client MUST abort the handshake with
   an "illegal_parameter" alert.

I think it's way late to change it.

-Ekr





On Wed, Aug 8, 2018 at 7:01 AM, Benjamin Kaduk <bka...@akamai.com> wrote:

> On Wed, Aug 08, 2018 at 02:52:27PM +0100, Matt Caswell wrote:
> >
> >
> > On 08/08/18 14:45, Eric Rescorla wrote:
> > >
> > >
> > > On Wed, Aug 8, 2018 at 6:26 AM, Matt Caswell <m...@openssl.org
> > > <mailto:m...@openssl.org>> wrote:
> > >
> > >
> > >
> > >     On 08/08/18 14:21, Benjamin Kaduk wrote:
> > >     > On Wed, Aug 08, 2018 at 02:05:00PM +0100, Matt Caswell wrote:
> > >     >> Draft 28 defines the inappropriate_fallback alert as follows:
> > >     >>
> > >     >> inappropriate_fallback  Sent by a server in response to an
> invalid
> > >     >>       connection retry attempt from a client
> > >     >>
> > >     >> With the introduction of the downgrade protection sentinels it
> now seems
> > >     >> that an inappropriate fallback could also be detected by the
> client.
> > >     >> Should this wording be changed?
> > >     >
> > >     > Well, *fallback* specifically is inherently client-driven; the
> things the
> > >     > client could detect would be more of an incorrectly negotiated
> version
> > >     > (presumably due to an active attack).
> > >
> > >     Consider the scenario where a server supports TLSv1.3/TLSv1.2 but
> does
> > >     not support RFC7507 (TLS Fallback Signalling Cipher Suite Value).
> > >
> > >     If the client attempts a TLSv1.3 connection first and fails (e.g.
> an
> > >     active attacker prevented it) and then falls back to TLSv1.2 it
> would be
> > >     able to detect that its fallback attempt was inappropriate when it
> sees
> > >     the downgrade protection sentinels. In that case
> inappropriate_fallback
> > >     seems reasonable.
> > >
> > >
> > > I don't think that is the alert I would choose in this circumstance.
> > > Probably "illegal_parameter"
> >
> > illegal_parameter suggests to me that the peer is misbehaving in some
> > way - which isn't the case here? Also it seems strange that we would
> > have a more explicit alert than the generic illegal_parameter, that
> > seems to precisely describe the scenario (a fallback occurred, and it
> > turns out it was inappropriate) but not be able to use it.
>
> Aren't the semantics here "whoops, I made a new connection attempt that
> I shouldn't have; let me go back out of that"?  In which case one could
> argue even for close_notify...
>
> -Ben
>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to