Re: Request for Authenticated but not Encrypted Traffic

Willy Tarreau <w@1wt.eu> Sat, 01 October 2022 06:53 UTC

Return-Path: <w@1wt.eu>
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 27D8FC14CF1D for <quic@ietfa.amsl.com>; Fri, 30 Sep 2022 23:53:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CqIYJdAKzbJq for <quic@ietfa.amsl.com>; Fri, 30 Sep 2022 23:53:31 -0700 (PDT)
Received: from 1wt.eu (wtarreau.pck.nerim.net [62.212.114.60]) by ietfa.amsl.com (Postfix) with ESMTP id 55095C14CEFC for <quic@ietf.org>; Fri, 30 Sep 2022 23:53:29 -0700 (PDT)
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id 2916rNH8012212; Sat, 1 Oct 2022 08:53:23 +0200
Date: Sat, 01 Oct 2022 08:53:23 +0200
From: Willy Tarreau <w@1wt.eu>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Cc: Matt Joras <matt.joras@gmail.com>, "Randy Armstrong (OPC)" <randy.armstrong@opcfoundation.org>, "quic@ietf.org" <quic@ietf.org>
Subject: Re: Request for Authenticated but not Encrypted Traffic
Message-ID: <20221001065323.GB11874@1wt.eu>
References: <SJ0PR08MB82889F488CCA7D8FC4997ACEFA579@SJ0PR08MB8288.namprd08.prod.outlook.com> <e0c93db9-785b-fbfc-604a-5aa047d3c25b@redbarn.org> <SJ0PR08MB8288E1364214A9BCA4DBC6A5FA579@SJ0PR08MB8288.namprd08.prod.outlook.com> <MW5PR15MB51459BB0DCAD6E47A5A89C49D4579@MW5PR15MB5145.namprd15.prod.outlook.com> <SJ0PR08MB8288533C964762C760477D46FA579@SJ0PR08MB8288.namprd08.prod.outlook.com> <CAC8QAcfuVnr0UMii8kR-RZ_n3i8hOSDZTD=fHbkXVy5-3JJKNw@mail.gmail.com> <CAMm+LwhgCQcEMFCi7gc=UhDAGXug1=0Db90K=GnHTw9DOu8fog@mail.gmail.com> <SJ0PR08MB8288BAFDD51D99A8D9D42772FA569@SJ0PR08MB8288.namprd08.prod.outlook.com> <CADdTf+hP_HmwN+QHX=t8Vi=GLVQ=nduAh3xL6rRL_HG2fQdP3g@mail.gmail.com> <CAMm+Lwgo5i=FD9sMcp+o_N-e5MprDDCDobzjh-FpwGKhiH99iQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAMm+Lwgo5i=FD9sMcp+o_N-e5MprDDCDobzjh-FpwGKhiH99iQ@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/8filMjtnlP-JhUMP1jXW2oA0obs>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 01 Oct 2022 06:53:33 -0000

On Fri, Sep 30, 2022 at 02:34:11PM -0400, Phillip Hallam-Baker wrote:
> The crux of the matter is that the high level model of QUIC is that it
> provides a collection of streams between two points. While that is what
> people are used to using in WebServices, this model is really only suited
> to Web Services that are inherently data retrieval.

Why ? I mean, there was a considerable effort so split gQUIC into QUIC+H3,
and QUIC does provide independent, full-duplex streams that have nothing
to do with H3. For example, these streams could pretty well be used to
transport SSH channels and would instantly remove the fairness problems
we all know that affect SSH when one session retrieves lots of data (e.g.
scp) while another one is trying to perform interactive operations, or
the problem of window-over-window that makes the protocol totally unusable
over a slightly lossy TCP link. And that's just one use case, it can make
sense for a wide variety of applications to be able to establish an
authenticated connection, and transport information both ways, with flow
control and congestion control, interleaved with information/control
messages in the form of frames of a different type.

> What Web Services really need is a mechanism that is purpose designed to
> support transactional interactions and expose certain information to the
> service provider and service consumer that really doesn't fit the HTTP
> model at all well.

Some applications use gRPC, which (ab)uses HTTP/2 for its ability to
exchange bidirectional frames, abort a transfer without giving up the
connection, etc. It seems to address many of the problems that were
not handled in the request-response model that was originally seen
over HTTP. I don't know if that solves everything, not being a web
service user myself, but it seems to respond better to your requirement
of transactions, bidirectional transfers and status info. From what
I remember, I don't see anything there that couldn't be more easily
and efficiently moved to H3 or even to QUIC thanks to the ability to
transport frames without them having to be HTTP.

> The way forward in this case is to build something that is purpose designed
> to support Web Services (and not Web Browsing) and then see if it makes
> sense to backport the same capabilities into QUIC. Which it might or might
> not.

I think that the split into H3+QUIC makes QUIC much less tainted for
Web browsing than it originally was.

> The problem from my end being that QUIC is already a very large and
> very complex specification and we might only end up using a small part of
> that.

For sure, web services could use a stripped down version of it, but
we all know that this approach does not scale: it starts inside the
DC between local applications, which serves as a justification for
simplifying the protocol (e.g. consider that losses are inexistent
and always imply congestion, remove support for client address
migration etc), but suddenly some users will move it outside of the
DC to connect with partners, and suddenly all of this needs to come
back with the full protocol support.

Interestingly, the one thing that could make QUIC unfit for web
services actually is its use of UDP which a lot of DC operators do
not want to see at all in the DC and are proud of being able to block
at the edge as it's extremely difficult to fight DDoS and to make sure
that your DC will not be a source of DDoS when UDP is opened at an era
where it's easy to get 10Gbps connectivity for $1/hour or less. But this
exact same property is the one that makes QUIC appealing to other users,
possibly even some hoping to use it in such DCs. It will take some time
to see if QUIC becomes popular enough to change such approaches, or if
on the opposite it brings enough trouble with it that it encourages
others to join the "no UDP there" band. Given that web services tend to
move much slower than web browsing, such users might want to observe
how it goes before deciding to generalize QUIC.

Willy