<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 2.7.0) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-templeman-scitt-framing-space-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="COSE_Sign1 Framing Space">Measuring the CBOR Framing Space of COSE_Sign1 Data-Hash Pre-images</title>

    <author fullname="Nicholas Templeman">
      <organization>Council of AI (CSOAI Ltd)</organization>
      <address>
        <postal>
          <street>3rd Floor, 86-90 Paul Street</street>
          <city>London</city>
          <code>EC2A 4NE</code>
          <country>United Kingdom</country>
        </postal>
        <email>nicholas@csoai.org</email>
        <uri>https://councilof.ai/</uri>
      </address>
    </author>

    <date year="2026" month="September" day="27"/>

    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>SCITT</keyword> <keyword>COSE</keyword> <keyword>CBOR</keyword>

    <abstract>


<?line 38?>

<t>A signed statement conveyed as a COSE_Sign1 object may be serialized
into many distinct byte sequences that all decode to the same data item.
Where a protocol identifies such a statement by a digest computed over
its wire octets (referred to here as a data-hash), the identifier is
sensitive to that framing while the signature over the statement is
not.</t>

<t>This document reports a measurement of the size of that class. Taking
one 165-octet COSE_Sign1 object and re-emitting it under every
combination of six CBOR encoding freedoms yields 64 distinct octet
sequences. All 64 carry an identical Sig_structure and therefore an
identical, valid signature. All 64 produce distinct data-hash values,
with no collisions. A stock CBOR decoder rejected none of them, and 31
were silently repaired into the original form by the act of being read.</t>

<t>This document specifies nothing and proposes no wording. It reports a
measurement, publishes the reproduction recipe, and identifies the prior
work that already addresses the problem it measures.</t>



    </abstract>



  </front>

  <middle>


<?line 59?>

<section anchor="introduction"><name>Introduction</name>

<t>Transparency protocols in the SCITT architecture <xref target="RFC9943"/> frequently
need a stable identifier for a signed statement. A natural choice is a
digest over the octets of the statement as it appeared on the wire,
since that is what a client fetches and can byte-compare. This document
refers to such a digest as a <em>data-hash</em>.</t>

<t>The CCF profile for COSE receipts <xref target="I-D.ietf-scitt-receipts-ccf-profile"/>
commits each ledger leaf to a data-hash of the registered Signed
Statement (its Section 2). The SCITT Reference APIs
<xref target="I-D.ietf-scitt-scrapi"/> leave the form of an entry identifier to the
Transparency Service, which may derive it in the same way. The
measurement reported here is offered as input to that work rather than
as a comment on either document.</t>

<t>CBOR <xref target="RFC8949"/> permits a single data item to be encoded in more than
one way. A COSE_Sign1 object <xref target="RFC9052"/> may be emitted with or without
its tag, with definite or indefinite length arrays and maps, and with
byte strings emitted whole or in chunks. Each such choice changes the
octets without changing the decoded value.</t>

<t>The signature does not observe those choices. Per <xref target="RFC9052"/>, Section
4.4, the Sig_structure covers the protected header and the payload; it
does not cover the framing of the enclosing container. The consequence
is an asymmetry: two parties may agree that a signature is valid and
still disagree on the data-hash of the statement they have both just
verified.</t>

<t>Two instances of this asymmetry were raised independently on the SCITT
mailing list within two days of each other in September 2026: one
concerning the CBOR tag, one concerning the outer array. That
coincidence prompted the question this document answers: not "which
framings exist", but "how large is the class they belong to".</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>This document is Informational and contains no normative requirements.</t>

<dl>
  <dt>data-hash:</dt>
  <dd>
    <t>A digest computed over the octet sequence of a signed statement as
transmitted, used as an identifier for that statement.</t>
  </dd>
  <dt>framing:</dt>
  <dd>
    <t>Those aspects of a CBOR encoding that may vary without changing the
decoded data item.</t>
  </dd>
</dl>

</section>
<section anchor="method"><name>Method</name>

<t>A single COSE_Sign1 object, referred to here as A, was taken as the
starting point. A is 165 octets and has the SHA-256 digest
8595e4a4c8b93e7b1b7b798dc302a2b7d2890021f7eff372d79b32f78867e4ac.</t>

<t>A was decoded once, and the resulting data item re-emitted under every
combination of six independent encoding freedoms:</t>

<t><list style="numbers" type="1">
  <t>presence or absence of CBOR tag 18;</t>
  <t>definite or indefinite length outer array;</t>
  <t>definite or indefinite length unprotected header map;</t>
  <t>protected header byte string emitted whole or chunked;</t>
  <t>payload byte string emitted whole or chunked;</t>
  <t>signature byte string emitted whole or chunked.</t>
</list></t>

<t>Six binary freedoms give 64 combinations. No element value was altered
at any point; only its encoding. A chunked byte string is emitted as an
indefinite-length string of consecutive chunks of half its length,
rounded down (two or three chunks), as the published script does. Each resulting octet sequence was then decoded
with a stock CBOR decoder, and both its data-hash and its Sig_structure
were computed.</t>

<t>The measurement was first made with cbor2 6.1.3 on CPython 3.13, macOS
arm64, and repeated for this revision with the published script,
unchanged, using cbor2 5.6.5 on CPython 3.11, Linux x86_64. Both runs
produced the figures reported in -00; the row counting re-serialization
to any form, and the size range, come from the second run only. The measurement, its inputs
and the script are published (<xref target="reproducing"/>).</t>

</section>
<section anchor="results"><name>Results</name>

<texttable title="Framing space of one COSE_Sign1 object" anchor="tab-results">
      <ttcol align='left'>Quantity</ttcol>
      <ttcol align='right'>Value</ttcol>
      <c>Encoding freedoms varied</c>
      <c>6</c>
      <c>Distinct octet sequences produced</c>
      <c>64</c>
      <c>Distinct data-hash values</c>
      <c>64</c>
      <c>Data-hash collisions</c>
      <c>0</c>
      <c>Rejected by the stock decoder</c>
      <c>0</c>
      <c>Silently re-serialized to A on read (excluding A)</c>
      <c>31</c>
      <c>Silently re-serialized on read, to any form</c>
      <c>62</c>
      <c>Distinct Sig_structures across all 64</c>
      <c>1</c>
</texttable>

<t>The Sig_structure rows and the re-serialization rows carry the
substance of the result.</t>

<t>There is exactly one Sig_structure across all 64 encodings: 109 octets,
with the SHA-256 digest
60b4c76b84c456ed0604305075f51f6d050476177ef17be70a13a7b9abfb370f. A
single signature therefore verifies over every one of the 64 encodings,
while each of those encodings has a different data-hash.</t>

<t>A decode-then-re-encode cycle leaves only two of the 64 unchanged: A
itself, and the untagged, fully definite encoding referred to here as C
(164 octets). The 31 other tagged encodings come back as exactly A's
octets; the 31 other untagged encodings come back as exactly C's
octets. An implementation that stores a re-serialization of what it
received, rather than the received octets themselves, will therefore
compute a data-hash it cannot later reproduce from what it published,
and no error is raised at any point in that sequence. Revision -00
reported the first of these two groups (31) and not the second.</t>

<t>With the chunk rule above, the 64 encodings range from 164 to 179
octets. The seven variants named in the published artifact range from
164 to 170 octets; revision -00 gave that narrower range for all 64,
which was an error.</t>

<t>This measurement does not vary integer-width encoding or map key
ordering. The true class is therefore larger than 64.</t>

</section>
<section anchor="discussion"><name>Discussion</name>

<t>The observation this document supports is narrow: a rule that
enumerates disallowed framings cannot close a combinatorial class,
because the class is larger than the set of framings anyone has
happened to notice. Two axes were found by accident in one week; six
freedoms give 64 encodings; and the six tested are not all of them.</t>

<t>A requirement to use the core deterministic encoding of <xref target="RFC8949"/>,
Section 4.2.1, would exclude indefinite-length items, and with them
five of the six freedoms measured here. It would not settle the sixth:
<xref target="RFC9052"/>, Section 2, defines both tagged and untagged COSE_Sign1
messages, so two encodings of this object, A and C, would
remain, with two data-hash values and one signature.</t>

<t>This document does not propose that data-hash be made framing-invariant.
The wire octets are what a client fetches and byte-compares, so hashing
them is the appropriate choice. The open question is only which octets
are meant.</t>

<t>A consequence worth stating explicitly, because it is an implementation
requirement rather than a wording question: a service that publishes a
data-hash cannot reproduce the identifier it published unless it retains
the octets it received rather than a re-serialization of them. That 62
of 64 encodings are rewritten by a decode-and-re-encode cycle indicates
that such a storage path will encounter this in practice rather than in
theory.</t>

</section>
<section anchor="relationship-to-existing-work"><name>Relationship to Existing Work</name>

<t>This document discovers nothing. It measures the size of a class whose
members were identified by others, and the approaches that address it
were published before this measurement was made.</t>

<t><xref target="I-D.mih-sokolov-scitt-payload-binding"/> registers an as-transmitted
algorithm (its Section 4.4), under which no canonicalization is applied
and the pre-image is the exact octet sequence, and records two earlier
canonicalization algorithms as withdrawn. That approach closes the whole
class measured here, and predates this measurement.</t>

<t>The outer-array framing axis was raised on the SCITT mailing list on
2026-09-04 by Konrad Gruszka, together with an independent recomputation
performed on a different platform with a different reader and no COSE
library. The tag axis was raised on the list on 2026-09-03 by the author
of this document. The tag axis surfaced only because Emek Can Dogru
recomputed a previously published vector rather than reading it.</t>

<t>This document is offered because the measurement is reproducible and
the magnitude may be useful to those weighing the alternatives, not
because the alternatives are in doubt.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The behaviour reported here is a naming and reproducibility hazard
rather than a break of any cryptographic primitive. No signature is
forged, no digest is collided, and the signature scheme behaves exactly
as <xref target="RFC9052"/> specifies.</t>

<t>The hazard is that a verifier and an issuer may both be correct and
still disagree. Where a data-hash is used as a lookup key, an index, a
deduplication key, or as the subject of a further attestation, an
adversary able to influence the framing of a statement in transit,
without invalidating its signature, can cause that statement to be filed
under an identifier the issuer does not expect, or to appear absent from
a service that in fact holds it.</t>

<t>Retaining received octets verbatim, as
<xref target="I-D.mih-sokolov-scitt-payload-binding"/> describes, removes this class
of hazard. Enumerating individual disallowed framings does not, since
the enumeration cannot be shown to be complete.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>

<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
      <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="96"/>
  <seriesInfo name="RFC" value="9052"/>
  <seriesInfo name="DOI" value="10.17487/RFC9052"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC9943">
  <front>
    <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
    <author fullname="C. Fournet" initials="C." surname="Fournet"/>
    <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
    <author fullname="S. Lasker" initials="S." surname="Lasker"/>
    <date month="June" year="2026"/>
    <abstract>
      <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9943"/>
  <seriesInfo name="DOI" value="10.17487/RFC9943"/>
</reference>


<reference anchor="I-D.mih-sokolov-scitt-payload-binding">
   <front>
      <title>Canonicalization Declaration for SCITT Signed Statements</title>
      <author fullname="Steven Mih" initials="S." surname="Mih">
         <organization>Action State Group, Inc.</organization>
      </author>
      <author fullname="Anton Sokolov" initials="A." surname="Sokolov">
         <organization>Tyche Institute</organization>
      </author>
      <date day="12" month="September" year="2026"/>
      <abstract>
	 <t>   Independently written systems that anchor records to a SCITT
   Transparency Service repeatedly need the same construction: a
   canonical form of structured content, a content-addressed identifier
   derived from that form, binding to a SCITT Signed Statement and
   Receipt, and references that cite external artifacts by digest.  This
   document, referred to as CPB, specifies that construction as
   declarations rather than as a payload format.  A payload profile
   declares its canonicalization algorithm and exclusion set and thereby
   obtains a reproducible derived identifier.  A CPB Signed Statement
   carries either the complete statement content as specified by RFC
   9943 or a digest of content held elsewhere using the COSE Hash
   Envelope of RFC 9995.  CPB also defines an abstract typed digest
   reference information model and one optional protected-header
   encoding, cpb-refs; a payload profile may instead define its own
   reference serialization.  An IANA registry assigns the
   canonicalization algorithm identifiers that these declarations name.
   CPB does not define payload content formats, establish or require a
   universal artifact-type registry, or require either typed-reference
   carrier.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mih-sokolov-scitt-payload-binding-05"/>
   
</reference>


<reference anchor="I-D.ietf-scitt-scrapi">
   <front>
      <title>Supply Chain Integrity, Transparency, and Trust (SCITT) Reference APIs</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Jon Geater" initials="J." surname="Geater">
         <organization>Bowball Technologies Ltd</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <date day="26" month="June" year="2026"/>
      <abstract>
	 <t>   This document specifies a REST API with the HTTP resources, request
   and response messages, and error handling needed for an interoperable
   implementation of a SCITT Transparency Service, as defined by the
   Supply Chain Integrity, Transparency, and Trust (SCITT) Architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-11"/>
   
</reference>


<reference anchor="I-D.ietf-scitt-receipts-ccf-profile">
   <front>
      <title>CCF Profile for COSE Receipts</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Cedric Fournet" initials="C." surname="Fournet">
         <organization>Microsoft Research</organization>
      </author>
      <author fullname="Amaury Chamayou" initials="A." surname="Chamayou">
         <organization>Microsoft Research</organization>
      </author>
      <date day="23" month="September" year="2026"/>
      <abstract>
	 <t>   This document defines a new verifiable data structure (VDS) type for
   COSE Receipts and the associated inclusion and consistency proofs,
   specifically designed for append-only logs produced by the
   Confidential Consortium Framework (CCF) to provide stronger tamper-
   evidence guarantees.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-receipts-ccf-profile-05"/>
   
</reference>




    </references>

</references>


<?line 254?>

<section anchor="reproducing"><name>Reproducing the Measurement</name>

<t>The published artifacts contain the starting object A, the seven named
variants with their sizes and digests, the finding, and the script that
mints and checks them:</t>

<t><list style="symbols">
  <t>https://councilof.ai/interop/scrapi-ccf/data-hash-framing-space.json</t>
  <t>https://councilof.ai/interop/scrapi-ccf/data-hash-vector.json</t>
  <t>https://councilof.ai/interop/scrapi-ccf/mint_framing_space.py</t>
</list></t>

<t>The starting object A is field <spanx style="verb">A_signed_statement_as_registered.bytes_hex</spanx>
of the second file. Its SHA-256 is recorded in the first. Placing the
three files in one directory and running the script with any recent
cbor2 re-emits A under the six freedoms listed in Section 3, hashes each
result and checks the figures against the published finding.</t>

</section>
<section numbered="false" anchor="changes-from-00"><name>Changes from -00</name>

<t>RFC Editor: please remove this section before publication.</t>

<t><list style="symbols">
  <t>Corrected the size range: 164 to 170 octets is the range of the seven
named variants; across all 64 it is 164 to 179.</t>
  <t>Reported the second re-serialization group: the 31 other untagged
encodings re-serialize to C, so 62 of 64 are rewritten on read. The
figure of 31 re-serialized to A is unchanged.</t>
  <t>Added the effect of RFC 8949 core deterministic encoding (two
encodings remain).</t>
  <t>Stated the chunk rule, recorded a second run on a different platform
and decoder version, and listed the script's URL.</t>
  <t>Updated references: draft-mih-sokolov-scitt-payload-binding-05 (now
titled "Canonicalization Declaration for SCITT Signed Statements"),
draft-ietf-scitt-receipts-ccf-profile-05; described the SCITT
Reference APIs' entry identifier more precisely.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

<t>Konrad Gruszka raised the outer-array framing axis and independently
recomputed the vector on a separate platform. Emek Can Dogru recomputed
a published vector rather than reading it, which is what surfaced the
tag axis. Anton Sokolov's registration of an as-transmitted binding
reached the conclusion this measurement supports before the measurement
was made.</t>

</section>


  </back>

<!-- ##markdown-source:
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
/z8X/NZO+jEAAA==

-->

</rfc>

