Re: [quicwg/base-drafts] Stateless Reset during Path Migration (#1259)

Kazuho Oku <notifications@github.com> Sat, 07 April 2018 01:06 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 65DA5126FDC for <quic-issues@ietfa.amsl.com>; Fri, 6 Apr 2018 18:06:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=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 dEv0uP8eQz28 for <quic-issues@ietfa.amsl.com>; Fri, 6 Apr 2018 18:06:49 -0700 (PDT)
Received: from o4.sgmail.github.com (o4.sgmail.github.com [192.254.112.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 74E541267BB for <quic-issues@ietf.org>; Fri, 6 Apr 2018 18:06:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=omX15c+QgdkWw2cXbO0EMIMkpSw=; b=Lk4C/uC2Y5FHkxsm wT3kJQVvoz9k9wLl3fPijf6FUoROAgAiPOfBwETg7i1ali27BAv8xipAIatbMOEV wLXiUPDH7j8DUveuyv/hJqPr1KbbMH4pLMG/ar11ZVbcON5PyAs8M5kS4dWXIIdD rXmMh8h4jOfUKuGLisPFC/56hr4=
Received: by filter0882p1mdw1.sendgrid.net with SMTP id filter0882p1mdw1-3990-5AC819A6-B 2018-04-07 01:06:46.296391499 +0000 UTC
Received: from smtp.github.com (out-1.smtp.github.com [192.30.252.192]) by ismtpd0006p1iad1.sendgrid.net (SG) with ESMTP id a2rljPebQr-aw-FXVXwO1A for <quic-issues@ietf.org>; Sat, 07 Apr 2018 01:06:46.311 +0000 (UTC)
Date: Sat, 07 Apr 2018 01:06:46 +0000
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abfc47e28118ac3b9be042c4d73d8bbd0df5748a7f92cf0000000116dfdba692a169ce12828e69@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1259/review/110241523@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1259@github.com>
References: <quicwg/base-drafts/pull/1259@github.com>
Subject: Re: [quicwg/base-drafts] Stateless Reset during Path Migration (#1259)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ac819a639374_78132ada7d48eec8771cc"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2QcoNRzMx061RSSKpq+siZSdTT4focyaK/3F tCiCsC+IWWYxHcARdUyhVrQdZc3BQ4OhX04iJKUtyWEsADzVaY+WkgkHc6zoRBDwlHlnJfpIQWipMC rEKHbTicl0EK1B9CJE8YtfLTHL8pSfkuRqYDVQLYs53xz0/aJmmIsG8t0Yafam8VGwU9nKYVGqNVef M=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/e15tjv4tqV1TXP_TRQO3ciRuT44>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 07 Apr 2018 01:06:51 -0000

kazuho commented on this pull request.



> @@ -1485,6 +1485,13 @@ path validation with other frames.  For instance, an endpoint may pad a packet
 carrying a PATH_CHALLENGE for PMTU discovery, or an endpoint may bundle a
 PATH_RESPONSE with its own PATH_CHALLENGE.
 
+Differences in routing on the Internet might cause the same destination address
+and connection ID to reach a different server instance which does not possess
+the necessary connection state. Receiving a Stateless Reset in response to a

May I question if it is a good idea to let a different server (that does not know the connection state) send a Stateless Reset?

My understanding is that the static key that is used to generate stateless reset tokens cannot be shared between endpoints that do not share the connection states. The attack (credit goes to @siyengar) is as follows.

Consider the case where we have two different servers A and B that do not share the connection state but shares the static key that is being used to generate the stateless reset tokens.

An on-path attacker wants to kill a connection that goes to A. The attacker creates a packet that carries the same CID as the connection he/she wants to kill, and send it to server B. Server B returns a stateless reset. The attacker then forwards the stateless reset to the client and the connection gets reset.

To summarize, I believe that you can send a stateless reset only from a server that knows (or should have known) the connection state.

-- 
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/1259#pullrequestreview-110241523