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

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 27 October 2014 19:17 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 E10951A8A06 for <tls@ietfa.amsl.com>; Mon, 27 Oct 2014 12:17:34 -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 ZWugIFSsUlF9 for <tls@ietfa.amsl.com>; Mon, 27 Oct 2014 12:17:28 -0700 (PDT)
Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108]) by ietfa.amsl.com (Postfix) with ESMTP id D421C1A903F for <tls@ietf.org>; Mon, 27 Oct 2014 12:17:27 -0700 (PDT)
Received: from [10.70.10.51] (unknown [38.109.115.130]) by che.mayfirst.org (Postfix) with ESMTPSA id CE9BBF986; Mon, 27 Oct 2014 15:17:25 -0400 (EDT)
Message-ID: <544E9A42.9080503@fifthhorseman.net>
Date: Mon, 27 Oct 2014 15:17:22 -0400
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/20100101 Icedove/32.0
MIME-Version: 1.0
To: Andrey Jivsov <crypto@brainhub.org>, tls@ietf.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> <87a94hwna5.fsf@alice.fifthhorseman.net> <544E95CB.4090507@brainhub.org>
In-Reply-To: <544E95CB.4090507@brainhub.org>
Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="Gj2Txtsp21FsJbAxeIs0hXoJss0sTXMKD"
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/d_of7Ee3TCygt7D4IZk-egFrx9k
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 19:17:35 -0000

On 10/27/2014 02:58 PM, Andrey Jivsov wrote:

> I think that these fallback heuristics will contain false-positives. My
> thought was that if the server has SHOULD fail, it could do something
> like never fail on TLS1.1 and higher (or TLS1.2 when TLS1.3 is out).
> Otherwise one must accept that servers implementing TLS_FALLBACK_SCSV
> will contribute to higher number of failed handshakes.

The failed handshakes associated with false positive fallback behavior
are from network glitches, right?  not from poorly-implemented or
unmaintained servers.

in the face of a network glitch, user agents have three options (browser
behavior in parens):

 0) report the connection failure up the stack (browsers: show the user
the "try again button")

 1) automatically try the connection again, same as last time

 2) try the connection again with a fallback handshake



in the false positive cases that we're discussing here, (1) is probably
the best option.  doing (2) leads directly to choosing a degraded
ciphersuite.

including the SCSV with (2) gives the client an inappropriate_fallback
alert, which they can use to recognize the false positive situation and
do (1) instead.

	--dkg