[Ohttp] Feedback on draft-thomson-http-oblivious-01 (and proposed charter)

Mark Nottingham <mnot@mnot.net> Wed, 16 June 2021 01:10 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: ohttp@ietfa.amsl.com
Delivered-To: ohttp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F138B3A44E7 for <ohttp@ietfa.amsl.com>; Tue, 15 Jun 2021 18:10:44 -0700 (PDT)
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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=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=mnot.net header.b=IiWw//Wi; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Ic4TB9W5
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 JQ4EsOS3X8OT for <ohttp@ietfa.amsl.com>; Tue, 15 Jun 2021 18:10:39 -0700 (PDT)
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DE9703A44E6 for <ohttp@ietf.org>; Tue, 15 Jun 2021 18:10:39 -0700 (PDT)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id D87FF5C01D5 for <ohttp@ietf.org>; Tue, 15 Jun 2021 21:10:38 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Tue, 15 Jun 2021 21:10:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=from :content-type:content-transfer-encoding:mime-version:subject :message-id:date:to; s=fm3; bh=4gXqiz9hIv8jBM6R7nKYrOEnUXc5RmaWN sjcutj8+t8=; b=IiWw//WiFqpeZ0qdfFK6OirDLdpz2VhriMT8ifNxuatAZfjeV m8Intm8EvncL4RmzB/6Lp3XJ/lAIEQa8Tp/tdxF7Rfe82R4hrOZ3Ca4gmOK96MS4 zTGQIC/agazrJB9yxFzT8LBrPOyIXS7vYmFZ/b8zg3br8iHJgSMG2dQfCRetjzFT JCmhLVP7ZQmtoUjdqlCskzWPwhcRGQ+JFTu7m/tRRDJNoApSg/HopgUjDWZGnXpU e4NKsrZ104S0DrQx8UlF3T6kex2p5sOOs6CqlkMlnNoLcson31miDu01LOjQcl8a B1VDD5S/LcyWkp4ntempWPSxtyXf/KQ/n1EYg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=4gXqiz 9hIv8jBM6R7nKYrOEnUXc5RmaWNsjcutj8+t8=; b=Ic4TB9W5TSarEkRcHBAZrb RfJ4jvWcpW+ystJejlRPJmxlUSMRxhyZRo1JUZg52/cKi7f+V7iMsOZ/LMVtXhPV qS69/Yiu0HXBGFX+tbnfvpl8Bm+4X7aF88NDdbuzLFpsXpuEAnz8EbQwy769mBfg WlLkEzMvLQqjkJCEhAVKrzLO/WS4PP7PAFhpOAUp5KMky3XT4N4eSzz8ic7Z0SQe tdGx0KgNFTk3+RpeiWrBWSbtSkf/Q9Ow6SECGFoqqUXI1fCenJmubvMO4HcHiOV+ iVsD6SwYjJNMK+yIp72mcK37PB2vsGMQNThzBXzq1vvqZpL6zAjW609FjC/Vt+tg ==
X-ME-Sender: <xms:jk_JYLg6ldZN93KjiUo9cuxSt-0CykDPLk8U3Ux8iLJNz4booWgD5Q> <xme:jk_JYIBs4WnV3_l5DFSI67VGHyzSCkIPQPxJjFEuNkhYeOKobc5TzKttKBXFsnfmQ 83K0LiQFanYzG7NrQ>
X-ME-Received: <xmr:jk_JYLGK1pmdIFSvFXiMqovJ5sk3Brt0LtdNWlj63uivKFF6DYi8fF_SZBU8ZsonvmIWsBq3XpY1no6c9Hj5OfyIxBbfNq9H2wl5O-Ys7_0_41l3f31HhnzG>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedvkedggeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhtgfgggfukfffvffosehtqhhmtd hhtddvnecuhfhrohhmpeforghrkhcupfhothhtihhnghhhrghmuceomhhnohhtsehmnhho thdrnhgvtheqnecuggftrfgrthhtvghrnheptddtveevkedtlefhgefggfdvffdtkedtje dvhfehgeehtdekgeeltedvkedukeevnecuffhomhgrihhnpehhthhtphgvtghoshihshht vghmrdhtohdphhhtthhpfihgrdhithdpmhhnohhtrdhnvghtnecuvehluhhsthgvrhfuih iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhnohhtsehmnhhothdrnhgvth
X-ME-Proxy: <xmx:jk_JYIR_A9-TPct6UrBI0qS1-1tNujruTt560i9Q-FFjyzhydh2-zA> <xmx:jk_JYIynAVsjoE3X2zUKNAnre9K6zG0urPwdDkNciirFYzXC1roIMQ> <xmx:jk_JYO66MppWWvsc-Et7sakQ9h3snDG7NdqsHQTW7IECEFKFe67PJQ> <xmx:jk_JYD-aTaolRxo46yJ96EbMQLoe4Hm8ZS1PPxHE_cdBtaheHWV97w>
Received: by mail.messagingengine.com (Postfix) with ESMTPA for <ohttp@ietf.org>; Tue, 15 Jun 2021 21:10:37 -0400 (EDT)
From: Mark Nottingham <mnot@mnot.net>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
Message-Id: <9376D8AF-B286-4256-8392-5ABFEDB81B9B@mnot.net>
Date: Wed, 16 Jun 2021 11:10:33 +1000
To: ohttp@ietf.org
X-Mailer: Apple Mail (2.3654.100.0.2.22)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ohttp/Xo92A-WXIXXQnV32V-qQV9C6F9o>
Subject: [Ohttp] Feedback on draft-thomson-http-oblivious-01 (and proposed charter)
X-BeenThere: ohttp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Oblivious HTTP <ohttp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ohttp>, <mailto:ohttp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ohttp/>
List-Post: <mailto:ohttp@ietf.org>
List-Help: <mailto:ohttp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ohttp>, <mailto:ohttp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Jun 2021 01:10:45 -0000

Hello, 

Overall, I think this is an important area for the IETF to be working in, and this document is a potentially good starting point for that work. 

However, I think there are a few things that need to be discussed before it commences. 


## Scope

The biggest question I have around this work is the proposed scope of applicability. Section 3.1 claims a very modest one, and yet the protocol is named 'Oblivious HTTP', which implies a very wide scope; roughly, 'HTTP + the "oblivious" property'. 

This modesty shows in statements like 'Oblivious HTTP seeks to prevent this sort of linkage, which requires that applications not carry state between requests.' 

Some applications might reasonably require that controlled forms of statefulness be allowed, while removing IP addresses and TLS session state as a means of linkage. For example, both Apple (with their newly introduced 'Private Relay') and Google (with their 'Gnatcatcher' item in the Privacy Sandbox) seem to be working in areas that might eventually have these requirements. 

So, I think we should have a discussion of scope and requirements, to make sure this is not too narrowly defined. What's preventing broader use is, AIUI:

1) The current proposal doesn't allow non-final messages. This effectively profiles the use of HTTP, and fixing it wouldn't add a tremendous amount of complexity.

2) AIUI the protocol does not allow streaming, thanks to the single call to Seal(). This severely limits its applicability (If I'm incorrect I'd love to hear it; Chris and Martin are far more crypto-capable than I), and should be relatively easy to fix.

3) The crypto may be too heavyweight for high-volume uses (such as Web browsing). Fixing that might take a fair amount of work.

I understand the authors might want to constrain the scope of work to make the group's task more achievable. Arguably, however, the few extra steps needed would create a more capable, widely usable protocol. Also, it would be unfortunate if this protocol got wider use and effectively profiled the use of HTTP (e.g., by disallowing 1xx responses), thereby causing interoperability issues for the whole HTTP ecosystem.

To put it another way - anything calling itself "* HTTP" needs to maintain fidelity to the *complete* contents of draft-ietf-httpbis-semantics and common uses of HTTP. If it makes sense to do something more limited, that's great -- but we should come to that decision consciously, and the result shouldn't be called "HTTP."


## Use of HTTP

This draft models an intermediary as a resource that clients POST messages to. That's a significant break from HTTP's intermediation model, and should be discussed in the HTTP WG. It may be that a method would be more appropriate, or an adjustment to terminology might be sufficient.

Again, this doesn't need to be decided before chartering, but it needs to be agreed that this is an issue that requires discussion.


## Venue

AIUI this work was discussed in SECDISPATCH, and the ADs have started to form a WG based upon a successful discussion there. However, it has not been discussed in either HTTP or DISPATCH, and I think it needs to be. Once again, I ask the ADs to *actively* coordinate when work has cross-area implications -- especially when meetings are happening at 4am for some people. Not everyone goes to all of the various DISPATCH meetings, and I become more convinced that having multiple DISPATCHes is counter-productive.

Some people have asked whether this work could take place in the HTTP WG (and some were surprised it hasn't been brought up substantially there, although Martin did forward the draft at one point). I think that this work *could* succeed in the HTTP WG, but if the crypto gets involved (e.g., addressing my issue #3 above), it probably should be separate. If that's what happens, it would be good if the charter were more fulsome in its description of the relationship to HTTP; it's not just a 'tool[] that OHTTP depends on', it's the existing, widely deployed protocol being extended with a new transport and a new intermediation mechanism. As such, I'd expect a very close relationship with the HTTP community.

Also, the document references draft-ietf-http-binary-message (I think this should be draft-thomson-http-binary-message). I won't give feedback here, but it should go before the HTTP WG, and ideally be adopted there. I *think* that's the intent based upon the contents of the draft, but it isn't clear.

Taking all of the above into account, I think this work needs a BoF -- primarily to discuss scoping issues. Again, I think it's an important and relevant are for us to work in, but we need to get the details right before we start.

Cheers,


P.S. The text 'oblivious HTTP is more expensive than a direct request [because] Each oblivious request requires at least two regular HTTP requests, which adds latency' is odd - what is this extra request? 


--
Mark Nottingham   https://www.mnot.net/