<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 2.5.1) -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scitt-architecture-12" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.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-12"/>
    <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="2025" month="May" day="07"/>
    <area>Security</area>
    <workgroup>SCITT</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 164?>

<t>Traceability in supply chains is a growing security concern.
While verifiable data structures have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains.
This document proposes a scalable architecture for single-issuer signed statement transparency applicable to any supply chain.
It ensures flexibility, interoperability between different transparency services, and compliance with various auditing procedures and regulatory requirements.</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 171?>

<section anchor="sec-introduction">
      <name>Introduction</name>
      <t>This document defines an architecture, a base set of extensible message structures, and associated flows to make signed content transparent via verifiable data structures maintained by corresponding transparency services.
The goal of the transparency enabled by the Supply Chain Integrity, Transparency, and Trust (SCITT) architecture is to enhance auditability and accountability for single-issuer signed content (statements) that are about supply chain commodities (artifacts).
Registering signed statements with a transparency service is akin to a notarization procedure.
Transparency services perform notary operations, confirming a policy is met before recording the statement on the ledger.
The SCITT ledger represents a linear and irrevocable history of statements made.
Once the signed statement is registered, the transparency service issues a receipt, just as a notary stamps the document being notarized.
Similar approaches have been implemented for specific classes of artifacts, such as Certificate Transparency <xref target="RFC9162"/>.
The SCITT approach follows a more generic paradigm than previous approaches.
This "content-agnostic" approach allows SCITT transparency services to be either integrated in existing solutions or to be an initial part of new emerging systems.
Extensibility is a vital feature of the SCITT architecture, so that requirements from various applications can be accommodated while always ensuring interoperability with respect to registration procedures and corresponding auditability and accountability.
For simplicity, the scope of this document is limited to use cases originating from the software supply chain domain, but the specification defined is applicable to any other type of supply chain statements (also referred to as value-add graphs), for example, statements about hardware supply chains.</t>
      <t>This document also defines message structures for signed statements and defines a profile for COSE receipts <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>, i.e., signed verifiable data structure proofs).
These message structures are based on the Concise Binary Object Representation Standard <xref target="STD94"/> and corresponding signing is facilitated via the CBOR Object Signing and Encryption Standard <xref target="STD96"/>.
The message structures are defined using the Concise Data Definition Language <xref target="RFC8610"/>.
The signed statements and receipts are based on the COSE_Sign1 specification in <xref section="4.2" sectionFormat="of" target="STD96"/>.
As these messages provide the foundation of any transparency service implementation for global and cross-domain application interoperability, they are based on complementary COSE specifications, mainly <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.
Therefore, support of COSE_Sign1 and extensibility of COSE Header Parameters are prerequisites for implementing the interoperable message layer included in this document.</t>
      <t>In summary, this specification supports relying parties obtaining proof that signed statements were recorded and checked for their validity at the time they were registered.
How these statements are managed or stored is out-of-scope of this document.</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&nbsp;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="sec-software-supply-chain-scope">
      <name>Software Supply Chain Scope</name>
      <t>To illustrate the applicability of the SCITT architecture and its messages, this section details the exemplary context of software supply chain (SSC) use cases.
The building blocks provided by the SCITT architecture and related documents (e.g., <xref target="I-D.draft-ietf-scitt-scrapi"/>) are not restricted to software supply chain use cases.
Software supply chains serve as a useful application guidance and first usage scenario.</t>
      <section anchor="sec-generic-ssc-problem-statement">
        <name>Generic SSC Problem Statement</name>
        <t>Supply chain security is a prerequisite to protecting consumers and minimizing economic, public health, and safety threats.
Supply chain security has historically focused on risk management practices to safeguard logistics, meet regulatory requirements, forecast demand, and optimize inventory.
While these elements are foundational to a healthy supply chain, an integrated cyber security-based perspective of the software supply chains remains broadly undefined.
Recently, the global community has experienced numerous supply chain attacks targeting weaknesses in software supply chains.
As illustrated in <xref target="lifecycle-threats"/>, a software supply chain attack may leverage one or more life-cycle stages and directly or indirectly target the component.</t>
        <figure anchor="lifecycle-threats">
          <name>Example SSC Life-Cycle Threats</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="752" width="520" viewBox="0 0 520 752" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,80 L 8,144" fill="none" stroke="black"/>
                <path d="M 8,176 L 8,240" fill="none" stroke="black"/>
                <path d="M 8,272 L 8,336" fill="none" stroke="black"/>
                <path d="M 8,368 L 8,432" fill="none" stroke="black"/>
                <path d="M 8,464 L 8,528" fill="none" stroke="black"/>
                <path d="M 8,560 L 8,624" fill="none" stroke="black"/>
                <path d="M 8,656 L 8,720" fill="none" stroke="black"/>
                <path d="M 56,48 L 56,80" fill="none" stroke="black"/>
                <path d="M 56,144 L 56,176" fill="none" stroke="black"/>
                <path d="M 56,240 L 56,272" fill="none" stroke="black"/>
                <path d="M 56,336 L 56,368" fill="none" stroke="black"/>
                <path d="M 56,432 L 56,464" fill="none" stroke="black"/>
                <path d="M 56,528 L 56,560" fill="none" stroke="black"/>
                <path d="M 56,624 L 56,656" fill="none" stroke="black"/>
                <path d="M 104,80 L 104,144" fill="none" stroke="black"/>
                <path d="M 104,176 L 104,240" fill="none" stroke="black"/>
                <path d="M 104,272 L 104,336" fill="none" stroke="black"/>
                <path d="M 104,368 L 104,432" fill="none" stroke="black"/>
                <path d="M 104,464 L 104,528" fill="none" stroke="black"/>
                <path d="M 104,560 L 104,624" fill="none" stroke="black"/>
                <path d="M 104,656 L 104,720" fill="none" stroke="black"/>
                <path d="M 8,80 L 104,80" fill="none" stroke="black"/>
                <path d="M 8,144 L 104,144" fill="none" stroke="black"/>
                <path d="M 8,176 L 104,176" fill="none" stroke="black"/>
                <path d="M 8,240 L 104,240" fill="none" stroke="black"/>
                <path d="M 8,272 L 104,272" fill="none" stroke="black"/>
                <path d="M 8,336 L 104,336" fill="none" stroke="black"/>
                <path d="M 8,368 L 104,368" fill="none" stroke="black"/>
                <path d="M 8,432 L 104,432" fill="none" stroke="black"/>
                <path d="M 8,464 L 104,464" fill="none" stroke="black"/>
                <path d="M 8,528 L 104,528" fill="none" stroke="black"/>
                <path d="M 8,560 L 104,560" fill="none" stroke="black"/>
                <path d="M 8,624 L 104,624" fill="none" stroke="black"/>
                <path d="M 8,656 L 104,656" fill="none" stroke="black"/>
                <path d="M 8,720 L 104,720" fill="none" stroke="black"/>
                <g class="text">
                  <text x="60" y="36">Dependencies</text>
                  <text x="208" y="36">Malicious</text>
                  <text x="288" y="36">3rd-party</text>
                  <text x="360" y="36">package</text>
                  <text x="404" y="36">or</text>
                  <text x="448" y="36">version</text>
                  <text x="52" y="116">Code</text>
                  <text x="212" y="116">Compromise</text>
                  <text x="284" y="116">source</text>
                  <text x="344" y="116">control</text>
                  <text x="208" y="196">Malicious</text>
                  <text x="284" y="196">plug-ins</text>
                  <text x="52" y="212">Commit</text>
                  <text x="208" y="212">Malicious</text>
                  <text x="276" y="212">commit</text>
                  <text x="196" y="292">Modify</text>
                  <text x="248" y="292">build</text>
                  <text x="296" y="292">tasks</text>
                  <text x="332" y="292">or</text>
                  <text x="360" y="292">the</text>
                  <text x="400" y="292">build</text>
                  <text x="472" y="292">environment</text>
                  <text x="56" y="308">Build</text>
                  <text x="196" y="308">Poison</text>
                  <text x="240" y="308">the</text>
                  <text x="280" y="308">build</text>
                  <text x="364" y="308">agent/compiler</text>
                  <text x="196" y="324">Tamper</text>
                  <text x="244" y="324">with</text>
                  <text x="288" y="324">build</text>
                  <text x="336" y="324">cache</text>
                  <text x="212" y="388">Compromise</text>
                  <text x="276" y="388">test</text>
                  <text x="320" y="388">tools</text>
                  <text x="60" y="404">Test</text>
                  <text x="224" y="404">Falsification</text>
                  <text x="292" y="404">of</text>
                  <text x="324" y="404">test</text>
                  <text x="376" y="404">results</text>
                  <text x="184" y="484">Use</text>
                  <text x="216" y="484">bad</text>
                  <text x="268" y="484">packages</text>
                  <text x="56" y="500">Package</text>
                  <text x="212" y="500">Compromise</text>
                  <text x="288" y="500">package</text>
                  <text x="364" y="500">repository</text>
                  <text x="196" y="580">Modify</text>
                  <text x="256" y="580">release</text>
                  <text x="312" y="580">tasks</text>
                  <text x="56" y="596">Release</text>
                  <text x="196" y="596">Modify</text>
                  <text x="248" y="596">build</text>
                  <text x="292" y="596">drop</text>
                  <text x="336" y="596">prior</text>
                  <text x="372" y="596">to</text>
                  <text x="416" y="596">release</text>
                  <text x="52" y="692">Deploy</text>
                  <text x="196" y="692">Tamper</text>
                  <text x="244" y="692">with</text>
                  <text x="308" y="692">versioning</text>
                  <text x="368" y="692">and</text>
                  <text x="412" y="692">update</text>
                  <text x="472" y="692">process</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
      Dependencies        Malicious 3rd-party package or version
           |
           |
     +-----+-----+
     |           |
     |   Code    |        Compromise source control
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |        Malicious plug-ins
     |  Commit   |        Malicious commit
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |        Modify build tasks or the build environment
     |   Build   |        Poison the build agent/compiler
     |           |        Tamper with build cache
     +-----+-----+
           |
     +-----+-----+
     |           |        Compromise test tools
     |    Test   |        Falsification of test results
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |        Use bad packages
     |  Package  |        Compromise package repository
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |        Modify release tasks
     |  Release  |        Modify build drop prior to release
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |
     |  Deploy   |        Tamper with versioning and update process
     |           |
     +-----------+
]]></artwork>
          </artset>
        </figure>
        <t>DevSecOps often depends on third-party and open-source software.
These dependencies can be quite complex throughout the supply chain, so checking provenance and traceability throughout their lifecycle is difficult.
There is a need for manageable auditability and accountability of digital products.
Typically, the range of types of statements about digital products (and their dependencies) is vast, heterogeneous, and can differ between community policy requirements.
Taking the type and structure of all statements about digital and products into account might not be possible.
Examples of statements may include commit signatures, build environment and parameters, software bill of materials, static and dynamic application security testing results, fuzz testing results, release approvals, deployment records, vulnerability scan results, and patch logs.
In consequence, instead of trying to understand and describe the detailed syntax and semantics of every type of statement about digital products, the SCITT architecture focuses on ensuring statement authenticity, visibility/transparency, and intends to provide scalable accessibility.
Threats and practical issues can also arise from unintended side-effects of using security techniques outside their proper bounds.
For instance digital signatures may fail to verify past their expiry date even though the signed item itself remains completely valid.
Or a signature may verify even though the information it is securing is now found unreliable but fine-grained revocation is too hard.</t>
        <t>Lastly, where data exchange underpins serious business decision-making, it is important to hold the producers of those data to a higher standard of accountability.
The SCITT architecture provides mechanisms and structures for ensuring that the makers of authoritative statements can be held accountable and not hide or shred the evidence when it becomes inconvenient later.</t>
        <t>The following use cases illustrate the scope of SCITT and elaborate on the generic problem statement above.</t>
      </section>
      <section anchor="sec-eclectic-ssc-use-cases">
        <name>Eclectic SSC Use Cases</name>
        <t>The three following use cases are a specialization derived from the generic problem statement above.</t>
        <section anchor="sec-security-analysis-of-a-software-product">
          <name>Security Analysis of a Software Product</name>
          <t>A released software product is often accompanied by a set of complementary statements about its security properties.
This gives enough confidence to both producers and consumers that the released software meets the expected security standards and is suitable to use.</t>
          <t>Subsequently, multiple security researchers often run sophisticated security analysis tools on the same product.
The intention is to identify any security weaknesses or vulnerabilities in the package.</t>
          <t>Initially, a particular analysis can identify a simple weakness in a software component.
Over a period of time, a statement from a third-party illustrates that the weakness is exposed in a way that represents an exploitable vulnerability.
The producer of the software product provides a statement that confirms the linking of a software component vulnerability with the software product by issuing a product vulnerability disclosure report and also issues an advisory statement on how to mitigate the vulnerability.
At first, the producer provides an updated software product that still uses the vulnerable software component but shields the issue in a fashion that inhibits exploitation.
Later, a second update of the software product includes a security patch to the affected software component from the software producer.
Finally, a third update includes a new release (updated version) of the formerly insecure software component.
For this release, both the software product and the affected software component are deemed secure by the producer and consumers.</t>
          <t>A consumer of a released software wants to:</t>
          <ul spacing="normal">
            <li>know where to get these security statements from producers and third-parties related to the software product in a timely and unambiguous fashion</li>
            <li>attribute them to an authoritative issuer</li>
            <li>associate the statements in a meaningful manner via a set of well-known semantic relationships</li>
            <li>consistently, efficiently, and homogeneously check their authenticity</li>
          </ul>
          <t>SCITT provides a standardized way to:</t>
          <ul spacing="normal">
            <li>know the various sources of statements</li>
            <li>express the provenance and historicity of statements</li>
            <li>relate and link various heterogeneous statements in a simple fashion</li>
            <li>check that the statement comes from a source with authority to issue that statement</li>
            <li>confirm that sources provide a complete history of statements related to a given component</li>
          </ul>
        </section>
        <section anchor="sec-promotion-of-a-software-component-by-multiple-entities">
          <name>Promotion of a Software Component by Multiple Entities</name>
          <t>A software component (e.g., a library or software product) released by a trusted producer is common practice for both open-source and commercial offerings.
The released software component is accompanied by a statement of authenticity.
Over time, due to its enhanced applicability to various products, there has been an increasing number of multiple providers of the same software component version on the internet.</t>
          <t>Some providers include this particular software component as part of their release product/package bundle and provide the package with proof of authenticity using their issuer authority.
Some packages include the original statement of authenticity, and some do not.
Over time, some providers no longer offer the exact same software component source code but pre-compiled software component binaries.
Some sources do not provide the exact same software component, but include patches and fixes produced by third-parties, as these emerge faster than solutions from the original producer.
Due to complex distribution and promotion life-cycle scenarios, the original software component takes myriad forms.</t>
          <t>A consumer of a released software wants to:</t>
          <ul spacing="normal">
            <li>understand if a particular provider is a trusted originating producer or an alternative party</li>
            <li>know if and how the source, or resulting binary, of a promoted software component differs from the original software component</li>
            <li>check the provenance and history of a software component's source back to its origin</li>
            <li>assess whether to trust a component or product based on a downloaded package location and source supplier</li>
          </ul>
          <t>SCITT provides a standardized way to:</t>
          <ul spacing="normal">
            <li>reliably discern if a provider is the original, trusted producer or is a trustworthy alternative provider or is an illegitimate provider</li>
            <li>track the provenance path from an original producer to a particular provider</li>
            <li>check the trustworthiness of a provider</li>
            <li>check the integrity of modifications or transformations applied by a provider</li>
          </ul>
        </section>
        <section anchor="sec-software-integrator-assembling-a-software-product-for-an-autonomous-vehicle">
          <name>Software Integrator Assembling a Software Product for an Autonomous Vehicle</name>
          <t>Software Integration is a complex activity.
This typically involves getting various software components from multiple suppliers, producing an integrated package deployed as part of device assembly.
For example, car manufacturers source integrated software for their autonomous vehicles from third parties that integrate software components from various sources.
Integration complexity creates a higher risk of security vulnerabilities to the delivered software.</t>
          <t>Consumers of integrated software want:</t>
          <ul spacing="normal">
            <li>all components presents in a software product listed</li>
            <li>the ability to identify and retrieve all components from a secure and tamper-proof location</li>
            <li>to receive an alert when a vulnerability scan detects a known security issue on a running software component</li>
            <li>verifiable proofs on build process and build environment with all supplier tiers to ensure end to end build quality and security</li>
          </ul>
          <t>SCITT provides a standardized way to:</t>
          <ul spacing="normal">
            <li>provide a tiered and transparent framework that allows for verification of integrity and authenticity of the integrated software at both component and product level before installation</li>
            <li>notify software integrators of vulnerabilities identified during security scans of running software</li>
            <li>provide valid annotations on build integrity to ensure conformance</li>
          </ul>
        </section>
      </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>The terms "header", "payload", and "to-be-signed bytes" are defined in <xref target="STD96"/>.</t>
      <t>The term "claim" is defined in <xref target="RFC8392"/>.</t>
      <dl anchor="mybody">
        <dt>Statement Sequence:</dt>
        <dd>
          <t>a sequence of Signed Statements captured by a Verifiable Data Structure.
see Verifiable Data Structure</t>
        </dd>
        <dt>Append-only Log:</dt>
        <dd>
          <t>a Statement Sequence comprising the entire registration history of the Transparency Service.
To make the Append-only property verifiable and transparent, the Transparency Service defines how Signed Statements are made available to Auditors.</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, or the transparent Statement Sequence, issued by a Transparency Service.
An Auditor is an example of a specialized Relying Party.</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 a Transparency Service provides inconsistent proofs to Relying Parties, containing conflicting claims about the Signed Statement bound at a given position in the Verifiable Data Structure <xref target="EQUIVOCATION"/>.</t>
        </dd>
        <dt>Issuer:</dt>
        <dd>
          <t>an identifier representing an organization, device, user, or entity securing Statements about supply chain Artifacts.
An Issuer may be the owner or author of Artifacts, or an independent third party such as an Auditor, reviewer or an endorser.
In SCITT Statements and Receipts, the <tt>iss</tt> CWT Claim is a member of the COSE header parameter <tt>15: CWT_Claims</tt> within the protected header of a COSE Envelope.</t>
        </dd>
        <dt>Non-equivocation:</dt>
        <dd>
          <t>a state where all proofs provided by the Transparency Service to Relying Parties are produced from a Single Verifiable Data Structure describing a unique sequence of Signed Statements and are therefore consistent.
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 Verifiable Data Structure.
See <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/> for implementations
Receipts are signed proofs of verifiable data-structure properties.
The types of Receipts <bcp14>MUST</bcp14> support inclusion proofs and <bcp14>MAY</bcp14> support other proof types, such as consistency proofs.</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 Verifiable Data Structure, 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 Parties consumes 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>
        <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.
Additional Statements about an Artifact are correlated by the Subject Claim as defined in the IANA CWT <xref target="IANA.cwt"/> registry and used as a protected header parameter as defined in <xref target="RFC9597"/>.
The Statement is considered opaque to Transparency Service, and <bcp14>MAY</bcp14> be encrypted.</t>
        </dd>
        <dt>Subject:</dt>
        <dd>
          <t>an identifier, defined by the Issuer, which represents the organization, device, user, entity, or Artifact about which Statements (and Receipts) are made and by which a logical collection of Statements can be grouped.
It is possible that there are multiple Statements about the same Artifact.
In these cases, distinct Issuers (<tt>iss</tt>) might agree to use the <tt>sub</tt> CWT Claim to create a coherent sequence of Signed Statements about the same Artifact and Relying Parties can leverage <tt>sub</tt> to ensure completeness and Non-equivocation across Statements by identifying all Transparent Statements associated to a specific Subject.</t>
        </dd>
        <dt>Transparency Service:</dt>
        <dd>
          <t>an entity that maintains and extends the Verifiable Data Structure and endorses its state.
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>Verifiable Data Structure:</dt>
        <dd>
          <t>a data structure which supports one or more proof types, such as "inclusion proofs" or "consistency proofs", for Signed Statements as they are Registered to a Transparency Service.
SCITT supports multiple Verifiable Data Structures and Receipt formats as defined in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>, accommodating different Transparency Service implementations.</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-definition-of-transparency">
      <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.
SCITT supports multiple Verifiable Data Structures, as defined in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.</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.
Receipts demonstrate inclusion of Signed Statements in the Verifiable Data Structure of a Transparency Service.
By extension, the Signed Statement may say an Artifact (for example, 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 registered sequence of Signed Statements and Verifiable Data Structure using a combination of trusted hardware, consensus protocols, and cryptographic evidence.
A Receipt is a signature over one or more Verifiable Data Structure Proofs that a Signed Statement is registered in the Verifiable Data Structure.
It is universally verifiable without online access to the TS.
Requesting a Receipt can result in the production of a new Receipt for the same Signed Statement.
A Receipt's verification key, signing algorithm, validity period, header parameters or other claims <bcp14>MAY</bcp14> change each time a Receipt is produced.</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.</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 Verifiable Data Structure, 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 (CT) <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>CAs (Issuers) sign the ASN.1 DER encoded tbsCertificate structure to produce an X.509 certificate (Signed Statements)</li>
        <li>CAs submit the certificates to one or more CT logs (Transparency Services)</li>
        <li>CT logs produce Signed Certificate Timestamps (Transparent Statements)</li>
        <li>Signed Certificate Timestamps, Signed Tree Heads, and their respective consistency proofs are checked by Relying Parties</li>
        <li>The Verifiable Data Structure can be checked by Auditors</li>
      </ul>
    </section>
    <section anchor="sec-architecture-overview">
      <name>Architecture Overview</name>
      <t>The SCITT architecture enables a loose federation of Transparency Services, by providing 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.
The remaining details of the Receipt's contents are specified in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.</t>
      <t><xref target="fig-concept-relationship"/> illustrates the roles and processes that comprise a Transparency Service independent of any one use case:</t>
      <ul spacing="normal">
        <li>Issuers that use their credentials to create Signed Statements about Artifacts</li>
        <li>Transparency Services that evaluate Signed Statements against Registration Policies, producing Receipts upon successful Registration.
The returned Receipt may be combined with the Signed Statement to create a Transparent Statement.</li>
        <li>
          <t>Relying Parties that:
          </t>
          <ul spacing="normal">
            <li>collect Receipts of Signed Statements for subsequent registration of Transparent Statements;</li>
            <li>retrieve Transparent Statements for analysis of Statements about Artifacts themselves (e.g. verification);</li>
            <li>or replay all the Transparent Statements to check for the consistency and correctness of the Transparency Service's Verifiable Data Structure (e.g. auditing)</li>
          </ul>
        </li>
      </ul>
      <t>In addition, <xref target="fig-concept-relationship"/> illustrates multiple Transparency Services and multiple Receipts as a single Signed Statement <bcp14>MAY</bcp14> be registered with one or more Transparency Service.
Each Transparency Service produces a Receipt, which may be aggregated in a single Transparent Statement, demonstrating the Signed Statement was registered by multiple Transparency Services.</t>
      <t>The arrows indicate the flow of information.</t>
      <figure anchor="fig-concept-relationship">
        <name>Relationship of Concepts in SCITT</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="512" width="536" viewBox="0 0 536 512" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
              <path d="M 8,224 L 8,240" fill="none" stroke="black"/>
              <path d="M 32,448 L 32,480" fill="none" stroke="black"/>
              <path d="M 40,352 L 40,368" fill="none" stroke="black"/>
              <path d="M 56,64 L 56,88" fill="none" stroke="black"/>
              <path d="M 56,128 L 56,200" fill="none" stroke="black"/>
              <path d="M 72,256 L 72,328" fill="none" stroke="black"/>
              <path d="M 88,176 L 88,200" fill="none" stroke="black"/>
              <path d="M 96,384 L 96,408" fill="none" stroke="black"/>
              <path d="M 120,288 L 120,328" fill="none" stroke="black"/>
              <path d="M 128,224 L 128,240" fill="none" stroke="black"/>
              <path d="M 152,352 L 152,368" fill="none" stroke="black"/>
              <path d="M 160,448 L 160,480" fill="none" stroke="black"/>
              <path d="M 208,272 L 208,288" fill="none" stroke="black"/>
              <path d="M 216,464 L 216,496" fill="none" stroke="black"/>
              <path d="M 224,304 L 224,320" fill="none" stroke="black"/>
              <path d="M 224,384 L 224,408" fill="none" stroke="black"/>
              <path d="M 288,32 L 288,64" fill="none" stroke="black"/>
              <path d="M 288,128 L 288,144" fill="none" stroke="black"/>
              <path d="M 288,272 L 288,288" fill="none" stroke="black"/>
              <path d="M 304,64 L 304,88" fill="none" stroke="black"/>
              <path d="M 304,304 L 304,320" fill="none" stroke="black"/>
              <path d="M 344,208 L 344,272" fill="none" stroke="black"/>
              <path d="M 344,384 L 344,408" fill="none" stroke="black"/>
              <path d="M 344,464 L 344,496" fill="none" stroke="black"/>
              <path d="M 368,272 L 368,336" fill="none" stroke="black"/>
              <path d="M 384,176 L 384,200" fill="none" stroke="black"/>
              <path d="M 384,448 L 384,480" fill="none" stroke="black"/>
              <path d="M 392,64 L 392,88" fill="none" stroke="black"/>
              <path d="M 408,32 L 408,64" fill="none" stroke="black"/>
              <path d="M 432,128 L 432,200" fill="none" stroke="black"/>
              <path d="M 440,336 L 440,360" fill="none" stroke="black"/>
              <path d="M 440,376 L 440,408" fill="none" stroke="black"/>
              <path d="M 472,208 L 472,272" fill="none" stroke="black"/>
              <path d="M 488,256 L 488,336" fill="none" stroke="black"/>
              <path d="M 504,160 L 504,352" fill="none" stroke="black"/>
              <path d="M 512,448 L 512,480" fill="none" stroke="black"/>
              <path d="M 24,32 L 96,32" fill="none" stroke="black"/>
              <path d="M 288,32 L 408,32" fill="none" stroke="black"/>
              <path d="M 24,64 L 96,64" fill="none" stroke="black"/>
              <path d="M 288,64 L 408,64" fill="none" stroke="black"/>
              <path d="M 24,96 L 88,96" fill="none" stroke="black"/>
              <path d="M 256,96 L 344,96" fill="none" stroke="black"/>
              <path d="M 384,96 L 472,96" fill="none" stroke="black"/>
              <path d="M 24,128 L 88,128" fill="none" stroke="black"/>
              <path d="M 240,128 L 328,128" fill="none" stroke="black"/>
              <path d="M 368,128 L 456,128" fill="none" stroke="black"/>
              <path d="M 448,144 L 488,144" fill="none" stroke="black"/>
              <path d="M 104,160 L 272,160" fill="none" stroke="black"/>
              <path d="M 304,160 L 368,160" fill="none" stroke="black"/>
              <path d="M 24,208 L 112,208" fill="none" stroke="black"/>
              <path d="M 344,208 L 472,208" fill="none" stroke="black"/>
              <path d="M 128,224 L 336,224" fill="none" stroke="black"/>
              <path d="M 24,256 L 112,256" fill="none" stroke="black"/>
              <path d="M 224,256 L 272,256" fill="none" stroke="black"/>
              <path d="M 472,256 L 488,256" fill="none" stroke="black"/>
              <path d="M 136,272 L 208,272" fill="none" stroke="black"/>
              <path d="M 296,272 L 312,272" fill="none" stroke="black"/>
              <path d="M 344,272 L 472,272" fill="none" stroke="black"/>
              <path d="M 136,288 L 168,288" fill="none" stroke="black"/>
              <path d="M 224,304 L 272,304" fill="none" stroke="black"/>
              <path d="M 200,320 L 224,320" fill="none" stroke="black"/>
              <path d="M 312,320 L 368,320" fill="none" stroke="black"/>
              <path d="M 56,336 L 136,336" fill="none" stroke="black"/>
              <path d="M 240,336 L 288,336" fill="none" stroke="black"/>
              <path d="M 368,336 L 488,336" fill="none" stroke="black"/>
              <path d="M 152,368 L 208,368" fill="none" stroke="black"/>
              <path d="M 360,368 L 488,368" fill="none" stroke="black"/>
              <path d="M 56,384 L 136,384" fill="none" stroke="black"/>
              <path d="M 24,416 L 176,416" fill="none" stroke="black"/>
              <path d="M 200,416 L 368,416" fill="none" stroke="black"/>
              <path d="M 384,416 L 528,416" fill="none" stroke="black"/>
              <path d="M 8,448 L 160,448" fill="none" stroke="black"/>
              <path d="M 368,448 L 512,448" fill="none" stroke="black"/>
              <path d="M 176,464 L 344,464" fill="none" stroke="black"/>
              <path d="M 32,480 L 160,480" fill="none" stroke="black"/>
              <path d="M 384,480 L 512,480" fill="none" stroke="black"/>
              <path d="M 216,496 L 344,496" fill="none" stroke="black"/>
              <path d="M 8,448 L 24,416" fill="none" stroke="black"/>
              <path d="M 240,128 L 256,96" fill="none" stroke="black"/>
              <path d="M 160,448 L 176,416" fill="none" stroke="black"/>
              <path d="M 328,128 L 344,96" fill="none" stroke="black"/>
              <path d="M 176,464 L 200,416" fill="none" stroke="black"/>
              <path d="M 368,128 L 384,96" fill="none" stroke="black"/>
              <path d="M 456,128 L 472,96" fill="none" stroke="black"/>
              <path d="M 344,464 L 368,416" fill="none" stroke="black"/>
              <path d="M 368,448 L 384,416" fill="none" stroke="black"/>
              <path d="M 512,448 L 528,416" 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 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 448,144 C 439.16936,144 432,136.83064 432,128" fill="none" stroke="black"/>
              <path d="M 488,144 C 496.83064,144 504,151.16936 504,160" fill="none" stroke="black"/>
              <path d="M 104,160 C 95.16936,160 88,167.16936 88,176" fill="none" stroke="black"/>
              <path d="M 272,160 C 280.83064,160 288,152.83064 288,144" fill="none" stroke="black"/>
              <path d="M 304,160 C 295.16936,160 288,152.83064 288,144" fill="none" stroke="black"/>
              <path d="M 368,160 C 376.83064,160 384,167.16936 384,176" fill="none" stroke="black"/>
              <path d="M 24,208 C 15.16936,208 8,215.16936 8,224" fill="none" stroke="black"/>
              <path d="M 112,208 C 120.83064,208 128,215.16936 128,224" fill="none" stroke="black"/>
              <path d="M 344,240 C 335.16936,240 328,247.16936 328,256" fill="none" stroke="black"/>
              <path d="M 24,256 C 15.16936,256 8,248.83064 8,240" fill="none" stroke="black"/>
              <path d="M 112,256 C 120.83064,256 128,248.83064 128,240" fill="none" stroke="black"/>
              <path d="M 224,256 C 215.16936,256 208,263.16936 208,272" fill="none" stroke="black"/>
              <path d="M 272,256 C 280.83064,256 288,263.16936 288,272" fill="none" stroke="black"/>
              <path d="M 136,272 C 127.16936,272 120,279.16936 120,288" fill="none" stroke="black"/>
              <path d="M 312,272 C 320.83064,272 328,264.83064 328,256" fill="none" stroke="black"/>
              <path d="M 136,288 C 127.16936,288 120,295.16936 120,304" fill="none" stroke="black"/>
              <path d="M 168,288 C 176.83064,288 184,295.16936 184,304" fill="none" stroke="black"/>
              <path d="M 288,288 C 296.83064,288 304,295.16936 304,304" fill="none" stroke="black"/>
              <path d="M 224,304 C 215.16936,304 208,296.83064 208,288" fill="none" stroke="black"/>
              <path d="M 272,304 C 280.83064,304 288,296.83064 288,288" fill="none" stroke="black"/>
              <path d="M 200,320 C 191.16936,320 184,312.83064 184,304" fill="none" stroke="black"/>
              <path d="M 56,336 C 47.16936,336 40,343.16936 40,352" fill="none" stroke="black"/>
              <path d="M 136,336 C 144.83064,336 152,343.16936 152,352" fill="none" stroke="black"/>
              <path d="M 240,336 C 231.16936,336 224,328.83064 224,320" fill="none" stroke="black"/>
              <path d="M 288,336 C 296.83064,336 304,328.83064 304,320" fill="none" stroke="black"/>
              <path d="M 208,368 C 216.83064,368 224,375.16936 224,384" fill="none" stroke="black"/>
              <path d="M 360,368 C 351.16936,368 344,375.16936 344,384" fill="none" stroke="black"/>
              <path d="M 488,368 C 496.83064,368 504,360.83064 504,352" fill="none" stroke="black"/>
              <path d="M 56,384 C 47.16936,384 40,376.83064 40,368" fill="none" stroke="black"/>
              <path d="M 136,384 C 144.83064,384 152,376.83064 152,368" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="448,408 436,402.4 436,413.6 " fill="black" transform="rotate(90,440,408)"/>
              <path class="jump" d="M 440,376 C 446,376 446,360 440,360" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="440,200 428,194.4 428,205.6 " fill="black" transform="rotate(90,432,200)"/>
              <polygon class="arrowhead" points="400,88 388,82.4 388,93.6 " fill="black" transform="rotate(90,392,88)"/>
              <polygon class="arrowhead" points="392,200 380,194.4 380,205.6 " fill="black" transform="rotate(90,384,200)"/>
              <polygon class="arrowhead" points="352,408 340,402.4 340,413.6 " fill="black" transform="rotate(90,344,408)"/>
              <polygon class="arrowhead" points="344,224 332,218.4 332,229.6 " fill="black" transform="rotate(0,336,224)"/>
              <polygon class="arrowhead" points="320,320 308,314.4 308,325.6 " fill="black" transform="rotate(180,312,320)"/>
              <polygon class="arrowhead" points="312,88 300,82.4 300,93.6 " fill="black" transform="rotate(90,304,88)"/>
              <polygon class="arrowhead" points="304,272 292,266.4 292,277.6 " fill="black" transform="rotate(180,296,272)"/>
              <polygon class="arrowhead" points="232,408 220,402.4 220,413.6 " fill="black" transform="rotate(90,224,408)"/>
              <polygon class="arrowhead" points="128,328 116,322.4 116,333.6 " fill="black" transform="rotate(90,120,328)"/>
              <polygon class="arrowhead" points="104,408 92,402.4 92,413.6 " fill="black" transform="rotate(90,96,408)"/>
              <polygon class="arrowhead" points="96,200 84,194.4 84,205.6 " fill="black" transform="rotate(90,88,200)"/>
              <polygon class="arrowhead" points="80,328 68,322.4 68,333.6 " fill="black" transform="rotate(90,72,328)"/>
              <polygon class="arrowhead" points="64,200 52,194.4 52,205.6 " fill="black" transform="rotate(90,56,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="348" y="52">Issuer</text>
                <text x="56" y="116">Statement</text>
                <text x="292" y="116">sign</text>
                <text x="420" y="116">verify</text>
                <text x="68" y="228">Signed</text>
                <text x="404" y="228">Transparency</text>
                <text x="72" y="244">Statement</text>
                <text x="400" y="260">Service</text>
                <text x="248" y="276">Receipt</text>
                <text x="428" y="292">Transparency</text>
                <text x="264" y="324">Receipt</text>
                <text x="424" y="324">Service</text>
                <text x="96" y="356">Transparent</text>
                <text x="96" y="372">Statement</text>
                <text x="56" y="436">Collect</text>
                <text x="124" y="436">Receipts</text>
                <text x="228" y="436">Verify</text>
                <text x="304" y="436">Transparent</text>
                <text x="428" y="436">Replay</text>
                <text x="472" y="436">Log</text>
                <text x="272" y="452">Statement</text>
                <text x="72" y="468">Relying</text>
                <text x="128" y="468">Party</text>
                <text x="424" y="468">Relying</text>
                <text x="480" y="468">Party</text>
                <text x="256" y="484">Relying</text>
                <text x="312" y="484">Party</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
 .----------.                      +--------------+
|  Artifact  |                     |    Issuer    |
 '----+-----'                      +-+----------+-+
      v                              v          v
 .----+----.                   .-----+----.    .+---------.
| Statement |                 /   sign   /    /  verify  /
 '----+----'                 '-----+----+    '-------+--+
      |                            |                 |'------.
      |    .----------------------' '---------.      |        |
      |   |                                    |     |        |
      v   v                                    v     v        |
 .----+---+---.                           +----+----+-----+   |
|    Signed    +------------------------->+ Transparency  |   |
|   Statement  |                         .+               |   |
 '------+-----'           .-------.     | |   Service     +-+ |
        |      .---------+ Receipt +<--'  +--+------------+ | |
        |     |.-----.   |         +.        | Transparency | |
        |     |       |   '+------'  |       |              | |
        v     v        '---+ Receipt +<------+   Service    | |
     .--+-----+--.          '-------'        +--------+-----+ |
    | Transparent |                                   |       |
    |  Statement  +-------.                .----------)------'
     '-----+-----'         |              |           |
           v               v              v           v
  .--------+---------.  .--+--------------+--. .------+----------.
 / Collect Receipts /  / Verify Transparent / /   Replay Log    /
'--+---------------+  /      Statement     / '-+---------------+
   | Relying Party | '----+---------------+    | Relying Party |
   +---------------+      | Relying Party |    +---------------+
                          +---------------+
]]></artwork>
        </artset>
      </figure>
      <t>The subsequent sections describe the main concepts, namely Transparency Service, Signed Statements, Registration, and Transparent Statements in more detail.</t>
      <section anchor="sec-transparency-service">
        <name>Transparency Service</name>
        <t>Transparency Services <bcp14>MUST</bcp14> feature a Verifiable Data Structure.
The Verifiable Data Structure records registered Signed Statements and supports the production of Receipts.</t>
        <t>All Transparency Services <bcp14>MUST</bcp14> expose the minimally conformant APIs, defined in (<xref target="I-D.draft-ietf-scitt-scrapi"/> for the Registration of Signed Statements and issuance of Receipts.</t>
        <t>Transparency Services <bcp14>MAY</bcp14> support additional APIs for auditing, for instance querying 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 registered to the Verifiable Data Structure.
To enable audit-ability, Transparency Services <bcp14>MUST</bcp14> maintain Registration Policies.</t>
          <t>Beyond the mandatory Registration checks, the scope of additional checks, including no additional checks, is up to the implementation.</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, syntactically check the Issuer of the Signed Statement by cryptographically verifying the COSE signature according to <xref target="STD96"/>.
The Issuer identity <bcp14>MUST</bcp14> be bound to the Signed Statement by including an identifier in the protected header.
If the protected header includes multiple identifiers, all those that are registered by the Transparency Service <bcp14>MUST</bcp14> be checked.</t>
            <t>Transparency Services <bcp14>MUST</bcp14> maintain a list of trust anchors (see definition of trust anchor in <xref target="RFC4949"/>) in order to check the signatures of Signed Statements, either separately, or inside Registration Policies.
Transparency Services <bcp14>MUST</bcp14> authenticate Signed Statements as part of a Registration Policy.
For instance, a trust anchor could be an X.509 root certificate (directly or its thumbprint), a pointer to an OpenID Connect identity provider, or any other COSE-compatible trust anchor.</t>
            <t>When using X.509 Signed Statements, the Transparency Service <bcp14>MUST</bcp14> build and validate a complete certification path from an Issuer's certificate to one of the root certificates currently registered as a trust anchor by the Transparency Service.
The protected header of the COSE_Sign1 Envelope <bcp14>MUST</bcp14> include either the Issuer's certificate as <tt>x5t</tt> or the chain including the Issuer's certificate as <tt>x5chain</tt>.
If <tt>x5t</tt> is included in the protected header, an <tt>x5chain</tt> with a leaf certificate corresponding to the <tt>x5t</tt> value <bcp14>MAY</bcp14> be included in the unprotected header.</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 Verifiable Data Structure.</t>
            <t>The Transparency Service <bcp14>MUST</bcp14> apply the Registration Policy that was most recently committed to the Verifiable Data Structure 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 to reproduce the Registration checks that were defined by the Registration Policies at the time of 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>Pre-configured Registration Policy and trust anchors;</li>
            <li>Acceptance of a first Signed Statement whose payload is a valid Registration Policy, without performing Registration checks</li>
            <li>An out-of-band authenticated management interface</li>
          </ul>
        </section>
        <section anchor="sec-verifiable-data-structure">
          <name>Verifiable Data Structure</name>
          <t>The security properties are determined by the choice of the Verifiable Data Structure (<xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>) used by the Transparency Service implementation.
This verifiable data structure <bcp14>MUST</bcp14> support the following security requirements:</t>
          <dl>
            <dt>Append-Only:</dt>
            <dd>
              <t>a property required for a verifiable data structure to be applicable to SCITT, ensuring that the Statement Sequence cannot be modified, deleted, or reordered.</t>
            </dd>
            <dt>Non-equivocation:</dt>
            <dd>
              <t>there is no fork in the registered sequence of Signed Statements accepted by the Transparency Service and committed to the Verifiable Data Structure.
Everyone with access to its content sees the same ordered 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 Verifiable Data Structure includes sufficient information to enable authorized actors with access to its content to check that each data structure representing each 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 supports 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 associated with the software package.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-signed-statements">
      <name>Signed Statements</name>
      <t>This specification prioritizes conformance to <xref target="STD96"/> and its required and optional properties.
Profiles and implementation specific choices should be used to determine admissibility of conforming messages.
This specification is left intentionally open to allow implementations to make Registration restrictions that make the most sense for their operational use cases.</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>
          <xref target="CoSWID"/></li>
        <li>
          <xref target="CycloneDX"/></li>
        <li>
          <xref target="in-toto"/></li>
        <li>
          <xref target="SPDX-CBOR"/></li>
        <li>
          <xref target="SPDX-JSON"/></li>
        <li>
          <xref target="SLSA"/></li>
        <li>
          <xref target="SWID"/></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.</t>
      <t>Issuers can 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.
(See Subject under <xref target="terminology"/> Terminology.)</t>
      <t>Issuers <bcp14>MAY</bcp14> use different signing keys (identified by <tt>kid</tt> in the protected header) 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>
      <t>Additionally, <tt>x5chain</tt> that corresponds to either <tt>x5t</tt> or <tt>kid</tt> identifying the leaf certificate in the included certification path <bcp14>MAY</bcp14> be included in the unprotected header of the COSE Envelope.</t>
      <ul spacing="normal">
        <li>When using x.509 certificates, support for either <tt>x5t</tt> or <tt>x5chain</tt> in the protected header is <bcp14>REQUIRED</bcp14> to implement.</li>
        <li>Support for <tt>kid</tt> in the protected header and <tt>x5chain</tt> in the unprotected header is <bcp14>OPTIONAL</bcp14> to implement.</li>
      </ul>
      <t>When <tt>x5t</tt> or <tt>x5chain</tt> is present in the protected header, <tt>iss</tt> <bcp14>MUST</bcp14> be a string that meets URI requirements defined in <xref target="RFC8392"/>.
The <tt>iss</tt> value's length <bcp14>MUST</bcp14> be between 1 and 8192 characters in length.</t>
      <t>The <tt>kid</tt> header parameter <bcp14>MUST</bcp14> be present when neither <tt>x5t</tt> nor <tt>x5chain</tt> is present in the protected header.
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="RFC9597"/>.
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 additional 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>
      <section anchor="sec-signed-statement-examples">
        <name>Signed Statement Examples</name>
        <t><xref target="fig-signed-statement-cddl"/> illustrates a normative CDDL definition <xref target="RFC8610"/> for the protected header and unprotected header of Signed Statements and Receipts.</t>
        <t>The SCITT architecture specifies the minimal mandatory labels.
Implementation-specific Registration Policies may define additional mandatory labels.</t>
        <figure anchor="fig-signed-statement-cddl">
          <name>CDDL definition for Signed Statements and Receipts</name>
          <sourcecode type="cddl">
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 = {
  &amp;(CWT_Claims: 15) =&gt; CWT_Claims
  ? &amp;(alg: 1) =&gt; int
  ? &amp;(content_type: 3) =&gt; tstr / uint
  ? &amp;(kid: 4) =&gt; bstr
  ? &amp;(x5t: 34) =&gt; COSE_CertHash
  * int =&gt; any
}

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

Unprotected_Header = {
  ? &amp;(x5chain: 33) =&gt; COSE_X509
  ? &amp;(receipts: TBD_0)  =&gt; [+ Receipt]
  * int =&gt; any
}
</sourcecode>
        </figure>
        <t><xref target="fig-signed-statement-edn"/> illustrates an instance of a Signed Statement in Extended Diagnostic Notation (EDN), with a payload that is detached.
Detached payloads support large Statements, and ensure Signed Statements can integrate with existing storage systems.</t>
        <figure anchor="fig-signed-statement-edn">
          <name>CBOR Extended Diagnostic Notation example of a Signed Statement</name>
          <sourcecode type="cbor-diag">
18(                                 / COSE Sign 1      /
    [
      h'a4012603...6d706c65',       / Protected        /
      {},                           / Unprotected      /
      nil,                          / Detached payload /
      h'79ada558...3a28bae4'        / Signature        /
    ]
)
</sourcecode>
        </figure>
        <t><xref target="fig-signed-statement-protected-header-edn"/> illustrates the decoded protected header of the Signed Statement in <xref target="fig-signed-statement-edn"/>.
It indicates the Signed Statement is securing a JSON content type, and identifying the content with the <tt>sub</tt> Claim "vendor.product.example".</t>
        <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">
{                                   / 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>
      </section>
      <section anchor="sec-registration-of-signed-statements">
        <name>Registration of Signed Statements</name>
        <t>To register a Signed Statement, the Transparency Service performs the following steps:</t>
        <ol spacing="normal" type="1">
          <li>
            <strong>Client authentication:</strong> A Client authenticates with the Transparency Service before registering Signed Statements on behalf of one or more Issuers.
Authentication and authorization are implementation-specific and out of scope of the SCITT architecture.</li>
          <li>
            <strong>TS Signed Statement Verification and Validation:</strong> The Transparency Service <bcp14>MUST</bcp14> perform signature verification per <xref section="4.4" sectionFormat="of" target="STD96"/> and <bcp14>MUST</bcp14> verify the signature of the Signed Statement with the signature algorithm and verification key of the Issuer per <xref target="RFC9360"/>.
The Transparency Service <bcp14>MUST</bcp14> also check the Signed Statement includes the required protected headers.
The Transparency Service <bcp14>MAY</bcp14> validate the Signed Statement payload in order to enforce domain specific registration policies that apply to specific content types.</li>
          <li>
            <strong>Apply Registration Policy:</strong> The Transparency Service <bcp14>MUST</bcp14> check the attributes required by a Registration 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.</li>
          <li>
            <strong>Register the Signed Statement</strong></li>
          <li>
            <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 Signed Statements.
Details about generating Receipts are described in <xref target="Receipt"/>.</li>
        </ol>
        <t>The last two steps may be shared between a batch of Signed Statements registered in the Verifiable Data Structure.</t>
        <t>A Transparency Service <bcp14>MUST</bcp14> ensure that a Signed Statement is registered before releasing its Receipt.</t>
        <t>A Transparency Service <bcp14>MAY</bcp14> accept a Signed Statement with content in its unprotected header, and <bcp14>MAY</bcp14> use values from that unprotected header during verification and registration policy evaluation.</t>
        <t>However, the unprotected header of a Signed Statement <bcp14>MUST</bcp14> be set to an empty map before the Signed Statement can be included in a Statement Sequence.</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>
        <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>
      </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 Receipts <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/> that also provides the COSE header parameter semantics for label TBD_0.</t>
      <t>The Registration time is recorded as the timestamp when the Transparency Service added the Signed Statement to its Verifiable Data Structure.</t>
      <t><xref target="fig-transparent-statement-cddl"/> illustrates a normative CDDL definition of Transparent Statements.
See <xref target="fig-signed-statement-cddl"/> for the CDDL rule that defines 'COSE_Sign1' as specified in <xref section="4.2" sectionFormat="of" target="STD96"/></t>
      <figure anchor="fig-transparent-statement-cddl">
        <name>CDDL definition for a Transparent Statement</name>
        <sourcecode type="cddl">
Transparent_Statement = #6.18(COSE_Sign1)

Unprotected_Header = {
  &amp;(receipts: TBD_0)  =&gt; [+ Receipt]
}
</sourcecode>
      </figure>
      <t><xref target="fig-transparent-statement-edn"/> illustrates a Transparent Statement with a detached payload, and two Receipts in its unprotected header.
The type of label TBD_0 <tt>receipts</tt> in the unprotected header is a CBOR array that can contain one or more Receipts (each entry encoded as a .cbor encoded Receipts).</t>
      <figure anchor="fig-transparent-statement-edn">
        <name>CBOR Extended Diagnostic Notation example of a Transparent Statement</name>
        <sourcecode type="cbor-diag">
18(                                 / COSE Sign 1               /
    [
      h'a4012603...6d706c65',       / Protected                 /
      {                             / Unprotected               /
        TBD_0: [                    / Receipts (2)              /
          h'd284586c...4191f9d2'    / Receipt 1                 /
          h'c624586c...8f4af97e'    / Receipt 2                 /
        ]
      },
      nil,                          / Detached payload          /
      h'79ada558...3a28bae4'        / Signature                 /
    ]
)
</sourcecode>
      </figure>
      <t><xref target="fig-receipt-edn"/> one of the decoded Receipt from <xref target="fig-transparent-statement-edn"/>.
The Receipt contains inclusion proofs for verifiable data structures.
The unprotected header contains verifiable data structure proofs.
See the protected header for details regarding the specific verifiable data structure used.
Per the COSE Verifiable Data Structure Registry documented in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>, the COSE key type RFC9162_SHA256 is value <tt>1</tt>.
Labels identify inclusion proofs (<tt>-1</tt>) and consistency proofs (<tt>-2</tt>).</t>
      <figure anchor="fig-receipt-edn">
        <name>CBOR Extended Diagnostic Notation example of a Receipt</name>
        <sourcecode type="cbor-diag">
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><xref target="fig-receipt-protected-header-edn"/> illustrates the decoded protected header of the Transparent Statement in <xref target="fig-transparent-statement-edn"/>.
The verifiable data structure (<tt>-111</tt>) uses <tt>1</tt> from (RFC9162_SHA256).</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">
{                                   / 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><xref target="fig-receipt-inclusion-proof-edn"/> illustrates the decoded inclusion proof from <xref target="fig-receipt-edn"/>.
This inclusion proof indicates that the size of the Verifiable Data Structure was <tt>8</tt> at the time the Receipt was issued.
The structure of this inclusion proof is specific to the verifiable data structure used (RFC9162_SHA256).</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">
[                                   / 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>
      <section anchor="validation">
        <name>Validation</name>
        <t>Relying Parties <bcp14>MUST</bcp14> apply the verification process as described in <xref section="4.4" sectionFormat="of" target="STD96"/>, when checking the signature of Signed Statements and Receipts.</t>
        <t>A Relying Party <bcp14>MUST</bcp14> trust the verification key or certificate and the associated identity of at least one Issuer of a Receipt.</t>
        <t>A Relying Party <bcp14>MAY</bcp14> decide to verify only a single Receipt that is acceptable to them and not check the signature on the Signed Statement or Receipts which rely on verifiable data structures which they do not understand.</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>Relying Parties <bcp14>MAY</bcp14> be configured to re-verify the Issuer's Signed Statement locally.</t>
        <t>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>
      </section>
    </section>
    <section anchor="sec-privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Interactions with Transparency Services are expected to use appropriately strong encryption and authorization technologies.</t>
      <t>The Transparency Service is trusted with the confidentiality of the Signed Statements presented for Registration.
Issuers and Clients are responsible for verifying that the Transparency Service's privacy and security posture is suitable for the contents of the Signed Statements they submit prior to Registration.
Issuers must carefully review the inclusion of private, confidential, or personally identifiable information (PII) in their Statements against the Transparency Service's privacy posture.</t>
      <t>In some deployments a special role such as an Auditor might require and be given access to both the Transparency Service and related Adjacent Services.</t>
      <t>Transparency Services can leverage Verifiable Data Structures which only retain cryptographic metadata (e.g. a hash), rather than the complete Signed Statement, as part of a defense in depth approach to maintaining confidentiality.
By analyzing the relationship between data stored in the Transparency Service and data stored in Adjacent Services, it is possible to perform metadata analysis, which could reveal the order in which artifacts were built, signed, and uploaded.</t>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>SCITT provides the following security guarantees:</t>
      <ol spacing="normal" type="1">
        <li>Statements made by Issuers about supply chain Artifacts are identifiable and can be authenticated</li>
        <li>Statement provenance and history can be independently and consistently audited</li>
        <li>Issuers can efficiently prove that their Statement is logged by a Transparency Service</li>
      </ol>
      <t>The first guarantee is achieved by requiring Issuers to sign their Statements.
The second guarantee is achieved by proving a Signed Statement is present in a Verifiable Data Structure.
The third guarantee is achieved by the combination of both of these steps.</t>
      <section anchor="sec-ordering-of-signed-statements">
        <name>Ordering of Signed Statements</name>
        <t>Statements are signed prior to submitting to a SCITT Transparency service.
Unless advertised in the Transparency Service Registration Policy, the Relying Party cannot assume that the ordering of Signed Statements in the Verifiable Data Structure matches the ordering of their issuance.</t>
      </section>
      <section anchor="sec-accuracy-of-statements">
        <name>Accuracy of Statements</name>
        <t>Issuers can make false Statements either intentionally or unintentionally, registering a Statement only proves it was produced by an Issuer.
A registered Statement may be superseded by a subsequently submitted Signed Statement from the same Issuer, with the same subject in the cwt_claims protected header.
Other Issuers may make new Statements to reflect new or corrected information.
Relying Parties may choose to include or exclude Statements from Issuers to determine the accuracy of a collection of Statements.</t>
      </section>
      <section anchor="sec-key-management">
        <name>Key Management</name>
        <t>Issuers and Transparency Services <bcp14>MUST</bcp14>:</t>
        <ul spacing="normal">
          <li>carefully protect their private signing keys</li>
          <li>avoid using keys for more than one purpose</li>
          <li>rotate their keys in well-defined cryptoperiods, see <xref target="KEY-MANAGEMENT"/></li>
        </ul>
        <section anchor="sec-verifiable-data-structure-1">
          <name>Verifiable Data Structure</name>
          <t>The security considerations for specific Verifiable Data Structures are out of scope for this document.
See <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/> for the generic security considerations that apply to Verifiable Data Structure and Receipts.</t>
        </section>
      </section>
      <section anchor="sec-threat-model">
        <name>Threat Model</name>
        <t>This section provides a generic threat model for SCITT, describing its residual security properties when some of its actors (Issuers, Transparency Services, and Auditors) are either corrupt or compromised.</t>
        <t>SCITT primarily supports checking of Signed Statement authenticity, both from the Issuer (authentication) and from the Transparency Service (transparency).
Issuers and Transparency Services can both be compromised.</t>
        <t>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.
Running multiple, independent Transparency Services provides different organizations to represent consistent or divergent opinions.
It is the role of the relying party to decide which Transparency Services and Issuers they choose to trust for their scenario.</t>
        <t>In both cases, the SCITT architecture provides generic, universally-verifiable cryptographic proofs 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.
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-cryptographic-agility">
          <name>Cryptographic Agility</name>
          <t>The SCITT Architecture supports cryptographic agility.
There are no mandatory to implement signing algorithms for Signed Statements or Receipts.</t>
        </section>
        <section anchor="sec-key-compromise">
          <name>Key Compromise</name>
          <t>Revocation strategies for compromised keys are out of scope for this document.
It is important for Issuers and Transparency Services to clearly communicate when keys are compromised, so that Signed Statements can be rejected by Transparency Services or Receipts can be ignored by Relying Parties.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="sec-cose-receipts-header-parameter">
        <name>COSE Receipts Header Parameter</name>
        <t>TBD_0 is requested in <xref target="I-D.draft-ietf-cose-merkle-tree-proofs"/>.</t>
      </section>
      <section anchor="sec-media-type-registration">
        <name>Media Type Registration</name>
        <t>Pending WG discussion.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <seriesInfo name="DOI" value="10.17487/RFC5280"/>
            <seriesInfo name="RFC" value="5280"/>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <seriesInfo name="DOI" value="10.17487/RFC6838"/>
            <seriesInfo name="RFC" value="6838"/>
            <seriesInfo name="BCP" value="13"/>
            <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>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8392"/>
            <seriesInfo name="RFC" value="8392"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <seriesInfo name="DOI" value="10.17487/RFC8610"/>
            <seriesInfo name="RFC" value="8610"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="STD" value="94"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <seriesInfo name="DOI" value="10.17487/RFC9052"/>
            <seriesInfo name="RFC" value="9052"/>
            <seriesInfo name="STD" value="96"/>
            <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>
        </reference>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <seriesInfo name="DOI" value="10.17487/RFC9360"/>
            <seriesInfo name="RFC" value="9360"/>
            <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>
        </reference>
        <reference anchor="RFC9597">
          <front>
            <title>CBOR Web Token (CWT) Claims in COSE Headers</title>
            <seriesInfo name="DOI" value="10.17487/RFC9597"/>
            <seriesInfo name="RFC" value="9597"/>
            <author fullname="T. Looker" initials="T." surname="Looker"/>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document describes how to include CBOR Web Token (CWT) claims in the header parameters of any CBOR Object Signing and Encryption (COSE) structure. This functionality helps to facilitate applications that wish to make use of 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>
        </reference>
        <reference anchor="I-D.draft-ietf-cose-merkle-tree-proofs">
          <front>
            <title>COSE Receipts</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-cose-merkle-tree-proofs-13"/>
            <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="6" month="May" year="2025"/>
            <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>
        </reference>
        <reference anchor="I-D.draft-ietf-scitt-scrapi">
          <front>
            <title>SCITT Reference APIs</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-04"/>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jon Geater" initials="J." surname="Geater">
              <organization>DataTrails Inc.</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document describes a REST API that supports the normative
   requirements of the SCITT Architecture.  Optional key discovery and
   query interfaces are provided to support interoperability with X.509
   Certificates, alternative methods commonly used to support public key
   discovery and Artifact Repositories.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.draft-ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="NIST.SP.1800-19" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.1800-19.pdf">
          <front>
            <title>Trusted cloud :security practice guide for VMware hybrid cloud infrastructure as a service (IaaS) environments</title>
            <seriesInfo name="DOI" value="10.6028/NIST.SP.1800-19"/>
            <seriesInfo name="NIST Special Publications (General)" value="1800-19"/>
            <author fullname="Michael Bartock" surname="Bartock">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Donna Dodson" surname="Dodson">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Murugiah Souppaya" surname="Souppaya">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Daniel Carroll" surname="Carroll">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Robert Masten" surname="Masten">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Gina Scinta" surname="Scinta">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Paul Massis" surname="Massis">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Hemma Prafullchandra" surname="Prafullchandra">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Jason Malnar" surname="Malnar">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Harmeet Singh" surname="Singh">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Rajeev Ghandi" surname="Ghandi">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Laura E Storey" surname="Storey">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Raghuram Yeluri" surname="Yeluri">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Tim Shea" surname="Shea">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Michael Dalton" surname="Dalton">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Rocky Weber" surname="Weber">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Karen Scarfone" surname="Scarfone">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Anthony Dukes" surname="Dukes">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Jeff Haskins" surname="Haskins">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Carlos Phoenix" surname="Phoenix">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Brenda Swarts" surname="Swarts">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author>
              <organization>National Institute of Standards and Technology (U.S.)</organization>
              <address>
                <postal>
                  <country>US</country>
                  <city>Gaithersburg</city>
                </postal>
              </address>
            </author>
            <date day="20" month="April" year="2022"/>
            <abstract>
              <t>A cloud workload is an abstraction of the actual instance of a functional application that is virtualized or containerized to include compute, storage, and network resources. Organizations need to be able to monitor, track, apply, and enforce their security and privacy policies on their cloud workloads, based on business requirements, in a consistent, repeatable, and automated way. The goal of this project is to develop a trusted cloud solution that will demonstrate how trusted compute pools leveraging hardware roots of trust can provide the necessary security capabilities. These capabilities not only provide assurance that cloud workloads are running on trusted hardware and in a trusted geolocation or logical boundary, but also improve the protections for the data in the workloads and in the data flows between workloads. The example solution leverages modern commercial off-the-shelf technology and cloud services to address lifting and shifting a typical multi-tier application between an organization-controlled private cloud and a hybrid/public cloud over the internet.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="NIST.SP.800-63-3" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf">
          <front>
            <title>Digital identity guidelines: revision 3</title>
            <seriesInfo name="DOI" value="10.6028/NIST.SP.800-63-3"/>
            <seriesInfo name="NIST Special Publications (General)" value="800-63-3"/>
            <author fullname="Paul A Grassi" surname="Grassi">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="Michael E Garcia" surname="Garcia">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author fullname="James L Fenton" surname="Fenton">
              <organization>Information Technology Laboratory</organization>
            </author>
            <author>
              <organization abbrev="NIST">National Institute of Standards and Technology</organization>
              <address>
                <postal>
                  <country>US</country>
                  <city>Gaithersburg</city>
                </postal>
              </address>
            </author>
            <date day="22" month="June" year="2017"/>
          </front>
        </reference>
        <reference anchor="FIPS.201">
          <front>
            <title>Personal identity verification (PIV) of federal employees and contractors</title>
            <seriesInfo name="DOI" value="10.6028/nist.fips.201-3"/>
            <author>
              <organization/>
            </author>
            <date month="January" year="2022"/>
          </front>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="NIST_EO14028" target="https://www.nist.gov/system/files/documents/2022/02/04/software-supply-chain-security-guidance-under-EO-14028-section-4e.pdf">
          <front>
            <title>Software Supply Chain Security Guidance Under Executive Order (EO) 14028 Section 4e</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="February" day="04"/>
          </front>
        </reference>
        <reference anchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <seriesInfo name="DOI" value="10.17487/RFC4949"/>
            <seriesInfo name="RFC" value="4949"/>
            <seriesInfo name="FYI" value="36"/>
            <author fullname="R. Shirey" initials="R." surname="Shirey"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC7523">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <seriesInfo name="DOI" value="10.17487/RFC7523"/>
            <seriesInfo name="RFC" value="7523"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <seriesInfo name="DOI" value="10.17487/RFC8725"/>
            <seriesInfo name="RFC" value="8725"/>
            <seriesInfo name="BCP" value="225"/>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <seriesInfo name="DOI" value="10.17487/RFC9162"/>
            <seriesInfo name="RFC" value="9162"/>
            <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>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <seriesInfo name="DOI" value="10.17487/RFC9334"/>
            <seriesInfo name="RFC" value="9334"/>
            <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>
        </reference>
        <reference anchor="CoSWID">
          <front>
            <title>Concise Software Identification Tags</title>
            <seriesInfo name="DOI" value="10.17487/RFC9393"/>
            <seriesInfo name="RFC" value="9393"/>
            <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>
        </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>
            <seriesInfo name="DOI" value="10.1145/1323293.1294280"/>
            <seriesInfo name="ACM SIGOPS Operating Systems Review" value="vol. 41, no. 6, pp. 189-204"/>
            <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>
          <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="PBFT">
          <front>
            <title>Practical byzantine fault tolerance and proactive recovery</title>
            <seriesInfo name="DOI" value="10.1145/571637.571640"/>
            <seriesInfo name="ACM Transactions on Computer Systems" value="vol. 20, no. 4, pp. 398-461"/>
            <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>
          <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="KEY-MANAGEMENT">
          <front>
            <title>Recommendation for key management:: part 2 -- best practices for key management organizations</title>
            <seriesInfo name="DOI" value="10.6028/nist.sp.800-57pt2r1"/>
            <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>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
      </references>
    </references>
    <?line 1030?>

<section anchor="sec-common-terminology-disambiguation">
      <name>Common Terminology Disambiguation</name>
      <t>This document has been developed in coordination with the COSE, OAUTH and RATS WG and uses terminology common to these working groups.</t>
      <t>This document uses the terms "Issuer", and "Subject" as described in <xref target="RFC8392"/>, however the usage is consistent with the broader interpretation of these terms in both JOSE and COSE, and the guidance in <xref target="RFC8725"/> generally applies the COSE equivalent terms with consistent semantics.</t>
      <t>The terms "verifier" and "Relying Party" are used interchangeably through the document.
While these terms are related to "Verifier" and "Relying Party" as used in <xref target="RFC9334"/>, they do not imply the processing of RATS conceptual messages, such as Evidence or Attestation Results that are specific to remote attestation.
A SCITT "verifier" and "Relying Party" and "Issuer" of Receipts or Statements might take on the role of a RATS "Attester".
Correspondingly, all RATS conceptual messages, such as Evidence and Attestation Results, can be the content of SCITT Statements and a SCITT "verifier" can also take on the role of a RATS "Verifier" to, for example, conduct the procedure of Appraisal of Evidence as a part of a SCITT "verifier"'s verification capabilities.</t>
      <t>The terms "Claim" and "Statement" are used throughout this document, where Claim is consistent with the usage in <xref target="I-D.draft-ietf-rats-eat"/> and <xref target="RFC7523"/>, and Statement is reserved for any arbitrary bytes, possibly identified with a media type, about which the Claims are made.</t>
      <t>The term "Subject" provides an identifier of the Issuer's choosing to refer to a given Artifact and ensures that all associated Statements can be attributed to the identifier chosen by the Issuer.</t>
      <t>In simpler language, a SCITT Statement could be some vendor-specific software bill of materials (SBOM), results from a model checker, static analyzer, or RATS Evidence about the authenticity of an SBOM creation process, where the Issuer identifies themselves using the <tt>iss</tt> Claim, and the specific software that was analyzed as the Subject using the <tt>sub</tt> Claim.</t>
      <t>In <xref target="RFC7523"/>, the Authorization Server (AS) verifies Private Key JWT client authentication requests, and issues access tokens to clients configured to use "urn:ietf:params:oauth:client-assertion-type:jwt-bearer".
This means the AS initially acts as a "verifier" of the authentication credentials in form of a JWT, and then later as an "Issuer" of access and refresh tokens.
This mirrors how Signed Statements are verified before Receipts are issued by a Transparency Service.
Note that the use of <xref target="RFC7523"/> is only one possible approach for client authentication in OAuth.</t>
      <t><xref target="FIPS.201"/> defines "assertion" as "A verifiable statement from an IdP to an RP that contains information about an end user".</t>
      <t><xref target="NIST.SP.800-63-3"/> defines "assertion" as "A statement from a verifier to an RP that contains information about a subscriber.
Assertions may also contain verified attributes."</t>
      <t>This document uses the term Statement to refer to potentially unsecured data and associated Claims, and Signed Statement and Receipt to refer to assertions from an Issuer, or the Transparency Service.</t>
      <t><xref target="NIST.SP.1800-19"/> defines "attestation" as "The process of providing a digital signature for a set of measurements securely stored in hardware, and then having the requester validate the signature and the set of measurements."</t>
      <t>NIST guidance "Software Supply Chain Security Guidance EO 14028" uses the definition from <xref target="NIST_EO14028"/>, which states that an "attestation" is "The issue of a statement, based on a decision, that fulfillment of specified requirements has been demonstrated.".
In the RATS context, a "NIST attestation" is similar to a RATS "Endorsement".
Occasionally, RATS Evidence and RATS Attestation Results or the procedures of creating these conceptual messages are referred to as "attestation" or (in cases of the use as a verb) "to attest".
The stand-alone use of "attestation" and "to attest" is discouraged outside a well-defined context, such as specification text that highlights the application of terminology, explicitly.
Correspondingly, it is often useful for the intended audience to qualify the term "attestation" to avoid confusion and ambiguity.</t>
    </section>
    <section anchor="sec-signing-statements-remotely">
      <name>Signing Statements Remotely</name>
      <t>Statements about digital Artifacts, containing digital Artifacts, or structured data regarding any type of 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="STD96"/>.</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">
            <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>Tradeverifyd</organization>
        <address>
          <postal>
            <country>United States</country>
          </postal>
          <email>orie@or13.io</email>
        </address>
      </contact>
      <t>Orie contributed to improving the generalization of COSE building blocks and document consistency.</t>
      <contact initials="A." surname="Chamayou" fullname="Amaury Chamayou">
        <organization>Microsoft</organization>
        <address>
          <postal>
            <country>United Kingdom</country>
          </postal>
          <email>Amaury.Chamayou@microsoft.com</email>
        </address>
      </contact>
      <t>Amaury contributed elemental parts to finalize normative language on registration behavior and the single-issuer design, as well as overall document consistency</t>
      <contact initials="D." surname="Brooks" fullname="Dick Brooks">
        <organization>Business Cyber Guardian (TM)</organization>
        <address>
          <postal>
            <country>United States</country>
          </postal>
          <email>dick@businesscyberguardian.com</email>
        </address>
      </contact>
      <t>Dick contributed to the software supply chain use cases.</t>
      <contact initials="B." surname="Knight" fullname="Brian Knight">
        <organization>Microsoft</organization>
        <address>
          <postal>
            <country>United States</country>
          </postal>
          <email>brianknight@microsoft.com</email>
        </address>
      </contact>
      <t>Brian contributed to the software supply chain use cases.</t>
      <contact initials="R. A." surname="Martin" fullname="Robert Martin">
        <organization>MITRE Corporation</organization>
        <address>
          <postal>
            <country>United States</country>
          </postal>
          <email>ramartin@mitre.org</email>
        </address>
      </contact>
      <t>Robert contributed to the software supply chain use cases.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
a4UsDilzBcAdWPSiqGpliZFrwbTVoAzRRRLqm4yJuqHttWooOrYmCa8nbOkg
htnTHl0fAO6XVm4i5HnpHnXs9QYMlQ5S4UTiE0aVNVaAOFkUueT3WLrQybQf
NWX2sqJw8GqtZZuKfNhtQ0WaWUVrT6Dd8QqrRRisv5A8TAyUomxVF2DpFPOc
OGKWuItLDHuYPJnWrAsCHydTJy7TZLypI7WCr7KYvV44U4ZVfh5IGJPkxw64
VTbVhoJixEZsJTJfioiLpJIAP0y8w2AvmDbHZHx4e2KS32MV2CS+r6b8topj
vJ0UMbTnri1MRRwhBsX2I6xASck+rCdgDZRJuQIao856qQ471rJ5y8ixLG02
vUeuJ9FVHJlryTr0dhtaY3Zm3CxN2USLv7IWi357SQCsmvDkLEBT4XK8ltXx
pbLWTrItKeUd+pY/ij2y1jatS4NeauOG5NxcJi01h22eiiXbZHdSHoNXTbDv
xlz6DKrJhfRBzg4VOcdE3BqW/Ljtt/86M92jmKwxBTsqZ+OAOa1qOAxMzyFa
RwE6jeaLe8ZTzUdEsDgym5tzSjzRvbP9q7sWN06/LdYBw+PWWNavTI1o77SJ
lKDCAoiBdaw4g1gtiXe3SE7J5+nZCwObkx1Y94JUSWZaiUZvR8SxClGXOCoP
bld+bA2woqGplBhlM4yCni+GtjYc56ENW/o6RQDyfRYHFyrXkmibYEFVKicX
uWel/gjk6fkaD4pleB8gXQRh4nuHMpNbjJTXFT05pgtdQ0J4JUMBDTz+JfCo
uHPYcMFp+SonwOksV5wTpxouOzxWZK9Hln5PLnFUZOGX6QqP364BbpSrPbKh
UiGuCTXqf25dMlN7F2lKaVbSfZdZOPOXJBFsvJBNZuuKTEyOrxNGRrBjokBG
ZHaZ5ssiVSqIT2uwgJSEjeIvOEuJimlWQHPkP02NTjyxV10JXhlb1Iga1c/5
TgtAKw6QzpDkr5aY7Cv58Y5V2ARBSxUeDHbj8dyabvj1ZXEnph3aYRTfcxKG
jdzUKijTotBRQo2Y4+r27Q5FfaL2ztndrhZDVoYnop5fdzBo1MtulZZvWrJx
2r+Ex09fevXuQ4rERGsa7uLsjuOxMBxK87Upqu/stAp25CbsEiKzo+z2bbgf
nF/cGNt0Pa7cvVmN0423yNsLCXZat2BX5mW3D99sZ+U4okv2Ye1YuiLY6bwm
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
r30RE1/+L4kpk1rQ/wAA

-->

</rfc>
