Httpdir early review of draft-ietf-scitt-scrapi-01

Darrel Miller via Datatracker <noreply@ietf.org> Mon, 11 March 2024 01:43 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 479B2C14F60A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 10 Mar 2024 18:43:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.757
X-Spam-Level:
X-Spam-Status: No, score=-7.757 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="Mt4+AHYS"; dkim=pass (2048-bit key) header.d=w3.org header.b="oMgNw4ne"
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 D6Uc4LvFFnii for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 10 Mar 2024 18:43:42 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB886C14F5F2 for <httpbisa-archive-bis2Juki@ietf.org>; Sun, 10 Mar 2024 18:43:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Date:Reply-To:Message-ID:Cc:To:From:Content-Type:MIME-Version :In-Reply-To:References; bh=sh3tsIFp5oII92PDFoHmUNNsSUJY34tKNoMVEev+Gcc=; b=M t4+AHYSSOpcCAqpaUlqH11EInRXVkRF6Z9TMlweqDXTeBaP9HqC1smB8FnQql5aYsucZCIN17J2m2 hH52O2PdM7fclYwDreR/zx9hv1YfdjrYf6CVZXOdSSZfo76PChIZDpCu1w9bkZLHQiT+MMhqU3hue +657ea32+ztQFQhLQShuRRBx3+BwVFLyOsvc2+v0HPdxd1QzWFLuaPRPkbOjK3We0lOn4caN8vF1Y Hru2TGqWTA67xPysN0gHXfjj8slW2dtqbUU1CGmZjU8tNloX93TEQJxLazRnQzHC0lCWCjFDXwRI3 n0WkWiiH/RnyVnJliFDda5lh4uYyx1Gwg==;
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1rjUfG-00FcJE-GT for ietf-http-wg-dist@listhub.w3.org; Mon, 11 Mar 2024 01:41:18 +0000
Resent-Date: Mon, 11 Mar 2024 01:41:18 +0000
Resent-Message-Id: <E1rjUfG-00FcJE-GT@lyra.w3.org>
Received: from puck.w3.org ([34.196.82.207]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <noreply@ietf.org>) id 1rjUfD-00FcIC-RS for ietf-http-wg@listhub.w3.org; Mon, 11 Mar 2024 01:41:15 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Date:Reply-To:Message-ID:Subject:Cc:To:From:Content-Type:MIME-Version :In-Reply-To:References; bh=sh3tsIFp5oII92PDFoHmUNNsSUJY34tKNoMVEev+Gcc=; t=1710121275; x=1710985275; b=oMgNw4nepiHBTs08Sk7vft5tH0j/1H8ZAP+II0m2U+naE3/ 1X29u95FItq5uiAWmzwrBvavH0hyc2GrnQSAATjwXvmDzHbL7Tr39XOLMrqaNSNX6yGAhAzf+B+kp 0/w8bBHLZy7CbIAbRP/mcgTGHyBjcP1RFnIQwowCGy+rcdgk67iJwc7ThLj7TjaEPP8BZGci0P4JA JCnTbigH+vXeNHRUKqAOxFMZe7h6iYFa00RqHqH6mkzZnBMbggyZekIiW1XXl8xZonpSsKl+9L1L8 Gn3OIw7VtXeU5cSetirJ2Q2lu8C7Lm1mKPpjCfg06MlNYB30aM8mIIzX/IRAtc2A==;
Received-SPF: pass (puck.w3.org: domain of ietf.org designates 50.223.129.194 as permitted sender) client-ip=50.223.129.194; envelope-from=noreply@ietf.org; helo=mail.ietf.org;
Received: from mail.ietf.org ([50.223.129.194]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <noreply@ietf.org>) id 1rjUfC-006e0f-39 for ietf-http-wg@w3.org; Mon, 11 Mar 2024 01:41:15 +0000
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 3BF42C14F6A8; Sun, 10 Mar 2024 18:41:11 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Darrel Miller via Datatracker <noreply@ietf.org>
To: ietf-http-wg@w3.org
Cc: draft-ietf-scitt-scrapi.all@ietf.org, scitt@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 12.7.0
Auto-Submitted: auto-generated
Message-ID: <171012127122.48165.10231632619762768472@ietfa.amsl.com>
Reply-To: Darrel Miller <darrel.miller@microsoft.com>
Date: Sun, 10 Mar 2024 18:41:11 -0700
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DMARC_PASS=-0.001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1rjUfC-006e0f-39 6b4a4506a5e813071a2c22b6fadf1803
X-Original-To: ietf-http-wg@w3.org
Subject: Httpdir early review of draft-ietf-scitt-scrapi-01
Archived-At: <https://www.w3.org/mid/171012127122.48165.10231632619762768472@ietfa.amsl.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51872
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Reviewer: Darrel Miller
Review result: On the Right Track

The following is an early review of draft-ietf-scitt-scrapi-01 on behalf of the
HTTP Directorate.

Kudos for the recent revision to the draft. Much of my previous feedback has
been addressed in this new draft.

## 2 - Endpoints

While I understand that some other specifications (e.g. RFC 6748) use the term
endpoints, RFC 9110 uses the term "resource". There is some precedent for using
the term "API Endpoint" but the term endpoint is muddied by alternate uses of
the term to represent a device.

> The following HTTP endpoints are mandatory to implement

It seems problematic to define a mandatory requirement using a term that is not
defined by HTTP.

### 2.1.1

The use of a link relation type for pointing to the transparency configuration
would be a more flexible solution over using .well-known.  Using .well-known
requires out of band communication of the hostname and limits there to being
only one configuration document per hostname. Providing a link relation type
would provide the flexibility for Transparency Service providers to host the
described resources at any base URL.

> Additional fields may be present. Fields that are not understood MUST be
ignored.

RFC8259 uses the term `member` instead of `field.

Where is the response payload for transparency configuration defined?

### 2.1.2

What does it mean to say "Authentication MUST be implemented"?  Does that
require the use of the HTTP authorization header field? Or could I use an api
key in the header or query parameter? Is mututalTLS OK?

> If registration succeeds the following identifier MAY
> be used to refer to the Signed Statement that was
> accepted:
>
> urn:ietf:params:scitt:signed-statement:sha-256
> :base64url:5i6UeRzg1...qnGmr1o

This exact identifier for any signed statement? Or is this an example of an
identifier that can be found somewhere else?  Is there an expectation that the
client parses the returned Location header to construct the above value?

Is this `/entries` URL fixed?  As discussed in BCP56
(https://www.rfc-editor.org/rfc/rfc9205.html#name-specifying-urls) it is not
appropriate to define fixed paths at the root of a host. There needs to be some
discovery mechanism to identify the API resources.

### 2.2.1  Issue Statement

In the example request the Accept field says `application/json`but the response
is `application/cose`.  Is this intentional to show the example server doesn't
support `application/json` responses?  Do they ever?

### 2.2.4 Resolve Receipt

Is the first response example supposed to have a content-type field value of
`application/scitt.receipt+cose``

### 2.2.5 Resolve Issue

What is the schema/media type of the returned response? The response
content-type does not allow a caller to understand the semantics of the
response.

### 2.2.7 Resolve Issuer DID

What does it mean to include a "deprecated" resource in this document? Why not
just not include it?

## 5.4 Media Type Registration

The media type to be registered should be `application/scitt-receipt+cose`. 
The period has a reserved meaning as per RFC6838.

> Note that this means that facet-less
> standards-tree registrations cannot use
> periods in the subtype name.
https://www.rfc-editor.org/rfc/rfc6838#section-4.2

In general I think this draft is on the right track and with some minor
adjustments and clarifications can satisfy the best practices for HTTP
application protocols as outlined in BCP 56.

Regards,

Darrel