<?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-08" 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-08"/>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</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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
YHJZ4/Ifxxzk91UimZ1yfy8/zpLNrBf4dRZ1xD7JP+iyrPP8Q2j1SVfmtQN/
Kdy9i80wN4Twkx32KSWMml7VtFs57TF99Gvp74zy/DMUtyw1Dshd/J55LxG+
BDiYgIA3hUTOdyXYufr+xb/Pptfj2jQTnl9czs7Op5Pr2ZgdhSgfSPVUV/gJ
yy+a7EhTeqLpbMLr7/TsoWzwrVmD4rAiG2J7LCQUQYbp+zf50SmL8q5zNZfq
OrfUsT/IuITzMM+JkryTVH36ISAoe1TjNoKACozS55QnTADBXr8461iAmdWd
A0D54PvfZN2HNZSCWkrc3NJCfM7adK1ECdcd3SCIb8P/VcNiSn/sw3xV2ol6
EUbotD/bujFbRFGAH0TEO6G+HvDTp/R5pH+n+nWyYsFit8K2x+TWWBQUbaw9
eClEyM8sGjCikbVpwxvw7pgV6dc/z7S+nJi6XihYLAOOH6RGgfeJZWGEsex7
U2RFgUs+SiAAhUVswpuoDHjIVehJKVRQUJTKPAE+3kTBDaqUwlsJAq4OAC7Z
NYjgy2lgxbwGpykEh3BNgVZV2TDIqxyZVROUzwCOfp4zWNlhiBSPZIR0pPAV
5a+2vF61MQBW//vqeh2MO9TmMnBKOO6LEdyXYLdC4dhEvdIyywAXg8FBvHYI
dukBoMWfwLw6r1CoTyp4EbY81KCYf0E6Qxj/EJCumDFUNZHMR9pL+1gFpyxU
lcZVQhW+C0HKGPbe0H18BTz+l6t5cdhhZS+NKio8eveqQv7jKP3pP7XSe3+j
TpzaCFvJL7S6l9MJ+tbOepKfsUwj+rsLMVd/leh3biyW31y/O3v3uxP6lf4g
1OTtpDIST72ohXYKmcc28vHTNbj5pNBYm7A3EB5nGtZCyoJTESr/eYcFdTpR
isXKp+J6MbFws4l1ib1RmNuCuRvqZeob/8jOQ0/cMfg3FRv2FtXnY94JQn+r
56Nt2zCw78CTQ4H/I7u//y3+UbGHBxJ7ughI7jRej8IN4oG/Cp83ArGkzmez
ZblAqUzutGjeGJ+EqO8ES1L6SK0ORTbod/xTfIdYwvTV5CnLbD+Wi5ofWd3f
S0FI+hjfB9q3D4vhU3xKsbCJi39+IRDeKv8jSCEVOoX3vBFGOKqqlv8DbAOh
6aVRAAA=

-->

</rfc>
