<?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.30 (Ruby 3.4.7) -->
<?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-09" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-09"/>
    <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 58?>

<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 65?>

<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>.</t>
          </li>
        </ul>
        <t>The IAK public key is a SubjectPublicKeyInfo <xref target="RFC5280"/> using the encoding defined in <xref section="13" sectionFormat="of" target="RFC7468"/>.
There MUST be only one key in an <tt>attest-key-triple-record</tt>.</t>
        <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[
=============== NOTE: '\' line wrapping per RFC 8792 ================

/ 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(
            "-----BEGIN PUBLIC KEY-----\\
nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEIShnxS4rlQiwpCCpBWDzlNLfqiG911FP\\
n8akBr+fh94uxHU5m+Kijivp2r2oxxN6MhM4tr8mWQli1P61xh3T0ViDREbF26DGO\\
       nEYfbAjWjGNN7pZf+6A4OTHYqEryz6m7U\n-----END PUBLIC KEY-----\n"
          )
        ]
      ]
    ]
  }
}
]]></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 / 560(
            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>Independent</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="20" month="October" 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-09"/>
        </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="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="S. Leonard" initials="S." surname="Leonard"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed. This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </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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
2dtnr06m7OXsHd386ScreP3i3c1s8u7Fy/CvJ7/90pxOvnv3/GV3NptMT47f
XU1mJxer4PaiG/nfeTeb6XTz7Ifj3/zTV8tfvW9HrdbzM4Qx5O+fRV8uV6Pu
9vbF2976y5feL971ph21w9vb0/7r1etuEg3XP3zne62zfut21blsfu8dn88W
z9v942/fAAyFbDB7t1xMfvnhl29PTwebvy6/7E+6by5fvPt1Fu1+668Hb38K
CPPZ6XGJmKBm0F3/9PDrYVNZjMYesooqNKvqqkwjslxbpWw1SF/KUJ306Vse
2HqtOuh5sbeSyvJpUQrbsMAfxDsIMNYQn0xSx24z4dHpLc+6ltOUhc4TSzW/
QxZGFh1GJl6UthnbKl6KVZSimh+FkAeysX6Ry4F/sd2YIZvAGcQr4VpGF2tG
raIBK4xYbw2oG74wJns/LIY0jWKbjL2gxReTab0B5MLfrJZqtiDzRbhNKppT
cz1ImllGt6h8uYZJjh7qFmVZZM9D8sW18GmEhaLBfL6QrAJ8EKo8X2UCg3ua
cchE4jTqsoV/xY1GJIM063S7XlB3jtG3x/J9e9Q2Zes3cHTgkfX+bXiUmO3h
v4kotPS5sgqE9FijeR3f91HNKYYPRw6b4Si+BWJViPohu1l5EMtiG3IWYFCn
QmVET8KjZNAy6s5Gv0va64w4lFnFFKtKaYZV3WKQSzMqW6CrGhyyM/A0kqfX
WCDC8H2OBzPBBiVNHp9PJBKQIp2FEBDtUKfwmQgiYA7lA2mLt2lSzkW89RM6
SK/q9zROp0lu5ihjqjPffMehOkhUW5g/38YQGwXaDrbruard3iZCbZ617+QA
uC0L5WBBabpcMe0U+tOfqifaBJwOJI+OnrIDqnGbOIxZq5mdfOu78oS3Ls9h
czfVCS1rROJK3G5Y7cemPfr5rtW5B5Mlv/fua6bBN9AtWvc8z2U9W1fCP5HX
yGEYGSeR1H0eq6a8OMuUSoqglLHUtosiI9VJiz9It4+pekkS8mdR+lSz1OUl
V7Lm9CbJcouUZCMUCU9yiVipNxbfhwh2VYdF2kOQ4VE0pa8jmi3FOdQL777p
Fp3SaxspUVWtN/TgQaIU85X9QF6WbUgBt4JyyENClM4qTEzlqE7Kcn6jkInx
Sn1HhmaJVFyF8bzV7nR7/cFw1IRvIPN0PUfJKckZJPXOWlQ0CTfVpyWPwNMu
I1mqq9pqKgXp1oJaq9Fp9GpGf//fM+9yFwvIsoYccopht91yRiNn1Oy22t0F
X/RGDv+svOthJYZhoz052AOyBU/zIfrD+dqnZGyfeMbzqRna78zRPj9Ly+dp
f1Te/6i8s//Fyvuhob97+u4KUneEUUdDm3zkRpMEr9LIZgmnXnNvkllh+h+O
Pcj+q4QyPa1/K18yk025Z/iWGXX2PspeTLOsk+yFbvVqWmq9fW8pnJ2DTT3X
FOnHW+y3ihk17yqwGwn2kF5etvT7UlkeGogblhgH/Q6+l72Tkb4MdDARAasK
CZ3nyKDn4u2zf59NL8eV6SY8PzufHZ9MJ1jlOwiQP5Dyqe72I5Zd1NmBxvRI
41mH6W809EA2KlesQf5YoQ0+PhIyJEGC6T0++fIsC7PueQVLdc9bqn0BeFyI
9zDfCeOsI1a9wiLAObtU/zWcgXKQ0vYUAcYQyV4+O25bEDurO3sC5r3zv0q7
KCswBbGU8XNDM/Epa9G1YiVct3WjI86G/1XjZUK/YWJOlXqiJsIInf6nWzdm
izD08cWOaCvUWxBe8phe8/RuVd9RWjRYbK+wfTO+MRYFQRtrS15wFfJ1kRqM
qKXt5jAD5o5ZHn/9eaLl5ciU9VzhYulzfLE29N2PLAsjjGV/NlmWZ7ikoxAM
ILOITJiJwoCHc7nemlwlBVmp1BPCyOvQv0aRUnFXjIFXGwIv2f2IQVizhvX7
inhNRXIYtqngVVU4DPRKR33lROUTAkgvyx2s9BBHskcSQjKSexv0n7ZKX9Yx
CLD+50X6qnDuk9t1PjuS+5wYLld/NqNfqZnFQBedwd64bV/4pQeAFH8k9tX5
hYr+pIDnw5f7imjmj9DOYMa/VGiXzyDKEklqJPWmdaicVOqyCuNKLgvngrMy
hv1s6ABOAcv/+eKeH7Zf6Auj8oKPVr4smP86wj/8Q/i5+3frKKr0uKV8Q4t9
Mb2gdwitR9nZyzSk35OIuPq1pb84kVh+dfnm+M1fjugr/dDV5HRSGomnYdQa
PIVMZBN6+Eoe3HyUaxiO2WtwlzMd5kIKg6AoSv91i4V2OmmKxJVHRfd8ouGk
gHXpvZaDbQHsmppM/fAf2EngilsGfxOxZqcoRh+yjhb6DaIPtm3DwF4TnuwL
BD6wu7s/44+l3d8T25OFT3yn8XoUbhD3vavgac0XS+roNluxc5jKZE+z5rXx
qot6/7HApQ/UiJEng77jLw7uIwnTWZOmNNP9UCx2fmBVvwODIepDdO9pS9/P
ho/RKdnCJg7+rIQv3Kvsx50CKoAK92ktCHFUWSz/G5VY5i6MUgAA

-->

</rfc>
