<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-fdb-rats-psa-endorsements-07" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="CoRIM PSA Profile">A CoRIM Profile for Arm's Platform Security Architecture (PSA) Endorsements</title>
    <seriesInfo name="Internet-Draft" value="draft-fdb-rats-psa-endorsements-07"/>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Arm Ltd</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>Arm Ltd</organization>
      <address>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <abstract>
      <?line 57?>

<t>PSA Endorsements comprise reference values, endorsed values, cryptographic key
material and certification status information that a Verifier needs in order
to appraise Attestation Evidence produced by a PSA device.  This memo defines
PSA Endorsements as a profile of the CoRIM data model.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/thomas-fossati/corim-psa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>PSA Endorsements include reference values, endorsed values, cryptographic key
material and certification status information that a Verifier needs in order to
appraise attestation Evidence produced by a PSA device <xref target="PSA-TOKEN"/>.  This
memo defines PSA Endorsements as a profile of the CoRIM data model
<xref target="CoRIM"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
      <t>An understanding of the <xref target="CoRIM"/> data model is a prerequisite.</t>
      <t>The reader is also assumed to be familiar with the terms defined in <xref section="2.1" sectionFormat="of" target="PSA-TOKEN"/> and in <xref section="4" sectionFormat="of" target="RATS-ARCH"/>.</t>
    </section>
    <section anchor="sec-psa-endorsements">
      <name>PSA Endorsements</name>
      <t>PSA Endorsements describe an attesting device in terms of the hardware and
firmware components that make up its PSA Root of Trust (RoT). This includes
the identification and expected state of the device as well as the
cryptographic key material needed to verify Evidence signed by the device's PSA
RoT. Additionally, PSA Endorsements can include information related to the
certification status of the attesting device.</t>
      <t>There are three basic types of PSA Endorsements:</t>
      <ul spacing="normal">
        <li>
          <t>Reference Values (<xref target="sec-ref-values"/>), i.e., measurements of the PSA RoT
firmware;</t>
        </li>
        <li>
          <t>Attestation Verification Keys (<xref target="sec-keys"/>), i.e., cryptographic keys
that are used to verify signed Evidence produced by the PSA RoT, along
with the identifiers that bind the keys to their device instances;</t>
        </li>
        <li>
          <t>Certification Claims (<xref target="sec-certificates"/>), i.e., metadata that describe
the certification status associated with a PSA device;</t>
        </li>
      </ul>
      <t>There is a fourth PSA Endorsement type that aims at covering more advanced
Verifier use cases (e.g., the one described in <xref section="7" sectionFormat="of" target="TEEP"/>):</t>
      <ul spacing="normal">
        <li>
          <t>Software Relations (<xref target="sec-swrel"/>), used to model upgrade and patch
relationships between software components.</t>
        </li>
      </ul>
      <section anchor="psa-endorsement-profile">
        <name>PSA Endorsement Profile</name>
        <t>PSA Endorsements are carried in one or more CoMIDs inside a CoRIM.</t>
        <t>The profile attribute in the CoRIM MUST be present and MUST be the URI
<tt>tag:arm.com,2025:psa#1.0.0</tt> as shown in <xref target="ex-arm-psa-profile"/>.</t>
        <figure anchor="ex-arm-psa-profile">
          <name>CoRIM profile for PSA Endorsements version 1.0.0</name>
          <artwork><![CDATA[
/ corim-map / {
  / corim.profile / 3: 32("tag:arm.com,2025:psa#1.0.0")
  / ... /
}
]]></artwork>
        </figure>
      </section>
      <section anchor="sec-psa-rot-id">
        <name>PSA Endorsements to PSA RoT Linkage</name>
        <t>Each PSA Endorsement - be it a Reference Value, Attestation Verification Key
or Certification Claim - is associated with an immutable PSA RoT.  The linkage
between a PSA Endorsement and its PSA RoT is made by means of the unique PSA
RoT identifier known as Implementation ID (see <xref section="3.2.2" sectionFormat="of" target="PSA-TOKEN"/>).</t>
        <t>To encode an Implementation ID, the <tt>tagged-bytes</tt> variant of the <tt>$class-id-type-choice</tt> is used, as described in <xref target="cddl-impl-id"/>.
The length of the byte string MUST be exactly 32.</t>
        <figure anchor="cddl-impl-id">
          <name>PSA Platform Implementation ID encoding</name>
          <artwork><![CDATA[
; from draft-tschofenig-rats-psa-token
psa-implementation-id-type = bytes .size 32

tagged-implementation-id-type = #6.560(psa-implementation-id-type)
]]></artwork>
        </figure>
        <t>Besides, a PSA Endorsement can be associated with a specific instance of a
certain PSA RoT - as is the case for Attestation Verification Keys.
The Instance ID (see <xref section="3.2.1" sectionFormat="of" target="PSA-TOKEN"/>) provides a unique identifier for a given PSA RoT.</t>
        <t>To encode an Instance ID, the <tt>tagged-ueid-type</tt> variant of the <tt>$instance-id-type-choice</tt> is used, as described in <xref target="cddl-inst-id"/>.
The first byte MUST be 0x01 (RAND) followed by the 32-byte unique instance identifier.</t>
        <figure anchor="cddl-inst-id">
          <name>PSA RoT Instance ID encoding</name>
          <artwork><![CDATA[
inst-id-tagged-ueid = #6.550(eat-ueid-rand-type)

eat-ueid-rand-type = bytes .join eat-ueid-rand-fmt

eat-ueid-rand-fmt = [
  ; the type byte is 0x01
  ueid-rand-typ
  bytes .size 32
]

ueid-rand-typ = h'01'
]]></artwork>
        </figure>
        <t>PSA Attestation Verification Keys are associated with a PSA RoT instance by means of the Instance ID and the corresponding Implementation ID.
These identifiers are typically found in the subject of a CoMID triple, encoded in an <tt>environment-map</tt> as shown in <xref target="ex-psa-rot-id"/>.</t>
        <figure anchor="ex-psa-rot-id">
          <name>Example PSA RoT Identification</name>
          <artwork><![CDATA[
/ environment-map / {
  / comid.class / 0 : {
    / comid.class-id / 0 :
      / tagged-bytes / 560(
        h'61636d652d696d706c656d656e746174
          696f6e2d69642d303030303030303031'
      )
  },
  / comid.instance / 1 :
    / tagged-ueid-type / 550(
      h'01
        4ca3e4f50bf248c39787020d68ffd05c
        88767751bf2645ca923f57a98becd296'
    )
}
]]></artwork>
        </figure>
      </section>
      <section anchor="sec-ref-values">
        <name>Reference Values</name>
        <t>Reference Values carry measurements and other metadata associated with the
updatable firmware in a PSA RoT.  When appraising Evidence, the Verifier
compares Reference Values against the values found in the Software Components
of the PSA token (see <xref section="3.4.1" sectionFormat="of" target="PSA-TOKEN"/>).</t>
        <t>Each measurement is encoded in a <tt>measurement-map</tt> of a CoMID <tt>reference-triple-record</tt>.
Since a <tt>measurement-map</tt> can encode one or more measurements, a single <tt>reference-triple-record</tt>
can carry as many measurements as needed, provided they belong to the same PSA RoT identified
in the subject of the triple.</t>
        <t>A single <tt>reference-triple-record</tt> can completely describe the PSA RoT measurements.</t>
        <t>Each PSA Software Component (i.e., the <tt>psa-software-component</tt> defined in <xref section="4.4.1" sectionFormat="of" target="PSA-TOKEN"/>) is encoded in a <tt>measurement-values-map</tt> as defined in <xref target="cddl-swcomp-mvm"/>.</t>
        <figure anchor="cddl-swcomp-mvm">
          <name>PSA Software Component encoding</name>
          <sourcecode type="cddl"><![CDATA[
psa-swcomp-measurement-values-map = {
  ? &(version: 0) => psa-swcomp-version-map
  &(digests: 2) => psa-swcomp-digests-type
  ? &(name: 11) => psa-swcomp-name
  &(cryptokeys: 13) => [ psa-swcomp-signer-id ]
}

psa-swcomp-version-map = {
  &(version: 0) => text
}

psa-swcomp-digests-type = [ + psa-digest ]

psa-digest = [
  alg: text
  val: psa-hash-type
]

psa-hash-type = bytes .size 32 / bytes .size 48 / bytes .size 64

psa-swcomp-name = text

psa-swcomp-signer-id = #6.560(psa-hash-type)
]]></sourcecode>
        </figure>
        <dl>
          <dt>version (key 0):</dt>
          <dd>
            <t>A <tt>version-map</tt> with its <tt>version</tt> field containing the version (key 4) of the <tt>psa-software-component</tt>.
The <tt>version-scheme</tt> field of the <tt>version-map</tt> MUST NOT be present.
The <tt>version</tt> field is optional.</t>
          </dd>
          <dt>digests (key 2):</dt>
          <dd>
            <t>Each array element encodes the "measurement value" (key 2) and "measurement-desc" (key 6) of the <tt>psa-sw-component</tt> in the <tt>val</tt> and <tt>alg</tt> entries, respectively.
The <tt>alg</tt> entry MUST use the text encoding.
The digests array MUST contain at least one entry and MAY contain more than one entry if multiple digests (obtained with different hash algorithms) of the same measured component exist.
If multiple entries exist, they MUST have different <tt>alg</tt> values.
The <tt>digests</tt> field is mandatory.</t>
          </dd>
          <dt>name (key 11):</dt>
          <dd>
            <t>A text value containing the "measurement-type" (key 1) of the <tt>psa-sw-component</tt>.
The <tt>name</tt> field is optional.</t>
          </dd>
          <dt>cryptokeys (key 13):</dt>
          <dd>
            <t>An array with <em>only one</em> entry using the <tt>tagged-bytes</tt> variant of the <tt>$crypto-key-type-choice</tt>.
The entry contains the "signer-id" (key 5) of the <tt>psa-sw-component</tt>.
The <tt>cryptokeys</tt> field is mandatory.</t>
          </dd>
        </dl>
        <t>Each <tt>measurement-values-map</tt> for a PSA RoT software component is wrapped in a <tt>measurement-map</tt> with an <tt>mkey</tt> using the text variant of the <tt>$measured-element-type-choice</tt>.
The value of the <tt>mkey</tt> MUST be "psa.software-component".
The <tt>authorized-by</tt> field of the <tt>measurement-map</tt> MUST NOT be present.
See <xref target="cddl-swcomp-mm"/> for the related CDDL definitions.</t>
        <figure anchor="cddl-swcomp-mm">
          <name>PSA RoT Software Component measurement-map</name>
          <sourcecode type="cddl"><![CDATA[
psa-swcomp-measurement-map = {
  &(mkey: 0) => "psa.software-component"
  &(mval: 1) => psa-swcomp-measurement-values-map
}
]]></sourcecode>
        </figure>
        <t>The complete example of a Reference Value CoMID Triple that encodes multiple <tt>psa-sw-component</tt> is given <xref target="ex-reference-value"/>.</t>
        <figure anchor="ex-reference-value">
          <name>Example Reference Value</name>
          <sourcecode type="cbor.diag"><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.reference-triples / 0 : [
      [
        / environment-map / {
          / comid.class / 0 : {
            / comid.class-id / 0 :
              / tagged-impl-id-type / 560(
                h'61636d652d696d706c656d656e746174
                  696f6e2d69642d303030303030303031'
              )
          }
        },
        [
          / measurement-map / {
            / comid.mkey / 0 : "psa.software-component",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'9a271f2a916b0b6ee6cecb2426f0b320
                                  6ef074578be55d9bc94f6f3fe3ab86aa'
              ],
              / name / 11 : "BL",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa3')
            }
          },
          / measurement-map / {
            / comid.mkey / 0 : "psa.software-component",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'53c234e5e8472b6ac51c1ae1cab3fe06
                                  fad053beb8ebfd8977b010655bfdd3c3'
              ],
              / name / 11 : "PRoT",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa4')
            }
          }
        ]
      ]
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-keys">
        <name>Attestation Verification Keys</name>
        <t>An Attestation Verification Key carries the verification key associated with
the Initial Attestation Key (IAK) of a PSA device.  When appraising Evidence,
the Verifier can use the Implementation ID and Instance ID claims (see
<xref target="sec-psa-rot-id"/>) to look up the verification key that it SHALL use to check
the signature on the Evidence.  This allows the Verifier to prove (or disprove)
the Attester's claimed identity.</t>
        <t>Each verification key is provided alongside the corresponding device Instance
and Implementation IDs (and, possibly, a product identifier) in an
<tt>attest-key-triple-record</tt>. Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>The Instance and Implementation IDs are encoded in the environment-map as shown in <xref target="ex-psa-rot-id"/>;</t>
          </li>
          <li>
            <t>The IAK public key uses the <tt>tagged-pkix-base64-key-type</tt> variant of the <tt>$crypto-key-type-choice</tt>.
The IAK public key is a PEM-encoded SubjectPublicKeyInfo <xref target="RFC5280"/>.
There MUST be only one key in an <tt>attest-key-triple-record</tt>.</t>
          </li>
        </ul>
        <t>The example in <xref target="ex-attestation-verification-claim"/> shows the PSA Endorsement
of type Attestation Verification Key carrying a secp256r1 EC public IAK
associated with Instance ID <tt>4ca3...d296</tt>.</t>
        <figure anchor="ex-attestation-verification-claim">
          <name>Example Attestation Verification Key</name>
          <sourcecode type="cbor-diag"><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.attest-key-triples / 3 : [
      [
        / environment-map / {
          / comid.class / 0 : {
            / comid.class-id (implementation id) / 0 :
              / tagged-bytes / 560(
                h'61636d652d696d706c656d656e746174
                  696f6e2d69642d303030303030303031'
              )
          },
          / comid.instance / 1 :
            / tagged-ueid-type (instance id) / 550(
              h'01
                4ca3e4f50bf248c39787020d68ffd05c
                88767751bf2645ca923f57a98becd296'
            )
        },
        [
          / tagged-pkix-base64-key-type / 554(
             "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgA
              ETl4iCZ47zrRbRG0TVf0dw7VFlHtv18HInY
              hnmMNybo+A1wuECyVqrDSmLt4QQzZPBECV8
              ANHS5HgGCCSr7E/Lg=="
          )
        ]
      ]
    ]
  }
}
]]></sourcecode>
        </figure>
      </section>
      <section anchor="sec-certificates">
        <name>Certification Claims</name>
        <t>PSA Certified <xref target="PSA-CERTIFIED"/> defines a certification scheme for the PSA
ecosystem.  A product - either a hardware component, a software component, or
an entire device - that is verified to meet the security criteria established
by the PSA Certified scheme is warranted a PSA Certified Security Assurance
Certificate (SAC). A SAC contains information about the certification of a
certain product (e.g., the target system, the attained certification level, the
test lab that conducted the evaluation, etc.), and has a unique Certificate
Number.</t>
        <t>The linkage between a PSA RoT -- comprising the immutable part as well as zero
or more of the mutable components -- and the associated SAC is provided by a
Certification Claim, which binds the PSA RoT Implementation ID and the software
component identifiers with the SAC unique Certificate Number.  When appraising
Evidence, the Verifier can use the Certification Claims associated with the
identified Attester as ancillary input to the Appraisal Policy, or to enrich
the produced Attestation Result.</t>
        <t>A Certification Claim is encoded as a <tt>conditional-endorsement-triple-record</tt>.</t>
        <t>The SAC is encoded in a <tt>psa-cert-num</tt> that extends the
<tt>measurement-values-map</tt>.  See <xref target="ex-cert-triple"/>.</t>
        <figure anchor="ex-cert-triple">
          <name>Example Certification Triple</name>
          <artwork><![CDATA[
$$measurement-values-map-extension //= (
  &(psa-cert-num: 100) => psa-cert-num-type
)

psa-cert-num-type = text .regexp "[0-9]{13} - [0-9]{5}"
]]></artwork>
        </figure>
        <t>The <tt>conditional-endorsement-triple-record</tt> is constructed as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The Implementation ID of the immutable PSA RoT to which the SAC applies is encoded as a <tt>tagged-bytes</tt> in the <tt>environment-map</tt> of the
<tt>stateful-environment-record</tt>; as shown in  <xref target="cddl-impl-id"/></t>
          </li>
          <li>
            <t>Any software component that is part of the certified PSA RoT is encoded as a reference value (see <xref target="sec-ref-values"/>) in the <tt>measurement-map</tt> of the <tt>stateful-environment-record</tt>;</t>
          </li>
          <li>
            <t>The unique SAC Certificate Number is encoded as <tt>psa-cert-num</tt> (key 100) in the <tt>measurement-values-map</tt>.</t>
          </li>
        </ul>
        <t>The example in <xref target="ex-certification-claim"/> shows a Certification Claim that
associates Certificate Number <tt>1234567890123 - 12345</tt> to Implementation ID
<tt>acme-implementation-id-000000001</tt> and a single "PRoT" software component with
version "1.3.5".</t>
        <figure anchor="ex-certification-claim">
          <name>Example Certification Claim</name>
          <artwork><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'dbb0508ac658421c99c904124bab59ca'
  },
  / comid.triples / 4 : {
    / comid.conditional-endorsement-triple / 9 : [
      [
        / stateful-environment-record / [
          / environment-map / {
            / comid.class / 0 : {
              / comid.class-id / 0 :
                / tagged-bytes / 560(
                  h'61636d652d696d706c656d656e746174
                    696f6e2d69642d303030303030303031'
                )
            }
          },
          / measurement-map / {
            / comid.mkey / 0 : "psa.software-component",
            / comid.mval / 1 : {
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'53c234e5e8472b6ac51c1ae1cab3fe06
                                  fad053beb8ebfd8977b010655bfdd3c3'
              ],
              / name / 11 : "PRoT",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa4')
            }
          }
        ],
        / measurement-values-map / {
           / psa.cert-num / 100 : "1234567890123 - 12345"
        }
      ]
    ]
  }
}
]]></artwork>
        </figure>
      </section>
      <section anchor="sec-swrel">
        <name>Software Upgrades and Patches</name>
        <t>In order to model software lifecycle events such as updates and patches, this
profile defines a new triple that conveys the following semantics:</t>
        <ul spacing="normal">
          <li>
            <t>SUBJECT: a software component</t>
          </li>
          <li>
            <t>PREDICATE: (non-critically / critically) (updates / patches)</t>
          </li>
          <li>
            <t>OBJECT: another software component</t>
          </li>
        </ul>
        <t>The triple is reified and used as the object of another triple,
<tt>psa-swrel-triple-record</tt>, whose subject is the embedding environment.</t>
        <artwork><![CDATA[
comid.psa-swrel-triples = TBD2

$$triples-map-extension //= (
  comid.psa-swrel-triples => [ + psa-swrel-triple-record ]
)

psa.updates = 1
psa.patches = 2

psa-swrel-rel = [
  type: psa.updates / psa.patches
  security-critical: bool ; true means it's a fix for a security bug
]

sw-rel = [
  new: comid.measurement-map ; the "new" firmware
  rel: psa-swrel-rel         ; patches/updates and the security flag
  old: comid.measurement-map ; the "old" firmware
]

psa-swrel-triple-record = [
  environment-map
  sw-rel
]
]]></artwork>
        <t>An example of a security critical update involving versions "1.2.5" and "1.3.0"
of software component "PRoT" within the target environment associated with
Implementation ID <tt>acme-implementation-id-000000001</tt> is shown in
<xref target="ex-psa-swrel-update-crit"/>.</t>
        <figure anchor="ex-psa-swrel-update-crit">
          <name>Example Critical Software Upgrade</name>
          <artwork><![CDATA[
/ concise-mid-tag / {
  / comid.tag-identity / 1 : {
    / comid.tag-id / 0 : h'3f06af63a93c11e4979700505690773f'
  },
  / comid.triples / 4 : {
    / comid.psa-swrel-triples / 5 : [
      [
        / environment-map / {
          / comid.class-id / 0 :
          / tagged-impl-id-type / 600(
            h'61636d652d696d706c656d656e746174
              696f6e2d69642d303030303030303031'
          )
        },

        / sw-rel / [
          / new / {
            / comid.mval / 1 : {
            / comid.ver / 0 : {
              / comid.version / 0 : "1.3.0",
            },
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'53c234e5e8472b6ac51c1ae1cab3fe06
                                  fad053beb8ebfd8977b010655bfdd3c3'
              ],
              / name / 11 : "PRoT",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7aa4')
            }
          },
          / rel / [
            / type / 1, / psa.updates /
            / security-critical / true
          ],

          / old / {
            / comid.mval / 1 : {
                  / comid.ver / 0 : {
                  / comid.version / 0 : "1.2.5",
                },
              / comid.digests / 2 : [
                / hash-alg-id / "sha-256",
                / hash-value /  h'53c234e5e8472b6ac51c1ae1cab3fe06
                                  fad053beb8ebfd8978b010655bfdd3c3'
              ],
              / name / 11 : "PRoT",
              / cryptokeys / 13 : 560(h'5378796307535df3ec8d8b15a2
                                        e2dc5641419c3d3060cfe32238
                                        c0fa973f7ad4')
            }
          }
        ]
      ]
    ]
  }
}
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t><cref>TODO</cref></t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="comid-codepoints">
        <name>CoMID Codepoints</name>
        <section anchor="comid-triples-map-extension">
          <name>CoMID Triples Map Extension</name>
          <t>IANA is requested to register the following codepoints to the "CoMID Triples
Map" registry.</t>
          <table align="left" anchor="tbl-psa-comid-triples">
            <name>PSA CoMID Triples</name>
            <thead>
              <tr>
                <th align="left">Index</th>
                <th align="left">Item Name</th>
                <th align="left">Specification</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">50</td>
                <td align="left">comid.psa-swrel-triples</td>
                <td align="left">RFCthis</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="comid-measurement-values-map-extension">
          <name>CoMID Measurement Values Map Extension</name>
          <table align="left" anchor="tbl-psa-comid-measurement-values-map">
            <name>Measurement Values Map Extensions</name>
            <thead>
              <tr>
                <th align="left">Key</th>
                <th align="left">Item Name</th>
                <th align="left">Item Type</th>
                <th align="left">Specification</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">100</td>
                <td align="left">comid.psa-cert-num</td>
                <td align="left">
                  <tt>psa-cert-num</tt></td>
                <td align="left">
                  <xref target="sec-certificates"/> of RFCthis</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t><cref>TODO</cref></t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="PSA-TOKEN">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="S. Frost" initials="S." surname="Frost"/>
            <author fullname="M. Brossard" initials="M." surname="Brossard"/>
            <author fullname="A. Shaw" initials="A." surname="Shaw"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>Arm's Platform Security Architecture (PSA) is a family of hardware and firmware security specifications, along with open-source reference implementations, aimed at helping device makers and chip manufacturers integrate best-practice security into their products. Devices that comply with PSA can generate attestation tokens as described in this document, which serve as the foundation for various protocols, including secure provisioning and network access control. This document specifies the structure and semantics of the PSA attestation token.</t>
              <t>The PSA attestation token is a profile of the Entity Attestation Token (EAT). This specification describes the claims used in an attestation token generated by PSA-compliant systems, how these claims are serialized for transmission, and how they are cryptographically protected.</t>
              <t>This Informational document is published as an Independent Submission to improve interoperability with Arm's architecture. It is not a standard nor a product of the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9783"/>
          <seriesInfo name="DOI" value="10.17487/RFC9783"/>
        </reference>
        <reference anchor="CoRIM">
          <front>
            <title>Concise Reference Integrity Manifest</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
              <organization>arm</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-07"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <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>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RATS-ARCH">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="TEEP">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <author fullname="M. Pei" initials="M." surname="Pei"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="D. Wheeler" initials="D." surname="Wheeler"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>A Trusted Execution Environment (TEE) is an environment that enforces the following: any code within the environment cannot be tampered with, and any data used by such code cannot be read or tampered with by any code outside the environment. This architecture document discusses the motivation for designing and standardizing a protocol for managing the lifecycle of Trusted Applications running inside such a TEE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9397"/>
          <seriesInfo name="DOI" value="10.17487/RFC9397"/>
        </reference>
        <reference anchor="PSA-CERTIFIED" target="https://www.psacertified.org">
          <front>
            <title>PSA Certified</title>
            <author>
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
