Re: [quicwg/base-drafts] Disconnect with Initial Injection (#1951)

Kazuho Oku <notifications@github.com> Fri, 30 November 2018 02:13 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 0214812D4EA for <quic-issues@ietfa.amsl.com>; Thu, 29 Nov 2018 18:13:46 -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 Rv3cnE4CxEDe for <quic-issues@ietfa.amsl.com>; Thu, 29 Nov 2018 18:13:44 -0800 (PST)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5CCF712D4E7 for <quic-issues@ietf.org>; Thu, 29 Nov 2018 18:13:44 -0800 (PST)
Date: Thu, 29 Nov 2018 18:13:43 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1543544023; bh=Ocwv//FVzfbnnrdRQRv76PlSPRdfi7IObbg81SnChpM=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PymzKFR2iE5gTuYJf4M5omOp/hQMKBDtzuZ0UQM2vslAuJUkLHb0ymQFQLZ1SLwjy ZjVjYm6NzzDRG81B9NPOL/N0GhZz4mWhVD8pxCD8Q/r1oHUGDohlPPyd5K+SMfn8wG dGzcbxpmHIgtEEBEHmbljwq2BenTphcBnGT0jdsQ=
From: Kazuho Oku <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab201ab216d5f22d7f031162e28ffad61da45d93d792cf0000000118185ed792a169ce1678fc4e@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1951/443065734@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1951@github.com>
References: <quicwg/base-drafts/issues/1951@github.com>
Subject: Re: [quicwg/base-drafts] Disconnect with Initial Injection (#1951)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c009cd76671b_7a0a3f93e20d45c02594d9"; 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
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/o09shtjgeYMQTDKm7nwE7EvSIh0>
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: Fri, 30 Nov 2018 02:13:46 -0000

FWIW, I am starting to wonder if there could be an alternative approach than dropping Initial keys.

Specifically, I am wondering if just having the rules for dealing with potentially attacking frames (instead of packets) would be either equivalent to (or even better than) trying to drop the keys.

To me it seems that declaring the following three rules (quoted from https://github.com/quicwg/base-drafts/pull/2053#discussion_r237723449) is sufficient, or even better considering invalid ACK injection attacks during the exchange of Initial packets. The other benefit is that the loss recovery / congestion control logic can remain unchanged.

> How about stating that, for Initial packets:
>
> * an endpoint MUST ignore CRYPTO frames once it obtains Handshake keys
> * an endpoint MUST ignore CONNECTION_CLOSE frames once it receives a Handshake packet
> * an endpoint MUST ignore unexpected packet numbers found in an ACK frame


-- 
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/issues/1951#issuecomment-443065734