Re: [New Issue] CID based attacks
Kazuho Oku <kazuhooku@gmail.com> Thu, 12 November 2020 23:31 UTC
Return-Path: <kazuhooku@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 639253A0FC4 for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 15:31:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.086
X-Spam-Level:
X-Spam-Status: No, score=-2.086 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 yHiinHedzi_b for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 15:31:15 -0800 (PST)
Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (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 A047B3A0FCA for <quic@ietf.org>; Thu, 12 Nov 2020 15:31:15 -0800 (PST)
Received: by mail-il1-x131.google.com with SMTP id k1so6883549ilc.10 for <quic@ietf.org>; Thu, 12 Nov 2020 15:31:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SWZ+LXMhZsp3boSKqni57f4M5oPGloOoUaSfCzhy1Z4=; b=KLp1Cn0JeImeMvgu8zqGCuGvxfU4cPXmZFVwReXEmBAHm9lJ14L3TZO02X5/GPdh01 DO4//WcIe2mcXph2sXLGR0bnmztE7w8lThPWwZIRbEjjO2Slfqtmmh9tFvU6OJkU/3Kc aXrlLlXcALjDngvBF8jn/MSIgEc5PWyZrWijD1oVNCTDDUAszJJ5AuGmz45kQVc9Ej+W 3xKYSinESAL8VQIeav9QczOf30cH6jzc206dyJ1lxQN9oj9RRkMoRnmrpLWyqFnwvvwJ qxUlBEKRxZA+Wv85YV4mksByLN7qtxFMc3H76X5CznV8TgPh/GF07Jl57bX2vimkBoAk 8lMg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SWZ+LXMhZsp3boSKqni57f4M5oPGloOoUaSfCzhy1Z4=; b=eeNrrnmEs7SgF1YT1ZmSFoV8tGgbkf5jZdcGTMBcy80axRroSvvKksSvSqFp85TJMR dUBXWj0tEsfPEM4oCbzoZu+6m/h9lIXp7tXEjAGVkGUeNMNYvJFDc6BIre10PMy4BqxU G9DdSS3tK+nSPIbDknvCXLH/6pz8OXIwdY8tPbqIFX6Y01fctgfSlgvlNkbxreV8OKO6 KHXIfF4uLpDz3ErqdF8ZK/F0tfrsQ8naRh+DM6blxdofMCL1aLvwqhmOJmdh2PvacMXL 6Xkvto2uHG/AzBy/YzwWLDz1JAAUt1Qw+x/+8tkKfDuNkXcDaT+YeeadCtZb6o9EEYyx TrSw==
X-Gm-Message-State: AOAM533qqQttcTny64dvJbnRdIqdY4KYiNohfkOXJq4azFpKHWETD06a BRvq7nb/gUvSRjv1Ae/MjLfa/dL1WLfKZB5MvNk2dKpJ
X-Google-Smtp-Source: ABdhPJz6OsHNmSdsJznQynWgKEAm4BSCFjbBxZSeFzCfMPFRz8YmqKTOw6hzJRbS/mG8JhSvC8d3hbl4LB6gkrEV8PM=
X-Received: by 2002:a92:9904:: with SMTP id p4mr1533169ili.145.1605223874744; Thu, 12 Nov 2020 15:31:14 -0800 (PST)
MIME-Version: 1.0
References: <e078a391-b8e7-3035-ad3f-848c5effcb2f@informatik.hu-berlin.de> <20201112181509.GB98816@okhta> <d3ffd05d-7c8e-46e4-a978-4b7d52287f39@www.fastmail.com> <965fa1e3-1cd2-1c76-6966-35eb5395095d@huitema.net>
In-Reply-To: <965fa1e3-1cd2-1c76-6966-35eb5395095d@huitema.net>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Fri, 13 Nov 2020 08:31:02 +0900
Message-ID: <CANatvzw25LJNEnvFnb8pt2g_BWW+MgHt6-hQ4G1K636FMd1vSA@mail.gmail.com>
Subject: Re: [New Issue] CID based attacks
To: Christian Huitema <huitema@huitema.net>
Cc: Martin Thomson <mt@lowentropy.net>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000d6d7a505b3f14e8e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Ma0iOFqEJjdlWPtvLsJxL5zY7Q4>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Nov 2020 23:31:17 -0000
2020年11月13日(金) 8:23 Christian Huitema <huitema@huitema.net>: > On 11/12/2020 2:15 PM, Martin Thomson wrote: > > On Fri, Nov 13, 2020, at 05:15, Dmitri Tikhonov wrote: > > My question would be: Why aren't connections in the other 11 implementations > enter the Draining State? > > Neqo should. (I'm not sure that I have a test against our command-line server though, that is almost certainly doing bad things.) > > The description of the experiment says "*To conduct the experiment, I had > the client open and hold a QUIC connection with source CID 1 and > destination CID 2 for a maximum of 10s with the server, and then close it. > We then idle for 10s and repeat the steps a second time." Should the > draining period be longer than 10 seconds? Section 10.2 of the transport > spec says: "*The closing and draining connection states exist to ensure > that connections close cleanly and that delayed or reordered packets are > properly discarded. These states SHOULD persist for at least three times > the current Probe Timeout (PTO) interval as defined in [QUIC-RECOVERY > <https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#QUIC-RECOVERY> > ]." That's what picoquic implements, and that's typically way less than > 10 seconds. > > The description of the experiment does not say whether the successive > connection attempts used the same IP address. For Picoquic at least that's > important, because Picoquic retrieves the handshake context using the > combination of Initial DCID and client IP + port. Multiple connection > attempts using the same Initial DCID and different IP addresses will be > treated as independent connections. This was one of the suggestion in > https://tools.ietf.org/html/draft-kazuho-quic-authenticated-handshake-01. > Quicly adopts the same approach. Applications of quicly are expected to supply their own CID generation scheme, and therefore quicly does not know if there's enough entropy in the CID to avoid collision between server-supplied CIDs and the original DCID being generated by the client. Therefore, during the handshake, quicly uses `4-tuple && (client-generated DCID || server-generated CID)` as the packet routing scheme. That's how we avoid the problem raised by Kashyap. QUIC stacks that are guaranteed to have server-generated connection IDs sufficiently long can rely on CID-based routing, I think. Maybe the implementations marked "vulnerable" fall into this category. -- Christian Huitema > > -- Kazuho Oku
- [New Issue] CID based attacks Kashyap Thimmaraju
- Re: [New Issue] CID based attacks Dmitri Tikhonov
- Re: [New Issue] CID based attacks Martin Thomson
- Re: [New Issue] CID based attacks Christian Huitema
- Re: [New Issue] CID based attacks Kazuho Oku
- Re: [New Issue] CID based attacks Martin Thomson
- Re: [New Issue] CID based attacks Jana Iyengar
- Re: [New Issue] CID based attacks Lucas Pardue
- Re: [New Issue] CID based attacks Dmitri Tikhonov
- Re: [New Issue] CID based attacks Kashyap Thimmaraju
- Re: [New Issue] CID based attacks Dmitri Tikhonov