[Tsv-art] Tsvart last call review of draft-ietf-ohai-ohttp-05

Kyle Rose via Datatracker <noreply@ietf.org> Thu, 08 December 2022 22:08 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: tsv-art@ietf.org
Delivered-To: tsv-art@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 461A5C1522BA; Thu, 8 Dec 2022 14:08:06 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Kyle Rose via Datatracker <noreply@ietf.org>
To: tsv-art@ietf.org
Cc: draft-ietf-ohai-ohttp.all@ietf.org, last-call@ietf.org, ohai@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 9.2.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <167053728627.29389.13015237021435718408@ietfa.amsl.com>
Reply-To: Kyle Rose <krose@krose.org>
Date: Thu, 08 Dec 2022 14:08:06 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/0y-5O-iAJEBjQnb50o0BJ11D1iU>
Subject: [Tsv-art] Tsvart last call review of draft-ietf-ohai-ohttp-05
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.39
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Dec 2022 22:08:06 -0000

Reviewer: Kyle Rose
Review result: Almost Ready

This document has been reviewed as part of the transport area review team's
ongoing effort to review key IETF documents. These comments were written
primarily for the transport area directors, but are copied to the document's
authors and WG to allow them to address any issues raised and also to the IETF
discussion list for information.

When done at the time of IETF Last Call, the authors should consider this
review as part of the last-call comments they receive. Please always CC
tsv-art@ietf.org if you reply to or forward this review.

This document is Almost Ready. (I propose we add a TSV ART review result
between "Almost Ready" and "Ready" called "Close Enough".)

I did not find any issues of particular interest to the Transport Area in the
draft: while providing a tunnel of sorts for clients to interact with servers
via a proxy, the mechanism described here appears to use three
(application-layer) HTTP hops (client->relay, relay->gateway, gateway->server)
for every OHTTP request (client->server) and the reflection of those three hops
for the corresponding reply, all without introducing any novel transport
interactions and without any multiplicative increase in payload size.

Suggestions:

- Section 4 refers to gateways as "servers", presumably copying from existing
HPKE text, which is confusing in the context of the rest of this document.
While a gateway may be co-located on the target server in the typical case,
conceptually it is a separate entity. My recommendation for reader clarity is
to alpha-substitute terminology related to entities in this section to match
the OHTTP model from figure 1.

- The document might also benefit from explicitly introducing "relay",
"gateway", and "server" as shorthand for "Oblivious Relay Resource", "Oblivious
Gateway Resource", and "Target Resource", respectively, but not if the given
verbosity is customary for work in the HTTP ecosystem.

- §5 states:

    The one exception is
    that any information it might forward in a response MUST be
    encapsulated, unless it is responding to errors it detects before
    removing encapsulation of the request

  I don't think "before removing encapsulation of the request" is quite right.
  The gateway must respond without encapsulation under two conditions: when
  decapsulation of the request fails for whatever reason, or when a
  gateway-generated response is directed at the relay rather than at the
  client. The combination of the two may be what you meant by "before", but I
  would phrase this in a way that doesn't refer to the relative timing of
  gateway actions that could be implemented in an order unanticipated by the
  draft authors and yet still comply with the normative language of the draft.

- §6.3 states "Nonsecure requests...SHOULD NOT be used if the Oblivious Gateway
and Target Resources are operated by different entities". Unless "entity" has
some specific term-of-art meaning in this context, I think this needs to be
strengthened. My company, for example, is an entity that operates servers
globally, but we should still not use plaintext HTTP between gateways and
servers separated by the public internet.

Nits:

- I see at least one instance of the phrase "is comprised of", which should be
rephrased as either "comprises" or "consists of". "Comprise" is used properly
elsewhere, which I like to see as an English nerd.

- §4.4: s/secret secret/secret/