Re: [quicwg/base-drafts] Discard Initial keys as soon as possible (#2045)

ianswett <notifications@github.com> Wed, 12 December 2018 03:32 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 38B0D131072 for <quic-issues@ietfa.amsl.com>; Tue, 11 Dec 2018 19:32:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 hTk4qgBzKLUy for <quic-issues@ietfa.amsl.com>; Tue, 11 Dec 2018 19:32:10 -0800 (PST)
Received: from out-10.smtp.github.com (out-10.smtp.github.com [192.30.254.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1EB0713106F for <quic-issues@ietf.org>; Tue, 11 Dec 2018 19:32:10 -0800 (PST)
Date: Tue, 11 Dec 2018 19:32:09 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1544585529; bh=ipKeiLslHj10L5fuYrezJRfwIw08F2l2LnGetw9+Iko=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=YK4Nbv3LM6B9SE0QGKKFUUk6UmNm+LMLyABi/I7pJW7e60U+neXYZk7DLd/iylSV+ qGxji+z7PEGwQqT76quyhtrnQUtwj30bzhv+4Ws0zgRWa7rjLXSj7wVFbr0Ix2U+uu NeMc9aDflvqs1TK2JomQdYx/EL33Atjxkly/MQZA=
From: ianswett <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab637811c0dcc5b3d4fda5453b938973c7cfd18a9592cf000000011828433992a169ce16de7e61@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2045/review/183998679@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2045@github.com>
References: <quicwg/base-drafts/pull/2045@github.com>
Subject: Re: [quicwg/base-drafts] Discard Initial keys as soon as possible (#2045)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c10813969c50_365f3fdb79ed45c41475ed"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
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/nWnt7VoRT7zEmhFfaTe71VHWkyA>
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: Wed, 12 Dec 2018 03:32:12 -0000

ianswett commented on this pull request.

Thanks Martin, I think this is now fairly close.

> @@ -3592,6 +3594,21 @@ and will contain a CRYPTO frame with an offset matching the size of the CRYPTO
 frame sent in the first Initial packet.  Cryptographic handshake messages
 subsequent to the first do not need to fit within a single UDP datagram.
 
+
+### Abandoning Initial Packets {#discard-initial}
+
+A client stops both sending and accepting Initial packets when it sends its

This draft uses packet processing, and accepting for things like "accepting" new connections, so I think processing is better here and on 3601

> @@ -1059,6 +1084,15 @@ A sender that does not use pacing SHOULD reset its congestion window to the
 minimum of the current congestion window and the initial congestion window.
 This recommendation is based on Section 4.1 of {{?RFC5681}}.
 
+## In-Flight Packet Accounting
+
+When keys for an packet number space are discarded (see {{QUIC-TLS}}), any
+packets sent with those keys are removed from the count of bytes in flight.  No

clarification: any in-flight packets sent with those keys

> @@ -439,6 +456,14 @@ Either packet indicates that the Initial was received but not processed.
 Neither packet can be treated as an acknowledgment for the Initial, but they MAY
 be used to improve the RTT estimate.
 
+#### Discarding Initial State {#discard-initial}
+
+As described in Section 4.10 of {{QUIC-TLS}}, endpoints stop sending and

I think it makes more sense to reference the transport draft, now that it has the required text.  Also, it's a bit odd to have the recovery draft have a direct dependency on TLS.

Most of this paragraph seems to apply to the Handshake encryption level as well, correct?  

> @@ -1059,6 +1084,15 @@ A sender that does not use pacing SHOULD reset its congestion window to the
 minimum of the current congestion window and the initial congestion window.
 This recommendation is based on Section 4.1 of {{?RFC5681}}.
 
+## In-Flight Packet Accounting

I would call this section something else like "Discarding Keys" or "Abandoning Encryption Levels"

> @@ -439,6 +456,14 @@ Either packet indicates that the Initial was received but not processed.
 Neither packet can be treated as an acknowledgment for the Initial, but they MAY
 be used to improve the RTT estimate.
 
+#### Discarding Initial State {#discard-initial}
+
+As described in Section 4.10 of {{QUIC-TLS}}, endpoints stop sending and
+receiving Initial packets once they start exchanging Handshake packets.  At this
+point, all loss recovery state for the Initial packet number space is also
+discarded.  After discarding state, new Initial packets will not be sent and no

```suggestion
discarded without declaring them acknowledged or lost.  After discarding state, new Initial packets will not be sent.
```

-- 
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/2045#pullrequestreview-183998679