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

Andrey Jivsov <crypto@brainhub.org> Sat, 25 October 2014 19:41 UTC

Return-Path: <crypto@brainhub.org>
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 EFD3E1A3BA7 for <tls@ietfa.amsl.com>; Sat, 25 Oct 2014 12:41:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001] 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 4XHdzDN_8D7s for <tls@ietfa.amsl.com>; Sat, 25 Oct 2014 12:41:35 -0700 (PDT)
Received: from resqmta-po-08v.sys.comcast.net (resqmta-po-08v.sys.comcast.net [IPv6:2001:558:fe16:19:96:114:154:167]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 117411A6EDC for <tls@ietf.org>; Sat, 25 Oct 2014 12:41:34 -0700 (PDT)
Received: from resomta-po-03v.sys.comcast.net ([96.114.154.227]) by resqmta-po-08v.sys.comcast.net with comcast id 7XgJ1p00A4ueUHc01Xharh; Sat, 25 Oct 2014 19:41:34 +0000
Received: from [192.168.1.2] ([71.202.164.227]) by resomta-po-03v.sys.comcast.net with comcast id 7XhZ1p0064uhcbK01XhZ6H; Sat, 25 Oct 2014 19:41:34 +0000
Message-ID: <544BFCED.9080904@brainhub.org>
Date: Sat, 25 Oct 2014 12:41:33 -0700
From: Andrey Jivsov <crypto@brainhub.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1
MIME-Version: 1.0
To: 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>
In-Reply-To: <CADMpkcLzXV0P8uyoL7F=o3fMUkaJwWZUF7+fBoGYaBri1DgDcg@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1414266094; bh=b/0Hkeb/R1TKZFSDguw/p4wYy93pI5wqVl1hgTI/Tfw=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=klJUDi4y4JLA0gVA/Q+wueMmJqnW1ue4TD1lELnHAkExfoFH5S4AZOZV2JO6LHbZk h9Mxwbo0kfHNwklJizcJxW9Rd/Frb7X6ZKEs3fKvwBX+mm9hfOv4gpq11W0OmbUbPu +DsquSADIwfa64uFfF9jVXkc7/dwvJWeHi0F80FYdo946dA0ZHEHfVZMgqQo7bVJrC nwkSv+ZYhUuOCiwczcZdAvy/rmRqmBl2KdVgnB+Y+TtInWmsYG5rbzazBqZ5btbTNG Vf9PRWXX1MZHU9q5QS3tKxpcdKNnLGNW+yknx/8uAoffp0k2nqbJkteS+M3GGGO3G2 dL0c74qAcG+fw==
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/CCTzyhxJe1XbR-0G7GZFU-iPseE
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: Sat, 25 Oct 2014 19:41:37 -0000

On 10/25/2014 03:25 AM, Bodo Moeller wrote:
> Andrey Jivsov <crypto@brainhub.org <mailto:crypto@brainhub.org>>:
>
>         If a server is
>         capable of 1.2, but configured with 1.1, only downgraded
>         handshakes to
>         1.0 or SSL will cause the alert to be generated.
>
>     I don't think this is what Bodo is saying. Sec 3 (server) is missing
>     the concept of "configured", while the sec 4 (client) has it.
>
>
> That's an inconsistency that I can fix. If a protocol version is
> completely disabled in the server, of course using that version isn't
> supposed to be an "inappropriate fallback".
>
>     My example again is:
>
>     * the server capable of TLS 1.2 and lower. I mean, it will accept
>     TLS 1.2 ClientHello.
>
>
> And will negotiate TLS 1.2?
>
>     * the pair of the server and client happened to only able negotiate
>     a ciphersuite that is set on the server to be SSL3.0
>     * client sends TLS1.1+TLS_FALLBACK_SCSV
>
>     So, what is server's maximum version? Bodo says it's TLS1.2. Thus,
>     TLS1.1+TLS_FALLBACK_SCSV must fail. I say it's harsh because this
>     pair can only negotiate SSL 3.0.
>
>
> If the server is willing to negotiate TLS 1.2, then this is an
> inappropriate fallback and will fail. It's not reasonable to optimize
> the specification to provide extra error redundancy for blatantly stupid
> servers as in this scenario (at the cost of making it more complex,
> which can lead to other problems).
>

Regarding "blatantly stupid servers",

what you are saying is that the set of ciphers that can be negotiated 
with TLS1.2 must be a superset of the ciphers that can be negotiated 
with TLS1.1 in any server configuration, and so on to SSL 3.0

I am not sure that this will always be possible. Let's say I must offer 
RC4-MD5 for legacy products that only support SSL 3.0.

I think it would be more secure to offer

   TLS1.2: X, Y
   TLS1.1: X
   TLS1.0: X
   SSL3.0: X, RC4-MD5

than

   TLS1.2: X, Y, RC4-MD5
   TLS1.1: X, RC4-MD5
   TLS1.0: X, RC4-MD5
   SSL3.0: X, RC4-MD5

where X, Y are reasonable sets that currently works well with modern 
products.

The last line in each of the two sets above is a weak configuration, but 
this is the only cipher+protocol that outdated and unpatched clients can 
negotiate.

If I make RC4-MD5 available for higher protocols, this will mean that 
it's now potentially available to modern clients. Hopefully the clients 
don't negotiate it, or at the very least order it at the bottom of the 
ClientHello, however, there is now an insecure RC4-MD5 offered with 
TLS1.2. At the very least it looks bad to auditors, scanners, etc.

My example earlier in this thread involved the modern client negotiating 
RC4-MD5, supposedly due to misconfiguration. I think the first 
configuration on the server is slightly better because SSL 3.0 would 
likely be disabled by some global override on the client, preventing 
this scenario.

I think one should accept a small probability for TLS1.2-capable servers 
to negotiate lower version with TLS1.2 clients.