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

pki <pki@varwof.com> Tue, 25 August 2026 15:29 UTC

Return-Path: <pki@varwof.com>
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 2300312F1C9F5; Tue, 25 Aug 2026 08:29:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1787671779; bh=QE+U3YY37AXEbwAVEFbinPnV9+kEbp97vI4xoC4ETCI=; h=From:To:Cc:Subject:Date; b=MkmWS9TIFLzBw/yjp6Cl0eBcDKNByLP2Ps0iqtlzqa70aDAQ+fWuyYH3X0VnGTW9u P/zjmAV7+IHAyMAn1MVbucIX91CfHMHNvfGQeGhggvC7ia1Xp9u7mki1FhAejgWMZu VAtyS2rEd8waBTYueDpWd9bQjeJIM78DBTLmilzI=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FROM_EXCESS_BASE64=0.001, HTML_MESSAGE=0.001, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=ham autolearn_force=no
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 NYanGgairmIM; Tue, 25 Aug 2026 08:29:37 -0700 (PDT)
Received: from smtpbguseast2.qq.com (smtpbguseast2.qq.com [54.204.34.130]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E79E812F1C9EE; Tue, 25 Aug 2026 08:29:33 -0700 (PDT)
EX-QQ-RecipientCnt: 2
X-QQ-GoodBg: 2
X-QQ-SSF: 0040000000000030
X-QQ-FEAT: D4aqtcRDiqTZXlSjSEcMPxPe06Vzn77AyS6SMEVqzk4=
X-QQ-BUSINESS-ORIGIN: 2
X-QQ-Originating-IP: AwJKlZg9/cmLtx6XpfDAXGTGiGbBJBvOcqhyetqJQBk=
X-Originating-IP: 36.34.77.101
X-QQ-STYLE:
X-QQ-mid: lv2sz3b-0t1787671761teb1b1180
From: pki <pki@varwof.com>
To: last-call <last-call@ietf.org>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_6A8DB4D1_842917E0_5F982C19"
Content-Transfer-Encoding: 8bit
Date: Tue, 25 Aug 2026 23:29:21 +0800
X-Priority: 3
Message-ID: <tencent_65A90B900A69876328D0F728@qq.com>
X-QQ-MIME: TCMime 1.0 by Tencent
X-Mailer: QQMail 2.x
X-QQ-Mailer: QQMail 2.x
X-BIZMAIL-ID: 18185838029692986364
X-Address-Ticket: version=;type=;ticket_id=;id_list=;display_name=;session_id=;
X-QQ-SENDSIZE: 520
Received: from qq.com (unknown [127.0.0.1]) by smtp.qq.com (ESMTP) with SMTP id ; Tue, 25 Aug 2026 23:29:21 +0800 (CST)
Feedback-ID: lv:varwof.com:qybglogicsvrsz:qybglogicsvrsz4b-0
X-QQ-XMAILINFO: M6x2tnEVru4eiKmFciiu1jFXbQTvTcktFpKZFiRZlIqGx2PkY5cdCyg1 d4EN3y39UtQ+u588vIjCDK7ENfSmL6d9nI0TarDAEfM0lo85+Y1Ri69H92S0Yhcl9lLAydp OIpeWwkZOcJMug3EXsFrXhbOEnpfz6IteGxp0k71qHjQFH6J6CIvHIPDnaSu1VhMbyqNFo+ T9yiwuUHyXjCFMraDlzeCTd35VqFtqXRL1ahIvGIMdd32O8K1kyrpdWqIvLMVTDrBZPfFdh FtTlt6ZfklV3sKIRcw5cAxpiXcNIDjNdfwJtmK0oOpTBoGmxVlhASq90mACRtc1620uj2+L o5KchbfUBAk8vpLwDMnbaQ3Twj8CtpXJndTCDu83GDym6uoRNXMx8N0Ay2M073YdjIIFNoL Wrg94b08AyS2BhaCRkfd5MH4eanz2mD+5wMw0rbFeWrnWSnQk/eD8I3Fx9mn3BTy5UWBgI9 /6rusj3y6gA8OF1EapjfhxopGzsNWOcwRWbzc7PuleM8awn5SeAJrtXzxFTChEFyTobQx2Z rh88zTrQ1J6xS28xttc63fmMJ86aVMt0SOaHRicdNV2zWz7VclDsdXZjs/Aka3R7S5JCJ/K 8cKfHHK9KnWhldtlb30UtP3Q9suHcUCQ2zBmN/gnqocygnb54L2P0FnuHruvoW7pxyb86sw SCCTE9yLs2Km2mg/o9D8TCo8o2iyQl4ghA6NVvrqpbCYb0yo9Q6qiegtZ9YFIEaN33lkRvi LfwKs9lqE6GLjONoJPdBKDeJGGMwx7DXkHwtFnfUQqdD36hKsjGb5qO/l9ChD2W3/tyxQJb gEHNWmMJ+BFBvdn89LdI7QZuhxRsJFzi4twDY0lZXrJbN9fVdN43yopsI+SpYKzOR/Hy1a+ cx6Ffubszsk8ntbtPLTMSTHv5CJL+oQ5+7fJyIEDDHeOcr3TsB8i0lHk37WHeoxo4b5ohXZ CjErMLxTJGVCzcsB2yDa9wd9JCo0jp3K2PIZJcH/iLSOoCTasfAJS40jQJmXzzlqCEAo=
X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg==
X-QQ-RECHKSPAM: 0
Message-ID-Hash: XW2QZWJKYGN2QESINI7H2NZ4C4NUFJWB
X-Message-ID-Hash: XW2QZWJKYGN2QESINI7H2NZ4C4NUFJWB
X-MailFrom: pki@varwof.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: scitt <scitt@ietf.org>
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/2QwEwgLCB8PKaxALsTtIWjMAbHc>
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,


I am evaluating this profile as the transparency-anchoring layer for
AIC-JWT (draft-wei-aic-jwt-00), a JOSE-based agent identity token whose
validation pipeline and audit records we implement in Go and in
browser WebCrypto. Three comments, one of which is a request for
clarification rather than a defect.


1. Binding a non-COSE statement to the receipt (interop). The profile
defines the verifiable data structure and the inclusion proof, but the
receipt's binding to the signed statement implicitly assumes a
COSE_Sign1 whose payload is the covered data. When the statement to be
anchored is a JOSE token (in our case a nested JWS with an inner
principal-signed DelegationAuthorization), there is no specified way to
reference or embed that statement so a verifier can recompute the leaf
deterministically. draft-noa-scitt-ai-agent-receipt-01 will profile
receipts for agent actions whose authority evidence may be JOSE. It
would help if the profile (or the receipt architecture it builds on)
stated whether the covered data is always the COSE payload bytes and,
if not, how a non-COSE statement is normalized before the leaf is
computed (e.g., a digest over the JWS compact serialization). Two
deployments computing different leaves for the same JOSE statement
would yield non-interoperable receipts -- the same class of problem as
the deterministic-encoding discussion on this list.


2. Single-transaction trees (supporting Iman's point). I agree with
the observation on the ccf-inclusion-proof path cardinality: a valid
inclusion proof for a single-transaction tree has an empty path, and
[* ccf-proof-element] matches the verification algorithm in Section
3.2. Please adopt that cardinality.


3. Evidence semantics vs current token validity (suggestion for
Security Considerations). A receipt is evidence of a past inclusion.
When the anchored statement is a short-lived agent token that has since
expired or been revoked via a status list, the receipt still proves the
past inclusion -- that is exactly the property agent accountability
needs, because the decision evidence outlives the token. One sentence
stating that receipt verification does not and must not depend on the
current validity of the anchored statement would prevent implementers
from accidentally coupling the two.


Happy to provide test vectors or run the profile against our Go and
WebCrypto implementations.


Best,
Jijie Wei