Re: Alternative ways to keeps ODCID on the server

Marten Seemann <martenseemann@gmail.com> Tue, 28 January 2020 04:36 UTC

Return-Path: <martenseemann@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 EADE23A08FA for <quic@ietfa.amsl.com>; Mon, 27 Jan 2020 20:36:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 HfJ5Xi-MtpLU for <quic@ietfa.amsl.com>; Mon, 27 Jan 2020 20:36:13 -0800 (PST)
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) (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 531E33A08F6 for <quic@ietf.org>; Mon, 27 Jan 2020 20:36:13 -0800 (PST)
Received: by mail-lj1-x22b.google.com with SMTP id h23so13266665ljc.8 for <quic@ietf.org>; Mon, 27 Jan 2020 20:36:13 -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=3RpQ9M8hdR2uhKBwNgiC42EbbPvlSxfV52xraKdQx68=; b=m9pLx+cX5DfIx7iE2DLqtoOippcOZ9vG85IAlDTlqjHIMXx9cUTPeTtj/QOx5PGhfR fH2vZxd/lwAMEDtvMwRF2CrNs9rltyMnjIkgAK9n6tvr1uB/xaQJeRn8tRv/wT+FqUOn 87phKKUPn5vQoUqFQsrjnxk6oftssNNcsZuMaJAugPGqu1PZeYl2u59rWt5PQwLZ0MAk hxaUNv5aF2JCHyCV79sBj07ompoXhxBg2GQMCiplnX3XV/gFlwrkUTqrSF0Zb3f2dR6n jqSJFIyDNaYs20ayUDGvR7UfD9kHSxoOO0KMC+Sw2C9Cr5v1lARF6hjmRCgU9y06SeOC SQPw==
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=3RpQ9M8hdR2uhKBwNgiC42EbbPvlSxfV52xraKdQx68=; b=mCILS23gp9YcTCqXVJIY+L8uKH+1Lp8VR2RcA1FxT3QfG0aKAidYQV1sogNuLTquLF inqW/CYZGaUKHA+8S5Zq7vE3HljnTJxYNAATv9PcsbNv2MD3ZWqCwRlHNznDjqu6DpZv tM9SOjE/gbjtWqmqqF/tC3EfEnga3MZ1srkl70Gq0Cm/yCLSaWTyFdIEvF3JHjtgHiJC itpnk05ZnV9/P/v0t6a/iHItbC5TDYg/lVKAH/MZKCWJ4koFWANArD//kifJrvzwUIMQ MLBgXrqg1UUQaLp8b/n+Cuv4tPJgFF88YWXO9Z8UW/FKxNQFS/jTUIXnZA4SFa4ErQe4 pXOA==
X-Gm-Message-State: APjAAAWf6Uf2PKSO7l97KfTbpkHAauUjlbjBN/8P50cwk8TSTqlMqJPN WfLYGCwypShV7U1MV9ygfkTthO5iKRLE5NTd6eVnbw==
X-Google-Smtp-Source: APXvYqyLyXzBRXWRzq6TEGW+JwHY9s+d0eGBp0l7TLNkyB79D3Yw64OlD+ZFjxDj4EU1jJzHThMIONxATRjN9u/hvjo=
X-Received: by 2002:a2e:85ce:: with SMTP id h14mr8726883ljj.41.1580186170992; Mon, 27 Jan 2020 20:36:10 -0800 (PST)
MIME-Version: 1.0
References: <20200124222434.GA8279@ubuntu-dmitri> <7b228c14-c0d3-6458-77ab-945e713ef429@huitema.net> <CAOYVs2qhPBtbjrVEXE+oMXWUWRBqhzDfZsiOatRW5Zd67e1sWg@mail.gmail.com> <ee0f625b-b260-9e3d-12b6-80291fc110eb@huitema.net> <CAKcm_gNKu5b__cjy5212pWN=PKwdZKX23rXHs423-u8hZMjr+w@mail.gmail.com> <20200125135411.GA19655@ubuntu-dmitri> <CANatvzyTHXog=46wwpmVshkYcY0YFGdvWXj0dGjKVUj0dXa7pA@mail.gmail.com> <f25d2034-0938-f716-c356-5873eeb58cda@huitema.net> <CAOYVs2pvLxvQFkwYY6FuT5wQ_OWjjvhSBoMpyrOn9Gh-qNiyQw@mail.gmail.com> <da59defa-ef61-d9ec-d3bd-a045316d0d19@huitema.net>
In-Reply-To: <da59defa-ef61-d9ec-d3bd-a045316d0d19@huitema.net>
From: Marten Seemann <martenseemann@gmail.com>
Date: Tue, 28 Jan 2020 11:35:59 +0700
Message-ID: <CAOYVs2qEL-GRN=zrN5JZbDrfLH33tyhZXwDfZ3GZYt16WWHipg@mail.gmail.com>
Subject: Re: Alternative ways to keeps ODCID on the server
To: Christian Huitema <huitema@huitema.net>
Cc: Kazuho Oku <kazuhooku@gmail.com>, Ian Swett <ianswett=40google.com@dmarc.ietf.org>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000066aaa1059d2bc329"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ucGC4p0AGuHR5UFLrJ1oRBSRbfA>
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: Tue, 28 Jan 2020 04:36:15 -0000

The client knows if it used a NEW_TOKEN token. More specifically, the
client knows if it received and responded to a Retry packet.

On Tue, Jan 28, 2020 at 11:21 AM Christian Huitema <huitema@huitema.net>
wrote:

>
> On 1/27/2020 7:11 PM, Marten Seemann wrote:
>
> > That's actually what I implemented. If the token can be verified, accept
> > the connection, treat it as validated. If it cannot be verified, check
> > whether the token is necessary, e.g., would any incoming connection
> > trigger retry. If it is necessary, drop the connection; if not
> > necessary, continue as if no token was there.
>
> Doesn't that defeat the purpose of the original_connection_id transport
> parameter? We introduced it to prevent middleboxes from performing a Retry.
> With this logic, a middlebox could perform a Retry, and then corrupt the
> token on the second Initial to trick the server into accepting the
> connection.
> Furthermore, client implementation will check for the
> original_connection_id TP, and fail the connection if this TP is missing.
>
> The spec also has language that I'd interpret as forbidding this:
> If the server sends a Retry packet, it MUST include the Destination
> Connection ID field from the client's first Initial packet in the transport
> parameter.
>
> How do you reconcile that requirement with the "NEW TOKEN" mechanism? If
> the Initial packet carries a NEW TOKEN, it will be accepted and there won't
> be any ODCID transport parameter.
>
> -- Christian Huitema
>