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

Nikos Mavrogiannopoulos <nmav@redhat.com> Tue, 21 March 2017 13:50 UTC

Return-Path: <nmav@redhat.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 82F04126DED for <tls@ietfa.amsl.com>; Tue, 21 Mar 2017 06:50:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.922
X-Spam-Level:
X-Spam-Status: No, score=-6.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 aHWRrbXcYICK for <tls@ietfa.amsl.com>; Tue, 21 Mar 2017 06:50:35 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C15E12948A for <tls@ietf.org>; Tue, 21 Mar 2017 06:50:35 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F3A32C0528DE for <tls@ietf.org>; Tue, 21 Mar 2017 13:50:35 +0000 (UTC)
DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com F3A32C0528DE
Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=nmav@redhat.com
DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com F3A32C0528DE
Received: from dhcp-10-40-1-102.brq.redhat.com (unknown [10.40.3.105]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6FD647E605 for <tls@ietf.org>; Tue, 21 Mar 2017 13:50:35 +0000 (UTC)
Message-ID: <1490104233.2781.12.camel@redhat.com>
From: Nikos Mavrogiannopoulos <nmav@redhat.com>
To: "tls@ietf.org" <tls@ietf.org>
Date: Tue, 21 Mar 2017 14:50:33 +0100
In-Reply-To: <20170321131514.GA9342@bolet.org>
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> <20170321131514.GA9342@bolet.org>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 21 Mar 2017 13:50:36 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/Roa18vpBvQ9ffRek01wyJ0NcjVU>
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: Tue, 21 Mar 2017 13:50:37 -0000

On Tue, 2017-03-21 at 14:15 +0100, Thomas Pornin wrote:
> On Fri, Mar 17, 2017 at 05:24:09PM +1100, Martin Thomson wrote:
> > I'd even go so far as to specify it:
> > 
> > https://martinthomson.github.io/tls-record-limit/
> > 
> > I'll submit an I-D once the blackout ends if people are interested
> > in this.
> 
> I like this proposal. One comment, though: I think the wording in
> section 4 should mandate that the value sent MUST NOT exceed the
> maximum
> record size -- i.e. if an implementation supports records up to 16384
> bytes, then it should put 16384 here, not a bigger value suc as
> 65535.
> 
> Rationale: last time this was discussed on this list, some people
> expressed the wish to ultimately support records with more than 16384
> bytes of plaintext. If such an extension ever comes to fruition (it
> is
> certainly easy enough to do with CBC and GCM cipher suites), then
> sending a record_size_limit with a limit of, say, 60000 bytes, would
> serve as indication that the implementation indeed supports such
> larger
> records. This holds only as long as no implementation sends a value
> larger than 16384 if it does not really accept records of more than
> 16384 bytes.
> 
> Therefore, I propose to replace this paragraph:
> 
>     An endpoint that has no limit on the size of data they receive
> can
>     set this value to any value equal to or greater than the maximum
>     possible record size, such as 65535. A larger value does not
> allow
>     the endpoint to send larger records than the protocol permits. An
>     endpoint that receives a value larger than the maximum defined in
>     the protocol MUST NOT exceed protocol-defined limits. For TLS 1.3
>     and earlier, this limit is 2^14 octets.
> 
> with the following:
> 
>     An endpoint that supports all sizes that comply with the
>     protocol-defined limits MUST send exactly that limit as value for
>     maximum record size (or a lower value). For TLS 1.3 and earlier,
>     that limit is 2^14 octets. Higher values are currently reserved
> for
>     future versions of the protocol that may allow larger records; an
>     endpoint MUST NOT send a value higher than 2^14 unless explicitly
>     allowed by such a future version and supported by the endpoint.
> 
>     When an endpoint receives a maximum record size limit larger than
>     the protocol-defined limit, that end point MUST NOT send records
>     larger than the protocol-defined limit, unless explicitly allowed
> by
>     a future TLS version.

I support this proposal. It actually prevents re-introducing a
limitation which can hamper a future modification of the scope of this
extension.

regards,
Nikos