Re: [TLS] WGLC for draft-ietf-tls-ticketrequests

Tommy Pauly <> Sun, 02 February 2020 14:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A1987120100 for <>; Sun, 2 Feb 2020 06:43:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id gHeAhnoara79 for <>; Sun, 2 Feb 2020 06:43:07 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8FC0312006E for <>; Sun, 2 Feb 2020 06:43:07 -0800 (PST)
Received: from pps.filterd ( []) by ( with SMTP id 012EflOZ063451 for <>; Sun, 2 Feb 2020 06:43:06 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=sender : content-type : content-transfer-encoding : from : mime-version : subject : date : message-id : references : in-reply-to : to; s=20180706; bh=aOUVjgfF5huFOaqOpwsy3zQqGa82An6KXfcGKJ6LMVk=; b=RmjpCiEbv9OUMGADxRuPcL7V0fQPxRUc5JkeAu6WxfrXnEXywAeVbz0aA5z/8qk3Xvn/ BRAWIwN8HW5THeGSmM2D3ADDJd3HMXpS73724Wmqo2F80jIoe4L6D3UabL8n0FdgOW0u WsZunKyX2iUFi5iq8VOdYbwZcbEq9PJ9xJtz3kONbGaYTNljDvUisZqXDiZIMoUtEI7d hJdb/1jaQUD3CHrDeu2rKuaTxMl7UG7WxtXm/aEoRUompfmndcQVyyPgMY0p+4E3mWgR jCfA/BTNzaMAS2cIDv5LJdcAiVaoqHvqxyWUx0C/X6NYmWrwM1WrlqbNxJcsQWN4kJm+ AQ==
Received: from ( []) by with ESMTP id 2xw970112f-5 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for <>; Sun, 02 Feb 2020 06:43:06 -0800
Received: from ( []) by (Oracle Communications Messaging Server 64bit (built Jul 4 2019)) with ESMTPS id <> for; Sun, 02 Feb 2020 06:42:57 -0800 (PST)
Received: from by (Oracle Communications Messaging Server 64bit (built May 7 2019)) id <> for; Sun, 02 Feb 2020 06:42:57 -0800 (PST)
X-Va-T-CD: 3ab6cfbeef9fe0930bcbd49ada4d0cd2
X-Va-E-CD: 7f7e14a8463c26a765e1ab3769b5d901
X-Va-R-CD: 6a2bc58b15f70a522f15c151e4c2a302
X-Va-CD: 0
X-Va-ID: 78f997bc-b601-4b77-b07b-3b3da0e2445a
X-V-T-CD: 3ab6cfbeef9fe0930bcbd49ada4d0cd2
X-V-E-CD: 7f7e14a8463c26a765e1ab3769b5d901
X-V-R-CD: 6a2bc58b15f70a522f15c151e4c2a302
X-V-CD: 0
X-V-ID: 0311abb0-e01a-4dd7-90d3-7d9bb157c4af
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2020-02-02_04:,, signatures=0
Received: from [] (unknown []) by (Oracle Communications Messaging Server 64bit (built May 7 2019)) with ESMTPSA id <> for; Sun, 02 Feb 2020 06:42:57 -0800 (PST)
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: quoted-printable
From: Tommy Pauly <>
MIME-version: 1.0 (1.0)
Date: Sun, 02 Feb 2020 06:42:56 -0800
Message-id: <>
References: <>
In-reply-to: <>
X-Mailer: iPhone Mail (18A214)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2020-02-02_04:, , signatures=0
Archived-At: <>
Subject: Re: [TLS] WGLC for draft-ietf-tls-ticketrequests
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." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 02 Feb 2020 14:43:09 -0000

> On Feb 2, 2020, at 3:52 AM, Viktor Dukhovni <> wrote:
> On Sat, Feb 01, 2020 at 08:05:28PM -0800, Watson Ladd wrote:
>>> Sorry, no idea what that above means.  And is it simpler than the
>>> proposal under discussion (which got some fine-tuning in early
>>> feedback)?
>> So one proposal in above is we treat 0 tickets as "ensure I have a valid
>> ticket, either this one or a new one" and all other numbers are straight
>> asks for that many tickets.
> This is indeed simpler, but it removes the ability to ask for zero
> tickets, which I think was one of the intended use-cases (that's what
> the 255 is for).
>> The other proposal is N means "ensure I have N valid tickets, including the
>> one I used on this connection". I find both cleaner then the 0 and 255 swap.
> The problem here is now reuse is implicit, and the only way for a client
> to ensure that it gets a fresh ticket, is by asking for 2.
> So I now see where you're coming from, and it was worth a try at
> simplification, but I don't think it works out.  The reasons for
> two sentinels is that in fact are three separate cases.
>    1.  Client wants no tickets
>    2.  Client wants to try to reuse an existing ticket
>    3.  Client wants n > 0 fresh tickets.
> I don't see how to handle 1 and 2 cleanly without two sentinels.

I think Watson’s point (which I fully agree with) is that sending the value “0” already means “the client wants no tickets”.  The document already explains this usage. Thus, you don’t need a sentinel value to express that case—is what the value of N already intuitively means. 

If you did need a sentinel to indicate that you wanted to try to reuse a ticket (which you can always try if you want), it would make more sense to just make that sentinel be 255, etc, rather than creating two sentinels.

The ticket reuse signaling that is proposed really is orthogonal to the *count* of tickets.

When requesting a number of tickets, there is a signal in one direction from the client about how many tickets it wants; and the server signals back by issuing some number of tickets. There isn’t much ambiguity.

On the other hand, the proposed sentinel value indicates “I’d like to reuse tickets if I can”, but without any additional signaling from the server about the support of ticket reuse, a server response containing no tickets is ambiguous—maybe it means ticket reuse is fine; maybe it means the server isn’t giving out any more tickets and won’t allow resumption. It is much clearer if there is a bidirectional signal about negotiating ticket reuse.

Beyond that, it seems odd to mark a Boolean sent by the client to ask for ticket reuse in an integer that counts numbers of tickets. It’s not that one value (255) is precious, but it means that these orthogonal concepts can no longer be communicated separately. Let’s imagine a client that had received 4 tickets the first time around, on request, and then wanted to either reuse some of them or ask for 2 more. Keeping the ticket request just a number and having a separate message for the reuse Boolean allows that. Allocating a sentinel means that a request for reuse to a server that doesn’t support reuse now loses the ability to request a particular number of tickets.


> -- 
>    Viktor.
> _______________________________________________
> TLS mailing list