Re: [TLS] Ticket request PR#20

Viktor Dukhovni <ietf-dane@dukhovni.org> Mon, 20 April 2020 19:28 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 0C37A3A0DAC for <tls@ietfa.amsl.com>; Mon, 20 Apr 2020 12:28:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0
X-Spam-Level:
X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_PASS=-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 76qrcTaIm3ze for <tls@ietfa.amsl.com>; Mon, 20 Apr 2020 12:28:43 -0700 (PDT)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A32593A0DC5 for <tls@ietf.org>; Mon, 20 Apr 2020 12:28:43 -0700 (PDT)
Received: by straasha.imrryr.org (Postfix, from userid 1001) id 9A32B1AA2AF; Mon, 20 Apr 2020 15:28:41 -0400 (EDT)
Date: Mon, 20 Apr 2020 15:28:41 -0400
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20200420192841.GB41308@straasha.imrryr.org>
Reply-To: tls@ietf.org
References: <20200419222318.GY41308@straasha.imrryr.org> <CABcZeBPKiWw3BJtX-sU_E3Zhw3M92PVqsVZkqu1ATkLnJaJrRA@mail.gmail.com> <20200419230623.GZ41308@straasha.imrryr.org> <CACdeXi+04oveS0t3yLXmhB5SvFCRCuKxCO8d7LSwJutc8fJi9w@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CACdeXi+04oveS0t3yLXmhB5SvFCRCuKxCO8d7LSwJutc8fJi9w@mail.gmail.com>
User-Agent: Mutt/1.12.2 (2019-09-21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/4PsmlRQe0KxJVzJ6XtMKU1TJj0o>
Subject: Re: [TLS] Ticket request PR#20
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 20 Apr 2020 19:28:56 -0000

On Mon, Apr 20, 2020 at 12:18:28PM -0700, Nick Harper wrote:

> > That precludes clients from soliciting 0 *only* from servers that
> > support some future specification, and otherwise getting 1 from
> > servers that support only the current specification.
> >
> 
> That's not true. Suppose there's some future specification FOOBAR that a
> client and server might support, and the client wants a resumption_count of
> 0 when the server supports FOOBAR and 1 if the server doesn't support
> FOOBAR. The apparent problem is that the client doesn't know whether the
> server supports FOOBAR when it writes its resumption_count value. It's true
> that the client doesn't know whether the server supports FOOBAR on its
> first connection to the server, but on that connection, the value of
> resumption_count is irrelevant. On future connections, the client can
> condition resumption_count based on whether FOOBAR was supported on the
> connection that the resumption ticket came from.

Yes, that mostly works, but it will require a second extension (which
would otherwise not be needed), and assumes that the *same* server
software is doing the resumption as issued the initial ticket.  That'll
generally be true I guess, but is not guaranteed.  In a load-balanced
pool of servers, support for FOOBAR may not be universal.

> My take on this PR is that it unnecessarily complicates the
> ticketrequest draft. As currently specified, the two values do what
> they say on the tin; with this PR there's an extra weird edge case.
> This complication is unnecessary based on my above description of how
> the FOOBAR spec can extend it.

The "complexity" involved is exceedingly minimal, and introducing a
second extension FOOBAR to modify the meaning of this extension is
rather more complex.  I'd like to have an opportunity to propose
a later refinement of this specication to give a new meaning for
{1,0} in this extension, without requiring any new FOOBAR extension.

So my hope is that the case for {1,0} -> 0 tickets on resumption is
rather weak, and {1,0} -> 1 is cheap enough to make it a reasonable
compromise.

-- 
    Viktor.