[Gen-art] Re: Gen-ART Last Call review of draft-ietf-core-oscore-groupcomm-26

Paul Kyzivat <pkyzivat@alum.mit.edu> Tue, 09 September 2025 17:30 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: gen-art@mail2.ietf.org
Delivered-To: gen-art@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 564B45FDD902; Tue, 9 Sep 2025 10:30:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=alum.mit.edu
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K8yDt4QGF3pk; Tue, 9 Sep 2025 10:30:02 -0700 (PDT)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2063.outbound.protection.outlook.com [40.107.220.63]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 80FCB5FDD8FD; Tue, 9 Sep 2025 10:30:02 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LjBcOVgOe3IZU+ikAm3oMKRr1pFeMvL/pESuLFvsOwdVJyry5aa/6KGU2c4N2xTuPYdxzKZaHQJ2XlH9vcXQJWH7s2XKWUly8wVjNZS2YJBO/q1n3E/gnknBcXA0jQ3urWArHZ7dEzYngRw+6QlH7tiHHP81PtvEW9M9EmR001LuSxQAwDX/yAyVNbNQ4+iixGvBDupC1L/sEFmPc0KqncbFfXoQFPIjXnJvdPh7oLTdQitvTC4xqotYmQbt93wveHMeQQqb7DDOSRKQo7mWhTJLFHCi8YD78nQ+0Et8ttn5gMYA2KCCjgHPj+fzmsh/PJi8u60aZqWtjhEY2RkDdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=bD1VvVBmMXOPsCp22J+UrYXj9/kK0fDIc/0/zb+byeU=; b=q7BfvsHLZzIGphmTFpJtdyAqFQnZqKduyMn/rlG7zEuFxbVGjY38dFx1moJ37S0sAc5+VkwdyehTc1PyMf9ejWxoOtz7gTXKTzw3XFPmbq83GZ1XgKfjOUKz5gcuz2wueUWHiN27i/blWzpqmYid2S+D4xxt0bz6+qCXsdNf7yR98NOuNCGfCFDlhFdCF+cUz6SwEcZYpNEU8a+eSuqCkgSfM1yeMkfdIHRr7uxOhojM1q9luLiiy4acqZjccPSu2aDy0nd+oyvkukN63/0KC8yHXfweNHwTxHvMN5/9oaUFhC0kacN14OkP7GUjv06xfRM5xTs2sWXZ4YAjleD/jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=ietf.org smtp.mailfrom=alum.mit.edu; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bD1VvVBmMXOPsCp22J+UrYXj9/kK0fDIc/0/zb+byeU=; b=BzBRLCmHVjWvuPxO2tBB5HYoi7zWhK5SbadbOl9lzroFZrY5OYP3uJksVMOX6HibBs8jLVW7wfhPU/dKipqaphyRRDttbJrVYPUGUYs8NlhrYH8f55ZBRHbMYLGdOFdpLlIUidE+nqjOMAeDlr6n2BMfQ/v8nTRd8AiimAO0bY0=
Received: from BL1PR13CA0203.namprd13.prod.outlook.com (2603:10b6:208:2be::28) by CH3PR12MB8330.namprd12.prod.outlook.com (2603:10b6:610:12c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Tue, 9 Sep 2025 17:29:53 +0000
Received: from BN2PEPF000044A8.namprd04.prod.outlook.com (2603:10b6:208:2be:cafe::f5) by BL1PR13CA0203.outlook.office365.com (2603:10b6:208:2be::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9115.14 via Frontend Transport; Tue, 9 Sep 2025 17:29:53 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu; pr=C
Received: from outgoing-alum.mit.edu (18.7.68.33) by BN2PEPF000044A8.mail.protection.outlook.com (10.167.243.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.13 via Frontend Transport; Tue, 9 Sep 2025 17:29:52 +0000
Received: from [192.168.1.216] (c-76-19-71-248.hsd1.ma.comcast.net [76.19.71.248]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 589HToKt029062 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 9 Sep 2025 13:29:51 -0400
Message-ID: <b3faef3a-541f-4eae-89b9-af25fc0f0c24@alum.mit.edu>
Date: Tue, 09 Sep 2025 13:29:50 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Marco Tiloca <marco.tiloca@ri.se>, "draft-ietf-core-oscore-groupcomm.all@ietf.org" <draft-ietf-core-oscore-groupcomm.all@ietf.org>, "core@ietf.org" <core@ietf.org>
References: <2278577b-c3c0-4744-945e-c81592ddd34f@alum.mit.edu> <GV3P280MB04506A5F81EB69EC160DC9349903A@GV3P280MB0450.SWEP280.PROD.OUTLOOK.COM> <5068999c-82b8-4f2b-a5eb-42463dbe0eef@alum.mit.edu> <GVYP280MB0464177CA13715071A809D99990CA@GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM>
Content-Language: en-US
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
In-Reply-To: <GVYP280MB0464177CA13715071A809D99990CA@GVYP280MB0464.SWEP280.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044A8:EE_|CH3PR12MB8330:EE_
X-MS-Office365-Filtering-Correlation-Id: d64c0799-a2d7-4b28-4569-08ddefc67c79
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|41320700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info: J58WRIkUeb/OjHaNPsylc6W7zVBZkf6Il+zBIUA4909TAsp6gl+9tagNBJSC3FIyht20CSmMvdFZtSnCtaghrS76DPx5M1JoDJ6pHNZnDPOL43Ui/L/KKRB9mfzn2nm1Dhts4S0MTHHx27K7NR/kjEZynutnZHpO18s2cOGEjPvM5k8lZPDO2pKRfpYsJo2VC38Mx4nfGDP3grofxFYrShP3JzZ2ADN1Yd+uYjfRizTZs4HRbno7itfG1ruK88tTu71jY2rBovsmv8IMAVkXq6FT3zymcrcGpwlcnZYqCg8UXldn4XNGol0SINpabR4XnXUIdz4a43w6L0Zs4PYI8jWQJ3XkhhLP4IjR4CgjiKI+J3Mri7nZdPxb1gLO4dt+ropvLsODWDmDOef51U9WH+ELLBDlz+z/w+rWcFPs68ejGx2JXdmPYrEAtVvnJuSX9JE8U22Qbffin0ruBkM8kF+Hv4QuanxhTKZuuDPWtHH7eoskIYkCCbKWSYoh8cb38B6XfLXNGjru6ts11V6sCNOB2HQve0v/zNuSQCVJPVCQCcHatiunPGAtcz7Kmth47Vcy94mo7dUUo1oeijdXTf9cfjaypfeI/N7dNnaDC7UCnjeZlmuPwqm2ppHJrhumTuGccgmb/1ZDw4X72mJdPbK69XGYhc2t/Ob0xJKsU1/MRL2dQ5Uxl/5a0UsfD9dvmxIkrmOXKdOzA0Tyx4+VOMq20W2KZ/SroMjVHiTvhzu+IWkLs+OAW3lEZjmUOBAMzmqzArZGwMyJqGtMSB8hK0Z4EXtdp+eWx4DDw1emJWutjeey4ZhNFkc48zyMJSc8mawAm7cExD3+2ze2yJ7stGLheEj6CVVKzuvURBxnvuTyFbg+U52AckJQCHsahFH3Ld+g0cP8HMLMiIRpNYOLQVOXPbr+Chv8YANqCyEjlT1yF5rmVjGCZB0NHgwkK/EWTfSlVKT09ZCqrevqqedOLPTuZ7YIVhOh1cca3tmUkBUwnkt3gzNsA4dYICNFSuDQvPw9ceFLy+ZtURr829DD9t7M113sIUwbMCJCh+kA2jP8ldQSqcNDJrExLcn1+YQxqgmbMqbLN/5Tw41IdZvO6adLdHoz/L3Qkw4aQQOEDQZoabSqx/hzDUAzrm4TRpjZtFCKsWWUKfwBG+noToQOPoujUXCiPIuWHHXAeonh2kumYUVjwuqoRqfYHjasC8R8LF6Sa95sG4/DUrshBPb9IW6+nVrpfipGzjlOjTcOLX2otrd9Xa0Rl3+Ea6OWFJJ34UzslUMKg61L6KnJaXJ+wiZZeUgWWwRl78H+4kQhvvWa+fxYpA3fen9fNExI4+pxRLNqQra0yEuP1Z+crwkkTCwWqTU+fhXyz2Pc6FCg9wBT7Ln5RkQtqvyKW87EkcHDcni2m/yN2Y9bLxGnvH9QaDzRtvLNT3fVIcQFi6QgFQcGk/fCbn9rgOSFr56Qg7zMYtK8vpmYr1ifxH5ICPrNsCx05XklCiDkfspDjvzPCkHOvdphDbYUE8Z/OwDUC9PB
X-Forefront-Antispam-Report: CIP:18.7.68.33;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:outgoing-alum.mit.edu;PTR:outgoing-alum.mit.edu;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(41320700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2025 17:29:52.5584 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d64c0799-a2d7-4b28-4569-08ddefc67c79
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f;Ip=[18.7.68.33];Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF000044A8.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8330
Message-ID-Hash: 4UROQQEXCNLC4LT6WBD4FDDLAYAIOI6G
X-Message-ID-Hash: 4UROQQEXCNLC4LT6WBD4FDDLAYAIOI6G
X-MailFrom: pkyzivat@alum.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: General Area Review Team <gen-art@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Gen-art] Re: Gen-ART Last Call review of draft-ietf-core-oscore-groupcomm-26
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/wU2jH762w-bBXF_oR55D1kJEqKs>
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>

Marco,

Just a couple of follow-up comments.
I've trimmed out the stuff that is settled,
and I marked by new comments below with "==>PHK"

On 9/8/25 11:30 AM, Marco Tiloca wrote:
> Hi Paul,
> 
> Thanks for the follow-up! Please see our replies inline, marked as 
> "==>MT_2".
...
>  > 1) ISSUE
>  >
>  > Section 2.6.2 says:
>  >
>  > "If an implementation's integers support wrapping addition, the
>  > implementation MUST treat the Sender Sequence Number space as exhausted
>  > when a wrap-around is detected."
>  >
>  > I think I understand the issue, but question how it is stated. Just
>  > because the implementation does wrapping addition on integers shorter
>  > than 40 bits, that doesn't mean the implementation isn't capable to
>  > doing proper 40 bit arithmetic. There must be a better way to say this.
...
> ==>MT_2
> 
> After some more thinking, we believe that it would actually be better to 
> simply remove the whole sentence "If an implementation's integers 
> support ... when a wrap-around is detected."
> 
> The second paragraph in Section 2.6.2 would just be shortened and become 
> as follows:
> 
>  > Implementations MUST be able to detect an exhaustion of Sender 
> Sequence Number space, after the endpoint has consumed the largest 
> usable value. This may be influenced by additional limitations besides 
> the mere 40-bit size limit of the Partial IV.
> 
> In fact, this should be clear enough already, with no real need to 
> mention integer wrap-around or to delve into details that we do not need 
> to delve into.
> 
> Just to clarify what "largestusable value" means in the retained text: 
> an implementation has to treat the Sender Sequence Number space as 
> exhausted when the latest consumed value SN is equal to (2^40 - 1) or 
> the value (SN + 1) cannot be computed within the sequence number space 
> chosen by the implementation.
> 
> But again, it actually feels unnecessary to include such details in the 
> document.
> 
> Does this resolution work for you?

==>PHK

Yes. But see below.

...

>  > On the point raised in the last sentence of the comment, that's not
>  > supposed to be a problem. In the OSCORE option value, the Partial IV can
>  > be up to 40 bits, hence a compliant recipient must be able to handle
>  > that if it happens.
> 
>  > That's simpler than the case discussed above, since it does not involve
>  > arithmetic operations or other manipulation of the Partial IV value.
>  > It's just about taking and using the Partial IV value as-is, in order
>  > to, e.g., perform replay checks against a replay window (see Section
>  > 5.3), build an AEAD nonce (see Section 5.2 of RFC 8613), or build the
>  > external_aad for processing a message (see Section 3.4).
> 
> I certainly don't understand the details, but when the sender includes a
> sequentially increasing sequence number in its messages, isn't the
> recipient expected to check the sequence numbers of received messages,
> and detect missing messages? That seems to also require the ability to
> do some arithmetic.
> 
> If I am off base here, then never mind.
> 
> ==>MT_2
> 
> The recipient is not really expected to do that.
> 
> Distilling from Sections 7.4 and 3.2.2 of RFC 8613, the recipient has to 
> check whether either of the following holds:
> 
> * The sequence number SN in the incoming message was already received, 
> in a message from the same sender that was successfully decrypted and 
> verified. When using the sliding replay window, this is the case if SN 
> falls within the replay window associated with the sender and is already 
> marked as received. Then, the present message is considered a replay and 
> discarded.
> 
> * The sequence number SN in the incoming message it too low. When using 
> the sliding replay window, this is the case if SN is strictly lower than 
> the current lowest value in the replay window, i.e., it falls left of 
> the left edge of the replay window. Then, the received message is 
> discarded as too old.
> 
> So the recipient has to check whether the Partial IV in the incoming 
> messages falls left of the replay window, or within the replay window 
> while having already been consumed, or right of the replay window.
> 
> In the latter case, if the message is correctly decrypted and verified, 
> the replay window will "slide to the right". That is, the received 
> Partial IV is set as the new highest value of the replay window, i.e., 
> as the new right edge, and is marked as used. This is at least the 
> behavior when using by default the anti-replay window used by IPsec 
> AH/ESP and DTLS.
> 
> When sliding the replay window to the right, updating its left edge does 
> involve some arithmetic, which is a different topic than the exhaustion 
> of sender sequence numbers on the sender side. If, at a certain point, a 
> recipient can't perform the necessary arithmetic to update its replay 
> window, then the recipient will have to delete the Recipient Context 
> storing that replay window as not usable anymore.

==>PHK

ISTM that comparing an SN to the bounds of a window is effectively doing 
subtraction, which requires comparable arithmetic to incrementation.

It isn't hard to do arithmetic on 40-bit integers, even on a machine 
with only hardware support for 32-bit (or 16 or 8-bit) integers. So I 
still fail to understand why you need to offer the option to limit the 
range. But if you do, then your suggestion above seems ok.

	Thanks,
	Paul