Re: [TLS] RFC 6066 - Max fragment length negotiation

Martin Thomson <martin.thomson@gmail.com> Fri, 17 March 2017 10:57 UTC

Return-Path: <martin.thomson@gmail.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 AB0F0129C12 for <tls@ietfa.amsl.com>; Fri, 17 Mar 2017 03:57:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 2NNHEacJuZRp for <tls@ietfa.amsl.com>; Fri, 17 Mar 2017 03:57:10 -0700 (PDT)
Received: from mail-qt0-x236.google.com (mail-qt0-x236.google.com [IPv6:2607:f8b0:400d:c0d::236]) (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 06E35129C07 for <tls@ietf.org>; Fri, 17 Mar 2017 03:57:10 -0700 (PDT)
Received: by mail-qt0-x236.google.com with SMTP id r45so59191589qte.3 for <tls@ietf.org>; Fri, 17 Mar 2017 03:57:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=WKsWqSbOiEbR4ohuuuG3ZcNcmQHyq4oD3E7Z1KL2H/k=; b=A/FNDQL36OVyUn7Xq5G682Gg/7hK+UiAodtX2hsNeAMUBzsJARVqZfo24Q1EAfYnN0 QOIR9k/ldOPkCSMMdexA1w35xvfJxeJpIoxQCQnxR5jumuKCnp9RNQTVqyCSUydHMCOM vIhsuc9KRZvPbo/LGI1OwBuDtzwSPdY7KqPIuOFmzxopcXzAE3Km31ZjeyJb7QD0W+tr 0cb83rOkFyaMt5WjHnCBI8iTtoHwDH4ngGnPf9Rj1LWhTZAB2fE2tWNDHVldPzOoQexc qq5sC8K76n2ZxL+k547ySUB2j1CfXdWd573YtMrAEVdXxelP+7PdEzxL7Tz8V6fc47pZ yP9w==
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=WKsWqSbOiEbR4ohuuuG3ZcNcmQHyq4oD3E7Z1KL2H/k=; b=P2a6k/agbbHIq7H3krpe8h6jBlogTXrL1ztt52PlSkbk2Iw8YeusD2f3gX4X9EnBhJ UGgxvPgTWllAmBzPwqp6R6ffal2HI3ZMTFPzS4K3i8V9LoSQPSsF7PC/6OfkXtjYd00f MBeI3DZqoGhstA9ehk0sH43UXjofvNicePB2dc2W0lLXZdrm3eIo6v+9XTt/Fww2ffZt TGMe76p7mW1taYVSGBjJ7C57oZcu32DP/WRZDoYVZvemt5qGEsPnoWy8GzCZDJ4RNe5b gjF9XSC/yLkY1ADBnQ8ivRnBusfTA3rhQNGSdMOCzGaEoSTTV0snZHrHmXTg6B+AXmLK wDdQ==
X-Gm-Message-State: AFeK/H035oIIUyV2TDLqj/Qpb8//J4ZSvfQxL8M7G8E6+xSfE8VjoeeUXWYa8nrTVgzisWseMvApLbGArFq1ng==
X-Received: by 10.237.34.250 with SMTP id q55mr13138757qtc.144.1489748229195; Fri, 17 Mar 2017 03:57:09 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.27.194 with HTTP; Fri, 17 Mar 2017 03:57:08 -0700 (PDT)
In-Reply-To: <1489747107536.25854@cs.auckland.ac.nz>
References: <CAD8WAomJLs4hdaso9hT036=UORjT9=H5-oCHbdSofuv++n3rYg@mail.gmail.com> <1489706298995.98317@cs.auckland.ac.nz> <855C5079-FDA7-4E68-AE29-1E9605B495D7@broadcom.com> <1489707933992.42551@cs.auckland.ac.nz> <CABkgnnVRZBwXHZ6w=gX9pykNpXp80OLP1pe-VMg-uO-C6O8yEQ@mail.gmail.com> <1489710142144.88978@cs.auckland.ac.nz> <CABkgnnXiB5ksGbbPqDP3D=FVdQu9ht0vD8-T-5HTaEKQQE4+9w@mail.gmail.com> <1489721710740.52293@cs.auckland.ac.nz> <CABkgnnWq_5e8TJgJV+okqi6vo-_5=811pOZRtUCp0TD07SmNoQ@mail.gmail.com> <CABkgnnW=Pz+6M8UYoB+MTY8rQp9vsHyh6aqiSb3EbTT_BdWokA@mail.gmail.com> <1489747107536.25854@cs.auckland.ac.nz>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Fri, 17 Mar 2017 21:57:08 +1100
Message-ID: <CABkgnnUqHvc6zOL1SYP8FwBcF7SeMnnT-PJOwhMB1qqeDAcp9w@mail.gmail.com>
To: Peter Gutmann <pgut001@cs.auckland.ac.nz>
Cc: "tls@ietf.org" <tls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/PiyZA7Tdh9jXg0hV1azVyd4V7zU>
Subject: Re: [TLS] RFC 6066 - Max fragment length negotiation
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: Fri, 17 Mar 2017 10:57:12 -0000

On 17 March 2017 at 21:38, Peter Gutmann <pgut001@cs.auckland.ac.nz> wrote:
> Firstly, do we have much real-world experience in using this extension?  From
> the TLS-support matrix, it looks like very few implementations support this,
> does this mean few people care about it or just that it's defined in a such a
> manner that it's not practical to support it?  For anyone who does use it, how
> do you use it, and what would you like to see changed?  If no fixed version of
> max_fragment_length is defined, would anyone care?

This is apparently a big deal for people building little things with
TLS in them.  Hannes knows better than I do.  On the web, this
extension basically doesn't exist (for the aforementioned reasons, in
part, also because browsers historically didn't much for servers and
their resource constraints).

> If the draft is published, I'd like to have a boolean don't-fragment flag or
> something similar available alongside RecordSizeLimit for implementations that
> don't implement fragmentation (the implementation matrix doesn't record which
> implementations support this, but I'd be pretty surprised if many embedded
> stacks did, given the complexity and extra memory use that this adds).

TLS 1.3 has an issue here in that it encrypts handshake messages, and
that includes the worst offender (Certificate).  You might not care
about 1.3, but I think that handshake fragmentation is just something
implementations will need to deal with there.

Plaintext records don't have any such limits.  I explicitly excluded
them.  That means that TLS 1.2 implementations shouldn't be affected.
Well, unless they wanted to send massive messages after the handshake
completes.  Renegotiation would do that, of course, so don't do that.