Re: [quicwg/base-drafts] Long Header Packets and Routing Connection IDs (#2834)

Nick Banks <notifications@github.com> Mon, 24 June 2019 01:21 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 B8A8F1200F1 for <quic-issues@ietfa.amsl.com>; Sun, 23 Jun 2019 18:21:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.099
X-Spam-Level:
X-Spam-Status: No, score=-6.099 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_IMAGE_ONLY_32=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, 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 zNKNXbXBR0fL for <quic-issues@ietfa.amsl.com>; Sun, 23 Jun 2019 18:21:55 -0700 (PDT)
Received: from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D3AE61200E6 for <quic-issues@ietf.org>; Sun, 23 Jun 2019 18:21:54 -0700 (PDT)
Date: Sun, 23 Jun 2019 18:21:53 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1561339313; bh=R3K2GD9p1t29s6ltqqmeafyU0uPTCHmlMXifYp2Y2j8=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=ha9HV2znYwRl+UgHJ3/HfBIYfcYgrZ+fanbd/ei+DfaxwEFdFk0Iqu78/2A012UB7 E7rCXIZuxgnkr6TaUf96G889N+8IRJ+9S45K0EkQonTCJ+bJCO7n3ooIVDQ8GSyDKN GkMoPbiSYhMBWdEW6k/EPFiqEpJGXzI+0iPEEjaQ=
From: Nick Banks <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK2HVFDOKLI6XYGXDB53DVMDDEVBNHHBWZGHNE@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2834/504807474@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2834@github.com>
References: <quicwg/base-drafts/issues/2834@github.com>
Subject: Re: [quicwg/base-drafts] Long Header Packets and Routing Connection IDs (#2834)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d1025b126838_111a3fd2d72cd9604030ec"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nibanks
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/OxHS7AUw5JnSmbuVLrTyhwZqqhM>
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: Mon, 24 Jun 2019 01:21:57 -0000

The attack vector would only be for designs without an auth tag in the CID. I'm personally not a big fan of the really large CID designs, nor am I convinced that they are truly necessary for a complete and secure system. So, I continue to look into how it would be possible to route with smaller CIDs. For that kind of design, the "server ID" or SID would be encoded somehow in the CID, but not encrypted. If you applied this design to all CIDs, including client chosen CIDs, then it would allow an attacker to directly create new connections to a particular server, by specifying the correct SID. That is definitely not what we want in a design though. So, instead of extracting the SID out of the CID for client chosen CIDs, we'd just hash the CID with some private key instead, and use the hash to pick a SID. BUT that only works if you can differentiate client chosen and server chosen.

As you indicated, an auth tag would help with that, but require additional complexity for the overall design. I'm looking for solutions that don't necessarily increase the length of the CID.

Being able to route based on the CID consistently just by looking at the long header bit and then interpreting the destination CID accordingly would definitely make for simpler load balancing. It could even be version independent. I find the idea of a version independent LB very attractive.

-- 
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/2834#issuecomment-504807474