[Ace] Re: Tsvart last call review of draft-ietf-ace-revoked-token-notification-06
Joerg Ott <ott@in.tum.de> Fri, 24 May 2024 14:36 UTC
Return-Path: <ott@in.tum.de>
X-Original-To: ace@ietfa.amsl.com
Delivered-To: ace@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E6C2C169406; Fri, 24 May 2024 07:36:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.996
X-Spam-Level:
X-Spam-Status: No, score=-1.996 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 (2048-bit key) header.d=in.tum.de
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 CaI2cRlQ0k9Z; Fri, 24 May 2024 07:36:52 -0700 (PDT)
Received: from mailout1.rbg.tum.de (mailout1.rbg.tum.de [131.159.0.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D9DFFC14F6EF; Fri, 24 May 2024 07:36:50 -0700 (PDT)
Received: from mailrelay1.rbg.tum.de (mailrelay1.in.tum.de [131.159.254.14]) by mailout1.rbg.tum.de (Postfix) with ESMTPS id D36A1263; Fri, 24 May 2024 16:36:47 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=in.tum.de; s=20220209; t=1716561407; bh=ajCzZZDiNDCUUqK3Fazk1ZUgmblsZwu59cgVYFBVUpk=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=HoqKmhAAVuQ/VJ3gT31Dft4qK7Pux3iJYXSP6D7iiBQaO2Y+cx8aUDcJB7Hdg7BdX 1G2zQKcKf2f8U5MuhjdVq9egA1Lm0BCNGFk9tC0QqIIIw4g8pUQUWYHpePBgwXyDDS jhil0J1LdYG1L8CVhSTALDqpJZuITPMYW7dJPkorMDIdbcuckqbSxpKNJ6nu74nlh1 NdycG1ZTsA2EnsBQucdi8vQrEXB80atertNvwVsctKb+d5arw3w7GQmqyzBytGkdFO u1PFifR1+2UJBa3K5sCzsWqF5WlVyaT56y96TwxUTx9FGl/8wxJzq+RAh8lfvLkEYX ZjEqVkmYb8GVA==
Received: by mailrelay1.rbg.tum.de (Postfix, from userid 112) id CCABA28F; Fri, 24 May 2024 16:36:47 +0200 (CEST)
Received: from mailrelay1.rbg.tum.de (localhost [127.0.0.1]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id A8B9F17A; Fri, 24 May 2024 16:36:47 +0200 (CEST)
Received: from mail.in.tum.de (mailproxy.in.tum.de [IPv6:2a09:80c0::78]) by mailrelay1.rbg.tum.de (Postfix) with ESMTPS id A5B05FB; Fri, 24 May 2024 16:36:47 +0200 (CEST)
Received: by mail.in.tum.de (Postfix, from userid 112) id A294D4A0246; Fri, 24 May 2024 16:36:47 +0200 (CEST)
Received: (Authenticated sender: ott) by mail.in.tum.de (Postfix) with ESMTPSA id 6FEA24A0239; Fri, 24 May 2024 16:36:37 +0200 (CEST) (Extended-Queue-bit xtech_tw@fff.in.tum.de)
Message-ID: <74dc5642-7a18-499f-8602-558c08e5f8e2@in.tum.de>
Date: Fri, 24 May 2024 16:36:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: Marco Tiloca <marco.tiloca@ri.se>, Joerg Ott <jo@acm.org>, tsv-art@ietf.org
References: <171260722206.29309.14523224241982449809@ietfa.amsl.com> <06ffc3a6-ccb1-44ec-8756-20619a82b4d4@ri.se>
From: Joerg Ott <ott@in.tum.de>
In-Reply-To: <06ffc3a6-ccb1-44ec-8756-20619a82b4d4@ri.se>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Message-ID-Hash: VPWCK7PAXW2TUQO6VWMGBL3MLKFDPJIQ
X-Message-ID-Hash: VPWCK7PAXW2TUQO6VWMGBL3MLKFDPJIQ
X-MailFrom: ott@in.tum.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-ace.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: ace@ietf.org, draft-ietf-ace-revoked-token-notification.all@ietf.org, last-call@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Ace] Re: Tsvart last call review of draft-ietf-ace-revoked-token-notification-06
List-Id: "Authentication and Authorization for Constrained Environments (ace)" <ace.ietf.org>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ace>
List-Help: <mailto:ace-request@ietf.org?subject=help>
List-Owner: <mailto:ace-owner@ietf.org>
List-Post: <mailto:ace@ietf.org>
List-Subscribe: <mailto:ace-join@ietf.org>
List-Unsubscribe: <mailto:ace-leave@ietf.org>
Hi Marco, thank much for the updates and clarifications. Looks good to me. Best, Jörg On 10.05.24 17:01, Marco Tiloca wrote: > Hello Joerg, > > Thanks a lot for your review! Please find in line below our detailed > replies to your comments. > > A Github PR where we have addressed your comments is available at [PR]. > > Unless any concern is raised, we plan to soon merge this PR (and the > other ones related to other received reviews), and to submit the result > as version -07 of the document. > > Thanks, > /Marco > > [PR] https://github.com/ace-wg/ace-revoked-token-notification/pull/7 > > On 2024-04-08 22:13, Joerg Ott via Datatracker wrote: >> Reviewer: Joerg Ott >> Review result: Ready with Nits >> >> 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 defines the interactions and message format for TRL endpoints >> to inquire token revocation lists (TRLs) or be notified about such from/by >> an authorisation server (AS). The specification defines the message exchanges >> on top of established application protocols such as CoAP. It supports >> retrieving full TRLs or (recent) changes to such TRLs. Being based upon >> existing protocols and carefully addressing resource constraints that endpoints >> might have, the protocol does not appear to introduce new transport layer >> issues to be considered. >> >> Looks good to me from this perspective. >> >> Found a few minor nits: >> sect 1, 4th para: "if they are defined to use in the ACE framework" >> doesn't quite seem to parse. > > ==>MT > > We have rephrased as follows: > > OLD > > Other underlying protocols than CoAP are not prohibited from being > supported in the future, if they are defined to use in the ACE framework > for Authentication and Authorization. > > NEW (emphasis mine) > > Other underlying protocols than CoAP are not prohibited from being > supported in the future, if they are defined **to be used** in the ACE > framework for Authentication and Authorization. > > <== > >> sect 5, 2nd para: "the AS sends as response use Content-Format" > > ==>MT > > We have rephrased as follows: > > OLD > > Following a request to the TRL endpoint, the messages defined in this > document that the AS sends as response use Content-Format > "application/ace-trl+cbor". > > NEW (emphasis mine) > > Following a request to the TRL endpoint, **the corresponding response > messages sent by** the AS use Content-Format "application/ace-trl+cbor". > > <== > >> sect 5, 8th para: "ii) they were added to or removed from that update." >> The previous part of this para talks about multiple updates, the previous >> para about the most recent one. What does "that update" refer to? > > ==>MT > > It is an update to the TRL, which becomes relevant if specifically > affecting the subset of the TRL pertaining the requester. > > We have rephrased the 7th and 8th paragraphs as follows. > > OLD > > Diff query: the AS returns a list of diff entries. Each diff entry is > related to one of the most recent updates, in the subset of the TRL > pertaining to the requester. > > > > The entry associated with one of such updates contains a list of > token hashes, such that: i) the corresponding revoked access tokens > pertain to the requester; and ii) they were added to or removed from the > TRL at that update. > > NEW (emphasis mine) > > Diff query: the AS returns a list of diff entries. Each diff entry is > related to one of the most recent updates **to the TRL, with such an > update performed** in the subset of the TRL pertaining to the requester. > > > > The entry associated with one of such updates contains a list of > token hashes, such that: i) the corresponding revoked access tokens > pertain to the requester; and ii) they were added to or removed from the > TRL **when performing that update to the TRL**. > > <== > >> The discussion of the diff update procedure in sect 5.1.1 may not be that >> easy to follow, but maybe it is better understandable if one writes code. > > ==>MT > > Please note that Section 5.1.1 considers the optional extension "Cursor" > of the diff queries, and introduces the corresponding constants > 'MAX_INDEX' and 'MAX_DIFF_BATCH', as well as the variables 'index' and > 'last_index'. > > The actual, related processing for the AS to produce a response is > specified later in Section 8. > > <== > >> sect 5.2: 11th para: "The 4.00 Bad Request ..." -- move this para after >> the indented bullet list? Seems to break the reading flow here. > > ==>MT > > Quoting the whole paragraph for context: > > > The 4.00 (Bad Request) response MUST have Content-Format > "application/ace-trl+cbor". The payload of the response MUST be a CBOR > map, which MUST include the 'error' parameter and MAY include the > 'error_description' parameter to provide additional context. > > We would prefer to keep the current structure, since each point in the > bullet list refers to the 'error' parameter in the payload and specifies > how to fill that parameter. So it's better if the payload format is > reminded before the bullet list with the different cases. > > The same holds also when switching to the Concise Problem Details (RFC > 9290) format for error responses, now in the Pull Request at > https://github.com/ace-wg/ace-revoked-token-notification/pull/6 > > <== > >> sect 7, last para before sect 8 refers to I-D.bormann-t2trg-stp. This >> draft seems to be expired, it is from a research group; does this reference >> help here and add value? > > ==>MT > > Quoting the whole paragraph for context: > > > Appendix A discusses how performing a diff query of the TRL is in > fact a usage example of the Series Transfer Pattern defined in > [I-D.bormann-t2trg-stp]. > > The intent in Section 7 is have a forward pointer to Appendix A (which, > otherwise, would not be referred to in the document body) and to > anticipate its content. > > We believe that Appendix A provides additional information by > positioning the present proposal in the context of the more general > Series Transfer Pattern defined in draft-bormann-t2trg-stp, which is in > fact an informative reference. We are referring to its latest version > -03 and, even if that draft is currently expired, we think that its > version -03 well serves the purpose intended in Appendix A of the > present document. > > <== > >> sect 9: is there a need to discuss any constraints of permutations of MAX_N >> and MAX_DIFF_BATCH? > > ==>MT > > As explained below, no particular discussion is needed in Section 9, but > it's better to improve the text in Section 5.1.0 to avoid confusion (see > further below). > > On the mentioned parameters: > > * There is a single, constant value MAX_N at the AS. That same value is > used with all the registered devices and administrators. That is, for > each registered device or administrator, the corresponding update > collection includes at most MAX_N items. > > * Instead, there is one constant value MAX_DIFF_BATCH (with > MAX_DIFF_BATCH <= MAX_N) for each different registered device or > administrator. The value might be different for different registered > devices or administrators. As stated in Section 5.1.1, the specific > value of MAX_DIFF_BATCH used for a registered device or administrator > "depends on the specific registered device or administrator associated > with the update collection in question." > > * The table in Appendix B provides an overview of these parameters, and > highlights their nature as single-instance (like N_MAX) or per-requester > (like MAX_DIFF_BATCH). > > > Admittedly, the text in Section 5.1.0 is not clear enough and might > suggest that the AS uses one value of MAX_N for each registered device > or administrators. Instead, as explained above and summarized in > Appendix B, the intent is to have a single-instance value of MAX_N to > use for all the registered devices and administrators. > > We have clarified in Section 5.1.0: > > OLD > > For each requester, the AS maintains an update collection of maximum > MAX_N series items, where MAX_N is a pre-defined, constant positive integer. > > NEW > > The AS defines the single, constant positive integer MAX_N >= 1. For > each requester, the AS maintains an update collection of maximum MAX_N > series items. > > For editorial consistency, a sentence in Section 5.1.1 has been updated > as follows. > > OLD > > The AS defines the constant, unsigned integer MAX_INDEX <= ((2^64) - > 1), ... > > NEW (emphasis mine) > > The AS defines the **single, constant** unsigned integer MAX_INDEX <= > ((2^64) - 1), ... > > <== > >> sect. 10, 1st para: "Once completed the registration procedure at the AS, >> the administrator..." doesn't quite parse. > > ==>MT > > Building on the simpler formulation in the first paragraph of Section 1, > we have rephrased as follows. > > OLD > > Once completed the registration procedure at the AS, the > administrator or registered device can send a GET request to the TRL > endpoint at the AS. > > NEW > > Once registered at the AS, the administrator or registered device can > send a GET request to the TRL endpoint at the AS. > > <== > >> sect 10.1, 2ns para: "if the corresponding token hash is among the currently >> stored ones" [add: 'in the TRL"?] > > ==>MT > > Quoting the text for context. > > > When receiving a response from the TRL endpoint, a registered device > MUST expunge every stored access token associated with a token hash > specified in the response. In case the registered device is an RS, it > MUST store the token hash. > > > > An RS MUST NOT accept and store an access token, if the corresponding > token hash is among the currently stored ones. > > The addition of "in the TRL" is not pertinent to the RS here, since the > TRL is a resource specifically at the AS. The RS is free to store the > mentioned token hash as it see fits, e.g., within a data structure > associated with its local token repository. > > <== > >> Appendix C: I believe to have understood that one could have a retrieve >> operation without Observe. Should this include such a simple example, too? > > ==>MT > > Indeed one can access the TRL resource without using Observe. > > The examples are already showing that case. See in particular: > > * In Appendix C.3: the final request-response exchange, also mentioned > in the third paragraph of the appendix. > > * In Appendix C.4: the two final request-response exchanges, also > mentioned in the fourth and fifth paragraphs of the appendix. > > * In Appendix C.5: the two final request-response exchanges, also > mentioned starting from the fourth paragraph of the appendix. > > <== > > > -- > Marco Tiloca > Ph.D., Senior Researcher > > Phone: +46 (0)70 60 46 501 > > RISE Research Institutes of Sweden AB > Box 1263 > 164 29 Kista (Sweden) > > Division: Digital Systems > Department: Computer Science > Unit: Cybersecurity > > https://www.ri.se >
- [Ace] Re: Tsvart last call review of draft-ietf-a… Marco Tiloca
- [Ace] Tsvart last call review of draft-ietf-ace-r… Joerg Ott via Datatracker
- [Ace] Re: Tsvart last call review of draft-ietf-a… Joerg Ott