Re: [quicwg/base-drafts] Allow endpoints to generate traffic keys asynchronously (#3874)

Martin Thomson <notifications@github.com> Thu, 09 July 2020 01:48 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77CF03A0BF9 for <quic-issues@ietfa.amsl.com>; Wed, 8 Jul 2020 18:48:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Level:
X-Spam-Status: No, score=-1.697 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, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 5LKk2MjJ2g3v for <quic-issues@ietfa.amsl.com>; Wed, 8 Jul 2020 18:48:31 -0700 (PDT)
Received: from out-27.smtp.github.com (out-27.smtp.github.com [192.30.252.210]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A1243A0BF5 for <quic-issues@ietf.org>; Wed, 8 Jul 2020 18:48:30 -0700 (PDT)
Received: from github-lowworker-1ac52d7.ash1-iad.github.net (github-lowworker-1ac52d7.ash1-iad.github.net [10.56.25.52]) by smtp.github.com (Postfix) with ESMTP id 0389FE1616 for <quic-issues@ietf.org>; Wed, 8 Jul 2020 18:48:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1594259310; bh=ACaGClj5s5aJEozGFmLNlBTJJW2RpQNlgrUF5UWV+Sk=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=yGVn8s9GJcPuE0e9waByAu63h535xaGgMp9FE7OeDfEF0PobwyBQjZ2TYDt7QKniy Kf8sNSqwFaARc8pG8UNoZpxl5TCmsAr/vufYQGZ13wltwwHmxR9M/rQZZ/4WyrPDJm aoQqGJBvPI719Y5qvbb5NjXeomib+6vSfCTtq7mo=
Date: Wed, 08 Jul 2020 18:48:29 -0700
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKYTCHQAUICST3V434F5CJMG3EVBNHHCN3MY3A@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3874/review/445236854@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3874@github.com>
References: <quicwg/base-drafts/pull/3874@github.com>
Subject: Re: [quicwg/base-drafts] Allow endpoints to generate traffic keys asynchronously (#3874)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f06776de8dcc_55813f88232cd964132995"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/9cQL3-34mED9fNqTHnbUnO5HeCE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Jul 2020 01:48:32 -0000

@martinthomson commented on this pull request.



> @@ -518,14 +518,22 @@ or when Initial or Handshake keys are discarded. This ensures the PTO is always
 set based on the latest RTT information and for the last sent packet in the
 correct packet number space.
 
+When setting the PTO timer, the ApplicationData packet number space (Section
+4.1.1 of {{QUIC-TLS}}) MUST be ignored until the handshake completes. Not arming
+the PTO for ApplicationData prevents unnecessary transmissions on a PTO
+expiration, such as:
+
+* an endpoint sending probe packets before obtaining the keys to process an
+  acknowledgement,
+
+* a client sending 0-RTT probe packets before confirming that the server is able
+  to decrypt 0-RTT packets, or

Maybe this can be made more generic: 

A receiver might lack the keys necessary to process packets, or the sender might lack the keys necessary to process acknowledgments.  This occurs when the client sends 0-RTT packets as the server might not accept 0-RTT and the client will not have 1-RTT keys for processing acknowledgments until the handshake completes.  This occurs for 1-RTT packets as either endpoint might not have the ability to read until the handshake is complete.

Though this made me realize: we say "complete", but if you need to know that you have keys AND you peer has keys, you need to wait for "confirmed".

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3874#pullrequestreview-445236854