[TLS] TLS1.3 Ticket Usage Across Versions

Steven Collison <steven@raycoll.com> Sat, 13 November 2021 00:23 UTC

Return-Path: <steven@raycoll.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 462B23A0CF1 for <tls@ietfa.amsl.com>; Fri, 12 Nov 2021 16:23:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level:
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=messagingengine.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 AAbaL-zMtqk2 for <tls@ietfa.amsl.com>; Fri, 12 Nov 2021 16:23:28 -0800 (PST)
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C7E5F3A0CF0 for <tls@ietf.org>; Fri, 12 Nov 2021 16:23:28 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 49F0332009CC for <tls@ietf.org>; Fri, 12 Nov 2021 19:23:25 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Fri, 12 Nov 2021 19:23:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=/ODzrE eYYOc3BB11ughN5QAGHKytfqam73mgm+wbPog=; b=R/ZJdUE+Kk9MeVMNCeYxbs X8+n9Nfj57rasJF9dWxkeB65garIVVoVMh4wqOZym1fg1BDhfGqVnAVJMyZmt8dO mrZoaz0USuJaGyS4wVRsz6Yqhos8pTemk4M9fnVbnpLpFv301WrnXAG4YQ9DrFH/ MaQPUR8X+lmpDD5cBrbpEhAWSgL0cNOjDpFS0jrdyBVUp5KBT3pEteoxpVpv60Zb QgUFwqmx/4aqnJspKcWq+hfh/mFqdr8dCs6gbFGrSfmyzOHrSVfSpbp9EAlUW+Cv GfNRhEQGh0rFxLh8WX0XyrSPvtaEYrCxaT7iFtmJHYdWP7XoSTYyI4/9ipqXAp5g ==
X-ME-Sender: <xms:fAWPYeNcO-0SYpw_p0rSQir2RzHVg0Y4QfuH82i0VCqKePb1jL2zxQ> <xme:fAWPYc-a9Bpn1RUPRJ0UdPXwTS9HowJDkxqSYKuNB78BKPKDfWpmE2uNgHpSLuNYp VarHjlRxptj07K-dA>
X-ME-Received: <xmr:fAWPYVQ8cG3-IOcyua9sSJX9Wod_ckn8hzwELQIgJZgTMPLlFK8yZAd-AUO97IyfAClcTJTpt000Q7j-FMTtwZbK226BELWQSSrZDw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrvdeggddvudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephffvufffoffkgggtgfesrgekmherre dtjeenucfhrhhomhepfdfuthgvvhgvnhcuveholhhlihhsohhnfdcuoehsthgvvhgvnhes rhgrhigtohhllhdrtghomheqnecuggftrfgrthhtvghrnhepfeffgeegleekieeuueevge ejueduudeiieejkeejleevffdugfelhfehteegkeevnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepshhtvghvvghnsehrrgihtgholhhlrdgtoh hm
X-ME-Proxy: <xmx:fAWPYeuTUCmdcogJiA_uznCzUstjxuMYU5mVhgbCrVWPlSjErLeszA> <xmx:fAWPYWfhG19HDEU4HIG7cM3DT-FrYNZQU0RQ8ZGl6CUYPy3k1Y5qVA> <xmx:fAWPYS0fPCnREFg21c9_myDbmdOM_Mq1xJfevj58VjdQ3g-Ijt_fFQ> <xmx:fAWPYekPYd3ny8kgsWWcE42gHI50rwFgXLJ5ij0xPPkpfxUEsBtg8Q>
Received: by mail.messagingengine.com (Postfix) with ESMTPA for <tls@ietf.org>; Fri, 12 Nov 2021 19:23:24 -0500 (EST)
From: Steven Collison <steven@raycoll.com>
To: tls@ietf.org
Date: Fri, 12 Nov 2021 16:23:12 -0800
X-Mailer: MailMate (1.13.2r5673)
Message-ID: <23EC35FA-D689-4CF9-8D5C-8ECF75B80746@raycoll.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_F6273B11-ECA9-43D9-9D90-A2F5E22989D3_="
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/VzBEuuVtTNtok91AgUh6w9xyo5I>
Subject: [TLS] TLS1.3 Ticket Usage Across Versions
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: Sat, 13 Nov 2021 00:23:34 -0000

Hello,

While testing a TLS1.3 client implementation, I found an unexpected 
behavior. Specific sequence:
1. Client negotiates TLS1.3 with Server.
2. Server sends NST with a valid ticket.
3. Client reconnects to the same Server. The ClientHello contains both 
the `session_ticket` and `pre_shared_key` extensions. The value of the 
`psk_identity` is equal to the value of the `session_ticket`.

Is it ever valid for a client to populate both extensions with the same 
ticket value? Even if the client reconnects and lands on a different 
server node that only supports TLS1.2, resumption should fail because 
the protocol version should be included as part of the session state. 
The `session_ticket`  extension data in this example is at least wasted 
data.

I did not see anything in the spec(neither 8446 2.2 nor 4.6.1) that 
explicitly disallows this. 2.2 contains “Both mechanisms are obsoleted 
in TLS 1.3.” when referring to `session_ticket` and `session_id` 
resumption, but that may not be clear enough.

-Steven