<?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.6.35 (Ruby 2.5.1) -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-scitt-software-use-cases-03" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.0 -->
  <front>
    <title abbrev="SCITT SW Supply Chain">Detailed Software Supply Chain Uses Cases for SCITT</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-software-use-cases-03"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer Institute for Secure Information Technology</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="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>ARM</organization>
      <address>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="D." surname="Brooks" fullname="Dick Brooks">
      <organization>REA</organization>
      <address>
        <email>dick@reliableenergyanalytics.com</email>
      </address>
    </author>
    <author initials="R." surname="Martin" fullname="Robert Martin">
      <organization>MITRE</organization>
      <address>
        <email>ramartin@mitre.org</email>
      </address>
    </author>
    <author initials="B." surname="Knight" fullname="Brian Knight">
      <organization>Microsoft</organization>
      <address>
        <email>brianknight@microsoft.com</email>
      </address>
    </author>
    <date year="2024" month="April" day="18"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 54?>

<t>This document includes a collection of representative Software Supply Chain Use Cases.
These use cases aim to identify software supply chain problems that the industry faces today and act as a guideline for developing a comprehensive security architecture  and solutions for these scenarios.</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-software-use-cases/"/>.
      </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-software-use-cases"/>.</t>
    </note>
  </front>
  <middle>
    <?line 59?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Modern software applications are an intricate mix of first-party and third-party code, development practices and tools, deployment methods and infrastructure, and interfaces and protocols.
The software supply chain comprises all elements associated with a system's design, development, build, integration, deployment, and maintenance throughout its entire lifecycle.
The complexity of software, coupled with a lack of lifecycle visibility, increases the risks associated with system attack surface and the number of cyber threats capable of harmful impacts, such as exfiltration of data, disruption of operations, and loss of reputation, intellectual property, and financial assets.
There is a need for an architecture that will allow consumers to know that suppliers maintained appropriate security practices without requiring access to proprietary intellectual property.
SCITT-enabled products assist in managing compliance with often distinct, but overlapping and interconnected, legal, regulatory, and technical requirements, assessing risks, and detecting supply chain attacks across the software lifecycle while prioritizing data privacy.</t>
      <section anchor="terms">
        <name>Terminology</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="generic-problem-statement">
      <name>Generic 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 compliance regulations, 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 lifecycle stages and directly or indirectly target the component.</t>
      <figure anchor="lifecycle-threats">
        <name>Example Lifecycle Threats</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="752" width="504" viewBox="0 0 504 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"/>
              <path d="M 320,304 L 328,288" 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="288" 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="336" y="292">r</text>
                <text x="368" y="292">build</text>
                <text x="444" y="292">environment;</text>
                <text x="56" y="308">Build</text>
                <text x="196" y="308">Poison</text>
                <text x="248" y="308">build</text>
                <text x="296" y="308">agent</text>
                <text x="360" y="308">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="324" 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">package;</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="316" 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 build environment;
     |   Build   |        Poison build agent/compiler;
     |           |        Tamper with build cache
     +-----+-----+
           |
     +-----+-----+
     |           |        Compromise test tools;
     |    Test   |        Falsification of test results
     |           |
     +-----+-----+
           |
     +-----+-----+
     |           |        Use bad package;
     |  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 and render the checking of lifecycle compliance 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.
The following use cases illustrate the scope of SCITT and elaborate on the generic problem statement above.</t>
      <section anchor="software-supply-chain-use-cases">
        <name>Software Supply Chain Use Cases</name>
      </section>
      <section anchor="verification-that-signing-certificate-is-authorized-by-supplier">
        <name>Verification That Signing Certificate Is Authorized by Supplier</name>
        <t>Consumers wish to verify the authenticity and integrity of software they use before installation.
To do this today, they rely on the digital signature of the software.
This can be misleading, however, as there is no guarantee that the certificate used to sign the software is authorized by the Supplier for signing.
For example, a malicious actor may obtain a signing certificate from a reputable organization and use that certificate to sign malicious software.
The consumer, believing the software originated from the reputable organization, would then install malicious software.</t>
        <t>A consumer of software wants to:</t>
        <ul spacing="normal">
          <li>verify the authenticity and integrity of software they use before installation.</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>enable the consumer to verify that software originated from a 'duly authorized signing party' on behalf of the supplier, and is still valid.</li>
        </ul>
      </section>
      <section anchor="multi-stakeholder-evaluation-of-a-released-software-product">
        <name>Multi Stakeholder Evaluation of a Released Software Product</name>
        <t>In the IT industry, it is a common practice that once a software product is released, it is evaluated on various aspects.
For example, an auditing company, a code review company or a government body will examine the software product and issue authoritative reports about the product.
The end users (consumers or distribution entities) use these report to make an accurate assessment as to whether the software product is deemed fit to use.</t>
        <t>There are multiple such authoritative bodies that make such assessments.
There is no assurance that all the bodies may be aware of statements from other authoritative entities or actively acknowledge them.
Discovery of all sources of such reports and/or identities of the authoritative bodies adds a significant cost to the end user or consumer of the product.</t>
        <t>A consumer of released software product wants to:</t>
        <ul spacing="normal">
          <li>offload the burden of identifying all relevant authoritative entities to an entity who does it on their behalf</li>
          <li>offload the burden to filter from and select all statements that are applicable to a particular version of a multi release software product, to an entity who does this on their behalf</li>
          <li>make an informed decisions on which authoritative entities to believe</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>aggregate large numbers of related statements in one place and discover them</li>
          <li>referencing other statements via a statement</li>
          <li>identifying or discover all (or at least a critical mass) of relevant authoritative entities</li>
        </ul>
      </section>
      <section anchor="security-analysis-of-a-software-product">
        <name>Security Analysis of a Software Product</name>
        <t>This use case is a specialization of the use case above.</t>
        <t>A released software product is often accompanied by a set of complementary statements about it's security compliance.
This gives enough confidence to both producers and consumers that the released software has a good security standard 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 software component vulnerability with the software product 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>There is no 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>
        </ul>
      </section>
      <section anchor="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) released by a certain original producer is becoming popular.
The released software component is accompanied by a statement of authenticity (e.g., a detached signature).
Over time, due to its enhanced applicability to various products, there has been an increasing amount 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 package bundle and provide the package with proof of authenticity using their own 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 lifecycle 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 actually the original provider or a promoter</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 promoter or not</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>reliably discern if a provider is the original producer or is a trustworthy promoter 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="post-boot-firmware-provenance">
        <name>Post-Boot Firmware Provenance</name>
        <t>In contrast to operating systems or user space software components of a large and complex systems, firmware components are often already executed during boot-cycles before there is an opportunity to authenticate them.</t>
        <t>Authentication takes place, for example, by validating a signed artifact against a Reference Integrity Manifest (RIM), such as IETF's Concise Reference Integrity Manifest, TCG Reference Integrity Manifest (RIM) Information Model, or another specification as applicable.
Corresponding procedures are often called authenticated, measured, or secure boot.
The output of these high assurance boot procedures is often used as input to more complex verifications known as remote attestation procedures.</t>
        <t>If measurements before execution are not possible, static after-the-fact analysis is required, typically by examining artifacts.
When best practices are followed, measurements (e.g., a hash or digests) are stored in a protected or shielded environment (e.g., TEEs or TPMs).
After finishing a boot sequence, these measurements about foundational firmware are retrieved after-the-fact from shielded locations and must be compared to reference values that are part of RIMs.
A verifying system appraising the integrity of a boot sequence must identify, locate, retrieve, and authenticate corresponding RIMs.</t>
        <t>A consumer of published software wants to:</t>
        <ul spacing="normal">
          <li>easily identify sources for RIMs</li>
          <li>select appropriate RIMs and download them for the appraisal of measurements</li>
          <li>assure the authenticity, applicability, and freshness of RIMs over time</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>identify, locate, retrieve and authenticate RIMs in a uniform fashion</li>
          <li>uniquely identify and filter multiple potential available RIMs (e.g., by age, source, signing authority, etc.)</li>
          <li>store RIMs in a secure fashion that enables their usage in appraisal procedures years after they were created</li>
        </ul>
      </section>
      <section anchor="auditing-of-software-products">
        <name>Auditing of Software Products</name>
        <t>An organization has established procurement requirements and compliance policies for software use.
In order to allow the acquisition and deployment of software in certain security domains of the organization, a check of software quality and characteristics must succeed.
Compliance and requirement checking includes audits of the results of organizational procedures and technical procedures, which can originate from checks conducted by the organization itself or checks conducted by trusted third parties.
Consequently, consumers of statements about released software can be auditors.
Examples of procedure results important to audits include:</t>
        <ul spacing="normal">
          <li>available fresh and applicable code reviews</li>
          <li>certification documents (e.g., FIPS or Common Criteria)</li>
          <li>virus scans</li>
          <li>vulnerability disclosure reports (fixed or not fixed)</li>
          <li>security impact or applicability justification statements</li>
        </ul>
        <t>Relevant documents (such as compliance, requirements or procedure results) originate from various sources and include a wide range of representations and formats.</t>
        <t>A producer of released software wants to:</t>
        <ul spacing="normal">
          <li>match disclosures related to released software to the needs of an auditor</li>
          <li>provide documents that enable efficient audit procedures</li>
          <li>minimize the cost of audits</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>discover and associate relevant documents, data, and validation results required for various types of audits</li>
          <li>assert the authenticity and provenance of documents relevant to audits in a deterministic and uniform fashion</li>
          <li>check the validity of identity statements about relevant documents after the fact (when they were made) in a consistent, long-term fashion</li>
          <li>allow for more than one level of disclosure of audit procedures (potentially depending on criticality)</li>
        </ul>
      </section>
      <section anchor="authentic-software-components-in-air-gapped-infrastructure">
        <name>Authentic Software Components in Air-Gapped Infrastructure</name>
        <t>Some software is deployed on systems not connected to the Internet.
Authenticity checks for off-line systems can occur at time of deployment of released software.
Off-line systems require appropriate configuration and maintenance to be able to conduct useful authenticity checks.
If the off-line systems in operation are part of constrained node environments, they do not possess the capabilities to process and evaluate all the authenticity proofs that come with the released software.</t>
        <t>A consumer of released software wants:</t>
        <ul spacing="normal">
          <li>a proof of authenticity that can be checked by an off-line system for vast periods of time after system deployment</li>
          <li>a proof of authenticity to be small and as uniform as possible to allow for application in constrained node environments</li>
          <li>a simple and low cost way to update the configuration of a system component in charge of validity or authenticity checking</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>provide an authenticity proof that can be checked by off-line systems in a simple and uniform fashion</li>
          <li>enable high performance, and constrained systems to conduct authenticity checks</li>
          <li>verify the authenticity and integrity of software in a fashion that scales</li>
        </ul>
      </section>
      <section anchor="firmware-delivery-to-large-set-of-devices">
        <name>Firmware Delivery to Large Set of Devices</name>
        <t>Firmware is a critical component of constrained IoT devices and general purpose computers.
Firmware is often the bedrock on which the security story of a device is built.
For example, personal health monitoring devices (eHealth devices) are generally battery driven and offer health telemetry monitoring, such as temperature, blood pressure, and pulse rate.
These devices typically connect to the Internet through an intermediary base station using wireless technologies.
Through this connection, the telemetry data and analytics are transferred, and the device receives firmware updates published by vendors.
During initialization, general purpose computers can also have resource constraints like that of constrained IoT devices.
Verification of hardened configuration of the computer's chipset for ongoing telemetry is increasingly important.
After initialization, even if not constrained similarly to IoT devices, the computer's operating system can facilitate telemetry about telemetry settings and measure differences at scale.
The public network, open distribution system, and firmware update process create several security challenges.</t>
        <t>Consumers and other interested parties of a firmware update ecosystem want to:</t>
        <ul spacing="normal">
          <li>know that the received firmware for system update is not faulty or malicious</li>
          <li>know if the signing identity used to assert the authenticity of the firmware is somehow used to sign unintended updates</li>
          <li>ascertain that the released firmware is not subverted or compromised due to an insider risk - be it malicious or otherwise</li>
          <li>confirm that the publishers knows if their deliverable has been compromised. For example, can they trust their key protection or audit logging?</li>
          <li>know how the update client on an instance of a health monitoring system discerns a general update from one specially crafted for just a small subset of a fleet of devices</li>
          <li>know if the firmware has effectively maintained or changed applicable hardware settings after installation</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>provide an update framework that allows validation of authenticity of firmware revisions (in addition to existing approaches, such as <xref target="RFC9019"/>, <xref target="RFC9124"/>, or <xref target="TUF"/>)</li>
          <li>to verify that the firmware update seen by a single device, is indeed the same as seen by all the devices</li>
          <li>reliably discern an update that has been signed by the appropriate and intended signing identity</li>
          <li>make an informed judgement on all available information about firmware at the install time.</li>
          <li>implement an update framework with the ability to measure hardware configuration</li>
        </ul>
      </section>
      <section anchor="software-integrator-assembling-a-software-product-for-a-smart-car">
        <name>Software Integrator Assembling a Software Product for a Smart Car</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 integrates 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>There is no 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 anchor="identify-statements-and-updates-to-specific-versions-of-released-software">
        <name>Identify Statements and Updates to Specific Versions of Released Software</name>
        <t>Software producers often have multiple and concurrent supported versions of a product.
The versions may represent major feature or compatibility differentiating releases (1.0, 2.0), or implementations for different Operating System Platforms and their respective Instruction Set Architectures (AMD, ARM, x86, x64 for Linux, Mac, and Windows).</t>
        <t>For each release, the software producer must be capable of providing statements, unique to that version.
Producers may provide patches to upgrade specific versions and not others.
Consumers need to know which updates are compatible with their environment.
Third parties that provide statements of quality need to know how to differentiate supported version bands, avoiding the recommendation to upgrade to an incompatible version.</t>
        <t>As versions lose recency and freshness and vulnerabilities are discovered, consumers need to know the latest version of a particular product.
Software producers implement versioned updates, however there are no standards for consumers and third parties to apply across software producers.</t>
        <t>Consumers of related software components want to:</t>
        <ul spacing="normal">
          <li>discover information based on certain aspects of software, such as version, platform architecture, or associated vulnerabilities</li>
          <li>assess the applicability of patches when planning update campaigns</li>
        </ul>
        <t>There is no standardized way to:</t>
        <ul spacing="normal">
          <li>associate vulnerability information, statements of quality, statements of support and end of life (EOL) with a specific version of a product</li>
          <li>identify a patched version, specific to their Operating System and Platform</li>
          <li>differentiate major and minor version upgrades</li>
          <li>provide concurrent versioned updates</li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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>
        <name>Informative References</name>
        <reference anchor="RFC9019">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <seriesInfo name="DOI" value="10.17487/RFC9019"/>
            <seriesInfo name="RFC" value="9019"/>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC9124">
          <front>
            <title>A Manifest Information Model for Firmware Updates in Internet of Things (IoT) Devices</title>
            <seriesInfo name="DOI" value="10.17487/RFC9124"/>
            <seriesInfo name="RFC" value="9124"/>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <date month="January" year="2022"/>
            <abstract>
              <t>Vulnerabilities with Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism that is also suitable for constrained devices. Ensuring that devices function and remain secure over their service lifetime requires such an update mechanism to fix vulnerabilities, update configuration settings, and add new functionality.</t>
              <t>One component of such a firmware update is a concise and machine-processable metadata document, or manifest, that describes the firmware image(s) and offers appropriate protection. This document describes the information that must be present in the manifest.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="TUF" target="https://theupdateframework.io/overview/">
          <front>
            <title>The Update Framework Overview</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 401?>

<!--
Contributors
============
{: numbered="no"}

 -->

<!--
Acknowledgements
================
{: numbered="false"}
-->



  </back>
  <!-- ##markdown-source:
H4sIAPwqIWYAA71c65bbxpH+z6dA5B+SdkkqcpyLlTjxeEay56wm0mpGm+OT
kx9NoEm2BwQYNMARrWifZZ9ln2zrq6q+gOTISk6yc45lEgS6q6vr8tWlMZvN
JrtnxS8mk971tX1WXNjeuNpWxXW77O9MZ4vrYbut98X52rimeOutL84N/l22
XXF9fnlzMzGLRWdpFP5WXP9p9MikasvGbGjoqjPLfuZsv5z50vX9zOsUs8Hb
WYlBZz//xeTW7u/arnpWXDa97Rrbzy7w4KQ0/bPCNct24vvOmg3d8PzmxWSy
s81gn02KYtW1w1apoK8bWsezgmf6GpPO226Fu1y/HhY0Eui4WwkpTz6Btslk
654Vf+7bclr4tiMalp4+7TfyoWw3W1P2/GFjm97/ZTIxQ79uO9A2I8r9s+K7
efGN627Xbf0jXSwKYcx3trkdXydSnxUvOjM063ZpO2KFp/0Zeitct+VAG3NJ
vOg2pndtU9zYct20dbva8/NhR7Ihri9v+CcrfFnTnPOFzvm1d/18Ge+dV5Zv
BZ8tMf3N2hL1fWe8t8Wvf8m/lW1FlD/81Reff/nLh3LF9XuSH9NtfG+qXu8a
mr6jy99aorTZJ058PydR8+utaXQyYcX37YquHvzE3Dh7c5XTv+cbiVK98Wua
d06sTzNcEK+7tr312fAXrrzNr/LIb56f5SNXdM/Xna2dWdTWNrZb7U1j6n3v
Sj+e4c28uDJdTzKeZnjTLmzX59d5jqvLmzfP81k6s+Fbvt444rLKpo77zbz4
j8at1n027jedM01+WYZ1ZddCVPOhF7j1lu+k0fUGpnzSiMDsSF8mLojPjrXn
zYvzL3/+9EvSn7eXN7OzN+ff6cWnn3+hFy+xAzdvXzzj2XrTrSAd677f+mdP
nvRrO2wr01sSpI0lFb6du/ZJu7Pdztm7J/KMGJmbtS3e8r2QULm5eKV3Tiaz
2YwkGAJX9pPJzdr5gozIAK0iBpX1QLteGBKuurYli3+7LDq77aynW3hF95sv
sV5zGpbuLki7C9buwrhN0beFq2gIt9wXwQAUXgYoeYBt15JUbHzRr01P/1gi
qBqI1H2xNCUN07eV2RckkQURXxjQuRpo0No1oryV3dm63bpmxUvYENWkix40
e+g1aVFhunLtelob1JwH8209YKVidnum3Ze2MZ1raTHMso2rqtpOJp/BcnZt
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

-->

</rfc>
