[SCITT] Re: Last Call: <draft-ietf-scitt-receipts-ccf-profile-04.txt> (CCF Profile for COSE Receipts) to Proposed Standard

Henri Sirkkavaara <hello@vaara.io> Sun, 06 September 2026 11:14 UTC

Return-Path: <hello@vaara.io>
X-Original-To: scitt@mail2.ietf.org
Delivered-To: scitt@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 475E51363968F for <scitt@mail2.ietf.org>; Sun, 6 Sep 2026 04:14:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1788693284; bh=sw/fwsiYfKq1q34x3s+TPpWTE4oxAweJOx5V3bfoI2U=; h=Date:To:From:Cc:Subject:In-Reply-To:References; b=AZpdv19XOM8/b7Vpq2PEt3/cpMCqC+RUDo6qPDuvQpaz1lHHvXCMiUtPLybKKVbEA UrMy72JPKIBpUlPXzxlilaLfZvwrCe/pKeDLeSgFzxfitbFrhxNigNTdQ5aUM2STEY DbPjyzx26jQ5Nw86/6rBkO8vHbgYhL5kVbt901j0=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=vaara.io
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 nANVn1o8s-Ls for <scitt@mail2.ietf.org>; Sun, 6 Sep 2026 04:14:41 -0700 (PDT)
Received: from mail-4397.protonmail.ch (mail-4397.protonmail.ch [185.70.43.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id CA69F13639677 for <scitt@ietf.org>; Sun, 6 Sep 2026 04:14:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaara.io; s=protonmail; t=1788693274; x=1788952474; bh=W3h9ywrsV3nbeh93Y6lHAzlHYDoKahJsC9B126iLhe4=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=iYcKQFtbU00Vta0jl/yvMKV32KOvd3eIH7gVDaxW3pXdJTVTFTOG8vMyNmlpC3vMX DlzhgeOdXZ06YPBc/u3Jvn6XuEg8Z4opYsKQrhBJ+Ya/m1H9ATsTxkfzzsAcV6+sTk p9FSRqGCEUc4xYYOnhXjIp9TKH3LNN7byElYWIrWW8FMgdPhVBmd0uJROrjH8KEere y75CghfAfYDbzrPq0jyv2ooFfJOMBP5nuAL7Lu4P75KpdXt+Ykhy0xqMGttURWv0Pt UjAI/PJsyhrDj/VEUe1l+MplISJGsjF+stjH7dgJSDOYhF2FENtu+O72EoeiNT+WjR fK71WVzOsbw7w==
Date: Sun, 06 Sep 2026 11:14:29 +0000
To: Nicholas Templeman <nicholas@csoai.org>
From: Henri Sirkkavaara <hello@vaara.io>
Message-ID: <2JUHvi5yKlM6eew-jlJdy5FjrjDV8igRuIm0OIPZkjl9rEgnMbyf6fLx0AOi_F_X2gRpVtTl9Yka_FPh11842XCXOMNQtruqMN5CwSEbNV0=@vaara.io>
In-Reply-To: <e41f6328-fc26-4a5f-998a-d121d4e22db9@csoai.org>
References: <Y6yqZIoHnmxUHakB-MQWgEM5hvK5JZMv4ycu04O1zh4I3hdI276Wm3Qi-XZrFAjz0bR_BvB2zDSKNEumECSFTRtA2UVcd-h8Lp5VKPuvVoU=@b7n0de.com> <e41f6328-fc26-4a5f-998a-d121d4e22db9@csoai.org>
Feedback-ID: 189084408:user:proton
X-Pm-Message-ID: 4f39597fe0126c7545b5f68abf70d18dfda82f27
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: YH5GPS7IGYGB2JFSY3CFGL2QV4DN4GR2
X-Message-ID-Hash: YH5GPS7IGYGB2JFSY3CFGL2QV4DN4GR2
X-MailFrom: hello@vaara.io
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-scitt.ietf.org-0; header-match-scitt.ietf.org-1; header-match-scitt.ietf.org-2; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: last-call@ietf.org, scitt@ietf.org, kontakt@b7n0de.com, hello@vaara.io, vernon@sigilcore.com, pki@varwof.com
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [SCITT] Re: Last Call: <draft-ietf-scitt-receipts-ccf-profile-04.txt> (CCF Profile for COSE Receipts) to Proposed Standard
List-Id: "Supply Chain Integrity, Transparency, and Trust" <scitt.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/scitt/FPlCcySdqzIXov2bHQBjcYUkYf0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scitt>
List-Help: <mailto:scitt-request@ietf.org?subject=help>
List-Owner: <mailto:scitt-owner@ietf.org>
List-Post: <mailto:scitt@ietf.org>
List-Subscribe: <mailto:scitt-join@ietf.org>
List-Unsubscribe: <mailto:scitt-leave@ietf.org>

All,

A correction to my own review of 4 September first. In finding 1 I listed n = 3, 5, 6, 7 and 11 as the sizes where the path bits decode to the wrong index. That enumeration is incomplete: 9 and 10 fail as well. Rechecking 2 through 11 against the definitions as written, every non-power-of-two size has at least one leaf that decodes wrong, and 2, 4 and 8 decode exactly. So the condition is that index recovery holds when the number of transactions is a power of two, and not otherwise.

Then one ask, and it sits where the thread already is rather than off to the side. This week has settled that the document's defect class is unnamed preimages: Nicholas on internal-evidence, Konrad's sentence binding the octets of the Signed Statement as registered, Anton's as-transmitted registering the same rule.

Finding 4 in my review is that defect one layer further out, and it is the largest instance in the document. Section 2.1 defines MTH over "a list of serialized transactions (as byte strings)" and gives MTH({d[0]}) = HASH(d[0]). Section 3.2 computes the leaf as HASH(internal-transaction-hash || HASH(internal-evidence) || data-hash). Nothing in the document says that d[i] is that concatenation. A builder working from 2.1 and a verifier working from 3.2 can produce different roots, and 2.1 is the definition that looks authoritative, because it is the one labelled Merkle Tree Hash.

If the group is naming preimages before this document leaves, that is the one to name.

On finding 1, I left the choice of remedy to the authors and will now say which I would take. Make the path length part of the decoding rule, or carry the index in the proof. Attaching the power-of-two condition to the sentence documents the hazard and leaves it in place, and an application whose author does not read that sentence still gets a wrong index and no error.

Still non-blocking, and my support for -04 as Proposed Standard stands.



On Saturday, September 5th, 2026 at 06:32, Nicholas Templeman <nicholas@csoai.org> wrote:

> Chairs, all,
> 
> Support for -04 as Proposed Standard, and one wording recommendation.
> 
> Konrad Gruszka's proposed sentence should replace the one I posted on 3 September,
> rather than sit alongside it:
> 
>   data-hash is HASH over the octets of the Signed Statement as registered, with the
>   unprotected header set to the empty map per RFC 9943 Section 6.3, over those octets as
>   registered, not over any re-serialisation of them.
> 
> Mine named the COSE_Sign1 tag because the tag was the axis in front of me. His binds the
> octets, which closes the tag, the outer array, and the next framing axis nobody has found.
> That matters because the space is combinatorial, not a list: re-emitting one Signed Statement
> under six CBOR encoding freedoms yields 64 legal encodings, 64 distinct data-hash values,
> none rejected by a stock parser, and 31 silently normalised back to the canonical form by the
> act of reading them. Enumerating framings cannot close that; binding the octets does.
> 
> Measurement, vectors and the script that recomputes them are published rather than restated
> here: https://councilof.ai/interop/scrapi-ccf/data-hash-framing-space.json
> 
> One note for the authors, no reply needed on-list: prior art exists for this rule.
> draft-mih-sokolov-scitt-payload-binding-02 §4.4 defines `as-transmitted` — "applies no
> canonicalization. The digest pre-image is the exact octet sequence already fixed by the
> container format or cryptographic envelope carrying the payload" — and marks both `jcs-n`
> (§4.2) and `cde-n` (§4.3) Withdrawn. That is Konrad's sentence as a registered algorithm, and
> it is worth the two not drifting.
> 
> Not blocking, and I was not blocking before.
> 
> Nicholas Templeman
> Council of AI (CSOAI Ltd)
> 
> --
> SCITT mailing list -- scitt@ietf.org
> To unsubscribe send an email to scitt-leave@ietf.org
> 

Henri Sirkkavaara
Vaara - Runtime execution layer for AI agents
Built to see over the noise.
vaara.io
Helsinki, Finland