Re: [quicwg/base-drafts] What needs to be checked for address validation (#3327)

Kazuho Oku <> Wed, 12 February 2020 02:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6C09212086A for <>; Tue, 11 Feb 2020 18:07:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Status: No, score=-7.999 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id s_KDUna3cB4E for <>; Tue, 11 Feb 2020 18:07:37 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9DD9E120863 for <>; Tue, 11 Feb 2020 18:07:37 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 6973BA0BE9 for <>; Tue, 11 Feb 2020 18:07:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1581473256; bh=iOgGBUWi7tgfodFl1peYn9gWmzJJ08f4ZwRvVIQfHSs=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Dzbvmn1j2bDMqIsX9XoORxXUE2njBl57TksaHGisL4mSqvIhkDxjeCJBlLTcROO00 C6WdRrvf8MuzMeWBNpnjl4vovHeeMevK6pjofKw1+DaIb/2SyJMlVOXp+eLJs8z4sE m1NHNif8apvxXAw730/WN8ddXDNZ4BWbL5VYL7v0=
Date: Tue, 11 Feb 2020 18:07:36 -0800
From: Kazuho Oku <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3327/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] What needs to be checked for address validation (#3327)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e435de85a03f_779c3f9571acd960591d6"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: kazuho
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 12 Feb 2020 02:07:39 -0000

kazuho commented on this pull request.

> @@ -1829,10 +1829,21 @@ tokens that would be accepted by the server.  Only the server requires access to
 the integrity protection key for tokens.
 There is no need for a single well-defined format for the token because the
-server that generates the token also consumes it.  A token could include
-information about the claimed client address (IP and port), a timestamp, and any
-other supplementary information the server will need to validate the token in
-the future.
+server that generates the token also consumes it.  Tokens sent in Retry packets
+SHOULD include information that allows the server to verify that the source IP
+address and port in client packets remains constant.
+Servers might use tokens from NEW_TOKEN in deciding not to send a Retry packet,
+even if the client address has changed.  A token that was provided in
+NEW_TOKEN cannot be used for address validation if the client address is not the
+same, though servers MAY allow for the possibility of changes arising from new
+mappings at a NAT.

Thank you for the response. To me it seems that what we are actually looking for is an upper-case SHOULD that limits the scope of NEW_TOKEN tokens to one IP address. IMO that is the basis that we need to state. In addition, we can talk about when the scope can be wider, but that is less important.

I am not sure where the upper-case SHOULD should go into. It could be this section or [section 8.1.3]( But assuming that it is the former, maybe we can replace this paragraph with something as simple as: "Tokens sent in NEW_TOKEN frames SHOULD include information that allows the server to verify if the client address is stable."


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: