<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.5.5 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc docmapping="yes"?>
<?rfc toc_levels="4"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birkholz-rats-suit-claims-03" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.0 -->
  <front>
    <title abbrev="SUIT TV">Trustworthiness Vectors for the Software Updates of Internet of Things (SUIT) Workflow Model</title>
    <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-suit-claims-03"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="B." surname="Moran" fullname="Brendan Moran">
      <organization>Arm Limited</organization>
      <address>
        <email>Brendan.Moran@arm.com</email>
      </address>
    </author>
    <date year="2022" month="January" day="12"/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The IETF Remote Attestation Procedures (RATS) architecture defines Conceptual Messages as input and output of the appraisal process that assesses the trustworthiness of remote peers: Evidence and Attestation Results.
Based on the Trustworthiness Vectors defined in Trusted Path Routing, this document defines a core set of Claims to be used in Evidence and Attestation Results for the Software Update for the Internet of Things (SUIT) Workflow Model.
Consecutively, this document is in support of the Trusted Execution Environment Provisioning (TEEP) architecture, which defines the assessment of remote peers via RATS and uses SUIT for evidence generation as well as a remediation measure to improve trustworthiness of given remote peers.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Attestation Results are an essential output of Verifiers as defined in the Remote ATtestation procedureS (RATS) architecture <xref target="I-D.ietf-rats-architecture" format="default"/>.
They are consumed by Relying Parties: the entities that intend to build future decisions on trustworthiness assessments of remote peers.
Attestation Results must be easily appraised by Relying Parties -- in contrast to the rather complex or domain-specific Evidence appraised by Verifiers.</t>
      <t>In order to create Attestation Results, a Verifier must consume Evidence generated by a given Attester (amongst other Conceptual Messages, such as Endorsements and Attestation Policies).
Both Evidence and Attestation Results are composed of Claims.
This document highlights and defines a set of Claims to be used in Evidence and Attestation Results that are based on the SUIT Workflow Model <xref target="I-D.ietf-suit-manifest" format="default"/>.
In the scope of this document, an Attester takes on the role of a SUIT Recipient: the system that receives a SUIT Manifest.</t>
      <section anchor="suit-workflow-model-and-procedures" numbered="true" toc="default">
        <name>SUIT Workflow Model and Procedures</name>
        <t>This document focuses on Evidence and Attestation Results that can be generated based on the output of SUIT Procedures.
The SUIT Workflow Model allows for two types of SUIT Procedures generating Reports on the Attester as defined in the SUIT Manifest specification <xref target="I-D.ietf-suit-manifest" format="default"/>:</t>
        <dl>
          <dt>
Update Procedures:  </dt>
          <dd>
            <t>A procedure that updates a device by fetching dependencies, software images, and installing them.</t>
          </dd>
          <dt/>
          <dd>
            <t>An Update Procedure creates a Report about mutable software components that are installed or updated on hardware components.</t>
          </dd>
          <dt>
Boot Procedures:  </dt>
          <dd>
            <t>A procedure that boots a device by checking dependencies and images, loading images, and invoking one or more image.</t>
          </dd>
          <dt/>
          <dd>
            <t>A Boot Procedure creates a Report on measured boot events (e.g. during Secure Boot).</t>
          </dd>
        </dl>
        <t>The Records contained in each type of Report can be used as Claims in Evidence generation on the Attester for Remote Attestation Procedures as described in this document.
Analogously, a corresponding Verifier appraising that Evidence can generate Attestation Results using the Claims defined in this document.</t>
        <t>Both types of SUIT Procedures pass several stages (e.g. dependency-checking is one stage).
The type and sequence of stages are defined by the Command Sequences included in a SUIT Manifest.
For each stage in which a Command from the Command Sequence is executed a Record is created. All Records of a SUIT procedure contain binary results limited to "fail" or "pass".
The aggregated sequence of all Records is composed into a Report.</t>
        <t>This document specifies new Claims derived from Command Sequence Reports and relates them to Claims defined in Attestation Results for Secure Interactions <xref target="I-D.ietf-rats-ar4si" format="default"/> -- if applicable to the operational state of installed and updated software.</t>
        <t>The Claims defined in this document are in support of the Trusted Execution Environment Provisioning (TEEP) architecture.
During TEEP, the current operational state of an Attester is assessed via RATS. If the corresponding Attestation Results -- as covered in this document -- indicate insufficient Trustworthiness Tiers in a Trustworthiness Vector with respect to installed software, the SUIT Workflow Model is used for remediation.</t>
      </section>
      <section anchor="terminology" numbered="true" toc="default">
        <name>Terminology</name>
        <t>This document uses the terms and concepts defined in <xref target="I-D.ietf-rats-architecture" format="default"/>, <xref target="I-D.ietf-suit-manifest" format="default"/>, and <xref target="I-D.ietf-teep-architecture" format="default"/>.</t>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL</bcp14>
NOT", "<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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="trustworthiness-vectors" numbered="true" toc="default">
      <name>Trustworthiness Vectors</name>
      <t>While there are usage scenarios where Attestation Results can be binary decisions, more often than not the assessment of trustworthiness is represented by a more fine-grained spectrum or based on multiple factors. These shades of Attestation Results are captured by the definition of Trustworthiness Vectors in Attestation Results for Secure Interaction <xref target="I-D.ietf-rats-ar4si" format="default"/>.
Trustworthiness Vectors are sets of Trustworthiness Claims representing appraisal outputs produced by a Verifier (Attestation Results). Each of these Trustworthiness Claims has a Trustworthiness Tier ranging from Affirmed to None.</t>
      <t>An Attester processing SUIT Manifests can manages three types of information about it's Target Environments:</t>
      <ul spacing="normal">
        <li>installed manifests including initial state (e.g. factory default),</li>
        <li>hardware component identifiers that represent identifiable targets of updates, and</li>
        <li>SUIT Interpreter results (e.g. test-failed) generated during updates.</li>
      </ul>
      <t>Every SUIT Manifest maps to a certain intended state of a device.
Every intended device composition of software components associated with hardware components can therefore be expressed based on a SUIT Manifest.
The current operational state of a device can be represented in the same form, including the initial state.</t>
      <t>As a result, the Claims defined in this document are bundled by the scope of the information represented in SUIT Manifests, i.e., dedicated blobs of software that are the payload of a SUIT Manifest.
All Claims associated with an identifiable SUIT Manifest <bcp14>MUST</bcp14> always be bundled together in a Claims set that is limited to the Claims defined in this document.</t>
    </section>
    <section anchor="suit-claims" numbered="true" toc="default">
      <name>SUIT Claims</name>
      <t>The Claim description in this document uses CDDL as the formal modeling language for Claims.
This approach is aligned with <xref target="I-D.ietf-rats-eat" format="default"/>.
All Claims are based on information elements as used in the SUIT Manifest specification <xref target="I-D.ietf-suit-manifest" format="default"/>.
For instance, a SUIT Class ID is represented as an UUID.
Analogously, the corresponding class-identifier Claim found below is based on a UUID. 
SUIT Claims are differentiated in:</t>
      <ul spacing="normal">
        <li>software and hardware characteristics (System Properties), and</li>
        <li>reports about updates and their SUIT Commands (SUIT Records).</li>
        <li>success/failure reports</li>
      </ul>
      <t>Each type of Claims is always bundled in a dedicated Claim Set.
Implementations can encode this information in various different ways (data models), e.g., sets, sequences, or nested structures.</t>
      <t>The SUIT Report is defined in <xref target="I-D.ietf-suit-report" format="default"/>. It is used verbatim in this draft.
The following subsections define the SUIT Report Claims for RATS.</t>
      <section anchor="system-properties-claims" numbered="true" toc="default">
        <name>System Properties Claims</name>
        <t>System Properties Claims are composed of:</t>
        <ul spacing="normal">
          <li>Hardware Component Claims and</li>
          <li>Software Component Claims.</li>
        </ul>
        <t>Correspondingly, the Claim definitions below highlight if a Claim is generic or hw/sw-component specific.</t>
        <section anchor="vendor-identifier" numbered="true" toc="default">
          <name>vendor-identifier</name>
          <t>A RFC 4122 UUID representing the vendor of the Attester or one of its hardware and/or software components.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= (vendor-identifier =&gt;
    (RFC4122_UUID / cbor-pen))
cbor-pen = #6.112(bstr)
</sourcecode>
        </section>
        <section anchor="class-identifier" numbered="true" toc="default">
          <name>class-identifier</name>
          <t>A RFC 4122 UUID representing the class of the Attester or one of its hardware and/or software components.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( class-identifier =&gt; RFC4122_UUID )
</sourcecode>
        </section>
        <section anchor="device-identifier" numbered="true" toc="default">
          <name>device-identifier</name>
          <t>A RFC 4122 UUID representing the Attester.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( device-identifier =&gt; RFC4122_UUID )
</sourcecode>
        </section>
        <section anchor="image-digest" numbered="true" toc="default">
          <name>image-digest</name>
          <t>A fingerprint computed over a software component image on the Attester.
This Claim is always bundled with a component-identifier or component-index.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( image-digest =&gt; digest )
</sourcecode>
        </section>
        <section anchor="image-size" numbered="true" toc="default">
          <name>image-size</name>
          <t>The size of a firmware image on the Attester.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( image-size =&gt; size )
</sourcecode>
        </section>
        <section anchor="version" numbered="true" toc="default">
          <name>version</name>
          <t>The Version of a hardware or software component of the Attester.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( version =&gt; version-value )
</sourcecode>
        </section>
      </section>
      <section anchor="interpreter-record-claims" numbered="true" toc="default">
        <name>Interpreter Record Claims</name>
        <t>This class of Claims represents the content of SUIT Records generated by Interpreters running on Recipients. They are always bundled into Claim Sets representing SUIT Reports and are intended to be included in Evidence generated by an Attester. The Interpreter Record Claims appraised by a Verifier can steer a corresponding a Firmware Appraisal procedures that consumes this Evidence. Analogously, these Claims can be re-used in generated Attestation Results as Trustworthiness Vectors <xref target="I-D.ietf-rats-ar4si" format="default"/>.</t>
        <section anchor="record-success" numbered="true" toc="default">
          <name>record-success</name>
          <t>The result of a Command that was executed by the Interpreter on an Attester.</t>
          <sourcecode type="CDDL">
$$interpreter-record-claim //= ( record-success =&gt; bool )
</sourcecode>
        </section>
        <section anchor="component-index" numbered="true" toc="default">
          <name>component-index</name>
          <t>A positive integer representing an entry in a flat list of indices mapped to software component identifiers to be updated.</t>
          <sourcecode type="CDDL">
$$system-property-claim //= ( component-index =&gt; uint )
</sourcecode>
        </section>
        <section anchor="dependency-index" numbered="true" toc="default">
          <name>dependency-index</name>
          <t>A thumbprint of a software component that an update depends on.</t>
          <sourcecode type="CDDL">
$$interpreter-record-claim //= ( dependency-index =&gt; digest )
</sourcecode>
        </section>
        <section anchor="command-index" numbered="true" toc="default">
          <name>command-index</name>
          <t>A positive integer representing an entry in a SUIT_Command_Sequence identifying a Command encoded as a SUIT Manifest Directive or SUIT Manifest Condition.</t>
          <sourcecode type="CDDL">
$$interpreter-record-claim //= ( command-index =&gt; uint )
</sourcecode>
        </section>
        <section anchor="nominal-parameters" numbered="true" toc="default">
          <name>nominal-parameters</name>
          <t>A list of SUIT_Parameters associated with a specific Command that was executed by the Interpreter on an Attester.</t>
          <sourcecode type="CDDL">
$$interpreter-record-claim //= ( actual-parameters =&gt; parameter-list )
</sourcecode>
        </section>
      </section>
      <section anchor="generic-record-conditions-tbd" numbered="true" toc="default">
        <name>Generic Record Conditions (TBD)</name>
        <ul spacing="normal">
          <li>test-failed</li>
          <li>unsupported-command</li>
          <li>unsupported-parameter</li>
          <li>unsupported-component-id</li>
          <li>payload-unavailable</li>
          <li>dependency-unavailable</li>
          <li>critical-application-failure</li>
          <li>watchdog-timeout</li>
        </ul>
      </section>
    </section>
    <section anchor="list-of-commands-tbd" numbered="true" toc="default">
      <name>List of Commands (TBD)</name>
      <ul spacing="normal">
        <li>Check Vendor Identifier</li>
        <li>Check Class Identifier</li>
        <li>Verify Image</li>
        <li>Set Component Index</li>
        <li>Override Parameters</li>
        <li>Set Dependency Index</li>
        <li>Set Parameters</li>
        <li>Process Dependency</li>
        <li>Run</li>
        <li>Fetch</li>
        <li>Use Before</li>
        <li>Check Component Offset</li>
        <li>Check Device Identifier</li>
        <li>Check Image Not Match</li>
        <li>Check Minimum Battery</li>
        <li>Check Update Authorized</li>
        <li>Check Version</li>
        <li>Abort</li>
        <li>Try Each</li>
        <li>Copy</li>
        <li>Swap</li>
        <li>Wait For Event</li>
        <li>Run Sequence</li>
        <li>Run with Arguments</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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">
              <organization/>
            </author>
            <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" target="https://www.rfc-editor.org/info/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">
              <organization/>
            </author>
            <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="I-D.ietf-rats-architecture" target="https://www.ietf.org/archive/id/draft-ietf-rats-architecture-14.txt">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-14"/>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="9" month="December" year="2021"/>
            <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.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-suit-manifest" target="https://www.ietf.org/archive/id/draft-ietf-suit-manifest-16.txt">
          <front>
            <title>A Concise Binary Object Representation (CBOR)-based Serialization Format for the Software Updates for Internet of Things (SUIT) Manifest</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-suit-manifest-16"/>
            <author fullname="Brendan Moran">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Koen Zandberg">
              <organization>Inria</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   This specification describes the format of a manifest.  A manifest is
   a bundle of metadata about code/data obtained by a recipient (chiefly
   the firmware for an IoT device), where to find the that code/data,
   the devices to which it applies, and cryptographic information
   protecting the manifest.  Software updates and Trusted Invocation
   both tend to use sequences of common operations, so the manifest
   encodes those sequences of operations, rather than declaring the
   metadata.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-suit-report" target="https://www.ietf.org/archive/id/draft-ietf-suit-report-00.txt">
          <front>
            <title>Secure Reporting of Update Status</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-suit-report-00"/>
            <author fullname="Brendan Moran">
              <organization>Arm Limited</organization>
            </author>
            <date day="12" month="July" year="2021"/>
            <abstract>
              <t>   The Software Update for the Internet of Things (SUIT) manifest
   provides a way for many different update and boot workflows to be
   described by a common format.  However, this does not provide a
   feedback mechanism for developers in the event that an update or boot
   fails.

   This specification describes a lightweight feedback mechanism that
   allows a developer in possession of a manifest to reconstruct the
   decisions made and actions performed by a manifest processor.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-teep-architecture" target="https://www.ietf.org/archive/id/draft-ietf-teep-architecture-15.txt">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-teep-architecture-15"/>
            <author fullname="Mingliang Pei">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Dave Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="David Wheeler">
              <organization>Amazon</organization>
            </author>
            <date day="12" month="July" year="2021"/>
            <abstract>
              <t>   A Trusted Execution Environment (TEE) is an environment that enforces
   that any code within that environment cannot be tampered with, and
   that any data used by such code cannot be read or tampered with by
   any code outside that environment.  This architecture document
   motivates the design and standardization of a protocol for managing
   the lifecycle of trusted applications running inside such a TEE.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-ar4si" target="https://www.ietf.org/archive/id/draft-ietf-rats-ar4si-01.txt">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-01"/>
            <author fullname="Eric Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Vincent Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="2" month="December" year="2021"/>
            <abstract>
              <t>   This document defines reusable Attestation Result information
   elements.  When these elements are offered to Relying Parties as
   Evidence, different aspects of Attester trustworthiness can be
   evaluated.  Additionally, where the Relying Party is interfacing with
   a heterogenous mix of Attesting Environment and Verifier types,
   consistent policies can be applied to subsequent information exchange
   between each Attester and the Relying Party.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-eat" target="https://www.ietf.org/archive/id/draft-ietf-rats-eat-11.txt">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-11"/>
            <author fullname="Laurence Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Jeremy O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <date day="24" month="October" year="2021"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides a signed (attested) set of
   claims that describe state and characteristics of an entity,
   typically a device like a phone or an IoT device.  These claims are
   used by a Relying Party to determine how much it wishes to trust the
   entity.

   An EAT is either a CWT or JWT with some attestation-oriented claims.
   To a large degree, all this document does is extend CWT and JWT.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-sacm-coswid" target="https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-19.txt">
          <front>
            <title>Concise Software Identification Tags</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-sacm-coswid-19"/>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jessica Fitzgerald-McKay">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Charles Schmidt">
              <organization>The MITRE Corporation</organization>
            </author>
            <author fullname="David Waltermire">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date day="20" month="October" year="2021"/>
            <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 similar set of
   semantics and features as 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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAGxP32EAA71a6W4bybX+309RVw5wJYOkx46RRbgziDbHBLwokjyDIAiM
YneRLKgXpqpbHE4weZY8S54s3zmnunohFcu5QQYzo+7qWs7ynbU4nU6T2ta5
OVV3rvH1tnL12pbGe/W9SevKebWsnKrXRt1Wy3qrnVGfNpmujVfVUs3L2rjS
1PR8h3Urr45vP83vTtQPlbtf5tVWva8ykyd6sXDm4VTRR3X3fZJVaakLnJo5
vaynC+vu11X+09Tp2k99Y+tpmmtb+Ok3v0xSnLaq3O5U+TpLErtxp6omYl99
881vv3mVgCaNnU3aOFvvErBwv3JVszlVN2d3t8m92WEoO43ETi/pzCTxtS6z
zzqvStCxMz7Z2NNEKbdMTebrXR5GlaqrtPdoy8yUdTvgITBnlj6+74rBa+1s
GienVVFgbfxqy9yW8RjIpNCbDaTYO+1zbh5MjhWvk0Q39bpyoHGKlRh6O1Pn
QXCYrESgb015Pxiu3EqX9idd26o8VW+cbsp1tTRO3c7v6LsptM1P1RrrZq0e
fudtPVvGqbPMxEPPZ1Cp02V34rkzZabLbnh44pkr1Dtb2NpkvePCohkv+p12
xQzCSZKycgXWPRjSxM2bi1cvX/72FDovl/0P8+nlzJp6KXDRLl1j97RuHKih
of4UBlMBepbGQxH0uvfZmQ3UKB/DS39ObcxmdAoNHSDktbeniv/sfTQaB+B/
g8N1WkzTym8t4Cl/k2Q6nSq9AHB0CpDewfLmV3dv1I0pqtqosxqmV7No1bWr
AFXQA6sjqJ+oPpEqM0uyZHVRlanZ1I3O1XsYtl5hTHtoc9PUCiagqqamR9gw
2Tkg6LT1mL2h/eEJ6rXGRO8N/ctz6pGvwFIn9G2McUDJ1YOFlaSG9+/TfGN8
k9d+lpxrb3B0yfs95nuEhQy0yhQ8Xut6rW5AMuxkgsXWk+E0ZFeRYw1hQgBe
HNMFexIYk1oY1XjZ7ksEPub24vhTXd8sgfw9nBOBN9+NSbakCABvQ6BrVdDy
evUjrwNVV+WDdVXJS6D2B+sxikPV8d3V1fVQ8RO1Xdt0HaXBSmXt8fKRrtSD
1ewoWRINaZidNPFpWiGtTGmcyAfI2Zo8p7+aNjKZlQ+F0Z5gBznbAtB5OAiT
FaRQDgiYKcF8YbMsN0nyjETrqqxJadskOaQc0gc8DgGyrC2g2kH4e+Ps0hJj
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

-->

</rfc>
