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

Bodo Moeller <bmoeller@acm.org> Thu, 16 October 2014 13:36 UTC

Return-Path: <SRS0=Aa5u=7H=acm.org=bmoeller@srs.kundenserver.de>
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 EEC891A037A for <tls@ietfa.amsl.com>; Thu, 16 Oct 2014 06:36:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.938
X-Spam-Level:
X-Spam-Status: No, score=-0.938 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 UZPpG3IZr5SN for <tls@ietfa.amsl.com>; Thu, 16 Oct 2014 06:36:57 -0700 (PDT)
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.17.24]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DADD81A1BC5 for <tls@ietf.org>; Thu, 16 Oct 2014 06:36:56 -0700 (PDT)
Received: from mail-yh0-f47.google.com (mail-yh0-f47.google.com [209.85.213.47]) by mrelayeu.kundenserver.de (node=mreue104) with ESMTP (Nemesis) id 0LwIKE-1YELoB48b8-0187Qk; Thu, 16 Oct 2014 15:36:54 +0200
Received: by mail-yh0-f47.google.com with SMTP id c41so1923616yho.20 for <tls@ietf.org>; Thu, 16 Oct 2014 06:36:52 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.236.203.114 with SMTP id e78mr1731446yho.47.1413466612684; Thu, 16 Oct 2014 06:36:52 -0700 (PDT)
Received: by 10.170.194.15 with HTTP; Thu, 16 Oct 2014 06:36:52 -0700 (PDT)
In-Reply-To: <CAFewVt77caT8kDPyKhT3Bqn5T+uRKA79n_F24VGnd+abMe6=zA@mail.gmail.com>
References: <2112FCAD-4820-49D9-9871-6501C83A554D@cisco.com> <CAFewVt77caT8kDPyKhT3Bqn5T+uRKA79n_F24VGnd+abMe6=zA@mail.gmail.com>
Date: Thu, 16 Oct 2014 15:36:52 +0200
Message-ID: <CADMpkcJmvZ7Zra9TJ9usnmcgYPnsKaykwOuXEFbDATT=qgWEAg@mail.gmail.com>
From: Bodo Moeller <bmoeller@acm.org>
To: "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="089e0158c7c459df3805058a57c1"
X-Provags-ID: V02:K0:kwC4elwWREo4BNCqdCjQTVOHLWIaSC/lgBi6P7uP+E2 /XiEdmgQbzig5dsNdtlIO3r//jnxQe3TdZmfgbst/4ymT+M5MP dL5Dv9fvLltPTRzbhAus2jpaPva5wH0mvJE4z0PWtwf0iT/0mJ r2PdsbzeieLUL1O7FeQ5QCfY62gHVCsb+jFq7QVuT2oRlZWye5 sUubP84+yQmWAaERY8myPWB2j6CFKvIBwqfLZF9sse8t5EDVgT ft9HBrUFrTCv4OPed8k9DtBrWGnqhxrwROMynAB4payODo3JZ0 mERTSXnMwudAgnpLVnJQld2tvRjIut76fJieadwYhoR5cTIIE9 kckIjrHutY6m6/aacEFTXcWEnwy681p6seTuiQ82WTYO8ChCNF EGc9zjxiUM2EkZ6RMd9/QgHOFWejHSM4Yjma6MNDm6oz8KxrA4 J4ANb
X-UI-Out-Filterresults: notjunk:1;
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/9vo8TEbdb_0QG_nlS9gjvIbAJAI
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: Thu, 16 Oct 2014 14:02:52 -0000

Brian Smith <brian@briansmith.org>:

It seems like the draft should also advise clients that they MUST NOT
> do the False Start optimization if the server does not choose the
> maximum version of TLS that they support. For example, if the server
> chooses a version less than ClientHello.client_version, or if the
> client sent the TLS_FALLBACK_SCSV, then the client MUST NOT false
> start. Currently the draft says nothing about this. Because of False
> Start, there are several downgrades that are still possible even with
> the current downgrade-SCSV-enabled Chrome and Firefox, for example.
>

This is a valid concern about the interaction of allowing fallback protocol
versions (whether using the normal version negotiation mechanism, or
fallback retries) with False Start. Obviously the False Start spec already
covers such aspects on a general level (do not use False Start unless the
symmetric cipher is cryptographically strong, etc.), but points such as the
one that older protocol versions may have *no* sufficiently secure cipher
suites at all are not made explicit.

This isn't specific to fallback retries and certainly not to the
TLS_FALLBACK_SCSV mechanism (it's exactly the same with the standard
mechanism for protocol version negotiation), so I think an updated version
of the False Start specification would be the right place to set any strict
requirements for this. However, it would make sense to *mention* and
discuss this aspect in the TLS_FALLBACK_SCSV document (non-normatively).


[As for the specifics, while I think this isn't really for the
TLS_FALLBACK_SCSV specification to define, allowing False Start only with
the *one* most recent protocol version appears too strict. Specifically,
while deployment of a new protocol version is underway, clients may want to
use False Start both with this new version and with the previous version --
why downgrade the overall experience for those who enable the latest
protocol version?]



> In summary, the way it is defined, the downgrade SCSV is only helpful
> in preventing a limit number of unspecified downgrade attacks when
> used in conjunction with False Start. Also, the draft is based on the
> premise that preventing version downgrade is useful for preventing
> some cryptographic attacks, but it does not substantiate that. POODLE
> and BEAST are evidence that the mechanism helps for some attacks. But,
> is this mechanism actually effective for preventing any other class of
> attacks, other than TLS 1.1 -> TLS 1.0 -> SSL 3.0 downgrade for CBC
> cipher suites? The answer to this should be in the security
> considerations.
>

Well, what makes the TLS_FALLBACK_SCSV mechanism particularly valuable is
that it can help protect you from attacks that no one is aware of yet. So
enumerating concrete attacks sort of would be missing the point:
TLS_FALLBACK_SCSV is mainly about those vulnerabilities that we *can't*
list there yet. I can tell you *now* how you would have benefited from
supporting TLS_FALLBACK_SCSV half a year ago.

The simplest argument in favor of preventing unwarranted fallback to
earlier protocol versions is that if we didn't think that the newer
versions were better, why would we be specifying them in the first place?

That said, the question whether the mechanism has relevance for weaknesses
other than those found in CBC cipher suites can be answered in the
affirmative. For example, if clients fall back to SSL 3.0 without TLS
extensions, they can't use ECDHE and thus may lose forward security.

Bodo