Re: [TLS] Working Group Last Call for draft-ietf-tls-downgrade-scsv-00

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 27 October 2014 15:22 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3C1E71ACE17 for <tls@ietfa.amsl.com>; Mon, 27 Oct 2014 08:22:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
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 qSxdItYBIvDJ for <tls@ietfa.amsl.com>; Mon, 27 Oct 2014 08:22:30 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id 8ED2D1ACDDF for <tls@ietf.org>; Mon, 27 Oct 2014 08:22:26 -0700 (PDT)
Received: from fifthhorseman.net (unknown [38.109.115.130]) by che.mayfirst.org (Postfix) with ESMTPSA id 3B0C5F984 for <tls@ietf.org>; Mon, 27 Oct 2014 11:22:23 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 7B6A925912; Mon, 27 Oct 2014 11:22:14 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: tls@ietf.org
In-Reply-To: <544C6C00.3070903@brainhub.org>
References: <2112FCAD-4820-49D9-9871-6501C83A554D@cisco.com> <5449E969.9000800@brainhub.org> <CADMpkc+cLJNMYZb4OqukM7qT1aPsqEmCF0JxOyuLYe=78BEcgQ@mail.gmail.com> <544AB4B4.2010305@brainhub.org> <CADMpkc+cku0G6SKs7ZX6oHidiP2X8x8KfB9+E7mjYcNDXrPw9w@mail.gmail.com> <544B5764.9020006@brainhub.org> <CABkgnnVcNgC0SXFkfLYJHyxWe0uxDDShfgPgH=JmmTv0KVQhpg@mail.gmail.com> <544B5D82.2080900@brainhub.org> <CADMpkcLzXV0P8uyoL7F=o3fMUkaJwWZUF7+fBoGYaBri1DgDcg@mail.gmail.com> <544BFCED.9080904@brainhub.org> <CAFewVt4=uBP-J0WJyppph_BzbdEsTHw63BF9XrrHNfqUwapvSg@mail.gmail.com> <544C6C00.3070903@brainhub.org>
User-Agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu)
Date: Mon, 27 Oct 2014 11:22:10 -0400
Message-ID: <87a94hwna5.fsf@alice.fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/e-6Goc2ns-Udi6LWAXtnxidS-Pk
Subject: Re: [TLS] Working Group Last Call for draft-ietf-tls-downgrade-scsv-00
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Mon, 27 Oct 2014 15:22:32 -0000

On Sat 2014-10-25 23:35:28 -0400, Andrey Jivsov wrote:
> Let's wait with TLS_FALLBACK_SCSV for a minute :-).
>
> To be even more specific, let's simplify the above a bit:
>
>         TLS1.2: X, Y
>         TLS1.1: X
>         TLS1.0: X
>         SSL3.0: RC4-MD5
>
> ( SSL3.0 has only RC4-MD5, and RC4-MD5 is not in X or Y. )
 [...]
> Example, using the above table:
>
> ClientHello: TLS1.1+RC4-MD5+TLS_FALLBACK_SCSV
> Server: MUST fail
>
> v.s.
>
> ClientHello: TLS1.1+RC4-MD5
> Server: negotiates SSL3.0+RC4-MD5

I think you've just demonstrated that the server is misconfigured in
this example.

Because of its misconfiguration, the server has selected SSL3.0 when it
could have selected TLS1.1.

(this scenario might have more nuance if we're talking about a TLS 1.3
specification that doesn't permit negotiation of RC4-MD5, but that's not
the scenario painted above)

----

In general, i don't have a lot of sympathy for the complaint that a
network failure causes fallback negotiation, which might fail.  Outside
of TLS, when a network failure causes a TCP session to abort, the
connection fails anyway.

We should have guidance to the implementer of any fallback dance that
the receipt of an inappropriate_fallback alert means you should clear
your notion of whether a given host needs a fallback.

In a browser context, this means that the user clicks "reload", and they
get a new try at the connection.  This is something users are familiar
with in other network-glitch scenarios.

     --dkg