<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scitt-architecture-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="SCITT Architecture">An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-architecture-06"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="A." surname="Delignat-Lavaud" fullname="Antoine Delignat-Lavaud">
      <organization>Microsoft Research</organization>
      <address>
        <postal>
          <street>21 Station Road</street>
          <city>Cambridge</city>
          <code>CB1 2FB</code>
          <country>UK</country>
        </postal>
        <email>antdl@microsoft.com</email>
      </address>
    </author>
    <author initials="C." surname="Fournet" fullname="Cedric Fournet">
      <organization>Microsoft Research</organization>
      <address>
        <postal>
          <street>21 Station Road</street>
          <city>Cambridge</city>
          <code>CB1 2FB</code>
          <country>UK</country>
        </postal>
        <email>fournet@microsoft.com</email>
      </address>
    </author>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>ARM</organization>
      <address>
        <postal>
          <street>110 Fulbourn Road</street>
          <city>Cambridge</city>
          <code>CB1 9NJ</code>
          <country>UK</country>
        </postal>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="S." surname="Lasker" fullname="Steve Lasker">
      <organization>DataTrails</organization>
      <address>
        <postal>
          <city>Seattle</city>
          <region>WA</region>
          <code>98199</code>
          <country>United States</country>
        </postal>
        <email>steve.lasker@datatrails.ai</email>
      </address>
    </author>
    <date year="2024" month="March" day="04"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 135?>

<t>Traceability of physical and digital Artifacts in supply chains is a long-standing, but increasingly serious security concern.
The rise in popularity of verifiable data structures as a mechanism to make actors more accountable for breaching their compliance promises has found some successful applications to specific use cases (such as the supply chain for digital certificates), but lacks a generic and scalable architecture that can address a wider range of use cases.</t>
      <t>This document defines a generic, interoperable and scalable architecture to enable transparency across any supply chain with minimum adoption barriers.
It provides flexibility, enabling interoperability across different implementations of Transparency Services with various auditing and compliance requirements.
Issuers can register their Signed Statements on any Transparency Service, with the guarantee that all Auditors and Verifiers will be able to verify them.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-scitt-architecture/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        SCITT Working Group mailing list (<eref target="mailto:scitt@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scitt/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scitt/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-scitt/draft-ietf-scitt-architecture"/>.</t>
    </note>
  </front>
  <middle>
    <?line 144?>

<section anchor="sec-introduction">
      <name>Introduction</name>
      <t>This document describes the scalable, flexible, and decentralized SCITT architecture.
Its goal is to enhance auditability and accountability across supply chains.</t>
      <t>In supply chains, downstream artifacts are built upon upstream artifacts.
The complexity of traceability and quality control for these supply chains increases with the number of artifacts and parties contributing to them.
There are many parties who publish information about artifacts:
For example, the original manufacturer may provide information about the state of the artifact when it left the factory.
The shipping company may add information about the transport environment of the artifact.
Compliance auditors may provide information about their compliance assessment of the artifact.
Security companies may publish vulnerability information about an artifact.
Some of these parties may publish information about their analysis or use of an artifact.</t>
      <t>SCITT provides a way for Relying Parties to obtain this information in a way that is "transparent", that is, parties cannot lie about the information that they publish without it being detected.
SCITT achieves this by having producers publish information in a Transparency Service, where Relying Parties can check the information.</t>
      <section anchor="sec-requirements-notation">
        <name>Requirements Notation</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The terms defined in this section have special meaning in the context of Supply Chain Integrity, Transparency, and Trust, which are used throughout this document.
When used in text, the corresponding terms are capitalized.
To ensure readability, only a core set of terms is included in this section.</t>
      <t><strong>Editor's Note:</strong>: <em>The label "394" is expected to be reserved by this document, in the COSE Header Parameters Registry.</em></t>
      <t>The terms "header", "payload", and "to-be-signed bytes" are defined in <xref target="RFC9052"/>.</t>
      <dl>
        <dt>Append-only Log (Ledger):</dt>
        <dd>
          <t>the verifiable append-only data structure that stores Signed Statements in a Transparency Service, often referred to by the synonym Ledger.
SCITT supports multiple Ledger and Receipt formats to accommodate different Transparency Service implementations, and the proof types associated with different types of Append-only Logs.</t>
        </dd>
        <dt>Artifact:</dt>
        <dd>
          <t>a physical or non-physical item that is moving along a supply chain.</t>
        </dd>
        <dt>Auditor:</dt>
        <dd>
          <t>an entity that checks the correctness and consistency of all Transparent Statements issued by a Transparency Service.</t>
        </dd>
        <dt>Client:</dt>
        <dd>
          <t>an application making protected Transparency Service resource requests on behalf of the resource owner and with its authorization.</t>
        </dd>
        <dt>Envelope:</dt>
        <dd>
          <t>metadata, created by the Issuer to produce a Signed Statement.
The Envelope contains the identity of the Issuer and information about the Artifact, enabling Transparency Service Registration Policies to validate the Signed Statement.
A Signed Statement is a COSE Envelope wrapped around a Statement, binding the metadata in the Envelope to the Statement.
In COSE, an Envelope consists of a protected header (included in the Issuer's signature) and an unprotected header (not included in the Issuer's signature).</t>
        </dd>
        <dt>Equivocation:</dt>
        <dd>
          <t>a state where it is possible for a Transparency Service to provide different views of its Append-only log to Relying Parties about the same Artifact <xref target="EQUIVOCATION"/>.</t>
        </dd>
        <dt>Feed:</dt>
        <dd>
          <t>A collection of Receipts, as recorded by the Transparency Service, based on filtering of properties from the envelope including, but not limited to the <tt>sub</tt> field of the <tt>CWT_Claims</tt>.
Relying Parties may use the Feed to ensure completeness and Non-equivocation in supply chain evidence by identifying all Transparent Statements linked to the Artifact they are evaluating.</t>
        </dd>
        <dt>Issuer:</dt>
        <dd>
          <t>organizations, stakeholders, and users involved in creating or attesting to supply chain artifacts, releasing authentic Statements to a definable set of peers.
An Issuer may be the owner or author of Artifacts, or an independent third party such as an auditor, reviewer or an endorser.</t>
        </dd>
        <dt>Non-equivocation:</dt>
        <dd>
          <t>a state where it is impossible for a Transparency Service to provide different views of its append-only log to Relying Parties about the same Artifact.
Over time, an Issuer may register new Signed Statements about an Artifact in a Transparency Service with new information. However, the consistency of a collection of Signed Statements about the Artifact can be checked by all Relying Parties.</t>
        </dd>
        <dt>Receipt:</dt>
        <dd>
          <t>a cryptographic proof that a Signed Statement is included in the Append-only Log.
Receipts are based on Signed Inclusion Proofs, such as those as described in COSE Signed Merkle Tree Proofs <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>;
they can be built on different verifiable data structures, not just binary merkle trees.
A Receipt consists of a Transparency Service-specific inclusion proof for the Signed Statement, a signature by the Transparency Service of the state of the Append-only Log after the inclusion, and additional metadata (contained in the signature's protected headers) to assist in auditing.</t>
        </dd>
        <dt>Registration:</dt>
        <dd>
          <t>the process of submitting a Signed Statement to a Transparency Service, applying the Transparency Service's Registration Policy, adding to the Append-only Log, and producing a Receipt.</t>
        </dd>
        <dt>Registration Policy:</dt>
        <dd>
          <t>the pre-condition enforced by the Transparency Service before registering a Signed Statement, based on information in the non-opaque header and metadata contained in its COSE Envelope.</t>
        </dd>
        <dt>Relying Party:</dt>
        <dd>
          <t>a relying party depends on Signed or Transparent Statements to verify an Artifact.</t>
        </dd>
        <dt>Signed Statement:</dt>
        <dd>
          <t>an identifiable and non-repudiable Statement about an Artifact signed by an Issuer.
In SCITT, Signed Statements are encoded as COSE signed objects; the <tt>payload</tt> of the COSE structure contains the issued Statement.</t>
        </dd>
        <dt>Statement:</dt>
        <dd>
          <t>any serializable information about an Artifact.
To help interpretation of Statements, they must be tagged with a media type (as specified in <xref target="RFC6838"/>).
A Statement may represent a Software Bill Of Materials (SBOM) that lists the ingredients of a software Artifact, an endorsement or attestation about an Artifact, indicate the End of Life (EOL), redirection to a newer version,  or any content an Issuer wishes to publish about an Artifact.
The additional Statements about an Artifact are correlated by the Subject defined in the <xref target="CWT_CLAIMS"/> protected header.
The Statement is considered opaque to Transparency Service, and <bcp14>MAY</bcp14> be encrypted.</t>
        </dd>
        <dt>Subject:</dt>
        <dd>
          <t>This term has the same definition as in RFC8392, which relies on the definition in RFC7519.
The <tt>sub</tt> (subject) claim identifies the principal that is the subject of the CWT.
The claims in a CWT are normally statements about the subject.
In SCITT, <tt>sub</tt> identifies the entity about which statements, and receipts are made.
The subject value <bcp14>MUST</bcp14> either be scoped to be locally unique in the context of the Issuer or be globally unique.
The processing of this claim is generally application specific.
The <tt>sub</tt> value is a case-sensitive string containing a StringOrURI value.
Issuers use <tt>sub</tt> to identify the entity about which they are making Signed Statements.
Transparency Services use <tt>sub</tt> to identify the entity about which they are issuing a Receipt.</t>
        </dd>
        <dt>Transparency Service:</dt>
        <dd>
          <t>an entity that maintains and extends the Append-only Log, and endorses its state.
A Transparency Service can be a complex distributed system, and SCITT requires the Transparency Service to provide many security guarantees about its Append-only Log.
The identity of a Transparency Service is captured by a public key that must be known by Relying Parties in order to validate Receipts.</t>
        </dd>
        <dt>Transparent Statement:</dt>
        <dd>
          <t>a Signed Statement that is augmented with a Receipt created via Registration in a Transparency Service.
The receipt is stored in the unprotected header of COSE Envelope of the Signed Statement.
A Transparent Statement remains a valid Signed Statement, and may be registered again in a different Transparency Service.</t>
        </dd>
        <dt>Relying Party:</dt>
        <dd>
          <t>organizations, stakeholders, and users involved in validating supply chain Artifacts.
Relying Parties consume Transparent Statements, verifying their proofs and inspecting the Statement payload, either before using corresponding Artifacts, or later to audit an Artifact's provenance on the supply chain.</t>
        </dd>
      </dl>
    </section>
    <section anchor="mybody">
      <name>Definition of Transparency</name>
      <t>In this document, the definition of transparency is intended to build over abstract notions of Append-only Logs and Receipts.
Existing transparency systems such as Certificate Transparency are instances of this definition.</t>
      <t>A Signed Statement is an identifiable and non-repudiable Statement made by an Issuer.
The Issuer selects additional metadata and attaches a proof of endorsement (in most cases, a signature) using the identity key of the Issuer that binds the Statement and its metadata.
Signed Statements can be made transparent by attaching a proof of Registration by a Transparency Service, in the form of a Receipt that countersigns the Signed Statement and witnesses its inclusion in the Append-only Log of a Transparency Service.
By extension, the document may say an Artifact (a firmware binary) is transparent if it comes with one or more Transparent Statements from its author or owner, though the context should make it clear what type of Signed Statements is expected for a given Artifact.</t>
      <t>Transparency does not prevent dishonest or compromised Issuers, but it holds them accountable.
Any Artifact that may be verified, is subject to scrutiny and auditing by other parties.
The Transparency Service provides a history of Statements, which may be made by multiple Issuers, enabling Relying Parties to make informed decisions.</t>
      <t>Transparency is implemented by providing a consistent, append-only, cryptographically verifiable, publicly available record of entries.
A SCITT instance is referred to as a Transparency Service.
Implementations of Transparency Services may protect their Append-only Log using a combination of trusted hardware, replication and consensus protocols, and cryptographic evidence.
A Receipt is an offline, universally-verifiable proof that an entry is recorded in the Append-only Log.
Receipts do not expire, but it is possible to append new entries (more recent Signed Statements) that subsume older entries (less recent Signed Statements).</t>
      <t>Anyone with access to the Transparency Service can independently verify its consistency and review the complete list of Transparent Statements registered by each Issuer.
However, the Registrations on a separate Transparency Service is generally disjoint, though it is possible to take a Transparent Statement (i.e. a Signed Statement with a Receipt in its unprotected header, from a from the first Transparency Service ) and register it on another Transparency Service, where the second receipt will be over the first Receipt in the unprotected header.</t>
      <t>Reputable Issuers are thus incentivized to carefully review their Statements before signing them to produce Signed Statements.
Similarly, reputable Transparency Services are incentivized to secure their Append-only Log, as any inconsistency can easily be pinpointed by any Auditor with read access to the Transparency Service.</t>
      <t>The building blocks defined in SCITT are intended to support applications in any supply chain that produces or relies upon digital artifacts, from the build and supply of software and IoT devices to advanced manufacturing and food supply.</t>
      <t>SCITT is a generalization of Certificate Transparency <xref target="RFC9162"/>, which can be interpreted as a transparency architecture for the supply chain of X.509 certificates.
Considering CT in terms of SCITT:</t>
      <ul spacing="normal">
        <li>
          <t>CAs (Issuers) sign X.509 TBSCertificates (Artifacts) to produce X.509 certificates (Signed Statements)</t>
        </li>
        <li>
          <t>CAs submit the certificates to one or more CT logs (Transparency Services)</t>
        </li>
        <li>
          <t>CT logs produce Signed Certificate Timestamps (Transparent Statements)</t>
        </li>
        <li>
          <t>Signed Certificate Timestamps are checked by Relying Parties</t>
        </li>
        <li>
          <t>The Append-only Log can be checked by Auditors</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-architecture-overview">
      <name>Architecture Overview</name>
      <t>The SCITT architecture consists of a very loose federation of Transparency Services, and a set of common formats and protocols for issuing and registering Signed Statements, and auditing Transparent Statements.</t>
      <t>In order to accommodate as many Transparency Service implementations as possible, this document only specifies the format of Signed Statements (which must be used by all Issuers) and a very thin wrapper format for Receipts, which specifies the Transparency Service identity and the agility parameters for the Signed Inclusion Proofs.
Most of the details of the Receipt's contents are specified in the COSE Signed Merkle Tree Proof document <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.</t>
      <artset>
        <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="720" width="440" viewBox="0 0 440 720" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
            <path d="M 56,64 L 56,88" fill="none" stroke="black"/>
            <path d="M 56,128 L 56,144" fill="none" stroke="black"/>
            <path d="M 64,224 L 64,240" fill="none" stroke="black"/>
            <path d="M 80,304 L 80,384" fill="none" stroke="black"/>
            <path d="M 104,320 L 104,336" fill="none" stroke="black"/>
            <path d="M 104,464 L 104,480" fill="none" stroke="black"/>
            <path d="M 112,176 L 112,200" fill="none" stroke="black"/>
            <path d="M 112,256 L 112,272" fill="none" stroke="black"/>
            <path d="M 128,352 L 128,368" fill="none" stroke="black"/>
            <path d="M 160,224 L 160,240" fill="none" stroke="black"/>
            <path d="M 160,416 L 160,440" fill="none" stroke="black"/>
            <path d="M 160,496 L 160,648" fill="none" stroke="black"/>
            <path d="M 168,128 L 168,144" fill="none" stroke="black"/>
            <path d="M 192,320 L 192,336" fill="none" stroke="black"/>
            <path d="M 208,352 L 208,368" fill="none" stroke="black"/>
            <path d="M 216,464 L 216,480" fill="none" stroke="black"/>
            <path d="M 240,544 L 240,568" fill="none" stroke="black"/>
            <path d="M 256,272 L 256,336" fill="none" stroke="black"/>
            <path d="M 264,160 L 264,176" fill="none" stroke="black"/>
            <path d="M 272,544 L 272,568" fill="none" stroke="black"/>
            <path d="M 280,336 L 280,400" fill="none" stroke="black"/>
            <path d="M 328,192 L 328,272" fill="none" stroke="black"/>
            <path d="M 344,128 L 344,144" fill="none" stroke="black"/>
            <path d="M 376,160 L 376,176" fill="none" stroke="black"/>
            <path d="M 384,272 L 384,336" fill="none" stroke="black"/>
            <path d="M 384,400 L 384,520" fill="none" stroke="black"/>
            <path d="M 384,536 L 384,648" fill="none" stroke="black"/>
            <path d="M 400,320 L 400,400" fill="none" stroke="black"/>
            <path d="M 416,192 L 416,512" fill="none" stroke="black"/>
            <path d="M 24,32 L 96,32" fill="none" stroke="black"/>
            <path d="M 24,64 L 96,64" fill="none" stroke="black"/>
            <path d="M 24,96 L 88,96" fill="none" stroke="black"/>
            <path d="M 128,96 L 200,96" fill="none" stroke="black"/>
            <path d="M 224,112 L 328,112" fill="none" stroke="black"/>
            <path d="M 24,128 L 88,128" fill="none" stroke="black"/>
            <path d="M 128,128 L 200,128" fill="none" stroke="black"/>
            <path d="M 280,144 L 360,144" fill="none" stroke="black"/>
            <path d="M 72,160 L 96,160" fill="none" stroke="black"/>
            <path d="M 128,160 L 152,160" fill="none" stroke="black"/>
            <path d="M 376,176 L 400,176" fill="none" stroke="black"/>
            <path d="M 280,192 L 360,192" fill="none" stroke="black"/>
            <path d="M 80,208 L 144,208" fill="none" stroke="black"/>
            <path d="M 168,240 L 328,240" fill="none" stroke="black"/>
            <path d="M 80,256 L 144,256" fill="none" stroke="black"/>
            <path d="M 256,272 L 384,272" fill="none" stroke="black"/>
            <path d="M 128,288 L 248,288" fill="none" stroke="black"/>
            <path d="M 120,304 L 176,304" fill="none" stroke="black"/>
            <path d="M 200,320 L 256,320" fill="none" stroke="black"/>
            <path d="M 384,320 L 400,320" fill="none" stroke="black"/>
            <path d="M 256,336 L 384,336" fill="none" stroke="black"/>
            <path d="M 120,352 L 176,352" fill="none" stroke="black"/>
            <path d="M 216,368 L 280,368" fill="none" stroke="black"/>
            <path d="M 144,384 L 192,384" fill="none" stroke="black"/>
            <path d="M 96,400 L 144,400" fill="none" stroke="black"/>
            <path d="M 280,400 L 400,400" fill="none" stroke="black"/>
            <path d="M 120,448 L 200,448" fill="none" stroke="black"/>
            <path d="M 120,496 L 200,496" fill="none" stroke="black"/>
            <path d="M 176,528 L 224,528" fill="none" stroke="black"/>
            <path d="M 288,528 L 400,528" fill="none" stroke="black"/>
            <path d="M 200,576 L 368,576" fill="none" stroke="black"/>
            <path d="M 176,624 L 344,624" fill="none" stroke="black"/>
            <path d="M 88,656 L 240,656" fill="none" stroke="black"/>
            <path d="M 296,656 L 432,656" fill="none" stroke="black"/>
            <path d="M 72,688 L 224,688" fill="none" stroke="black"/>
            <path d="M 280,688 L 416,688" fill="none" stroke="black"/>
            <path d="M 72,688 L 88,656" fill="none" stroke="black"/>
            <path d="M 176,624 L 200,576" fill="none" stroke="black"/>
            <path d="M 224,688 L 240,656" fill="none" stroke="black"/>
            <path d="M 280,688 L 296,656" fill="none" stroke="black"/>
            <path d="M 344,624 L 368,576" fill="none" stroke="black"/>
            <path d="M 416,688 L 432,656" fill="none" stroke="black"/>
            <path d="M 24,32 C 15.16936,32 8,39.16936 8,48" fill="none" stroke="black"/>
            <path d="M 96,32 C 104.83064,32 112,39.16936 112,48" fill="none" stroke="black"/>
            <path d="M 24,64 C 15.16936,64 8,56.83064 8,48" fill="none" stroke="black"/>
            <path d="M 96,64 C 104.83064,64 112,56.83064 112,48" fill="none" stroke="black"/>
            <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
            <path d="M 88,96 C 96.83064,96 104,103.16936 104,112" fill="none" stroke="black"/>
            <path d="M 128,96 C 119.16936,96 112,103.16936 112,112" fill="none" stroke="black"/>
            <path d="M 200,96 C 208.83064,96 216,103.16936 216,112" fill="none" stroke="black"/>
            <path d="M 328,112 C 336.83064,112 344,119.16936 344,128" fill="none" stroke="black"/>
            <path d="M 24,128 C 15.16936,128 8,120.83064 8,112" fill="none" stroke="black"/>
            <path d="M 88,128 C 96.83064,128 104,120.83064 104,112" fill="none" stroke="black"/>
            <path d="M 128,128 C 119.16936,128 112,120.83064 112,112" fill="none" stroke="black"/>
            <path d="M 200,128 C 208.83064,128 216,120.83064 216,112" fill="none" stroke="black"/>
            <path d="M 280,144 C 271.16936,144 264,151.16936 264,160" fill="none" stroke="black"/>
            <path d="M 360,144 C 368.83064,144 376,151.16936 376,160" fill="none" stroke="black"/>
            <path d="M 72,160 C 63.16936,160 56,152.83064 56,144" fill="none" stroke="black"/>
            <path d="M 96,160 C 104.83064,160 112,167.16936 112,176" fill="none" stroke="black"/>
            <path d="M 128,160 C 119.16936,160 112,167.16936 112,176" fill="none" stroke="black"/>
            <path d="M 152,160 C 160.83064,160 168,152.83064 168,144" fill="none" stroke="black"/>
            <path d="M 400,176 C 408.83064,176 416,183.16936 416,192" fill="none" stroke="black"/>
            <path d="M 280,192 C 271.16936,192 264,184.83064 264,176" fill="none" stroke="black"/>
            <path d="M 360,192 C 368.83064,192 376,184.83064 376,176" fill="none" stroke="black"/>
            <path d="M 80,208 C 71.16936,208 64,215.16936 64,224" fill="none" stroke="black"/>
            <path d="M 144,208 C 152.83064,208 160,215.16936 160,224" fill="none" stroke="black"/>
            <path d="M 80,256 C 71.16936,256 64,248.83064 64,240" fill="none" stroke="black"/>
            <path d="M 144,256 C 152.83064,256 160,248.83064 160,240" fill="none" stroke="black"/>
            <path d="M 96,288 C 87.16936,288 80,295.16936 80,304" fill="none" stroke="black"/>
            <path d="M 96,288 C 104.83064,288 112,280.83064 112,272" fill="none" stroke="black"/>
            <path d="M 128,288 C 119.16936,288 112,280.83064 112,272" fill="none" stroke="black"/>
            <path d="M 120,304 C 111.16936,304 104,311.16936 104,320" fill="none" stroke="black"/>
            <path d="M 176,304 C 184.83064,304 192,311.16936 192,320" fill="none" stroke="black"/>
            <path d="M 192,336 C 200.83064,336 208,343.16936 208,352" fill="none" stroke="black"/>
            <path d="M 120,352 C 111.16936,352 104,344.83064 104,336" fill="none" stroke="black"/>
            <path d="M 176,352 C 184.83064,352 192,344.83064 192,336" fill="none" stroke="black"/>
            <path d="M 144,384 C 135.16936,384 128,376.83064 128,368" fill="none" stroke="black"/>
            <path d="M 192,384 C 200.83064,384 208,376.83064 208,368" fill="none" stroke="black"/>
            <path d="M 96,400 C 87.16936,400 80,392.83064 80,384" fill="none" stroke="black"/>
            <path d="M 144,400 C 152.83064,400 160,407.16936 160,416" fill="none" stroke="black"/>
            <path d="M 176,400 C 167.16936,400 160,407.16936 160,416" fill="none" stroke="black"/>
            <path d="M 176,400 C 184.83064,400 192,392.83064 192,384" fill="none" stroke="black"/>
            <path d="M 120,448 C 111.16936,448 104,455.16936 104,464" fill="none" stroke="black"/>
            <path d="M 200,448 C 208.83064,448 216,455.16936 216,464" fill="none" stroke="black"/>
            <path d="M 120,496 C 111.16936,496 104,488.83064 104,480" fill="none" stroke="black"/>
            <path d="M 200,496 C 208.83064,496 216,488.83064 216,480" fill="none" stroke="black"/>
            <path d="M 176,528 C 167.16936,528 160,520.83064 160,512" fill="none" stroke="black"/>
            <path d="M 224,528 C 232.83064,528 240,535.16936 240,544" fill="none" stroke="black"/>
            <path d="M 288,528 C 279.16936,528 272,535.16936 272,544" fill="none" stroke="black"/>
            <path d="M 400,528 C 408.83064,528 416,520.83064 416,512" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="392,648 380,642.4 380,653.6" fill="black" transform="rotate(90,384,648)"/>
            <path class="jump" d="M 384,536 C 390,536 390,520 384,520" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="280,568 268,562.4 268,573.6" fill="black" transform="rotate(90,272,568)"/>
            <polygon class="arrowhead" points="256,288 244,282.4 244,293.6" fill="black" transform="rotate(0,248,288)"/>
            <polygon class="arrowhead" points="248,568 236,562.4 236,573.6" fill="black" transform="rotate(90,240,568)"/>
            <polygon class="arrowhead" points="232,112 220,106.4 220,117.6" fill="black" transform="rotate(180,224,112)"/>
            <polygon class="arrowhead" points="224,368 212,362.4 212,373.6" fill="black" transform="rotate(180,216,368)"/>
            <polygon class="arrowhead" points="208,320 196,314.4 196,325.6" fill="black" transform="rotate(180,200,320)"/>
            <polygon class="arrowhead" points="176,240 164,234.4 164,245.6" fill="black" transform="rotate(180,168,240)"/>
            <polygon class="arrowhead" points="168,648 156,642.4 156,653.6" fill="black" transform="rotate(90,160,648)"/>
            <polygon class="arrowhead" points="168,440 156,434.4 156,445.6" fill="black" transform="rotate(90,160,440)"/>
            <polygon class="arrowhead" points="120,200 108,194.4 108,205.6" fill="black" transform="rotate(90,112,200)"/>
            <polygon class="arrowhead" points="64,88 52,82.4 52,93.6" fill="black" transform="rotate(90,56,88)"/>
            <g class="text">
              <text x="60" y="52">Artifact</text>
              <text x="280" y="100">Identifiers</text>
              <text x="56" y="116">Statement</text>
              <text x="164" y="116">Envelope</text>
              <text x="316" y="164">Identity</text>
              <text x="320" y="180">Documents</text>
              <text x="108" y="228">Signed</text>
              <text x="212" y="228">COSE</text>
              <text x="264" y="228">Signing</text>
              <text x="112" y="244">Statement</text>
              <text x="316" y="292">Transparency</text>
              <text x="144" y="324">Receipt</text>
              <text x="304" y="324">Service</text>
              <text x="340" y="356">Transparency</text>
              <text x="168" y="372">Receipt</text>
              <text x="320" y="388">Service</text>
              <text x="160" y="468">Transparent</text>
              <text x="160" y="484">Statement</text>
              <text x="228" y="596">Verify</text>
              <text x="304" y="596">Transparent</text>
              <text x="272" y="612">Statement</text>
              <text x="120" y="676">Collect</text>
              <text x="188" y="676">Receipts</text>
              <text x="340" y="676">Replay</text>
              <text x="384" y="676">Log</text>
            </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[
  .----------.
 |  Artifact  |
  '----+-----'
       v
  .----+----.  .----------.   Identifiers
 | Statement ||  Envelope  +<-------------.
  '----+----'  '-----+----'                |
       |             |            .--------+--.
        '----. .----'            |  Identity   |
              |                  |  Documents  +---.
              v                   '------+----'     |
         .----+----.                     |          |
        |  Signed   |    COSE Signing    |          |
        | Statement +<-------------------+          |
         '----+----'                     |          |
              |                 +--------+------+   |
           .-' '--------------->+ Transparency  |   |
          |   .--------.        |               |   |
          |  | Receipt  +<------+  Service      +-+ |
          |  |          +.      +--+------------+ | |
          |   '-+------'  |        | Transparency | |
          |     | Receipt +<-------+              | |
          |      '------+'         | Service      | |
           '-------. .-'           +------------+-+ |
                    |                           |   |
                    v                           |   |
              .-----+-----.                     |   |
             | Transparent |                    |   |
             |  Statement  |                    |   |
              '-----+-----'                     |   |
                    |                           |   |
                    |'-------.     .------------)--'
                    |         |   |             |
                    |         v   v             |
                    |    .----+---+-----------. |
                    |   / Verify Transparent /  |
                    |  /      Statement     /   |
                    | '--------------------'    |
                    v                           v
           .--------+---------.      .----------+-----.
          / Collect Receipts /      /   Replay Log   /
         '------------------'      '----------------'
]]></artwork>
      </artset>
      <t>This section describes at a high level, the three main roles and associated processes in SCITT: Issuers and Signed Statements, Transparency Service and the Signed Statement Registration process, as well as Relying Parties of the Transparent Statements and the Receipt validation process.</t>
      <section anchor="sec-transparency-service">
        <name>Transparency Service</name>
        <t>Transparency Services <bcp14>MUST</bcp14> feature an Append-only Log.
The Append-only Log is the verifiable data structure that records Signed Statements and supports the production of Receipts.</t>
        <t>All Transparency Services <bcp14>MUST</bcp14> expose APIs for the registration of Signed Statements and issuance of Receipts.</t>
        <t>Transparency Services <bcp14>MAY</bcp14> support additional APIs for auditing, for instance, to query the history of Signed Statements.</t>
        <t>Typically a Transparency Service has a single Issuer identity which is present in the <tt>iss</tt> claim of Receipts for that service.</t>
        <t>Multi-tenant support can be enabled through the use of identifiers in the <tt>iss</tt> claim, for example, <tt>ts.example</tt> may have a distinct Issuer identity for each sub domain, such as <tt>customer1.ts.example</tt> and <tt>customer2.ts.example</tt>.</t>
        <section anchor="sec-registration-policies">
          <name>Registration Policies</name>
          <t>Registration Policies refer to additional checks over and above the Mandatory Registration Checks that are performed before a Signed Statement is accepted to be registered to the Append-only Log.</t>
          <t>Transparency Services <bcp14>MUST</bcp14> maintain Registration Policies.</t>
          <t>Transparency Services <bcp14>MUST</bcp14> also maintain a list of trust anchors used to authenticate Issuers, which <bcp14>MAY</bcp14> be included in a registration policy statement.
For instance, a trust anchor could be an X.509 root certificate, the discovery URL of an OpenID Connect identity provider, or any other COSE compatible PKI trust anchor.</t>
          <t>Registration Policies and trust anchors <bcp14>MUST</bcp14> be made transparent and available to all Relying Parties of the Transparency Service by registering them as Signed Statements on the Append-only Log, and distributing the associated Receipts.</t>
          <t>This specification leaves implementation, encoding and documentation of Registration Policies and trust anchors to the operator of the Transparency Service.</t>
          <section anchor="sec-mandatory-registration-checks">
            <name>Mandatory Registration Checks</name>
            <t>During registration, a Transparency Service <bcp14>MUST</bcp14>, at a minimum, authenticate the Issuer of the Signed Statement by validating the COSE signature and checking the identity of the issuer against one of its currently configured trust anchors, using the <tt>x5t</tt> (34), <tt>x5chain</tt>(33) or <tt>kid</tt>(4) protected headers of the Signed Statement as hints.
For instance, in order to authenticate X.509 Signed Statements, the Transparency Service <bcp14>MUST</bcp14> build and validate a complete certificate chain from the Issuer's certificate identified by <tt>x5t</tt>, to one of the root certificates most recently registered as a trust anchor of the Transparency Service.</t>
            <t>The Transparency Service <bcp14>MUST</bcp14> apply the Registration Policy that was most recently added to the Append-only Log at the time of registration.</t>
          </section>
          <section anchor="sec-auditability-of-registration">
            <name>Auditability of Registration</name>
            <t>The operator of a Transparency Service <bcp14>MAY</bcp14> update the Registration Policy or the trust anchors of a Transparency Service at any time.</t>
            <t>Transparency Services <bcp14>MUST</bcp14> ensure that for any Signed Statement they register, enough information is made available to Auditors (either in the Append-only Log and retrievable through audit APIs, or included in the Receipt) to authenticate and retrieve the Transparent Statements describing the registration policy and trust anchors that apply to this registration.</t>
          </section>
        </section>
        <section anchor="ts-initialization">
          <name>Initialization and bootstrapping</name>
          <t>Since the mandatory registration checks rely on having registered Signed Statements for the registration policy and trust anchors, Transparency Services <bcp14>MUST</bcp14> support at least one of the three following bootstrapping mechanisms:</t>
          <ul spacing="normal">
            <li>
              <t>A built-in default Registration Policy and default trust anchors;</t>
            </li>
            <li>
              <t>Acceptance of a first Signed Statement whose payload is a valid Registration Policy, without performing registration checks</t>
            </li>
            <li>
              <t>An out-of-band authenticated management interface</t>
            </li>
          </ul>
        </section>
        <section anchor="sec-append-only-log">
          <name>Append-only Log</name>
          <t>The security properties of the Append-only Log are determined by the choice of the verifiable data structure used by the Transparency Service to implement the Log.
This verifiable data structure <bcp14>MUST</bcp14> support the following security requirements:</t>
          <dl>
            <dt>Append-Only:</dt>
            <dd>
              <t>once included in the verifiable data structure, a Signed Statement cannot be modified, deleted, or reordered; hence its Receipt provides an offline verifiable proof of registration.</t>
            </dd>
            <dt>Non-equivocation:</dt>
            <dd>
              <t>there is no fork in the Append-only Log.
Everyone with access to its content sees the same collection of Signed Statements and can check that it is consistent with any Receipts they have verified.</t>
            </dd>
            <dt>Replayability:</dt>
            <dd>
              <t>the Append-only Log includes sufficient information to enable authorized actors with access to its content to check that each included Signed Statement has been correctly registered.</t>
            </dd>
          </dl>
          <t>In addition to Receipts, some verifiable data structures might support additional proof types, such as proofs of consistency, or proofs of non inclusion.</t>
          <t>Specific verifiable data structures, such those describes in <xref target="RFC9162"/> and <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>, and the review of their security requirements for SCITT are out of scope for this document.</t>
        </section>
        <section anchor="sec-adjacent-services">
          <name>Adjacent Services</name>
          <t>Transparency Services can be deployed along side other database or object storage technologies.
For example, a Transparency Service that is supporting a software package management system, might be referenced from the APIs exposed for package management.
Providing an ability to request a fresh receipt for a given software package, or to request a list of Signed Statements and Artifacts associated with a software package.</t>
        </section>
      </section>
      <section anchor="sec-signed-statements">
        <name>Signed Statements</name>
        <t>This specification prioritizes conformance to <xref target="RFC9052"/> and its required and optional properties.
Profiles and implementation specific choices should be used to determine admissability of conforming messages.
This specification is left intentionally open to allow implementations to make the restrictions that make the most sense for their operational use cases.</t>
        <t>At least one identifier for an identity document <bcp14>MUST</bcp14> be included in the protected header of the COSE envelope, as one of <tt>x5t</tt>, <tt>x5chain</tt> or <tt>kid</tt>.</t>
        <ul spacing="normal">
          <li>
            <t>Support for <tt>x5t</tt> is mandatory to implement.</t>
          </li>
          <li>
            <t>Support for <tt>kid</tt> and <tt>x5chain</tt> is optional.</t>
          </li>
        </ul>
        <t>When <tt>x5t</tt> or <tt>x5chain</tt> is present, <tt>iss</tt> <bcp14>MUST</bcp14> be a string with a value between 1 and 8192 characters in length that fits the regular expression of a distinguished name.</t>
        <t>The mechanisms for how Transparency Services obtain identity documents is out-of-scope of this document.</t>
        <t>The <tt>kid</tt> header parameter <bcp14>MUST</bcp14> be present when neither <tt>x5t</tt> nor <tt>x5chain</tt> are present.
Key discovery protocols are out-of-scope of this document.</t>
        <t>The protected header of a Signed Statement and a Receipt <bcp14>MUST</bcp14> include the <tt>CWT Claims</tt> header parameter as specified in <xref section="2" sectionFormat="of" target="CWT_CLAIMS_COSE"/>.
The <tt>CWT Claims</tt> value <bcp14>MUST</bcp14> include the <tt>Issuer Claim</tt> (Claim label 1) and the <tt>Subject Claim</tt> (Claim label 2) <xref target="IANA.cwt"/>.</t>
        <t>A Receipt is a Signed Statement, (cose-sign1), with addition claims in its protected header related to verifying the inclusion proof in its unprotected header. See <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.</t>
        <t><xref target="fig-signed-statement-cddl"/> illustrates a normative CDDL definition for of the protected header for Signed Statements and Receipts.</t>
        <t>Everything that is optional in the following CDDL can potentially be discovered out of band and Registration Policies are not assured on the presence of these optional fields.
A Registration Policy that requires an optional field to be present <bcp14>MUST</bcp14> reject any Signed Statements or Receipts that are invalid according to the policy.</t>
        <figure anchor="fig-signed-statement-cddl">
          <name>CDDL definition for Signed Statements and Receipts</name>
          <sourcecode type="cddl"><![CDATA[
Signed_Statement = #6.18(COSE_Sign1)
Receipt = #6.18(COSE_Sign1)

COSE_Sign1 = [
  protected   : bstr .cbor Protected_Header,
  unprotected : Unprotected_Header,
  payload     : bstr / nil,
  signature   : bstr
]

Protected_Header = {
  &(CWT_Claims: 15) => CWT_Claims
  ? &(alg: 1) => int
  ? &(content_type: 3) => tstr / uint
  ? &(kid: 4) => bstr
  ? &(x5chain: 33) => COSE_X509
  ? &(x5t: 34) => COSE_CertHash
  * int => any
}

CWT_Claims = {
  &(iss: 1) => tstr
  &(sub: 2) => tstr
  * int => any
}

Unprotected_Header = {
  ? &(receipts: 394)  => [+ Receipt]
}

]]></sourcecode>
        </figure>
        <figure anchor="fig-signed-statement-protected-header-edn">
          <name>CBOR Extended Diagnostic Notation example of a Signed Statement's Protected Header</name>
          <sourcecode type="cbor-diag"><![CDATA[
{                                   / Protected                     /
  1: -7,                            / Algorithm                     /
  3: application/example+json,      / Content type                  /
  4: h'50685f55...50523255',        / Key identifier                /
  15: {                             / CWT Claims                    /
    1: software.vendor.example,     / Issuer                        /
    2: vendor.product.example,      / Subject                       /
  }
}
]]></sourcecode>
        </figure>
        <figure anchor="fig-signed-statement-edn">
          <name>CBOR Extended Diagnostic Notation example of a Signed Statement</name>
          <sourcecode type="cbor-diag"><![CDATA[
18(                                 / COSE Sign 1                   /
    [
      h'a4012603...6d706c65',       / Protected                     /
      {},                           / Unprotected                   /
      nil,                          / Detached payload              /
      h'79ada558...3a28bae4'        / Signature                     /
    ]
)
]]></sourcecode>
        </figure>
        <t><xref target="fig-signed-statement-edn"/> illustrates a payload that is detached.
This is to support very large supply chain artifacts, and to ensure that Transparent Statements can integrate with existing file systems.</t>
        <t>There are many types of Statements (such as SBOMs, malware scans, audit reports, policy definitions) that Issuers may want to turn into Signed Statements.
An Issuer must first decide on a suitable format (<tt>3</tt>: payload type) to serialize the Statement payload.
For a software supply chain, payloads describing the software artifacts may include:</t>
        <ul spacing="normal">
          <li>
            <t><xref target="COSWID"/></t>
          </li>
          <li>
            <t><xref target="CycloneDX"/></t>
          </li>
          <li>
            <t><xref target="in-toto"/></t>
          </li>
          <li>
            <t><xref target="SPDX-CBOR"/></t>
          </li>
          <li>
            <t><xref target="SPDX-JSON"/></t>
          </li>
          <li>
            <t><xref target="SLSA"/></t>
          </li>
          <li>
            <t><xref target="SWID"/></t>
          </li>
        </ul>
        <t>Once all the Envelope headers are set, an Issuer <bcp14>MUST</bcp14> use a standard COSE implementation to produce an appropriately serialized Signed Statement (the SCITT tag of <tt>COSE_Sign1_Tagged</tt> is outside the scope of COSE, and used to indicate that a signed object is a Signed Statement).</t>
        <t>Issuers may produce Signed Statements about different Artifacts under the same Identity.
Issuers and Relying Parties must be able to recognize the Artifact to which the statements pertain by looking at the Signed Statement.
The <tt>iss</tt> and <tt>sub</tt> claims, within the CWT_Claims protected header, are used to identify the Artifact the statement pertains to.</t>
        <t>See Subject under <xref target="terminology"/> Terminology.</t>
        <t>Issuers <bcp14>MAY</bcp14> use different signing keys (identified by <tt>kid</tt> in the resolved key manifest) for different Artifacts, or sign all Signed Statements under the same key.</t>
        <t>An Issuer can make multiple Statements about the same Artifact.
For example, an Issuer can make amended Statements about the same Artifact as their view changes over time.</t>
        <t>Multiple Issuers can make different, even conflicting Statements, about the same Artifact.
Relying Parties can choose which Issuers they trust.</t>
        <t>Multiple Issuers can make the same Statement about a single Artifact, affirming multiple Issuers agree.</t>
        <section anchor="sec-registration">
          <name>Registration</name>
          <t>To register a Signed Statement, the Transparency Service performs the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Client authentication:</strong> A Client authenticates with the Transparency Service, to Register Signed Statements on behalf of one or more issuers.
Authentication and authorization is implementation-specific, and out of scope of the SCITT Architecture.</t>
            </li>
            <li>
              <t><strong>Issuer Verification:</strong> The Transparency Service <bcp14>MUST</bcp14> perform resolution of the Issuer's identity, which may be different than the Client identity.
  This step may require that the service retrieves the Issuer ID in real-time, or rely on a cache of recent resolutions.
  For auditing, during Registration, the Transparency Service <bcp14>MUST</bcp14> store evidence of the lookup, including if it was resolved from a cache.</t>
            </li>
            <li>
              <t><strong>Signature verification:</strong> The Transparency Service <bcp14>MUST</bcp14> verify the signature of the Signed Statement, as described in <xref target="RFC9360"/>, using the signature algorithm and verification key of the Issuer.</t>
            </li>
            <li>
              <t><strong>Signed Statement validation:</strong> The Transparency Service <bcp14>MUST</bcp14> check that the Signed Statement includes the required protected headers listed above.
The Transparency Service <bcp14>MAY</bcp14> verify the Statement payload format, content and other optional properties.</t>
            </li>
            <li>
              <t><strong>Apply Registration Policy:</strong> The Transparency Service <bcp14>MUST</bcp14> check the attributes required by a policy are present in the protected headers.
  Custom Signed Statements are evaluated given the current Transparency Service state and the entire Envelope, and may use information contained in the attributes of named policies.</t>
            </li>
            <li>
              <t><strong>Register the Signed Statement</strong> to the append-only log.</t>
            </li>
            <li>
              <t><strong>Return the Receipt</strong>, which <bcp14>MAY</bcp14> be asynchronous from registration.
The Transparency Service <bcp14>MUST</bcp14> be able to provide a receipt for all registered Statements.
A receipt for a Signed Statement <bcp14>MAY</bcp14> be provided asynchronously.
Details about generating Receipts are described in <xref target="Receipt"/>.</t>
            </li>
          </ol>
          <t>The last two steps may be shared between a batch of Signed Statements recorded in the Append-only Log.</t>
          <t>A Transparency Service <bcp14>MUST</bcp14> ensure that a Signed Statement is registered before releasing its Receipt.</t>
          <t>The same Signed Statement may be independently registered in multiple Transparency Services, producing multiple, independent Receipts.
The multiple receipts may be attached to the unprotected header of the Signed Statement, creating a Transparent Statement.</t>
        </section>
      </section>
      <section anchor="Receipt">
        <name>Transparent Statements</name>
        <t>The Client (which is not necessarily the Issuer) that registers a Signed Statement and receives a Receipt can produce a Transparent Statement by adding the Receipt to the Unprotected Header of the Signed Statement.
Client applications <bcp14>MAY</bcp14> register Signed Statements on behalf of one or more Issuers.
Client applications <bcp14>MAY</bcp14> request Receipts regardless of the identity of the Issuer of the associated Signed Statement.</t>
        <t>When a Signed Statement is registered by a Transparency Service a Receipt becomes available.
When a Receipt is included in a Signed Statement a Transparent Statement is produced.</t>
        <t>Receipts are based on Signed Inclusion Proofs as described in COSE Signed Merkle Tree Proofs (<xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>).</t>
        <t>The registration time is defined as the timestamp at which the Transparency Service has added this Signed Statement to its Append-only Log.</t>
        <t><strong>Editor's Note:</strong> The WG is discussing if existing CWT claims might better support these design principles.</t>
        <t><xref target="fig-transparent-statement-cddl"/> illustrates a normative CDDL definition of Transparent Statements.</t>
        <figure anchor="fig-transparent-statement-cddl">
          <name>CDDL definition for a Transparent Statement</name>
          <sourcecode type="cddl"><![CDATA[
Transparent_Statement = #6.18(COSE_Sign1)

Unprotected_Header = {
  &(receipts: 394)  => [+ Receipt]
}
]]></sourcecode>
        </figure>
        <figure anchor="fig-transparent-statement-edn">
          <name>CBOR Extended Diagnostic Notation example of a Transparent Statement</name>
          <sourcecode type="cbor-diag"><![CDATA[
18(                                 / COSE Sign 1                   /
    [
      h'a4012603...6d706c65',       / Protected                     /
      {                             / Unprotected                   /
        394: [                      / Receipts (1)                  /
          h'd284586c...4191f9d2'    / Receipt 1                     /
        ]
      },
      nil,                          / Detached payload              /
      h'79ada558...3a28bae4'        / Signature                     /
    ]
)
]]></sourcecode>
        </figure>
        <t><xref target="fig-transparent-statement-edn"/> illustrates a payload that is detached.</t>
        <t>The unprotected header can contain multiple receipts.</t>
        <figure anchor="fig-receipt-protected-header-edn">
          <name>CBOR Extended Diagnostic Notation example of a Receipt's Protected Header</name>
          <sourcecode type="cbor-diag"><![CDATA[
{                                   / Protected                     /
  1: -7,                            / Algorithm                     /
  4: h'50685f55...50523255',        / Key identifier                /
  -111: 1,                          / Verifiable Data Structure     /
  15: {                             / CWT Claims                    /
    1: transparency.vendor.example, / Issuer                        /
    2: vendor.product.example,      / Subject                       /
  }
}
]]></sourcecode>
        </figure>
        <t>Notice the verifiable data structure used is RFC9162_SHA256 in this case.
We know from the COSE Verifiable Data Structure Registry that RFC9162_SHA256 is value 1, and that it supports -1 (inclusion proofs) and -2 (consistency proofs).</t>
        <figure anchor="fig-receipt-edn">
          <name>CBOR Extended Diagnostic Notation example of a Receipt</name>
          <sourcecode type="cbor-diag"><![CDATA[
18(                                 / COSE Sign 1                   /
    [
      h'a4012604...6d706c65',       / Protected                     /
      {                             / Unprotected                   /
        -222: {                     / Proofs                        /
          -1: [                     / Inclusion proofs (1)          /
            h'83080783...32568964', / Inclusion proof 1             /
          ]
        },
      },
      nil,                          / Detached payload              /
      h'10f6b12a...4191f9d2'        / Signature                     /
    ]
)
]]></sourcecode>
        </figure>
        <t>Notice the unprotected header contains verifiable data structure proofs, see the protected header for details regarding the specific verifiable data structure used.</t>
        <figure anchor="fig-receipt-inclusion-proof-edn">
          <name>CBOR Extended Diagnostic Notation example of a Receipt's Inclusion Proof</name>
          <sourcecode type="cbor-diag"><![CDATA[
[                                   / Inclusion proof 1             /
  8,                                / Tree size                     /
  7,                                / Leaf index                    /
  [                                 / Inclusion hashes (3)          /
     h'c561d333...f9850597'         / Intermediate hash 1           /
     h'75f177fd...2e73a8ab'         / Intermediate hash 2           /
     h'0bdaaed3...32568964'         / Intermediate hash 3           /
  ]
]
]]></sourcecode>
        </figure>
        <t>This is a decoded inclusion proof for RFC9162_SHA256, other verifiable data structures might encode inclusion proofs differently.</t>
        <section anchor="validation">
          <name>Validation</name>
          <t>Relying Parties <bcp14>MUST</bcp14> apply the verification process as described in Section 4.4 of RFC9052.</t>
          <t>APIs exposing verification logic for Transparent Statements may provide more details than a single boolean result.
For example, an API may indicate if the signature on the Receipt or Signed Statement is valid, if claims related to the validity period are valid, or if the inclusion proof in the Receipt is valid.</t>
          <t>The algorithm-specific details of checking inclusion proofs are covered in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.
The pseudo-code for validation of a transparent statement is as follows:</t>
          <sourcecode type="python"><![CDATA[
let verify_transparent_statement(t) =
  let receipt = t.unprotected.scitt-receipt
  let version = receipt.protected.scitt-version or fail "Missing SCITT Receipt version"
  assert(version == 1)

  let leaf = COSE.serialize(t with .unprotected = {
    334 => receipt.unprotected.statement-registration-info
  })

  let vds = receipt.protected.verifiable-data-structure of fail "Missing verifiable data structure"
  let root = verify_inclusion_proof(vds, receipt.unprotected.scitt-inclusion-proof, leaf)
    or fail "Failed to verify inclusion proof"

  // Statement registration info has been authenticated by the inclusion proof
  receipt.protected.statement-registration-info = receipt.unprotected.statement-registration-info
  return COSE.verify(receipt, detached_payload=root)
]]></sourcecode>
          <t>Before checking a Transparent Statement, the Verifier must be configured with one or more identities of trusted Transparency Services.</t>
          <t>Relying Parties <bcp14>MAY</bcp14> be configured to re-verify the Issuer's Signed Statement locally, but this requires a fresh resolution of the Issuer's verification keys, which <bcp14>MAY</bcp14> fail if the key has been revoked.</t>
          <t>Some Relying Parties <bcp14>MAY</bcp14> decide to locally re-apply some or all of the Registration Policies, if they have limited trust in the Transparency Services.
In addition, Relying Parties <bcp14>MAY</bcp14> apply arbitrary validation policies after the Transparent Statement has been verified and validated.
Such policies may use as input all information in the Envelope, the Receipt, and the Statement payload, as well as any local state.</t>
          <t>Relying Parties <bcp14>MAY</bcp14> offer options to store or share the Receipt of the Transparent Statement for auditing the Transparency Services in case a dispute arises.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Transparency Services are often publicly accessible.
Issuers should treat Signed Statements (rendering them as Transparent Statements) as publicly accessible.
In particular, a Signed Statement Envelope and Statement payload should not carry any private information in plaintext.</t>
      <t>Transparency Services can have an authorization policy controlling who can access the Append-only Log.
While this can be used to limit who can read the Log, it may also limit the usefulness of the system.</t>
      <t>Some jurisdictions have a Right to be Forgotten.
However, once a Signed Statement is inserted into the Append-only Log maintained by a Transparency Service, it cannot be removed from the Log.</t>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>On its own, verifying a Transparent Statement does not guarantee that its Envelope or contents are trustworthy.
Just that they have been signed by the apparent Issuer and counter-signed by the Transparency Service.
If the Verifier trusts the Issuer, it can infer that an Issuer's Signed Statement was issued with this Envelope and contents, which may be interpreted as the Issuer saying the Artifact is fit for its intended purpose.
If the Verifier trusts the Transparency Service, it can independently infer that the Signed Statement passed the Transparency Service Registration Policy and that has been persisted in the Append-only Log.
Unless advertised in the Transparency Service Registration Policy, the Verifier cannot assume that the ordering of Signed Statements in the Append-only Log matches the ordering of their issuance.</t>
      <t>Similarly, the fact that an Issuer can be held accountable for its Transparent Statements does not on its own provide any mitigation or remediation mechanism in case one of these Transparent Statements turned out to be misleading or malicious.
Just that signed evidence will be available to support them.</t>
      <t>An Issuer that knows of a changed state of quality for an Artifact, <bcp14>SHOULD</bcp14> Register a new Signed Statement, using the same <tt>15</tt> CWT <tt>iss</tt> and <tt>sub</tt> claims.</t>
      <t>Issuers <bcp14>MUST</bcp14> ensure that the Statement payloads in their Signed Statements are correct and unambiguous, for example by avoiding ill-defined or ambiguous formats that may cause Relying Parties to interpret the Signed Statement as valid for some other purpose.</t>
      <t>Issuers and Transparency Services <bcp14>MUST</bcp14> carefully protect their private signing keys and avoid these keys being used for any purpose not described in this architecture document.
In cases where key re-use is unavoidable, keys <bcp14>MUST NOT</bcp14> sign any other message that may be verified as an Envelope as part of a Signed Statement.</t>
      <t>Each of these functions <bcp14>MUST</bcp14> be carefully protected against both external attacks and internal misbehavior by some or all of the operators of the Transparency Service.</t>
      <t>For instance, the code for the Registration Policy evaluation and endorsement may be protected by running in a Trusted Execution Environment (TEE).</t>
      <t>The Transparency Service may be replicated with a consensus algorithm, such as Practical Byzantine Fault Tolerance <xref target="PBFT"/> and may be used to protect against malicious or vulnerable replicas.
Threshold signatures may be use to protect the service key, etc.</t>
      <t>Issuers and Transparency Services <bcp14>MUST</bcp14> rotate verification keys for signature checking in well-defined cryptoperiods (see <xref target="KEY-MANAGEMENT"/>).</t>
      <t>A Transparency Service <bcp14>MAY</bcp14> provide additional authenticity assurances about its secure implementation and operation, enabling remote attestation of the hardware platforms and/or software Trusted Computing Bases (TCB) that run the Transparency Service.
If present, these additional authenticity assurances <bcp14>MUST</bcp14> be registered in the Append-only Log and <bcp14>MUST</bcp14> always be exposed by the Transparency Services' APIs.
An example of Signed Statement's payloads that can improve authenticity assurances are trustworthiness assessments that are RATS Conceptual Messages, such as Evidence, Endorsements, or corresponding Attestation Results (see <xref target="RFC9334"/>).</t>
      <t>For example, if a Transparency Service is implemented using a set of redundant replicas, each running within its own hardware-protected trusted execution environments (TEEs), then each replica can provide fresh Evidence or fresh Attestation Results about its TEEs. The respective Evidence can show, for example, the binding of the hardware platform to the software that runs the Transparency Service, the long-term public key of the service, or the key used by the replica for signing Receipts. The respective Attestation Result, for example, can show that the remote attestation Evidence was appraised by a trusted Verifier and complies with well-known Reference Values and Endorsements.</t>
      <section anchor="sec-security-guarantees">
        <name>Security Guarantees</name>
        <t>SCITT provides the following security guarantees:</t>
        <ol spacing="normal" type="1"><li>
            <t>Statements made by Issuers about supply chain Artifacts are identifiable, authentic, and non-repudiable</t>
          </li>
          <li>
            <t>Statement provenance and history can be independently and consistently audited</t>
          </li>
          <li>
            <t>Issuers can efficiently prove that their Statement is logged by a Transparency Service</t>
          </li>
        </ol>
        <t>The first guarantee is achieved by requiring Issuers to sign their Statements and associated metadata using a distributed public key infrastructure.
The second guarantee is achieved by storing the Signed Statement on an Append-only Log.
The third guarantee is achieved by implementing the Append-only Log using a verifiable data structure (such as a Merkle Tree <xref target="MERKLE"/>).</t>
      </section>
      <section anchor="sec-threat-model">
        <name>Threat Model</name>
        <t>The document provides a generic threat model for SCITT, describing its residual security properties when some of its actors (identity providers, Issuers, Transparency Services, and Auditors) are corrupt or compromised.</t>
        <t>This model may need to be refined to account for specific supply chains and use cases.</t>
        <t>SCITT primarily supports checking of Signed Statement authenticity, both from the Issuer (authentication) and from the Transparency Service (transparency).
These guarantees are meant to hold for extensive periods of time, possibly decades.</t>
        <t>It can never be assumed that some Issuers and some Transparency Services will not be corrupt.</t>
        <t>SCITT entities explicitly trust one another on the basis of their long-term identity, which maps to shorter-lived cryptographic credentials.
A Verifier <bcp14>SHOULD</bcp14> validate a Transparent Statement originating from a given Issuer, registered at a given Transparency Service (both identified in the Verifier's local authorization policy) and would not depend on any other Issuer or Transparency Services.</t>
        <t>Authorized supply chain actors (Issuers) cannot be stopped from producing Signed Statements including false assertions in their Statement payload (either by mistake or by corruption), but these Issuers can made accountable by ensuring their Signed Statements are systematically registered at a trustworthy Transparency Service.</t>
        <t>Similarly, providing strong residual guarantees against faulty/corrupt Transparency Services is a SCITT design goal.
Preventing a Transparency Service from registering Signed Statements that do not meet its stated Registration Policy, or to issue Receipts that are not consistent with their Append-only Log is not possible.
In contrast Transparency Services can be held accountable and they can be called out by any Auditor that replays their Append-only Log against any contested Receipt.
Note that the SCITT Architecture does not require trust in a single centralized Transparency Service.
Different actors may rely on different Transparency Services, each registering a subset of Signed Statements subject to their own policy.</t>
        <t>In both cases, the SCITT Architecture provides generic, universally-verifiable cryptographic proof to individually blame Issuers or the Transparency Service.
On one hand, this enables valid actors to detect and disambiguate malicious actors who employ Equivocation with Signed Statements to different entities.
On the other hand, their liability and the resulting damage to their reputation are application specific, and out of scope of the SCITT Architecture.</t>
        <t>Relying Parties and Auditors need not be trusted by other actors.
In particular, so long as actors maintain proper control of their signing keys and identity infrastructure they cannot "frame" an Issuer or a Transparency Service for Signed Statements they did not issue or register.</t>
        <section anchor="sec-append-only-log-1">
          <name>Append-only Log</name>
          <t>If a Transparency Service is honest, then a Transparent Statement including a correct Receipt ensures that the associated Signed Statement passed its Registration Policy and was recorded appropriately.</t>
          <t>Conversely, a corrupt Transparency Service may:</t>
          <ol spacing="normal" type="1"><li>
              <t>refuse or delay the Registration of Signed Statements</t>
            </li>
            <li>
              <t>register Signed Statements that do not pass its Registration Policy (e.g., Signed Statement with Issuer identities and signatures that do not verify)</t>
            </li>
            <li>
              <t>issue verifiable Receipts for Signed Statements that do not match its Append-only Log</t>
            </li>
            <li>
              <t>refuse access to its Transparency Service (e.g., to Auditors, possibly after storage loss)</t>
            </li>
          </ol>
          <t>An Auditor granted (partial) access to a Transparency Service and to a collection of disputed Receipts will be able to replay it, detect any invalid Registration (2) or incorrect Receipt in this collection (3), and blame the Transparency Service for them.
This ensures any Verifier that trusts at least one such Auditor that (2, 3) will be blamed to the Transparency Service.</t>
          <t>Due to the operational challenge of maintaining a globally consistent Append-only Log, some Transparency Services may provide limited support for historical queries on the Signed Statements they have registered, and accept the risk of being blamed for inconsistent Registration or Issuer Equivocation.</t>
          <t>Relying Parties and Auditors may also witness (1, 4) but may not be able to collect verifiable evidence for it.</t>
        </section>
        <section anchor="sec-availability-of-receipts">
          <name>Availability of Receipts</name>
          <t>Networking and Storage are trusted only for availability.</t>
          <t>Auditing may involve access to data beyond what is persisted in the Transparency Services.
For example, the registered Transparency Service may include only the hash of a detailed SBOM, which may limit the scope of auditing.</t>
          <t>Resistance to denial-of-service is implementation specific.</t>
          <t>Actors may want to independently keep their own record of the Signed Statements they issue, endorse, verify, or audit.</t>
        </section>
        <section anchor="sec-confidentiality-and-privacy">
          <name>Confidentiality and Privacy</name>
          <t>According to Zero Trust Principles any location in a network is never trusted.
All contents exchanged between actors is protected using secure authenticated channels (e.g., TLS) but may not exclude network traffic analysis.</t>
          <t>The Transparency Service is trusted with the confidentiality of the Signed Statements presented for Registration.
Some Transparency Services may publish every Signed Statement in their logs, to facilitate their dissemination and auditing.
Transparency Services <bcp14>MAY</bcp14> return Receipts to client applications synchronously or asynchronously.</t>
          <t>A collection of Signed Statements must not leak information about the contents of other Signed Statements registered on the Transparency Service.</t>
          <t>Issuers must carefully review the inclusion of private/confidential materials in their Statements.
For example, Issuers must remove Personally Identifiable Information (PII) as clear text in the statement.
Alternatively, Issuers may include opaque cryptographic statements, such as hashes.</t>
          <t>The confidentiality of queries is implementation-specific, and generally not guaranteed.
For example, while offline Envelope validation of Signed Statements is private, a Transparency Service may monitor which of its Transparent Statements are being verified from lookups to ensure their freshness.</t>
        </section>
        <section anchor="sec-cryptographic-agility">
          <name>Cryptographic Agility</name>
          <t>The SCITT Architecture supports cryptographic agility.
The actors depend only on the subset of signing and Receipt schemes they trust.
This enables the gradual transition to stronger algorithms, including e.g. post-quantum signature algorithms.</t>
        </section>
        <section anchor="sec-transparency-service-client-applications">
          <name>Transparency Service Client Applications</name>
          <t>Authentication of Client applications is out of scope for this document.
Transparency Services <bcp14>MUST</bcp14> authenticate both client applications and the Issuer of signed statements in order to ensure that implementation specific authentication and authorization policies are enforced.
The specification of authentication and authorization policies is out of scope for this document.</t>
        </section>
        <section anchor="sec-impersonation">
          <name>Impersonation</name>
          <t>The identity resolution mechanism is trusted to associate long-term identifiers with their public signature-verification keys.
Transparency Services and other parties may record identity-resolution evidence to facilitate its auditing.</t>
          <t>If one of the credentials of an Issuer gets compromised, the SCITT Architecture still guarantees the authenticity of all Signed Statements signed with this credential that have been registered on a Transparency Service before the compromise.
It is up to the Issuer to notify Transparency Services of credential revocation to stop Relying Parties from accepting Signed Statements signed with compromised credentials.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD; <xref target="mybody"/>.</t>
      <section anchor="sec-media-type-registration">
        <name>Media Type Registration</name>
        <t>This section requests registration of the following media types <xref target="RFC2046"/> in
the "Media Types" registry <xref target="IANA.media-types"/> in the manner described
in <xref target="RFC6838"/>.</t>
        <t>To indicate that the content is an scitt configuration represented as JSON:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: scitt-configuration+json</t>
          </li>
          <li>
            <t>Required parameters: n/a</t>
          </li>
          <li>
            <t>Optional parameters: n/a</t>
          </li>
          <li>
            <t>Encoding considerations: binary; application/scitt-configuration+json values are represented as a JSON Object; UTF-8 encoding <bcp14>SHOULD</bcp14> be employed for the JSON object.</t>
          </li>
          <li>
            <t>Security considerations: See the Security Considerations section of TBD.</t>
          </li>
          <li>
            <t>Interoperability considerations: n/a</t>
          </li>
          <li>
            <t>Published specification: TBD</t>
          </li>
          <li>
            <t>Applications that use this media type: TBD</t>
          </li>
          <li>
            <t>Fragment identifier considerations: n/a</t>
          </li>
          <li>
            <t>Additional information:
            </t>
            <ul spacing="normal">
              <li>
                <t>Magic number(s): n/a</t>
              </li>
              <li>
                <t>File extension(s): n/a</t>
              </li>
              <li>
                <t>Macintosh file type code(s): n/a</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: TBD</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: TBD</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Provisional registration?  No</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2046">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2046"/>
          <seriesInfo name="DOI" value="10.17487/RFC2046"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </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>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="COSWID">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="J. Fitzgerald-McKay" initials="J." surname="Fitzgerald-McKay"/>
            <author fullname="C. Schmidt" initials="C." surname="Schmidt"/>
            <author fullname="D. Waltermire" initials="D." surname="Waltermire"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an extensible XML-based structure to identify and describe individual software components, patches, and installation bundles. SWID tag representations can be too large for devices with network and storage constraints. This document defines a concise representation of SWID tags: Concise SWID (CoSWID) tags. CoSWID supports a set of semantics and features that are similar to those for SWID tags, as well as new semantics that allow CoSWIDs to describe additional types of information, all in a more memory-efficient format.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9393"/>
          <seriesInfo name="DOI" value="10.17487/RFC9393"/>
        </reference>
        <reference anchor="CWT_CLAIMS_COSE">
          <front>
            <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
            <author fullname="Tobias Looker" initials="T." surname="Looker">
              <organization>Mattr</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <date day="29" month="November" year="2023"/>
            <abstract>
              <t>   This document describes how to include CBOR Web Token (CWT) claims in
   the header parameters of any COSE structure.  This functionality
   helps to facilitate applications that wish to make use of CBOR Web
   Token (CWT) claims in encrypted COSE structures and/or COSE
   structures featuring detached signatures, while having some of those
   claims be available before decryption and/or without inspecting the
   detached payload.  Another use case is using CWT claims with payloads
   that are not CWT Claims Sets, including payloads that are not CBOR at
   all.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cwt-claims-in-headers-10"/>
        </reference>
        <reference anchor="IANA.cwt" target="http://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="http://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.named-information" target="http://www.iana.org/assignments/named-information">
          <front>
            <title>Named Information</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC6570">
          <front>
            <title>URI Template</title>
            <author fullname="J. Gregorio" initials="J." surname="Gregorio"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="M. Hadley" initials="M." surname="Hadley"/>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="D. Orchard" initials="D." surname="Orchard"/>
            <date month="March" year="2012"/>
            <abstract>
              <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6570"/>
          <seriesInfo name="DOI" value="10.17487/RFC6570"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.draft-ietf-cose-merkle-tree-proofs">
          <front>
            <title>COSE Receipts</title>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <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</organization>
            </author>
            <author fullname="Cedric Fournet" initials="C." surname="Fournet">
              <organization>Microsoft</organization>
            </author>
            <date day="2" month="March" year="2024"/>
            <abstract>
              <t>   COSE (CBOR Object Signing and Encryption) Receipts prove properties
   of a verifiable data structure to a verifier.  Verifiable data
   structures and associated proof types enable security properties,
   such as minimal disclosure, transparency and non-equivocation.
   Transparency helps maintain trust over time, and has been applied to
   certificates, end to end encrypted messaging systems, and supply
   chain security.  This specification enables concise transparency
   oriented systems, by building on CBOR (Concise Binary Object
   Representation) and COSE.  The extensibility of the approach is
   demonstrated by providing CBOR encodings for RFC9162.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-merkle-tree-proofs-04"/>
        </reference>
        <reference anchor="RFC2397">
          <front>
            <title>The "data" URL scheme</title>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="August" year="1998"/>
            <abstract>
              <t>A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2397"/>
          <seriesInfo name="DOI" value="10.17487/RFC2397"/>
        </reference>
        <reference anchor="RFC8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo name="DOI" value="10.17487/RFC8141"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="CWT_CLAIMS" target="https://www.iana.org/assignments/cwt/cwt.xhtml">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CycloneDX" target="https://cyclonedx.org/specification/overview/">
          <front>
            <title>CycloneDX</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="EQUIVOCATION">
          <front>
            <title>Attested append-only memory: making adversaries stick to their word</title>
            <author fullname="Byung-Gon Chun" initials="B." surname="Chun">
              <organization>UC Berkeley, Berkeley</organization>
            </author>
            <author fullname="Petros Maniatis" initials="P." surname="Maniatis">
              <organization>Intel Research Berkeley, Berkeley</organization>
            </author>
            <author fullname="Scott Shenker" initials="S." surname="Shenker">
              <organization>UC Berkeley, Berkeley</organization>
            </author>
            <author fullname="John Kubiatowicz" initials="J." surname="Kubiatowicz">
              <organization>UC Berkeley, Berkeley</organization>
            </author>
            <date month="October" year="2007"/>
          </front>
          <seriesInfo name="ACM SIGOPS Operating Systems Review" value="vol. 41, no. 6, pp. 189-204"/>
          <seriesInfo name="DOI" value="10.1145/1323293.1294280"/>
          <refcontent>Association for Computing Machinery (ACM)</refcontent>
        </reference>
        <reference anchor="in-toto" target="https://in-toto.io/">
          <front>
            <title>in-toto</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MERKLE">
          <front>
            <title>A Digital Signature Based on a Conventional Encryption Function</title>
            <author fullname="Ralph C. Merkle" initials="R." surname="Merkle">
              <organization/>
            </author>
            <date year="1988"/>
          </front>
          <seriesInfo name="Advances in Cryptology — CRYPTO ’87" value="pp. 369-378"/>
          <seriesInfo name="DOI" value="10.1007/3-540-48184-2_32"/>
          <seriesInfo name="ISBN" value="[&quot;9783540187967&quot;, &quot;9783540481843&quot;]"/>
          <refcontent>Springer Berlin Heidelberg</refcontent>
        </reference>
        <reference anchor="PBFT">
          <front>
            <title>Practical byzantine fault tolerance and proactive recovery</title>
            <author fullname="Miguel Castro" initials="M." surname="Castro">
              <organization>Microsoft Research</organization>
            </author>
            <author fullname="Barbara Liskov" initials="B." surname="Liskov">
              <organization>MIT Laboratory for Computer Science</organization>
            </author>
            <date month="November" year="2002"/>
          </front>
          <seriesInfo name="ACM Transactions on Computer Systems" value="vol. 20, no. 4, pp. 398-461"/>
          <seriesInfo name="DOI" value="10.1145/571637.571640"/>
          <refcontent>Association for Computing Machinery (ACM)</refcontent>
        </reference>
        <reference anchor="SLSA" target="https://slsa.dev/">
          <front>
            <title>SLSA</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SPDX-CBOR" target="https://spdx.dev/use/specifications/">
          <front>
            <title>SPDX Specification</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SPDX-JSON" target="https://spdx.dev/use/specifications/">
          <front>
            <title>SPDX Specification</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SWID" target="https://csrc.nist.gov/Projects/Software-Identification-SWID/guidelines">
          <front>
            <title>SWID Specification</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="URLs" target="https://url.spec.whatwg.org/">
          <front>
            <title>URL Living Standard</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.draft-ietf-core-href">
          <front>
            <title>Constrained Resource Identifiers</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="9" month="January" year="2024"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that represents the URI components
   in Concise Binary Object Representation (CBOR) instead of a sequence
   of characters.  This simplifies parsing, comparison, and reference
   resolution in environments with severe limitations on processing
   power, code size, and memory size.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present revision –14 of this draft picks up comments from the
   // shepherd review and adds sections on CoAP integration and on cri
   // application-oriented literals for the Extended Diagnostic
   // Notation.  This revision still contains open issues and is
   // intended to serve as a snapshot while the processing of the
   // shepherd review is being completed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-14"/>
        </reference>
        <reference anchor="KEY-MANAGEMENT">
          <front>
            <title>Recommendation for key management:: part 2 -- best practices for key management organizations</title>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="William C Barker" initials="W." surname="Barker">
              <organization/>
            </author>
            <date month="May" year="2019"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-57pt2r1"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
      </references>
    </references>
    <?line 936?>

<section anchor="sec-identifiers">
      <name>Identifiers</name>
      <t>This section provides informative examples of identifiers for statements, signed statements, and receipts.</t>
      <t>SCITT Identifiers are primarily meant to be understood by humans and secondarily meant to be understood by machines, as such we define text encodings for message identifiers first, and then provide binary translations according to standard transformations for URLs and URNs to binary formats.</t>
      <t>SCITT Identifiers for URLs and URNs that are not Data URLs <bcp14>MUST</bcp14> be represented in binary using <xref target="I-D.draft-ietf-core-href"/>.</t>
      <t>For each SCITT conceptual message, we define a Data URL format according to <xref target="RFC2397"/>, a URN format according to <xref target="RFC8141"/> and a URL format according to <xref target="URLs"/>.</t>
      <t>Note that Data URLs require base64 encoding, but the URN definitions require base64url encoding.</t>
      <t>Resolution and dereferencing of these identifiers is out of scope for this document, and can be implemented by any concrete api implementing the abstract interface defined as follows:</t>
      <artwork><![CDATA[
resource: content-type = dereference(identifier: identifier-type)
]]></artwork>
      <t>These identifiers <bcp14>MAY</bcp14> be present in a <tt>tstr</tt> field that does not otherwise restrict the string in ways that prevent a URN or URL from being present.</t>
      <t>This includes <tt>iss</tt>, and <tt>sub</tt> which are used to express the Issuer and subject of a signed statement or receipt.</t>
      <t>This also includes <tt>kid</tt> which is used to express a hint for which public key should be used to verify a signature.</t>
      <t>All SCITT identifiers share common parameters to promote interoperability:</t>
      <t>Let hash-name be an algorithm name registered in <xref target="IANA.named-information"/>.</t>
      <t>To promote interoperability, the hash-name <bcp14>MUST</bcp14> be "sha-256".</t>
      <t>Let base-encoding, be a base encoding defined in <xref target="RFC4648"/>.</t>
      <t>To promote interoperability, the base encoding <bcp14>MUST</bcp14> be "base64url".</t>
      <t>In the blocks and examples that follow, note '' line wrapping per RFC 8792.</t>
      <section anchor="sec-for-binary-content">
        <name>For Binary Content</name>
        <t>Identifiers for binary content, such as Statements, or even Artifacts themselves are computed as follows:</t>
        <t>Let the <tt>base64url-encoded-bytes-digest</tt> for the message be the base64url encoded digest with the chosen hash algorithm of bytes / octets.</t>
        <t>Let the SCITT name for the message be the URN constructed from the following URI template, according to <xref target="RFC6570"/>:</t>
        <t>Let the <tt>message-type</tt>, be "statement" for Statements and Artifacts.</t>
        <artwork><![CDATA[
urn:ietf:params:scitt:\
{message-type}:\
{hash-name}:{base-encoding}:\
{base64url-encoded-bytes-digest}
]]></artwork>
      </section>
      <section anchor="sec-for-scitt-messages">
        <name>For SCITT Messages</name>
        <t>Identifiers for COSE Sign 1 based messages, such as identifiers for Signed Statements and Receipts are computed as follows:</t>
        <t>Let the <tt>base64url-encoded-to-be-signed-bytes-digest</tt> for the message be the base64url encoded digest with the chosen hash algorithm of the "to-be-signed bytes", according to <xref section="8.1" sectionFormat="of" target="RFC9052"/>.</t>
        <t>Let the SCITT name for the message be the URN constructed from the following URI template, according to <xref target="RFC6570"/>:</t>
        <t>Let the <tt>message-type</tt>, be "signed-statement" for Signed Statements, and "receipt" for Receipts.</t>
        <artwork><![CDATA[
urn:ietf:params:scitt:\
{message-type}:\
{hash-name}:{base-encoding}:\
{base64url-encoded-to-be-signed-bytes-digest}
]]></artwork>
        <t>Note that this means the content of the signature is not included in the identifier, even though signature related claims, such as activation or expiration information in protected headers are included.</t>
        <t>As a result, an attacker may construct a new signed statement that has the same identifier as a previous signed statement, but has a different signature.</t>
      </section>
      <section anchor="sec-for-transparent-statements">
        <name>For Transparent Statements</name>
        <t>Identifiers for Transparent Statements are defined as identifiers for binary content, but with "transparent-statement" as the <tt>message-type</tt>.</t>
        <artwork><![CDATA[
urn:ietf:params:scitt:\
{message-type}:\
{hash-name}:{base-encoding}:\
{base64url-encoded-bytes-digest}
]]></artwork>
        <t>Note that because this identifier is computed over the unprotected header of the Signed Statement, any changes to the unprotected header, such as changing the order of the unprotected header map key value pairs, adding additional receipts, or adding additional proofs to a receipt, will change the identifier of a transparent statement.</t>
        <t>Note that because this identifier is computed over the signatures of the signed statement and signatures in each receipt, any canonicalization of the signatures after the fact will produce a distinct identifier.</t>
      </section>
      <section anchor="sec-statements">
        <name>Statements</name>
        <section anchor="sec-statement-urn">
          <name>Statement URN</name>
          <figure anchor="example-statement-urn">
            <name>Example Statement URN</name>
            <artwork align="left"><![CDATA[
urn:ietf:params:scitt:statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-statement-url">
          <name>Statement URL</name>
          <figure anchor="example-statement-url">
            <name>Example Statement URL</name>
            <artwork align="left"><![CDATA[
https://transparency.example/api/identifiers\
/urn:ietf:params:scitt:statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-statement-data-url">
          <name>Statement Data URL</name>
          <figure anchor="example-statement-data-url">
            <name>Example Statement Data URL</name>
            <artwork align="left"><![CDATA[
data:application/json;base64,SGVsb...xkIQ==
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="sec-signed-statements-1">
        <name>Signed Statements</name>
        <section anchor="sec-signed-statement-urn">
          <name>Signed Statement URN</name>
          <figure anchor="example-signed-statement-urn">
            <name>Example Signed Statement URN</name>
            <artwork align="left"><![CDATA[
urn:ietf:params:scitt:\
signed-statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-signed-statement-url">
          <name>Signed Statement URL</name>
          <figure anchor="example-signed-statement-url">
            <name>Example Signed Statement URL</name>
            <artwork align="left"><![CDATA[
https://transparency.example/api/identifiers\
/urn:ietf:params:scitt:\
signed-statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-signed-statement-data-url">
          <name>Signed Statement Data URL</name>
          <figure anchor="example-signed-statement-data-url">
            <name>Example Signed Statement Data URL</name>
            <artwork align="left"><![CDATA[
data:application/cose;base64,SGVsb...xkIQ==
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="sec-receipts">
        <name>Receipts</name>
        <section anchor="sec-receipt-urn">
          <name>Receipt URN</name>
          <figure anchor="example-receipt-urn">
            <name>Example Receipt URN</name>
            <artwork align="left"><![CDATA[
urn:ietf:params:scitt:receipt:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-receipt-url">
          <name>Receipt URL</name>
          <figure anchor="example-receipt-url">
            <name>Example Receipt URL</name>
            <artwork align="left"><![CDATA[
https://transparency.example/api/identifiers\
/urn:ietf:params:scitt:receipt:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-receipt-data-url">
          <name>Receipt Data URL</name>
          <figure anchor="example-receipt-data-url">
            <name>Example Receipt Data URL</name>
            <artwork align="left"><![CDATA[
data:application/cose;base64,SGVsb...xkIQ==
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="sec-transparent-statements">
        <name>Transparent Statements</name>
        <section anchor="sec-transparent-statement-urn">
          <name>Transparent Statement URN</name>
          <figure anchor="example-transparent-statement-urn">
            <name>Example Transparent Statement URN</name>
            <artwork align="left"><![CDATA[
urn:ietf:params:scitt:\
transparent-statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-transparent-statement-url">
          <name>Transparent Statement URL</name>
          <figure anchor="example-transparent-statement-url">
            <name>Example Transparent Statement URL</name>
            <artwork align="left"><![CDATA[
https://transparency.example/api/identifiers\
/urn:ietf:params:scitt:\
transparent-statement:sha-256:base64url:5i6UeRzg1...qnGmr1o
]]></artwork>
          </figure>
        </section>
        <section anchor="sec-transparent-statement-data-url">
          <name>Transparent Statement Data URL</name>
          <figure anchor="example-transparent-statement-data-url">
            <name>Example Transparent Statement Data URL</name>
            <artwork align="left"><![CDATA[
data:application/cose;base64,SGVsb...xkIQ==
]]></artwork>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="sec-signing-statements-remotely">
      <name>Signing Statements Remotely</name>
      <t>Statements, such as digital artifacts or structured data regarding artifacts, can be too large or too sensitive to be send to a remote Transparency Services over the Internet.
In these cases a statement can also be hash, which becomes the payload included in COSE to-be-signed bytes.
A Signed Statement (cose-sign1) <bcp14>MUST</bcp14> be produced from the to-be-signed bytes according to <xref section="4.4" sectionFormat="of" target="RFC9052"/>.</t>
      <artset>
        <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="736" width="376" viewBox="0 0 376 736" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
            <path d="M 8,112 L 8,144" fill="none" stroke="black"/>
            <path d="M 8,416 L 8,432" fill="none" stroke="black"/>
            <path d="M 40,64 L 40,80" fill="none" stroke="black"/>
            <path d="M 40,176 L 40,200" fill="none" stroke="black"/>
            <path d="M 56,64 L 56,104" fill="none" stroke="black"/>
            <path d="M 56,456 L 56,480" fill="none" stroke="black"/>
            <path d="M 56,512 L 56,584" fill="none" stroke="black"/>
            <path d="M 56,656 L 56,680" fill="none" stroke="black"/>
            <path d="M 104,416 L 104,432" fill="none" stroke="black"/>
            <path d="M 144,128 L 144,224" fill="none" stroke="black"/>
            <path d="M 272,432 L 272,520" fill="none" stroke="black"/>
            <path d="M 272,560 L 272,584" fill="none" stroke="black"/>
            <path d="M 328,192 L 328,288" fill="none" stroke="black"/>
            <path d="M 328,352 L 328,584" fill="none" stroke="black"/>
            <path d="M 40,32 L 112,32" fill="none" stroke="black"/>
            <path d="M 40,64 L 112,64" fill="none" stroke="black"/>
            <path d="M 40,112 L 112,112" fill="none" stroke="black"/>
            <path d="M 128,128 L 144,128" fill="none" stroke="black"/>
            <path d="M 40,144 L 112,144" fill="none" stroke="black"/>
            <path d="M 264,160 L 336,160" fill="none" stroke="black"/>
            <path d="M 144,176 L 168,176" fill="none" stroke="black"/>
            <path d="M 216,176 L 240,176" fill="none" stroke="black"/>
            <path d="M 264,192 L 336,192" fill="none" stroke="black"/>
            <path d="M 40,208 L 104,208" fill="none" stroke="black"/>
            <path d="M 120,224 L 144,224" fill="none" stroke="black"/>
            <path d="M 40,240 L 104,240" fill="none" stroke="black"/>
            <path d="M 24,400 L 88,400" fill="none" stroke="black"/>
            <path d="M 104,432 L 272,432" fill="none" stroke="black"/>
            <path d="M 24,448 L 88,448" fill="none" stroke="black"/>
            <path d="M 24,480 L 112,480" fill="none" stroke="black"/>
            <path d="M 24,512 L 112,512" fill="none" stroke="black"/>
            <path d="M 240,528 L 296,528" fill="none" stroke="black"/>
            <path d="M 240,560 L 296,560" fill="none" stroke="black"/>
            <path d="M 40,592 L 152,592" fill="none" stroke="black"/>
            <path d="M 216,592 L 352,592" fill="none" stroke="black"/>
            <path d="M 144,624 L 200,624" fill="none" stroke="black"/>
            <path d="M 8,656 L 120,656" fill="none" stroke="black"/>
            <path d="M 216,656 L 352,656" fill="none" stroke="black"/>
            <path d="M 24,688 L 112,688" fill="none" stroke="black"/>
            <path d="M 24,720 L 112,720" fill="none" stroke="black"/>
            <path d="M 200,624 L 216,656" fill="none" stroke="black"/>
            <path d="M 352,592 L 368,624" fill="none" stroke="black"/>
            <path d="M 176,176 L 196,216" fill="none" stroke="black"/>
            <path d="M 196,136 L 216,176" fill="none" stroke="black"/>
            <path d="M 176,176 L 196,136" fill="none" stroke="black"/>
            <path d="M 196,216 L 216,176" fill="none" stroke="black"/>
            <path d="M 8,656 L 40,592" fill="none" stroke="black"/>
            <path d="M 120,656 L 152,592" fill="none" stroke="black"/>
            <path d="M 200,624 L 216,592" fill="none" stroke="black"/>
            <path d="M 352,656 L 368,624" fill="none" stroke="black"/>
            <path d="M 40,32 C 31.16936,32 24,39.16936 24,48" fill="none" stroke="black"/>
            <path d="M 112,32 C 120.83064,32 128,39.16936 128,48" fill="none" stroke="black"/>
            <path d="M 40,64 C 31.16936,64 24,56.83064 24,48" fill="none" stroke="black"/>
            <path d="M 112,64 C 120.83064,64 128,56.83064 128,48" fill="none" stroke="black"/>
            <path d="M 24,96 C 15.16936,96 8,103.16936 8,112" fill="none" stroke="black"/>
            <path d="M 24,96 C 32.83064,96 40,88.83064 40,80" fill="none" stroke="black"/>
            <path d="M 40,112 C 31.16936,112 24,119.16936 24,128" fill="none" stroke="black"/>
            <path d="M 112,112 C 120.83064,112 128,119.16936 128,128" fill="none" stroke="black"/>
            <path d="M 40,144 C 31.16936,144 24,136.83064 24,128" fill="none" stroke="black"/>
            <path d="M 112,144 C 120.83064,144 128,136.83064 128,128" fill="none" stroke="black"/>
            <path d="M 24,160 C 15.16936,160 8,152.83064 8,144" fill="none" stroke="black"/>
            <path d="M 24,160 C 32.83064,160 40,167.16936 40,176" fill="none" stroke="black"/>
            <path d="M 264,160 C 255.16936,160 248,167.16936 248,176" fill="none" stroke="black"/>
            <path d="M 336,160 C 344.83064,160 352,167.16936 352,176" fill="none" stroke="black"/>
            <path d="M 264,192 C 255.16936,192 248,184.83064 248,176" fill="none" stroke="black"/>
            <path d="M 336,192 C 344.83064,192 352,184.83064 352,176" fill="none" stroke="black"/>
            <path d="M 40,208 C 31.16936,208 24,215.16936 24,224" fill="none" stroke="black"/>
            <path d="M 104,208 C 112.83064,208 120,215.16936 120,224" fill="none" stroke="black"/>
            <path d="M 40,240 C 31.16936,240 24,232.83064 24,224" fill="none" stroke="black"/>
            <path d="M 104,240 C 112.83064,240 120,232.83064 120,224" fill="none" stroke="black"/>
            <path d="M 24,400 C 15.16936,400 8,407.16936 8,416" fill="none" stroke="black"/>
            <path d="M 88,400 C 96.83064,400 104,407.16936 104,416" fill="none" stroke="black"/>
            <path d="M 24,448 C 15.16936,448 8,440.83064 8,432" fill="none" stroke="black"/>
            <path d="M 88,448 C 96.83064,448 104,440.83064 104,432" fill="none" stroke="black"/>
            <path d="M 24,480 C 15.16936,480 8,487.16936 8,496" fill="none" stroke="black"/>
            <path d="M 112,480 C 120.83064,480 128,487.16936 128,496" fill="none" stroke="black"/>
            <path d="M 24,512 C 15.16936,512 8,504.83064 8,496" fill="none" stroke="black"/>
            <path d="M 112,512 C 120.83064,512 128,504.83064 128,496" fill="none" stroke="black"/>
            <path d="M 240,528 C 231.16936,528 224,535.16936 224,544" fill="none" stroke="black"/>
            <path d="M 296,528 C 304.83064,528 312,535.16936 312,544" fill="none" stroke="black"/>
            <path d="M 240,560 C 231.16936,560 224,552.83064 224,544" fill="none" stroke="black"/>
            <path d="M 296,560 C 304.83064,560 312,552.83064 312,544" fill="none" stroke="black"/>
            <path d="M 24,688 C 15.16936,688 8,695.16936 8,704" fill="none" stroke="black"/>
            <path d="M 112,688 C 120.83064,688 128,695.16936 128,704" fill="none" stroke="black"/>
            <path d="M 24,720 C 15.16936,720 8,712.83064 8,704" fill="none" stroke="black"/>
            <path d="M 112,720 C 120.83064,720 128,712.83064 128,704" fill="none" stroke="black"/>
            <polygon class="arrowhead" points="336,584 324,578.4 324,589.6" fill="black" transform="rotate(90,328,584)"/>
            <polygon class="arrowhead" points="280,584 268,578.4 268,589.6" fill="black" transform="rotate(90,272,584)"/>
            <polygon class="arrowhead" points="280,520 268,514.4 268,525.6" fill="black" transform="rotate(90,272,520)"/>
            <polygon class="arrowhead" points="248,176 236,170.4 236,181.6" fill="black" transform="rotate(0,240,176)"/>
            <polygon class="arrowhead" points="176,176 164,170.4 164,181.6" fill="black" transform="rotate(0,168,176)"/>
            <polygon class="arrowhead" points="152,624 140,618.4 140,629.6" fill="black" transform="rotate(180,144,624)"/>
            <polygon class="arrowhead" points="64,680 52,674.4 52,685.6" fill="black" transform="rotate(90,56,680)"/>
            <polygon class="arrowhead" points="64,584 52,578.4 52,589.6" fill="black" transform="rotate(90,56,584)"/>
            <polygon class="arrowhead" points="64,456 52,450.4 52,461.6" fill="black" transform="rotate(270,56,456)"/>
            <polygon class="arrowhead" points="64,104 52,98.4 52,109.6" fill="black" transform="rotate(90,56,104)"/>
            <polygon class="arrowhead" points="48,200 36,194.4 36,205.6" fill="black" transform="rotate(90,40,200)"/>
            <g class="text">
              <text x="76" y="52">Artifact</text>
              <text x="60" y="132">Hash</text>
              <text x="196" y="180">OR</text>
              <text x="296" y="180">Payload</text>
              <text x="72" y="228">Statement</text>
              <text x="104" y="292">...</text>
              <text x="164" y="292">Producer</text>
              <text x="232" y="292">Network</text>
              <text x="280" y="292">...</text>
              <text x="192" y="324">...</text>
              <text x="104" y="356">...</text>
              <text x="164" y="356">Issuer</text>
              <text x="224" y="356">Network</text>
              <text x="272" y="356">...</text>
              <text x="52" y="420">Identity</text>
              <text x="168" y="420">(iss,</text>
              <text x="212" y="420">x5t)</text>
              <text x="52" y="436">Document</text>
              <text x="48" y="500">Private</text>
              <text x="96" y="500">Key</text>
              <text x="268" y="548">Header</text>
              <text x="76" y="628">Sign</text>
              <text x="220" y="628">To</text>
              <text x="244" y="628">Be</text>
              <text x="284" y="628">Signed</text>
              <text x="336" y="628">Bytes</text>
              <text x="36" y="708">COSE</text>
              <text x="76" y="708">Sign</text>
              <text x="104" y="708">1</text>
            </g>
          </svg>
        </artwork>
        <artwork type="ascii-art"><![CDATA[
   .----+-----.
  |  Artifact  |
   '+-+-------'
    | |
 .-'  v
|  .--+-------.
| |  Hash      +-+
|  '----------'  |     /\
 '-.             |    /  \     .----------.
    |            +-->+ OR +-->+  Payload   |
    v            |    \  /     '--------+-'
   .+--------.   |     \/               |
  | Statement +--+                      |
   '---------'                          |
                                        |
                                        |
           ...  Producer Network ...    |

                      ...

           ...   Issuer Network ...     |
                                        |
                                        |
 .---------.                            |
| Identity  |     (iss, x5t)            |
| Document  +--------------------+      |
 `----+----`                     |      |
      ^                          |      |
 .----+-------.                  |      |
| Private Key  |                 |      |
 '----+-------'                  v      |
      |                     .----+---.  |
      |                    |  Header  | |
      |                     '----+---'  |
      v                          v      v
    .-+-----------.       .------+------+--.
   /             /       /                  \
  /    Sign     +<------+ To Be Signed Bytes |
 /             /         \                  /
'-----+-------'           '----------------'
      v
 .----+-------.
| COSE Sign 1  |
 '------------'
]]></artwork>
      </artset>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="O." surname="Steele" fullname="Orie Steele">
        <organization>Transmute</organization>
        <address>
          <postal>
            <country>United States</country>
          </postal>
          <email>orie@transmute.industries</email>
        </address>
      </contact>
      <t>Orie contributed to improving the generalization of COSE building blocks and document consistency.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
TGVKsJID0Kp0pMpqU/oINc6QzJuUrob3o3n4tSOGMSktWF8UJKBkdDP57sGi
m7Uqor75uDkYPE2M5+GxpGVSWlCJUyRF2VhJbJt4289rmfh2GgOOboTlCchu
OU25zoqXptW2j3DrCUosY9zVU5JTh3ymKxdkpmhU+dORk07luBGWkCAba328
eFwoFYgW7GApPZMpHLKYtLoixQNb1mwDMNAcPYjb/ejxY65j7jpf0Qn3+HF0
HDV/chvmhLOUyTskaw2Gf9kS527SIwcYIVf01hFpv7Apde5VU+CObdo8Lb0x
XOeLjhtqdOXt8+YFhbkXk9366hAZgSpf2YWpZuBG+2g7Zq3MhFMvH1CeqRjD
ODVEOOKidnhGUsyQTCWRbt2io2dNcEbphoCdnSBBKVQ87XG9X84WXrJEMUQB
jX2w5HqyOyhx4ldeWHHCUWqXXpTa6jApqjVli1QLVJDgL+ZdW1xbyqTcUyVv
IXuSO08rlMOx8vHdv3Q+tn+WYxtpiSDrNqrxsltm9+ApegFt5JoTLGe0Y4oH
c5bWrMLj7MSTJGwU/cPbcby4wRg44z9mNiIOpGYMHTrAlMQNr6icgjzMgWBD
nhRptOvUokzEERl0WBEAjknkDFWd/eLtYziWVJhz/GRcxE0iXazpvs21Q2j+
ksK02wqrcjl0+IEdixQawjGO4UVyoWJtDMdbXFhp1VY+W5R+xdRGUWJnd+jl
xnawvDELRUNYQ3gAgBQbZ61SuHmZtBEn5uvx41p8dFwus+GkyDNsnEcX0o/V
WH1QjnCoK/nFvq8WRBU3yMrVhWpO3QaSywpl4MRbKlYkOJGcYGa8XJOgYvLl
VLysX3T+jWz8uLcpehOr+5wZpCba5SQmTBOPWRwN4gpgFnQlP1g4pq2eYiOM
MByc75ZS0TWXdQl9JxZH9sNCSX0Y2ZZf8cUZGCuPadmkJbXeFpXWT3a9svrW
aUFOQD2aqT4qS5AiaCZyNFycMEy2Ta+Blnou9awkz4Dw8ZE+egaUMOENk9GC
Do9MYVhNXKRTt3fKpnZgMLxCOpqttHpHhhJTzDHOnLYr4So0g6Up6m0vqoaP
a7z6fiV8+h0tu7m1RfASFb9CODvTwln7oBxlYS4bzALK91QKo1eBiHI/ZN0J
umhuhZ3eD1+I1iwmewQDxbXZTIRtXw/uOCX9NJHm6bYcXWoKciS2/8CXdQj4
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
cPBe5x99vvZFZOv/FyGAmLTS8wAA

-->

</rfc>
