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

Martin Thomson <mt@lowentropy.net> Wed, 16 June 2021 02:53 UTC

Return-Path: <mt@lowentropy.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 444393A47BF for <ohttp@ietfa.amsl.com>; Tue, 15 Jun 2021 19:53:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 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_LOW=-0.7, 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=lowentropy.net header.b=QHKJ6aNf; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=MRuWkC4A
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 Z0aPZ9orjt36 for <ohttp@ietfa.amsl.com>; Tue, 15 Jun 2021 19:53:36 -0700 (PDT)
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96A943A47BE for <ohttp@ietf.org>; Tue, 15 Jun 2021 19:53:36 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id BDFEA1315; Tue, 15 Jun 2021 22:53:32 -0400 (EDT)
Received: from imap10 ([10.202.2.60]) by compute4.internal (MEProxy); Tue, 15 Jun 2021 22:53:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=ZCuimG4uw0FkCqnZN8ItM1B06xar8WA 1vrWDFbFzZck=; b=QHKJ6aNfvuF8iYFgzdsuYCjdytU8Szhlxo62M3ivEcvFYRe P7qI1gxDHlW62SpgFicnvoMGKPz0PgDEterj6gJ2QWiqhYNmluFoFE1GbjY42pAL M0wKVaC//KGYuBBPYwOPX9nsWZg58sPb9nnTY4Udh7+fkuPBVCcRwtm503/mU8M4 Y/mELneTH/gqVOPrKb1qcM9eyfd/rDgRHsEhMBw8nCNUE4/YL/rr4SVVTnztffNZ h3nP+4KQq5EO0Ojiv7zYaxS7c4TB3eCF94xBN8XkXd4D/w9h+4wZO+fCcvxYuuZ+ ARkmLCYmU03AMDQLwPzdR9pQb2Ynbaru9yAl+Gg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ZCuimG 4uw0FkCqnZN8ItM1B06xar8WA1vrWDFbFzZck=; b=MRuWkC4Akamrurl5lrhnBI J44C4lFUwZINewQ1nxX7zoaEZ5qhHFnY1Wrm6QsWcZWeqkYr6Qt2nuXfnQ4R5OAa AVNfCAtI6sKz3vfr5IwzZn0DKcIxOfH02ct62UqiJE1Ok6jOQs0Fo/CnWli1DbhQ d6JAuP++XZIC7g8u8bH4KPxEyEOpI10RrTS2FznOJ+Dh8kvHBRjoKGAzYz222haW byKumwzXedX+4SRb2JcDw3R4wnUW2JkZ8MzR0szBg+h3Fxy1PMaBFBEU/qWZa0gZ rYtrxRrmRAXbnWHUZra5Bv5xqOnp3qnbl7cJ8FB5375uxqwSuAJoDM3GW5eYRgKQ ==
X-ME-Sender: <xms:rGfJYMxnhr7wv8O90fZMkTCAz9bLY1Hx9YDsJHQF43U_bdfD3gV1ug> <xme:rGfJYASWgcAv3DTw-czdbs-l1ICpWyveG0LJRBxnyipOiuiGc7pjcAyaIpgyGce-n hlarEGqql33UBw7y3s>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedvkedgieefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesthdtredtreerjeenucfhrhhomhepfdforghr thhinhcuvfhhohhmshhonhdfuceomhhtsehlohifvghnthhrohhphidrnhgvtheqnecugg ftrfgrthhtvghrnhepheefteduudduhedtkefhvdfhteelffdujeegjeffheffveekudei gfeuveekfeelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:rGfJYOXPBB-ncNSXfohVkme4kqYIAjBI2VwRpmteI5uQ_-szPAW1QQ> <xmx:rGfJYKiu0wl-2eRTNvW_oaEEQL9hfikhGpdaB4LZdoNFUniBbQ1WWw> <xmx:rGfJYOARME1zFfzOadrZrt0OKI4Tqa-HaWfYM4tKa820GIb1mCm2tQ> <xmx:rGfJYF8FOefRgeTOth1GqHa4n6qcAso0aAYWj6mFVgQ56gwBDClUCA>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 155514E00FD; Tue, 15 Jun 2021 22:53:32 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-526-gf020ecf851-fm-20210616.001-gf020ecf8
Mime-Version: 1.0
Message-Id: <587fb36b-95ff-4d6b-9df6-19c4aec335ef@www.fastmail.com>
In-Reply-To: <9376D8AF-B286-4256-8392-5ABFEDB81B9B@mnot.net>
References: <9376D8AF-B286-4256-8392-5ABFEDB81B9B@mnot.net>
Date: Wed, 16 Jun 2021 12:53:12 +1000
From: Martin Thomson <mt@lowentropy.net>
To: Mark Nottingham <mnot@mnot.net>, ohttp@ietf.org
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/ohttp/WVgrzdUEGgA7vVWSu9LVQXu4v0M>
Subject: Re: [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 02:53:42 -0000

Thanks for the feedback Mark.

The scope question is an interesting one to contemplate.  I have modest ambitions for this work, but that doesn't mean I'm opposed to accommodating reasonable and achievable goals that do not require major surgery.

On Wed, Jun 16, 2021, at 11:10, Mark Nottingham wrote:
> 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. 

I don't think that this is aiming for similar outcomes.  This is where my main reservations about this come from (and likely those of other concerned citizens).  The use case that Apple's Private Relay is aimed at does lend itself more to the sort of proxying they currently do.  Gnatcatcher is aiming for a much cheaper solution, but with similarly low ambitions about what guarantees it can provide for privacy.

The main advantage of this sort of design is in the low initial latency, but that comes at a significant cost.  There is added crypto, yes, but the main concern is the anti-replay machinery.  Tunneling might pay a round trip for setup, but it means that you don't have to carefully analyze every request for safety.

That isn't to say that there isn't some value in looking to tightly control how information transfers between requests.  If we could be sure that the only linkage between requests is stuff that was deliberately added (if it must be cookies, so be it), that might make privacy analysis much easier.

As an aside, one of my colleagues is currently attempting to build out a formal model for browser privacy.  This is a serious undertaking where having tight bounds could helped a lot.  But that's not really how the web works :)
 
> 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:

Generality is a reasonable goal.  It seems like your concern is the ability to split requests and responses into units that can be incrementally processed.  We didn't have a need for that, so we didn't put it in, but it should be fairly simple to build something.

That might involve multiple invocations of Seal() on the request end and something with nonces and counters on the response end.  Then we need to add a way to indicate where chunks start and end, plus a way to know when the sequence is complete.  Nothing I haven't done before and not necessarily that much of a burden on implementations.
 
> 3) The crypto may be too heavyweight for high-volume uses (such as Web 
> browsing). Fixing that might take a fair amount of work.

This is a different problem; but yes, this is not something that is likely to get easier, except by making computers faster.  The need for PQ crypto will set that back further, of course.
 
> ## Use of HTTP

Yep, let's at least get the HTTP WG input on this.

> ## Venue
> 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). 

This was discussed in the HTTP WG, but I know that some people noted surprise at the outcome.  Of course, the SECDISPATCH session was well publicized, so it's not like the opportunity was not there, even if it was dreadfully inconvenient.

The thinking at the time was that this was worth doing separately for the security implications.  But then HTTP are doing the signatures thing, so precedent goes the other way.  And it ended up in ART (for reasons not clear to me).  

Ultimately, I just want the work done.  Whether this is a new group or an existing one is one I will leave to our area directors.  I will take this work to HTTP if that is the best place to go.

> 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.

My bad on the name (don't know how that happened; fixed in source).  My original intent was that this all go to HTTP (hence the names), but I was convinced that it needed to be DISPATCHed and that process is how we got here.
 
> Taking all of the above into account, I think this work needs a BoF -- 
> primarily to discuss scoping issues. 

I'm going to disagree here.  That's asking for a reset.  I have no problem trying to get more clarity on use cases, but most of the discussion so far has been about addressing concerns that are clearly out of scope.  I don't want to see a BoF wasted on discussing whether some hypothetical protocol might be used to centralize some undefined thing.  I've sat through enough of that already to know that there is no satisfactory answer to any of that.

Your request for HTTP-specific generality is a good one, but well within the remit of a working group to answer.