<?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.39 (Ruby 3.4.9) -->
<?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-10" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.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-10"/>
    <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="2" month="March" year="2026"/>
            <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-10"/>
        </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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
AAA=

-->

</rfc>
