[Ace] Re: Opsdir last call review of draft-ietf-ace-revoked-token-notification-06
Marco Tiloca <marco.tiloca@ri.se> Fri, 10 May 2024 13:34 UTC
Return-Path: <marco.tiloca@ri.se>
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 86ACEC14F71C; Fri, 10 May 2024 06:34:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TVD_PH_BODY_ACCOUNTS_PRE=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=ri.se
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 wUTg_Us-nAwS; Fri, 10 May 2024 06:34:04 -0700 (PDT)
Received: from GVYP280CU001.outbound.protection.outlook.com (mail-swedencentralazon11022011.outbound.protection.outlook.com [52.101.75.11]) (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 CCF99C14F706; Fri, 10 May 2024 06:34:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HzkR5rBx4jetXNZQWl48CM/ehmcXnE9994v1tk9FW9ojoYZVfZMUlONU0aiZsdpeOI44KVPoNSLbooG+KyZoLgwuYtMK6s4cuM9JhaH8oZnMuNSm8I+4HvcpSxfo+r++w+OYHauruf93CSMNAeZNCvfU0hC6g2Vy/BUTFOESdayGp4W13o6pZ96NspkGuhZA8bji0jOHi2NLhddYHpTyxOBdVWZzQLv2689iBfY5D00DIMcI5cG9QcznODK0NdGndV6bNNKQNmRMXbzrG8mjr/uOPQrZ2+BdtJ7ZtJrc6A988GmiQlhMQVQGTrz/zIplRXwmyCz8jwB8m7aI9XITDQ==
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=7idpFdPIwYbAE+ewXMGhosHqk4zmwyJg8pqDXKN5h/E=; b=jnnmf87ThywXBPvDOCqkeohUuH/TBx5tdwj89UoTpeI4FuFcGcM3gYg13DnealfXX8Fi8eV2A/Hc0DLNXLgVzjYimArMHHXKYFZVsfAcARdpA5sEQTMoA4mzVLe8LSwCEeJdTy8aLKXiaWMaepjr8I43usi9swlenEuA+sdZGjYA4V9Nz5rHQihDc0Bg96Te5mrmdO6Q+PUX9SjUQEtTLrfPZX5OhRHMbA0L+RmnykerU33mLUayDpVzILM4ebG4+lIZP8wXhLR93q9SmUYmOPRgUzIazzRhFlgNOsTprZUjnajuQo3ClebzJkwkY7tfpyV9V4JMvgfSjuE9A0fhYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ri.se; dmarc=pass action=none header.from=ri.se; dkim=pass header.d=ri.se; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ri.se; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7idpFdPIwYbAE+ewXMGhosHqk4zmwyJg8pqDXKN5h/E=; b=FmyG4JrVBa00ARBrKGm6u58U9pXpvNZQSXig9gzPBeDg73uOpSjBkhNHYgkpQHdIikRPBrofka0GEdfYJKWuyWTfpXtxzI+rXDN3cr4U1yq7xW07APo0yCKwwalLkIE0Ek2XiBlNWmo6ysToYbekDOZqK8lBlXp27wkB6EZhS5Y=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ri.se;
Received: from GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:37::17) by GVZP280MB0633.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:43::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.49; Fri, 10 May 2024 13:33:59 +0000
Received: from GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM ([fe80::ac07:ed64:c098:f1f9]) by GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM ([fe80::ac07:ed64:c098:f1f9%4]) with mapi id 15.20.7544.048; Fri, 10 May 2024 13:33:59 +0000
Message-ID: <628790be-4691-4595-9a65-c5d234d16a2a@ri.se>
Date: Fri, 10 May 2024 15:33:56 +0200
User-Agent: Mozilla Thunderbird
To: Dhruv Dhody <dd@dhruvdhody.com>, ops-dir@ietf.org
References: <171199386128.27279.11626228587925083773@ietfa.amsl.com>
Content-Language: en-US
From: Marco Tiloca <marco.tiloca@ri.se>
Autocrypt: addr=marco.tiloca@ri.se; keydata= xsBNBFSNeRUBCAC44iazWzj/PE3TiAlBsaWna0JbdIAJFHB8PLrqthI0ZG7GnCLNR8ZhDz6Z aRDPC4FR3UcMhPgZpJIqa6Zi8yWYCqF7A7QhT7E1WdQR1G0+6xUEd0ZD+QBdf29pQadrVZAt 0G4CkUnq5H+Sm05aw2Cpv3JfsATVaemWmujnMTvZ3dFudCGNdsY6kPSVzMRyedX7ArLXyF+0 Kh1T4WUW6NHfEWltnzkcqRhn2NcZtADsxWrMBgZXkLE/dP67SnyFjWYpz7aNpxxA+mb5WBT+ NrSetJlljT0QOXrXMGh98GLfNnLAl6gJryE6MZazN5oxkJgkAep8SevFXzglj7CAsh4PABEB AAHNNk1hcmNvIFRpbG9jYSAobWFyY28udGlsb2NhQHJpLnNlKSA8bWFyY28udGlsb2NhQHJp LnNlPsLAdwQTAQgAIQUCWkAnkAIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRDuJmS0 DljaQwEvCACJKPJIPGH0oGnLJY4G1I2DgNiyVKt1H4kkc/eT8Bz9OSbAxgZo3Jky382e4Dba ayWrQRFen0aLSFuzbU4BX4O/YRSaIqUO3KwUNO1iTC65OHz0XirGohPUOsc0SEMtpm+4zfYG 7G8p35MK0h9gpwgGMG0j0mZX4RDjuywC88i1VxCwMWGaZRlUrPXkC3nqDDRcPtuEGpncWhAV Qt2ZqeyITv9KCUmDntmXLPe6vEXtOfI9Z3HeqeI8OkGwXpotVobgLa/mVmFj6EALDzj7HC2u tfgxECBJddmcDInrvGgTkZtXEVbyLQuiK20lJmYnmPWN8DXaVVaQ4XP/lXUrzoEzzsBNBFSN eRUBCACWmp+k6LkY4/ey7eA7umYVc22iyVqAEXmywDYzEjewYwRcjTrH/Nx1EqwjIDuW+BBE oMLRZOHCgmjo6HRmWIutcYVCt9ieokultkor9BBoQVPiI+Tp51Op02ifkGcrEQNZi7q3fmOt hFZwZ6NJnUbA2bycaKZ8oClvDCQj6AjEydBPnS73UaEoDsqsGVjZwChfOMg5OyFm90QjpIw8 m0uDVcCzKKfxq3T/z7tyRgucIUe84EzBuuJBESEjK/hF0nR2LDh1ShD29FWrFZSNVVCVu1UY ZLAayf8oKKHHpM+whfjEYO4XsDpV4zQ15A+D15HRiHR6Adf4PDtPM1DCwggjABEBAAHCwF8E GAECAAkFAlSNeRUCGwwACgkQ7iZktA5Y2kPGEwf/WNjTy3z74vLmHycVsFXXoQ8W1+858mRy Ad0a8JYzY3xB7CVtqI3Hy894Qcw4H6G799A1OL9B1EeA8Yj3aOz0NbUyf5GW+iotr3h8+KIC OYZ34/BQaOLzdvDNmRoGHn+NeTzhF7eSeiPKi2jex+NVodhjOVGXw8EhYGkeZLvynHEboiLM 4TbyPbVR9HsdVqKGVTDxKSE3namo3kvtY6syRFIiUz5WzJfYAuqbt6m3TxDEb8sA9pzaLuhm fnJRc12H5NVZEZmE/EkJFTlkP4wnZyOSf/r2/Vd0iHauBwv57cpY6HFFMe7rvK4s7ME5zctO Ely5C6NCu1ZaNtdUuqDSPA==
In-Reply-To: <171199386128.27279.11626228587925083773@ietfa.amsl.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="------------tKjpK2K40wXXJOPjOxN1JkwA"
X-ClientProxiedBy: FR4P281CA0050.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:cc::11) To GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM (2603:10a6:150:37::17)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GVYP280MB0464:EE_|GVZP280MB0633:EE_
X-MS-Office365-Filtering-Correlation-Id: 94dba51a-ee43-4276-4ee9-08dc70f5d92b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005;
X-Microsoft-Antispam-Message-Info: 23woiRPTzEYxWq1cMupdYoeAy29grvzjy0x1ku0MkLlkXeM0Ea9WRbueWoiQksmPVR2MgQASyG1lakxbmyIpatc0lFLrBpY/WLzh91RnZBgWx15kJCTcqpldILpf+EIj0MDLACfifEsDjb8v/gLdyFB5G2Rd0h6VBpYlu2vEod/m8zBlpQpwhvWPCafCQAbnvPOsjMVPMAkhZ5ax0FCPnJXsHxlcK2VFLMTZzIuRyfU16O9AxoTQhbVM3a9LJ1cxZ3Ozosxn4C/89BikChSX2frT5p/cGgcGDDwNeDobh92LYU+jxRVCPxhdBnb8kuEen6GvHEL5vHQwRkXWBEi4nuahAjMdwKsJeHqrpb1VGK6bXyRaIjhHVcDQ3k1G4jJ4LKwf4L+3sLvhEOiEexlFZkj7Y1qMfxumDNMzbBAQLT/0ntLy9bMmFZAtXXqXm+TkvJHd518DgzJ6a2NBZhyBYdV/PoqhWniZ2/bkCN9+2nr039Y9RqkMlbjPz79XgZ4wbwmM9ZPD+x3r4a5leoBtoc/aMEba4BegkFBOcVJGwEQry+lWgvYh0IAlrLvRPhfBGuQbkW3Diw7QzIS2VZNr+gxuBbbJtSZTk+jezTK2UmZq4rekFqOQeEY58Ntc1I66RVhLrmPWBtB/sdrZWCWIq3m/DzFTNATJZA1GfopyE12O03WgoI5plYKrxD3ZPoHUDcy/Ya/pnZzyCr9YfKbnKCfHiZkR0Kyyfq5pqpOcrfZUvu9M9cNHI1/xDWr7/V8qFE464/wKhEavfYMuSvJIq4hNUznwKavZ/FKiGDufp54hX8zDj5dUG9I8yLFd3OGH7H35ZiInMyOPU1UwGqsB4w0+rXhi3vgzgxxsvUD+OOZoBxCmiHNmXar+/Lb0sWAfZZhxyjYOR0sTT7+DtSCf6wIEcwhu3ppGXkOqPIFO/nJVg6qz8vDk2CFfFV5NXlgQUm03igP3xFcSlYP4U08PYPEu1ktHnR4D2YZN1xRwpQpLWn61Q2VePD2SXijdtBd6J3Burpfs88begg+lzBVYpDzG4jOxUCgmE+0FfhEtPnl9Sa0+zL6WeicF2Co3lAj9iug45wa4lvxdv4kNRRhkqDvhU9oOteST4d5uBMpQWf150eQxPgIA/0VDJtIo2HENMXv3xwDvMeIQXESy5eeUWGhULOX7b0RJL+b7I6hK3uolaDjZ0UUn868x7R23B/CDflsasvkXn9S1sBNvZKR4INiDEct8amtq+6RhUAc7TdY=
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: LdynmzBve+zFa3H7++21H5bTXtxb6L7urTAdJu26kaNLvjhR5eeY94BnVd+YczRyh4GtoC3WALpRDHd2BT0nQS59bO2gHJWlNP1Z7gn9BA7b+xtH1ftKPIolt5skSkX1GyviJ7K4KQ60jP/g6zZs+LRkS9OIpeiqZdqWDAhIoYI1QftiX+9yUjK/kaSqWP1nlCunBCGokO4RHlkOjJZrEMcZrpLTs15ybyB4l64UpKzClv2NpskpM032VBGztGs5AZ5qvOyqR10d4nWeIvI/P00Qpnpmz/apScgdT4cRE42NChma9qUQVMasiBRUxeYm30u9M6hCqo9tYUshOjHVqrdqSuX8+hJN8OAN8b2w0F+itX2S61Y2HjOUAY/W18bXsKwrHSN+SkrW0cpBAoOCzdkWXqgrQeRwi2XY7YtjGdUzEvus5cgXZWW0ylPrBh+FAJvfx8e7urmfghi9DJYRdi6jPVXIZyYy0rAHfQcBuZlNmi+2WLGHwnvG4DOm8YcgBkHGl3E7Gyf1FN9SeIdoHAef78TzYjWQUrs4g9IeFDqM2iFDqMTqjHSGgLc8ZjELF/KPMRJYDLso7aLIrdmv3kr43UmQbLQfcv4I4EffI6i05zA6q0U/sZ2b5RJDG3YACcGdYCrplls6raGN+PJBTaCcU+3ejZHQSA/AvJ52dTc1696xVwppG9I0B8cTdBRFs+m6yOjdkf8VgUW6DyBrPlpz+1ezh3HT2PiS6ftci2ze4JHOdsqTNXrooYRkQUey9iCX6RRx/YvSGTm/U4HoMP1m6NNzEGpr9h588XRlc88WjxOZR8DhXsCvzFBYVfWcgRaoks5XiSbtX80BizwFF+caCj8FT+aXQCqHhgD7rReRUW4ZTi1pNLONcMZGSHvSKf8wdgDGwZ1BsvKGET3/aPJ/4jcPOd0aiTPrcAkk+RP+08rmVno5r5TfJ80ByTjtfBV6vFOQVd8NX94asuUcvUBdg59Btft6MBAW2+hZh437KIF4Y17AHLzFvDMMmMgIZEEWBFmeFZDoiByJdWcrYhTqTT6GTAv36EzuAw+II6H0HkDTNNMy5Qz0hUu4bchfRrOCNMoJ7ueAULnT+M3m/FM43K44fy5Q0gZzLv7DNbgGyKamuBjG5U+866RsvPAgZzeAPCBfiExXvwHQ8yiJI039fYublW5lfxF94c3dEaepdjDil/q1TtwbHj47YbGt5yVMoYc9aztMRA9aFSeOSq0n5dD95UsaJAIJPO12YbX4rJA/eij1WoC9AAbxXT9j3xUVxhLfVBhlyGdDEWiYAMaf5jMTyR+b2JKwTW8wQuOTUSg6hO5vR0Ib3L02H/ghzPnux1s61IxvpjZAEJ5DM+gnPeVLtEeCdRalDpMQzvJphvfybSNfmwPZuvexVnQFLv+s/MndGVa5TOGBZiEvz4HOLGYBvJmjh+4t8d3GsSn7Orhjxa9I3U+4zay852b+iOn03QmwywGiQSEWYjwk1PjEWGpYP3x+OBZo3fe2zjcFQvHZBHXDPGNXf8UQSGhAXjy0f9lwHxmkPGMVuGMR20hqtFp9i4fj0kjNOq/2IyZLl0AlL/BIqQwcm8KssW1A
X-OriginatorOrg: ri.se
X-MS-Exchange-CrossTenant-Network-Message-Id: 94dba51a-ee43-4276-4ee9-08dc70f5d92b
X-MS-Exchange-CrossTenant-AuthSource: GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2024 13:33:59.4123 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 5a9809cf-0bcb-413a-838a-09ecc40cc9e8
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D9B6egD/0xocwp3I7WJVKzkFpfEL+YYjVDgvAbmtfWA3YGHSQBV2vNGxy2w/SDKWHYkWTVoHOIQQc+WlMTphSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVZP280MB0633
Message-ID-Hash: NY5YCKXOKBDEBIHPYOKXE42BB6I3D3CC
X-Message-ID-Hash: NY5YCKXOKBDEBIHPYOKXE42BB6I3D3CC
X-MailFrom: marco.tiloca@ri.se
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: Opsdir last call review of draft-ietf-ace-revoked-token-notification-06
List-Id: "Authentication and Authorization for Constrained Environments (ace)" <ace.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ace/piihU7-ExwXWG98c2dM9XETE9-c>
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>
Hello Dhruv, 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/9 On 2024-04-01 19:51, Dhruv Dhody via Datatracker wrote: > Reviewer: Dhruv Dhody > Review result: Has Issues > > # OPSDIR review of draft-ietf-ace-revoked-token-notification-06 > > I have reviewed this document as part of the Operational directorate's ongoing > effort to review all IETF documents being processed by the IESG. These > comments were written with the intent of improving the operational aspects of > the IETF drafts. Comments that are not addressed in the last call may be > included in AD reviews during the IESG review. Document editors and WG chairs > should treat these comments just like any other last-call comments. > > The document provides a mechanism for the Authorization Server to notify about > revoked access tokens via access to a Token Revocation List (TRL) on the > Authorization Server via CoAP. The document is clear and well-written. The > motivation is described well. The document is almost ready for publication. > > ## Operational Concern > - I am worried that the admin authorization is kept out of scope. I could not > find how it is handled in the ACE framework and if this is acceptable. At the > very least some hint or example can be provided... ```` > * Administrator: entity authorized to get full access to the TRL at > the AS, and acting as a requester towards the TRL endpoint. An > administrator is not necessarily a registered device as defined > above, i.e., a Client requesting access tokens or an RS consuming > access tokens. How the administrator authorization is established > and verified is out of the scope of this specification. > ```` ==>MT The ACE framework (RFC 9200) does not define the concept of "administrator", as it is not part of the main workflow where a Client requests an access token from an AS to be consumed by an RS. The concept of "administrator" was introduced here as an entity that can have full access to the TRL, i.e., all the access tokens that the AS issues pertain to an administrator. On the topic of authorized administrators, the document has some text, but admittedly quite short and buried in Section 13.1 of the Security Considerations, i.e.: > Therefore, the AS MUST ensure that, other than registered devices accessing their own pertaining subset of the TRL, only authorized and authenticated administrators can retrieve the full TRL. To this end, the AS may rely on an access control list or similar. In order to address this comment, we have made the following changes: * In the quoted definition of "administrator" in Section 1.1, we have removed the sentence "How the administrator authorization is established and verified is out of the scope of this specification." * In Section 5, we have extended the third paragraph as follows: OLD: > The AS MUST implement measures to prevent access to the TRL endpoint by entities other than registered devices and authorized administrators. NEW: > The AS MUST implement measures to prevent access to the TRL endpoint by entities other than registered devices and authorized administrators (see Section 9). * In Section 9, we have added the following new paragraph, before the current last paragraph "Further details about ...": NEW: > When communicating with one another, the registered devices and the AS have to use a secure communication association and be mutually authenticated (see Section 5 of [RFC9200]). > > In the same spirit, it MUST be ensured that communications between the AS and an administrator are mutually authenticated, encrypted and integrity protected, as well as protected against message replay. > > Before starting its registration process at the AS, an administrator has to establish such a secure communication association with the AS, if they do not share one already. In particular, mutual authentication is REQUIRED during the establishment of the secure association. To this end, the administrator and the AS can rely, e.g., on establishing a TLS or DTLS secure session with mutual authentication [RFC8446][RFC9147], or an OSCORE Security Context [RFC8613] by running the authenticated key establishment protocol EDHOC [RFC9528]. > > When receiving authenticated requests from the administrator for accessing the TRL endpoint, the AS can always check whether the requester is authorized to take such a role, i.e., to access the full TRL. > > To this end, the AS may rely on a local access control list or similar, which specifies the authentication credentials of trusted, authorized administrators. In particular, the AS verifies the requester to the TRL endpoint as an authorized administrator, only if the access control list includes the same authentication credential used by the requester when establishing the mutually-authenticated secure communication association with the AS. * In Section 13.1, we have made the following rephrasing: OLD: > Therefore, the AS MUST ensure that, other than registered devices accessing their own pertaining subset of the TRL, only authorized and authenticated administrators can retrieve the full TRL. To this end, the AS may rely on an access control list or similar. NEW: > Therefore, the AS MUST ensure that, other than registered devices accessing their own pertaining subset of the TRL, only authorized and authenticated administrators can retrieve the full TRL (see Section 9). <== > - Section 5.1, if the TRL maintains MAX_N items only and if the diff is larger > than that wouldn't some of the diffs be lost when the requester finally makes a > request? I would have assumed that in such a case we indicate it that to the > requester and it could issue a full query instead. But MAX_N is applicable for > full query as well. Perhaps that is okay for most deployments, but let's be > explicit about that in the document. ==>MT First, we would like to clarify a few details. The TRL maintains token hashes. The number of token hashes stored in the TRL is capped by the number of access tokens that are issued by the AS and are not expired yet. Also, MAX_N is not related to full queries, since it plays a role only for diff queries. That is, MAX_N is a single, constant value at the AS, and indicates the maximum number of TRL updates that the AS maintains for each different administrator or registered device (i.e., the updates occurred to the portion of the TRL pertaining to that administrator or registered device). These updates are maintained in a dedicated, per-device update collection, whose maximum size is MAX_N. Eventually, the number of occurred updates pertaining to a device can indeed become more than MAX_N. From then on, due to the size of that device's update collection limited to MAX_N, the AS will discard an update from the update collection when that update becomes the oldest one in the collection. This process is defined in step 5 of Section 5.1, as part of updating an update collection with the insertion of a new series item: > 5. If the update collection associated with the requester currently includes MAX_N series items, the AS MUST delete the oldest series item in the update collection. > > This occurs when the number of TRL updates pertaining to the requester and currently stored at the AS is equal to MAX_N. That said, the following focuses on the raised issue. If a diff query request does not use the "Cursor" extension [0] (e.g., the extension is not supported by the device or the AS), then indeed the device may never notice through diff queries that an update has occurred and has been lost forever. For example, the following can happen: 1. An access token TOKEN is issued as pertaining to a device DEVICE. Let's say that TOKEN has an expiration time that is very far in the future. 2. After some time, DEVICE sends a diff query request to the AS. The diff query request does not use the "Cursor" extension, and is not a CoAP Observation request. In the follow-up response, the AS provides DEVICE with the current items from the related update collection. 3. TOKEN gets revoked, and the AS adds to the update collection of DEVICE an item ITEM that reflects the revocation of TOKEN (i.e., it reflects the addition of the token hash to the TRL). 4. Due to several revocations and follow-up expiration of access tokens pertaining to DEVICE, the AS adds a lot of new series items to the update collection related to DEVICE. 5. Eventually, the update collection reaches size MAX_N. Later on, ITEM becomes the oldest series item. Further later, a new series item is added to the update collection, which results in deleting ITEM from the update collection. 6. DEVICE sends a new diff query request to the AS. By doing so, DEVICE retrieves all the current series items in its related update collection, but does not learn that TOKEN was revoked and thus keeps storing it. [0] See "Case A" in Section 8.2.3. If the diff query request uses the "Cursor" extension and its 'cursor' query parameter has a value that refers to a very old, deleted series item, then the follow-up response from the TRL informs the requester that what is being requested was deleted and cannot be provided. After that, as also stated in Section 8.2.3, the requester should indeed send a full query request to the TRL endpoint. In order to address your comment and situations like the above, we have added the following new text at the end of Section 10.0 "Notification of Revoked Access Tokens". > As specified in Section 5.1, an AS supporting diff queries maintains an update collection of maximum MAX_N series items for each administrator or registered device, hereafter referred to as requester. In particular, if an update collection includes MAX_N series items, adding a further series item to that update collection results in deleting the oldest series item from that update collection. > > From then on, the requester associated with the update collection will not be able to retrieve the deleted series item, when sending a new diff query request to the TRL endpoint. If that series item reflected the revocation of an access token pertaining to the requester, then the requester will not learn about that when receiving the corresponding diff query response from the AS. > > Sending a diff query request specifically as an Observation request, and thus relying on Observe notifications, largely reduces the chances for a requester to miss updates occurred to its associated update collection altogether. In turn, this relies on the requester successfully receiving the Observe notification responses from the TRL (see also Section 13.3). > > In order to limit the amount of time during which the requester is unaware of pertaining access tokens that have been revoked but are not expired yet, a requester SHOULD NOT rely solely on diff query requests. In particular, a requester SHOULD also regularly send a full query request to the TRL endpoint according to a related application policy. Furthermore, we have also turned a "should" into a normative "SHOULD", in Section 8.2.3 when specifying the "Case A" mentioned above. That is: OLD: > When receiving this diff query response, the requester should send a new full query request to the AS. NEW: > When receiving this diff query response, the requester SHOULD send a new full query request to the AS. <== > > ## Minor > - Thanks for including the description of "endpoint" in Section 1.1 but the > term is used in the Abstract and Introduction where it confused me on first > reading. I suggest adding a forward reference in the Introduction to avoid > confusion. Also in section 1.1, it would be better if we have a reference to > the OAuth document where the term originates from. ==>MT We have rephrased as follows: OLD (Section 1.0): > ... and it does not require any additional endpoints on the registered devices. NEW (Section 1.0): > ... and it does not require the registered devices to support any additional endpoints (see Section 1.1). OLD (Section 1.1): > Note that, unless otherwise indicated, the term "endpoint" is used here following its OAuth definition, aimed at ... NEW (Section 1.1): > Note that the term "endpoint" is used here following its OAuth definition [RFC6749], aimed at ... <== > - Is there a suitable > reference for "CBOR diagnostic notation"? ==>MT Indeed. As part of a planned clarification on this point, we have rephrased the last paragraph of Section 1.1 as follows: OLD: > Examples throughout this document are expressed in CBOR diagnostic notation without the tag and value abbreviations. NEW > Examples throughout this document are expressed in CBOR diagnostic notation as defined in Section 8 of [RFC8949] and Appendix G of [RFC8610]. Diagnostic notation comments are often used to provide a textual representation of the numeric parameter names and values. <== > - Section 3, I suggest mentioning > that 0x58 identifies byte string with one-byte for n. ==>MT When taking into account a comment from the GENART review, we have revised this section and updated the definition of HASH_INPUT. The updated design considers the **value** of the CBOR byte string conveyed by the parameter 'access_token' in Figure 2. Consequently, from the example in Figure 2, the bytes (0xd0 0x83 ...) are mentioned as relevant to understand how to build HASH_INPUT, hence the byte 0x58 is not mentioned anymore. <== > - Section 5.1 "The AS > SHOULD provide requesters with the value of MAX_N, upon their registration", > how about we make it a MUST and quality it with if diff is supported? ==>MT This change looks good. The use of SHOULD was paired with the implicit exception "unless registered devices are pre-configured with the value of MAX_N and the AS is aware of that". We have made the following changes: OLD (Section 5.1): > The AS SHOULD provide requesters with the value of MAX_N, upon their registration (see Section 9). NEW (Section 5.1): > If the AS supports diff queries, the AS MUST provide requesters with the value of MAX_N, upon their registration (see Section 9). OLD (Section 9): > * Optionally, a positive integer MAX_N, if the AS supports diff queries of the TRL (see Section 5.1 and Section 7). NEW (Section 9): > * A positive integer MAX_N, if the AS supports diff queries of the TRL (see Section 5.1 and Section 7). <== > - Section > 5.1.1 "If supporting the "Cursor" extension, the AS SHOULD provide registered > devices and administrators with the value of MAX_DIFF_BATCH...", why SHOULD? I > think this should be a MUST! ==>MT This change looks good. Like for the previous comment about MAX_N, the use of SHOULD was paired with the implicit exception "unless registered devices are pre-configured with the value of MAX_DIFF_BATCH and the AS is aware of that". Please note that the functionality and correctness of the protocol do not depend on the registered devices being aware of the value of MAX_DIFF_PATCH or not. Its impact only influences the number of update entries included in a same response from the TRL endpoint at the AS. However, in the same spirit of the change above for MAX_N, providing registered devices with MAX_DIFF_BATCH is also an explicit indication of the AS supporting the "Cursor" extension of diff queries, and sets expectations about the number of update entries to expect in a same response from the TRL endpoint. We have made the following changes: OLD (Section 5.1): > If supporting the "Cursor" extension, the AS SHOULD provide registered devices and administrators with the value of MAX_DIFF_BATCH, upon their registration (see Section 9). NEW (Section 5.1): > If supporting the "Cursor" extension, the AS MUST provide registered devices and administrators with the value of MAX_DIFF_BATCH, upon their registration (see Section 9). OLD (Section 9): > * Optionally, a positive integer MAX_DIFF_BATCH, if the AS supports diff queries of the TRL as well as the related "Cursor" extension (see Section 5.1.1 and Section 8). NEW (Section 9): > * A positive integer MAX_DIFF_BATCH, if the AS supports diff queries of the TRL as well as the related "Cursor" extension (see Section 5.1.1 and Section 8). <== > - Section 7, "SIZE <= MAX_N" but it is unclear > what exactly SIZE is, please add explicit text. ==>MT What follows in the original sentence is the definition of SIZE, i.e.: > The AS determines U = min(NUM, SIZE), where SIZE <= MAX_N is the number of TRL updates pertaining to the requester and currently stored at the AS. To clarify, we have rephrased as follows: NEW > The AS determines U = min(NUM, SIZE), where SIZE <= MAX_N. In particular, SIZE is the number of TRL updates pertaining to the requester and currently stored at the AS. <== > - Section 14.1, should the > change controller be IETF instead? ==>MT Indeed. As already planned for addressing the IANA considerations, we have made the following change. OLD: > Author: Marco Tiloca <marco.tiloca@ri.se> > > Change controller: IESG NEW: > Author/Change controller: IETF > > Provisional registration: No <== > > ## Nits > - Don't use "the CoAP protocol", the P in CoAP is already protocol! ==>MT The document has two instances of "CoAP protocol", both of which are in Section 1.1. We have fixed the instance in the fourth paragraph: OLD: > the CoAP protocol [RFC7252], ... NEW: > CoAP [RFC7252], ... We have kept the other instance in the fifth paragraph, as it is a verbatim quote from Section 1.1 of the CoAP specification (RFC 7252) where the quoted definition of "CoAP endpoint" is provided: > This document does not use the CoAP definition of "endpoint", which is "An entity participating in the CoAP protocol." <== > - s/as interested to receive notifications/as interested in receiving > notifications/ - s/recent updates occurred over the list/recent updates that > occurred over the list/ - s/with value the token hash of an access token/with > the value of the token hash of an access token/ - s/The processing of a full > query and the related response format are defined in/The processing of a full > query and the related response format is defined in/ - s/other than 0 or than a > positive integer/other than 0 or a positive integer/ - s/registers at the AS > until a first update/registers at the AS until the first update/ - s/pertaining > to the requester occurred to the TRL./pertaining to the requester that occurred > to the TRL./ - s/registers at the AS until a first update/registers at the AS > until the first update/ - s/Once completed the registration procedure at the > AS,/Once the registration procedure is completed at the AS,/ - s/the Client is > not aware about that yet,/the Client is not aware of that yet,/ ==>MT We have made all the fixes above as suggested, except for the following ones: * As to the suggestion > s/with value the token hash of an access token/with the value of the token hash of an access token/ The full sentence is > Each element of the array is a CBOR byte string, with value the token hash of an access token ... We think that the current phrasing is correct. Please note that nowhere does the document use the expression "value of the token hash". * As to the suggestion > s/other than 0 or than a positive integer/other than 0 or a positive integer/ We have made a different rephrasing, to avoid any potential misunderstanding OLD: > has a value other than 0 or than a positive integer NEW: > has a value that is neither 0 nor a positive integer * As to the suggestion > s/Once completed the registration procedure at the AS,/Once the registration procedure is completed at the AS,/ We have made a different rephrasing, to be consistent with what was suggested in other reviews: OLD: > Once completed the registration procedure at the AS, ... NEW: > Once registered at the AS, ... * As to the suggestion > s/the Client is not aware about that yet,/the Client is not aware of that yet,/ We have made a different rephrasing, to be consistent with what was suggested in other reviews: OLD: > For example, the access token has actually been revoked and the Client is not aware about that yet, while the RS has gained knowledge about that and has expunged the access token. NEW: > For example, the access token has been revoked, and the RS has become aware of it and has expunged the access token, but the Client is not aware of it (yet). <== > > -- 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] Opsdir last call review of draft-ietf-ace-r… Dhruv Dhody via Datatracker
- Re: [Ace] [Last-Call] Opsdir last call review of … Dhruv Dhody
- [Ace] Re: Opsdir last call review of draft-ietf-a… Marco Tiloca
- [Ace] Re: Opsdir last call review of draft-ietf-a… Dhruv Dhody