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

Bodo Moeller <bmoeller@acm.org> Fri, 26 September 2014 20:21 UTC

Return-Path: <SRS0=QEdY=6T=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 C28C01A6FF9 for <tls@ietfa.amsl.com>; Fri, 26 Sep 2014 13:21:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.714
X-Spam-Level:
X-Spam-Status: No, score=-1.714 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, RP_MATCHES_RCVD=-0.786, SPF_PASS=-0.001] 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 46sXSC9TrccM for <tls@ietfa.amsl.com>; Fri, 26 Sep 2014 13:21:31 -0700 (PDT)
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) (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 1B1CE1A6FE8 for <tls@ietf.org>; Fri, 26 Sep 2014 13:21:31 -0700 (PDT)
Received: from mail-qg0-f48.google.com (mail-qg0-f48.google.com [209.85.192.48]) by mrelayeu.kundenserver.de (node=mreue001) with ESMTP (Nemesis) id 0Lf3PM-1Y4W0U3kPA-00okhO; Fri, 26 Sep 2014 22:21:27 +0200
Received: by mail-qg0-f48.google.com with SMTP id z107so9584713qgd.35 for <tls@ietf.org>; Fri, 26 Sep 2014 13:21:25 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.229.29.3 with SMTP id o3mr7561109qcc.10.1411762885701; Fri, 26 Sep 2014 13:21:25 -0700 (PDT)
Received: by 10.140.156.5 with HTTP; Fri, 26 Sep 2014 13:21:25 -0700 (PDT)
In-Reply-To: <CAFewVt7e6Na5dk9D505-GyBrbM=5tqkaOj+_=bKMc3_FHL+unA@mail.gmail.com>
References: <2112FCAD-4820-49D9-9871-6501C83A554D@cisco.com> <CABkgnnUxeouqDNhYFGDC2xqUaT8r7zFvAT5U1OUGJwHwCOuOwA@mail.gmail.com> <CADMpkcJKJiTCQXdDbepyiAf22J9VC03DDgiE521n3NsNnFmALA@mail.gmail.com> <CABkgnnWo9KGMkRrmA0wkJ5Dfnzh2Vo-cveCe_UeH71F8K_4oWw@mail.gmail.com> <CADMpkcJpHeKGV-xc4Uon8KWj=+p=6nQO1_rxb6sRN04nFX--gQ@mail.gmail.com> <CABkgnnU8DyzRvvq1e24bUsZdwx48mFOC6KstZaUCbvyQ-WwesQ@mail.gmail.com> <CADMpkc+wXf=SG3=C==SV77YXZdbXnbXspJLRZ1UORPF-WbVMEw@mail.gmail.com> <CAFewVt5mEodyqB6TWCmvOUBek9Bnb43bmw5mAqph-hQU=F=EpA@mail.gmail.com> <CADMpkcJL8U2cQQATykL8ygEaJzPEuUkzAr1uNGcMqN6abCYUHA@mail.gmail.com> <CAFewVt7e6Na5dk9D505-GyBrbM=5tqkaOj+_=bKMc3_FHL+unA@mail.gmail.com>
Date: Fri, 26 Sep 2014 22:21:25 +0200
Message-ID: <CADMpkcLBgmJN88RP_6B5tW0ndQGNFZz87bXhPFdszpFu85OQCA@mail.gmail.com>
From: Bodo Moeller <bmoeller@acm.org>
To: Brian Smith <brian@briansmith.org>
Content-Type: multipart/alternative; boundary="001a1134bbbe4f39910503fda9f6"
X-Provags-ID: V02:K0:iebj5YW2UyJyK9g1pJGEHzs6DSvGmLsYkb1SN3XW75X 9xjjaYkqt8gkd08hTOXisJ6tjbILw872LFkTZov7QxduqLpV9E 6pGQCALhVz6YrwBH4eRF9GbzXCDpi+6DPKDijn8PjyzJhYfZe8 Y3fp+CbsVmUVvNUo/ExMvCl5Ih8ZV01bkniz5YanDYPAPGFYht ZYAFPusWIKb0TRAVrxj44UCGmdaBhy+DEtK+GoqKwQMVPiQSQX g8amtZ0wt94GpK4wfukYgZsGpVaFmVjeEhCupLUykfch6uvLOy x4XLk+JmlGenHcM96l15nr40mc3sujZhTTpdfd4QmtwJax2I9J 1cIRQRss7Qs2v1EjtpY3c4Y7NQ7c6kMCkSV7/ZAkpJItI6TMUm kxJZw9UbXhuoCByHvXHCYvOwAROauhiE8hCBvdemI18wa2VS7O Q424d
X-UI-Out-Filterresults: notjunk:1;
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/nf1DoUBp_-n6nNSX2koTV-eugno
Cc: "<tls@ietf.org>" <tls@ietf.org>
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: Fri, 26 Sep 2014 20:21:35 -0000

>
>
> > *Could* fail, sorry. (As already explained by Martin, the problem
> appears if
> > by the time you try to resume, the server supports additional protocol
> > versions. Of course that could also happen for an immediate retry, and
> > you'll have to live with it then; so I wonder if that "MUST" isn't too
> > strict after all: if you're willing to start over on
> inappropriate_fallback,
> > you might actually prefer to send TLS_FALLBACK_SCSV *in order* to get a
> > connection failure if the server has been updated.)
>


> Right. In general, a resumption ClientHello SHOULD be just like a
> non-resumption ClientHello, except for the presence of the session ID
> and/or session ticket, because a resumption ClientHello is potentially
> the start of a full handshake.
>
> The TLS specs (TLS 1.2, in this case) say:
>
>    Whenever a client already knows the highest protocol version known to
>    a server (for example, when resuming a session), it SHOULD initiate
>    the connection in that native protocol.
>
> However, actually the client does not ever know the highest protocol
> version the server supports, because the server may have expanded its
> version support since the last time the client contacted it. But, the
> consequence of that sentence is that at least NSS sends the session
> version as client_version instead of its actual max supported version.
> I think that is wrong.


Well, arguably it is, but at least if you had to do an additional fallback
handshake just to successfully complete a handshake (which is the situation
we unfortunately have to concern us with here), you probably wouldn't want
to repeat this trial-and-error on every session resumption.

So if we accept that fallback handshakes can be a necessity, we also have
to accept that lowered client_version on resumption as a fact of life.




> So, it may be
> the case that it is already safe to always send the max supported
> version as client_version in an initial resumption handshake, without
> any indication from the server, even in the non-secure fallback case.


If the server is version-intolerant for new sessions, why would it be
tolerant on (attempted) resumption?

Bodo