Re: [TLS] PR#1091: Changes to provide middlebox robustness

Eric Rescorla <ekr@rtfm.com> Wed, 08 November 2017 14:04 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8E39127076 for <tls@ietfa.amsl.com>; Wed, 8 Nov 2017 06:04:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 G4Xl3fRn6in5 for <tls@ietfa.amsl.com>; Wed, 8 Nov 2017 06:04:18 -0800 (PST)
Received: from mail-yw0-x232.google.com (mail-yw0-x232.google.com [IPv6:2607:f8b0:4002:c05::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8830127011 for <tls@ietf.org>; Wed, 8 Nov 2017 06:04:15 -0800 (PST)
Received: by mail-yw0-x232.google.com with SMTP id w2so2346561ywa.9 for <tls@ietf.org>; Wed, 08 Nov 2017 06:04:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Qxi9dMiZgv0rtov8n/yh/3tpyGEGc2uFH6k3LbRJXDo=; b=mDT1oY2dMz0azJY8pXHKsg2zrThMxSFnFzexC7kqQ/EVAKvSTk3xs9abwhlpXUf5Fs 5DNjR/iCpYQVuwXRGTeGzTx5C2CPNPYkORRXVrg0jmbHbD5B/f1xDwHF85stTFnYfZJ2 z9KGVILPtIeAaFyaWRfMAtuRvSyQCee1Nr/YWzG8kebV2KG2qAvjBSXrFwfB0ocpMjrh qSeXUFJJUt7AwbqqPzjgzH1/bklq+wIStTasIXKwFvCxzeffGmquKF3FpuLwvYcaofbt oqdvYFBGNULFauhAuynMR3p4AJfTqoi3xatSNyTrj99mU4OUkB0wzGkqHmnfCOnnO/c8 Tvaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Qxi9dMiZgv0rtov8n/yh/3tpyGEGc2uFH6k3LbRJXDo=; b=nnI/4KVARCatZsGqiTqFihkdq+5njtHD0NxVrLJsP9NpYHa8VadyXhYdmS3UBlRpJ6 kfYTVDGxGDE0APjU9BpcUEvsUhuGXrYpcJNCboA9Xwteyss7c+fmt4IOQSHgNOi1+Yy7 9+crslo82D2CgYIfE+h5YStks3OLDkeb8L3+nm04vb5dEdUT3XxItZuo9xmqcN4df5nD 0eU9bwn+1fv5sZ6/2lb2ornAlIoCOV/4rzCKBjPcTADTUtUvniU7wxB/4E2Jxhsubvfb /5c6DZb20EEBhFPnUmajZJ9+lZbXVuBMJgs2z5J6Q0KHGVDCGIgNbjyiEKywkZiPoW1I 4QXQ==
X-Gm-Message-State: AJaThX7ctAVLONIEpwen0xdMD5XSHgLRe4WcvRLuR9eVhO5YHrQ0XYuo +6EIL+sco8U//GERIOOUCElURYc2aaFfs+WBVEk9jg==
X-Google-Smtp-Source: ABhQp+QFDG3Z5SJ8N/BlAlQ0ysjpKcgQVTwpeP1eSSvoRAv/pW6TApPD4U+9blt2WyRc0e06nccKhJAgrnZmX08ujgw=
X-Received: by 10.37.209.208 with SMTP id i199mr392370ybg.339.1510149854813; Wed, 08 Nov 2017 06:04:14 -0800 (PST)
MIME-Version: 1.0
Received: by 10.129.61.12 with HTTP; Wed, 8 Nov 2017 06:03:34 -0800 (PST)
In-Reply-To: <126ede22-36d3-42d5-18fd-511b7e1349c7@akamai.com>
References: <CABcZeBNm4bEMx0L6Kx-v7R+Tog9WLXxQLwTwjutapRWWW_x9+w@mail.gmail.com> <4406543.RZChgRkkf9@pintsize.usersys.redhat.com> <CABcZeBOxEAVUAq6+cSD9P+e0VHvgJHvrgj6uENbvf9aWnZooKg@mail.gmail.com> <6818962.9GzJR6rN5C@pintsize.usersys.redhat.com> <965B995B-A5B3-4322-B13A-A2D82AFD2743@akamai.com> <CABkgnnWt4NYuGKOoCfH3x6oSHXbC90ubJM64ArYiNG+9qhXQWw@mail.gmail.com> <D517CEA4-AF57-4F87-9D66-4A2D0299ED17@akamai.com> <CABcZeBNkgO2efWJL4bNDqVnCVr9+Hpg_D+b8ebNukf=HpHnujA@mail.gmail.com> <CAGD1bZaBOC-adMAOkBohGoVqf3RbGeLDxgPdqaV0a4OOttqAiw@mail.gmail.com> <CACsn0cnfV1G0PSPZzbFDkKGd-1a3BhFh3UY3o0Xr529ht=Lg8w@mail.gmail.com> <CABcZeBNesAA3qG=4mpyq2B+23HpXD66ePdk61OzwQQXHmUB1gQ@mail.gmail.com> <1510132329.17184.123.camel@redhat.com> <CABcZeBPA9AFzaJh_sqN+EUzRNRD-verk+c6_AS9xumhru+WPwg@mail.gmail.com> <126ede22-36d3-42d5-18fd-511b7e1349c7@akamai.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 08 Nov 2017 06:03:34 -0800
Message-ID: <CABcZeBM818eaU_HCkDSX3Fpsqwt3QBLuNVh4rx33ZJBR9R6L1Q@mail.gmail.com>
To: Benjamin Kaduk <bkaduk@akamai.com>
Cc: Nikos Mavrogiannopoulos <nmav@redhat.com>, "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c05e1a6a77c8b055d792909"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/hnvw5IvPRyHPp91liyBVR1qwjTI>
Subject: Re: [TLS] PR#1091: Changes to provide middlebox robustness
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 08 Nov 2017 14:04:21 -0000

On Wed, Nov 8, 2017 at 5:54 AM, Benjamin Kaduk <bkaduk@akamai.com> wrote:

> On 11/08/2017 07:34 AM, Eric Rescorla wrote:
>
>
>
> On Wed, Nov 8, 2017 at 1:12 AM, Nikos Mavrogiannopoulos <nmav@redhat.com>
> wrote:
>
>> On Tue, 2017-11-07 at 16:32 -0800, Eric Rescorla wrote:
>> >
>> >
>> > On Tue, Nov 7, 2017 at 4:25 PM, Watson Ladd <watsonbladd@gmail.com>
>> > wrote:
>> > > On Tue, Nov 7, 2017 at 4:05 PM, Jana Iyengar <jri@google.com>
>> > > wrote:
>> > > > FWIW: In my experience middleboxes don't ossify based on what the
>> > > spec says,
>> > > > they ossify based on what they see on the wire. So, if common
>> > > > implementations send CCS in a particular way, that's what will
>> > > get --- and,
>> > > > I'll argue, what has gotten --- ossified. I also agree with David
>> > > and Eric
>> > > > that compatibility mode shouldn't be required because QUIC
>> > > doesn't need it.
>> > >
>> > > What does compatibility mode mean here?
>> >
>> > It means:
>> >
>> > 1. Send the fake session_id
>> > 2. Send a bunch of spurious CCS values.
>> >
>> >
>> > > If we end up with having two
>> > > slightly different versions of TLS 1.3, one that looks more like
>> > > TLS
>> > > 1.2 and the other that does not, that doesn't seem like a good
>> > > thing
>> > > to me.
>> >
>> > Well, the idea is that this is a purely local decision by one side.
>>
>> Which increases the cost of TLS1.3 implementation and testing by
>> introducing different handshake state machines.
>
>
> It doesn't introduce different handshake state machines, because you just
> ignore the CCS.
>
>
> I am leery of things that we flat-out *ignore*, as that sort of thing has
> a history of coming back to bite us.
>

Well, I suppose that's possible, but given that this is in the plaintext
stream, it seems less concerning.


> Why not negotiate that
>> CCS addition with an extension and have it defined outside the TLS 1.3
>> spec?
>
>
> That actually does introduce different state machines.
>
>
> True, but perhaps still worth thinking about.
> In some sense, we might not even need an extension; we could take Martin's
> idea and run with it -- server MUST send CCS if the client sends a
> sessionID, and server MUST NOT send CCS if the client does not send a
> sessionID.  This would still make the state machine bigger, but avoids a
> fork that depends only on "what message do I receive here".  On the other
> hand, it also places all the burden of deciding when to use the compat
> scheme on the client, when people are making the case that some servers, at
> least, have some sense of when they're behind a relevant middlebox.  But
> I'm not entirely sure how convincing those arguments have been, so far.
>

Well, at some level the client has to make the initial decision because it
has to decide what to put in CH. If you replace your MUST NOT with a MAY,
then the server can decide for itself whether to send the CCS, and this
works well with "ignore"

-Ekr


> -Ben
>
> -Ekr
>
> I understand the concerns of the browser "community" on being
>> 100% backwards compatible with middle boxes, but the TLS1.3 standard is
>> more than just browsers. If 100% compatibility is required, there is a
>> very simple solution, use TLS 1.2.
>>
>> regards,
>> Nikos
>>
>>
>
>
> _______________________________________________
> TLS mailing listTLS@ietf.orghttps://www.ietf.org/mailman/listinfo/tls
>
>
>