[Gen-art] Re: [GNAP] Genart early review of draft-ietf-gnap-resource-servers-06

Justin Richer <jricher@mit.edu> Tue, 09 July 2024 18:30 UTC

Return-Path: <jricher@mit.edu>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 123E6C14F6EE; Tue, 9 Jul 2024 11:30:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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 (1024-bit key) header.d=mit.edu
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 lWqolIroQ9ep; Tue, 9 Jul 2024 11:30:52 -0700 (PDT)
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2133.outbound.protection.outlook.com [40.107.94.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66186C14F69F; Tue, 9 Jul 2024 11:30:48 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BJtcFVCWu7KeQsHkHKVf5h1er4+ykROGqgWWRGMwdfHdRP966jtrRKuYldQoBpSspX85b1IXKdOvRLuq+E4OPb34jA4bbGmrznoQ3n11mAIoBVc7fgMfYAGYrdBX36lWf+eP7/bpRlGTrT8VD3eDPInl+iP2FDmt5KEfZkZEXCQpVkqvdk+S+NARmqVLfXspI4+m7bysxOWhXWM6cf9LpmLx5aeQJDz0t5Pbdp18rJkAcvgtdqxyVfMR7w6kizlqViD9py1nkNXoSPRRRQrHzibb4vNKoaA4E4MseViqqs8POCdod+oxLdApSJ/LxAgvmtxbJqtHHmEKdTs5GgBXPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6xJqUB20a8jNaq4AAxrkTkzzLNpoa0PqU+Tv915zQZE=; b=FfzK4PUQnlYPjCB8KtCyMkvQ7+ZYtKpKrvimz6u0Sx5cjyrWt/ZsT8epYJ05gXN59B8Lj547jbZJd/zb1kJe31531OHSkgz1YVI68mFMT0AJ53S71rBJ8DfC/96oU8aMRtvYMaXDD+O15OdsKxHWcwSD1JNk6e8CiFye/7TG3GfBGLgCA2jd4IQ1IHkl+ct7uCSoyHLJLhdFxa0SVXHOa8TnRWL0O/+Rnc74qQxn71sYbAx7JlgJgtWk0x3ch3BcXc2khP3DKDD4FbRx0YLT/aI4Nts77EHMy/NASsDwbxIpMKehuHqySBSxBzpm6GudCZOP9SqbreN12PP1l9iyqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mit.edu; dmarc=pass action=none header.from=mit.edu; dkim=pass header.d=mit.edu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6xJqUB20a8jNaq4AAxrkTkzzLNpoa0PqU+Tv915zQZE=; b=TY0Jf5njhkOsJO8hJejdxUn+a8pi7tdp7tdf1PkV8GdhqjoMzVo/17pFYb/7eC3KMRrRKEyanwsx5LixWDpZ26ypmVyHOwyN2qTOyU2o4uYkCbt15cXjQrA9IW1l7phcbH8fwcH1nnvuvvrav7JOwKCFWk6zonZBrJ3nbiK4ykY=
Received: from LV8PR01MB8677.prod.exchangelabs.com (2603:10b6:408:1e8::20) by PH0PR01MB6486.prod.exchangelabs.com (2603:10b6:510:8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Tue, 9 Jul 2024 18:30:45 +0000
Received: from LV8PR01MB8677.prod.exchangelabs.com ([fe80::e7d6:999:270f:a820]) by LV8PR01MB8677.prod.exchangelabs.com ([fe80::e7d6:999:270f:a820%5]) with mapi id 15.20.7741.033; Tue, 9 Jul 2024 18:30:45 +0000
From: Justin Richer <jricher@mit.edu>
To: Lars Eggert <lars@eggert.org>
Thread-Topic: [GNAP] Genart early review of draft-ietf-gnap-resource-servers-06
Thread-Index: AQHa0fJ6Y7lggUF8MEiYpm9w/kCoDrHuuEiA
Date: Tue, 09 Jul 2024 18:30:45 +0000
Message-ID: <0B99BDD6-79EB-45AE-B480-22251A35B6F2@mit.edu>
References: <172052419229.663698.851334595670299102@dt-datatracker-5f88556585-j5r2h>
In-Reply-To: <172052419229.663698.851334595670299102@dt-datatracker-5f88556585-j5r2h>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mit.edu;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LV8PR01MB8677:EE_|PH0PR01MB6486:EE_
x-ms-office365-filtering-correlation-id: d31fb81b-b227-4b45-f2e9-08dca0453f85
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|4022899009|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: knpPWT2OeimeZ2A3Vogk0h1fB+LsCzhN/DeghAl3VmSsJF/b6tAAF7ekf+8zkUt+AvTC1l4s7zWPp284e3O3q+ORtoc4HfgJJEFG13T94jGmF2V8MlKIvdsRGXEB9hbTWrt6FjMOg8aRLV4ZwrGoNEW/39AsQwqsd3d6ulvgQT0tYOXC4Ua2+k1eSUGeOfr+KQykKKRYG3nDQLOFqnVXhBI2l1uxuVYFBTHeNxH9utuoBq6jlOcxcDrB9m1nYDQVY/KnQJcX/z1kDazlseDnAG2Y7qvdkaQnEHdKWdlfAS6rsm2laxbthM6JDuilQ55QxhqCTdd7M3gEnW/Pz9DZ47tYsWfuG31CDAl/rn0aVw2kPt6xzqI8EV9NFygqjH4QPggekK/4nwLsJIO1jAvoF0+DVYRiZNjSp/cFY7ZAtMFZoTFZdoPAO5zL1hKZlfNwHBcIzP9zOn9i/yMVmnB78zyaWL4ONuGs4PDyMz52KPYXmLDO8W4n4jcgUG4q3a+z5M7KiT8gb9OCepK/TRezHsGc3k3nm8kNIez/o7fJppke/l1teEISePGEGltLhdOpaDQwfOWmmKiWD5PJi7nFbhWoo/PNte8QIEhm4Bl4S5fkbRa+O4bV7g8wmoLN23WynmJ9cREs/3LyyjN5vDmimTJHtJrCM0lZJx3/wd4gImLJhEsdqRN7d5n9qyq4lSSn52Tnk5hrpyYffRAm7MOmRO9/z163nMEBZMCmygmrD12qs0axLJbwnpIlwrPO6JN8hame9mNbu+e1OlkrxygB5oABYrABCGdgUHFzKLn3/IcvtTy3P7eTXD9b9y59eWIA64su+sEBe3s5CQ4Zc2e7DYrHLOpsInKCijguFydyUBpyDJfHyrGjXsNmBXmbDrTTdDexMCGyJATP1e5B/YtH9YSvCl4Ltae93wcMoJ+bIN+oJM2JFPOgFawtacIy87YsOrIO5N0wqecJg6ijDGDpIkMDmxgGkTVyfybbTZiOAmyySm42Dn4mJGyb3kGjI5K11cRH1MCdRSIlP1Uz8U6ymlVmeWMB1obuPfza+O2n/vu0w18dqV+EX9znGaz4o8nbDZMBlN/px7vA8ks7DFnykpkGU8uWbJkD8jnlL+ooZCiC25sk/frv6jaXQBa/ileZLNjT/6aT5SqIARNtJvcvUZJ1ClVaSCuVQpLWSNkv6pnhNCX0SzBFF4GqScgHVm8bM7V97IIjRaEUM3lm7Qs0S51l8EZEFnrxb0x/hH+Q5J6rm5NG9ZfD0Jyg7ACx6QDC4QGQWSptpACoSzuZFmNCDG3shCkvCP4W3pY/zySddUHrPECDwkEb78Hw4QvYPnqB6Qjh99qdNdtC2k9D6WvcLjpg2mFsS2cPjZFN+S5PLsA=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR01MB8677.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(4022899009)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: jpfNGXjFuCewBrZZqXclDanWz+MY2rVF8bmCQGJXR23epVkJx3eClzxotQ2keDRbjzpeZldWDKxjU8mEv9XMUwPp5qkYi6hFFnJY0liXzlkym4MEWUE+8zhRx/yiSfSl7nC9VPai9T4GulKRPoW8xIqEoYTHqp4laaxkW1Ejc2dG3KMnsODMWGHPFhQ12eZYgJxvJyKKZq7bpeLVNLwkRhrSLBDGRMIfTKLP3kvlZBJi/pzClMXxnbueYivQVfZjAmxQfv3RrQsFmgp6OsR8WXnBN6ybX3oQhgvzbHILUkhmmpPfTzdVs0W1QXIN4W90ImbHrpG0WpKJQFmMF+Bn/c/d1V/50sANbr+MeQX4nCUxKDQW9M1FRtb80La13noros27zBscSvbtTdK2if82rKP37pklohkz3VRBvLo4EL75dVFlXjx2q5dfvJ+mVgetbcCdXpIA07wXhkwg37sSvhiL6KzhqT+d9jt8QQtJE0N+zrAva8Ctlwn8ZEkGiiCLIcivJq8gfsWoFMsSwZQH24geHWyEZzKuTb+aZ3iZz/nUwIFkK0NiNHgp0gN09H31qTW2ZJf49gm14V+9foTrdBl+Elvn+Aru6pSSV9T0c8tupt8NaudNI9cTVmeGg8mxvjT4DfTrCWzPI7hMrfcnckoSQREjpHxyD5X3jBF/eHHBpH2vhIiaQQaaxr30cdxBXyYHQSO3g9H8M9k52EiUh2aQdq6HjKvJAiqvbgFD/dStF0E+Yr7djK9iZiKqjHx8Emp6XN1+ayRI/2CDIVX4B5vpT7m7ZrTt2bysSSh348a/6SfR6LFMnNRFKZovQD4UcTlT8DW7pvroPGupYy83N9IqDgfdXuf8zyFiX3Yswzq0hw33fTZUrVqSVf/IGns/JHQfFLiGTitsmoVyCnlK8+i7UExmFAGKKndXf2HxYTmR9c8CNHufwshEzwJ/je1mLiZSijkbaqA8Wd1NCGf/Z+PWC4THVst1new271DCDuU4tqv8VkpVU3HpAmCFSyg9dVXIwUfFbXG8+CczlPaSuTJfv9/LX9Da7DYQTuSaP4UOd059rtpElUkYGfwqkiZMl8XeepDq2vnl4A4SNTy63b93gYTvHR3uU72oB+75ymey9XeUUPoaTK99ffYiRkToypWHhN7/m0q7+G+uWpqM7Fzx+NHDNEc3T6rxs/qNPh0nDdm/squcQj/UXy9IEK07HcT8U7IAD2M7jsESpxvKt9UF5fo5f3tX+qCj0tksavczDUFYOqCdMrFSxe4byPYQHikY+hyTp3RcH/bHG0uQ6zmD3+wAvdKFXuIcnOEfe5ert+ZTeAn2Nm2Ut20UcZkG4N5IazmmGh4lHQl753I2dJeg2YnbNbS4z+zJ9fi3/AawAHoxO7QknZYiijLPZRjIAO+9mGlyE2ZKpq8g3g+ULnQIoFgfkAXZa/W1JqkIJs0xdSbpeP73pmPQd85cnxzDtLBHJUeow+2c/wimDjhz8PQ/7kZlYtE1M9VaGyblm0s0BTbkFIwp3CPeqORSQqI9qwFid8iBPUNUNZh4ZG9FVgDD0ludrmfvl95IKqabQEk1nhb0OG7CNLt5rSpbIpNp
Content-Type: multipart/alternative; boundary="_000_0B99BDD679EB45AEB48022251A35B6F2mitedu_"
MIME-Version: 1.0
X-OriginatorOrg: mit.edu
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LV8PR01MB8677.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d31fb81b-b227-4b45-f2e9-08dca0453f85
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2024 18:30:45.8062 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Q5AjWAjrlT7RfnazOfbuP2/VP7qSmyGwK7LiWhAvsAPUErf1khfieT5iDExv4uUR
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB6486
Message-ID-Hash: IJBCBXXJPLYCRPTU4662PRGLMPVHCXW7
X-Message-ID-Hash: IJBCBXXJPLYCRPTU4662PRGLMPVHCXW7
X-MailFrom: jricher@mit.edu
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-gen-art.ietf.org-0; header-match-gen-art.ietf.org-1; header-match-gen-art.ietf.org-2; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "gen-art@ietf.org" <gen-art@ietf.org>, "draft-ietf-gnap-resource-servers.all@ietf.org" <draft-ietf-gnap-resource-servers.all@ietf.org>, "txauth@ietf.org" <txauth@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Gen-art] Re: [GNAP] Genart early review of draft-ietf-gnap-resource-servers-06
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/IUAsyEBCCxayaJ27PZSKIbwziss>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Owner: <mailto:gen-art-owner@ietf.org>
List-Post: <mailto:gen-art@ietf.org>
List-Subscribe: <mailto:gen-art-join@ietf.org>
List-Unsubscribe: <mailto:gen-art-leave@ietf.org>

Hi Lars, thanks for the review. Answers inline, and changes where applicable are at https://github.com/ietf-wg-gnap/gnap-resource-servers/pull/92


— Justin

On Jul 9, 2024, at 7:23 AM, Lars Eggert via Datatracker <noreply@ietf.org> wrote:

Reviewer: Lars Eggert
Review result: Ready with Nits

# genart-early review of draft-ietf-gnap-resource-servers-06

CC @larseggert

I am the assigned Gen-ART reviewer for this draft. For background on
Gen-ART, please see the [FAQ](https://wiki.ietf.org/group/gen/GenArtFAQ).
Please resolve these comments along with any other comments you may receive.

## Comments

I don't know much about this area. The doc is well-written and seems
basically in good shape.

### Missing RFC status

Datatracker does not record an intended RFC status for this document.

It’s supposed to be tracked as proposed standard, perhaps the chairs need to update something? The document itself says "Intended Status: Standards Track" right at the top.


### Section 2.1.1, paragraph 1
```
    All access tokens have a unique value.  This is the string that is
```
"Unique" in which sense? Between the parties at the time of usage,
between the parties at any time, within the entire domain,
globally?

Thanks, this can be clarified — we mean unique from the same source during the time the token is valid. This is for security purposes — two different access tokens should never have the same value and be valid at the same time, or even within a reasonable window of each other.


### Section 2.1.1, paragraph 3
```
    The format and content of the access token value is opaque to the
    client software.  While the client software needs to be able to carry
    and present the access token value, the client software is never
    expected nor intended to be able to understand the token value
    itself.
```
Will it need to understand it sufficiently to determine that it is
unique in some way? (See above.) Also, this concept of opaqueness comes
up in other parts of the document, and it would be good to clarify if the
various parties involved in this protocol are required to verify that
property (and fail operations if it is violated?).

No, the client does not need to understand the token contents at all and it does not have any responsibility enforcing the uniqueness of the token. As far as the client is concerned, the value is a string that it uses as-is in the protocol. If an AS hands the client the same token value ten times in a row, the client shouldn’t care, since that’s the AS’s decision, not the client’s.

How would one verify opaqueness of the token from the client’s perspective? The client has no responsibility regarding the content of the token and no actions it can take regarding the token’s content. I don’t believe this is an actionable text suggestion.


### Section 2.1.2, paragraph 3
```
    In a [JWT] formatted token or a token introspection response, this
    corresponds to the iss claim.
```
What is an "iss claim"? (A reference may be helpful.)

This is defined by [JWT], already referenced here.


### Section 2.1.3, paragraph 2
```
    In a [JWT] formatted token or token introspection response, this
    corresponds to the aud claim.
```
What is an "aud claim"? (A reference may be helpful.)


This is defined by [JWT], already referenced here.

### Section 5.3, paragraph 4
```
    *  the format's definition is sufficiently unique from other formats
       provided by existing parameters.
```
"sufficiently unique" is pretty vague, and give a lot of leeway to the
experts. What would an example of "not sufficiently unique" be?

The goal of the token format is to be a top-level container definition like the other values registered by this document. Trying to register "JWT signed with JWS and RSA256" when "JWT" on its own is already registered — this would be an error and should be rejected. We would expect the DE to understand token formats sufficiently to make this decision.


### Section 5.5, paragraph 4
```
    *  the claim's definition is sufficiently orthogonal to other claims
       defined in the registry so as avoid overlapping functionality.
```
See above, wrt "sufficiently unique". Other registries below have
similar verbiage; it would be nice to be a bit more descriptive in what the
expert should actually check here.

We would expect the DE to be sufficiently expert enough in the protocol to determine whether the newly-requested registration would be better covered by some existing claim, and this applies to all such cases. I’ve seen this approach in a number of other registries, but if there’s a better way to word this expectation, please provide a suggested change.


## Nits

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool) so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

### Grammar/style

#### Section 2.1.4, paragraph 4
```
ss_token section of the grant response response in Section 3.2 of [GNAP]. Fo
                             ^^^^^^^^^^^^^^^^^
```
Possible typo: you repeated a word.

#### Section 3.1, paragraph 3
```
ys by reference or by value in a similar fashion to a client instance callin
                           ^^^^^^^^^^^^^^^^^^^^
```
Consider replacing this phrase with the adverb "similarly" to avoid wordiness.

#### Section 3.3, paragraph 19
```
oken is no longer valid. Expressed as a integer seconds from UNIX Epoch. iat
                                     ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 3.3, paragraph 20
```
en was issued by the AS. Expressed as a integer seconds from UNIX Epoch. nbf
                                     ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 3.3, paragraph 20
```
this token is not valid. Expressed as a integer seconds from UNIX Epoch. aud
                                     ^
```
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

#### Section 6.1, paragraph 1
```
, a system can follow a principle of least disclosure to each RS. 6.9. Resour
                                    ^^^^^
```
A determiner may be missing.

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. Review generated by the [`ietf-reviewtool`][IRT].

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
[IRT]: https://github.com/larseggert/ietf-reviewtool


--
TXAuth mailing list -- txauth@ietf.org
To unsubscribe send an email to txauth-leave@ietf.org