<?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.21 (Ruby 3.3.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ace-authcred-dtls-profile-01" category="std" consensus="true" submissionType="IETF" updates="9202" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="Authentication Credentials DTLS profile">Additional Formats of Authentication Credentials for the Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ace-authcred-dtls-profile-01"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>164 40</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="J" surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <city>Stockholm</city>
          <code>164 80</code>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Security</area>
    <workgroup>ACE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 82?>

<t>This document updates the Datagram Transport Layer Security (DTLS) profile for Authentication and Authorization for Constrained Environments (ACE). In particular, it specifies the use of additional formats of authentication credentials for establishing a DTLS session, when peer authentication is based on asymmetric cryptography. Therefore, this document updates RFC 9202. What is defined in this document is seamlessly applicable also if the profile uses Transport Layer Security (TLS) instead, as defined in RFC 9430.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Authentication and Authorization for Constrained Environments Working Group mailing list (ace@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ace/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ace-wg/ace-authcred-dtls-profile"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Authentication and Authorization for Constrained Environments (ACE) framework <xref target="RFC9200"/> defines an architecture to enforce access control for constrained devices. A client (C) requests an evidence of granted permissions from an authorization server (AS) in the form of an access token, then uploads the access token to the target resource server (RS), and finally accesses protected resources at RS according to what is specified in the access token.</t>
      <t>The framework has as main building blocks the OAuth 2.0 framework <xref target="RFC6749"/>, the Constrained Application Protocol (CoAP) <xref target="RFC7252"/> for message transfer, Concise Binary Object Representation (CBOR) <xref target="RFC8949"/> for compact encoding, and CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/><xref target="RFC9053"/> for self-contained protection of access tokens.</t>
      <t>Separate profile documents define in detail how the participants in the ACE architecture communicate, especially as to the security protocols that they use. In particular, the ACE profile defined in <xref target="RFC9202"/> specifies how Datagram Transport Layer Security (DTLS) <xref target="RFC6347"/><xref target="RFC9147"/> is used to protect communications with transport-layer security in the ACE architecture. The profile has also been extended in <xref target="RFC9430"/>, in order to allow the alternative use of Transport Layer Security (TLS) <xref target="RFC8446"/> when CoAP is transported over TCP or WebSockets <xref target="RFC8323"/>.</t>
      <t>The DTLS profile <xref target="RFC9202"/> allows C and RS to establish a DTLS session with peer authentication based on symmetric or asymmetric cryptography. For the latter case, the profile defines an RPK mode (see <xref section="3.2" sectionFormat="of" target="RFC9202"/>), where authentication relies on the public keys of the two peers as raw public keys <xref target="RFC7250"/>.</t>
      <t>That is, C specifies its public key to the AS when requesting an access token, and the AS provides such public key to the target RS as included in the issued access token. Upon issuing the access token, the AS also provides C with the public key of RS. Then, C and RS use their asymmetric keys when performing the DTLS handshake, as defined in <xref target="RFC7250"/>.</t>
      <t>Per <xref target="RFC9202"/>, the DTLS profile admits only a COSE_Key object <xref target="RFC9052"/> as the format of authentication credentials to use for transporting the public keys of C and RS, as raw public keys. However, it is desirable to enable additional formats of authentication credentials, as enhanced raw public keys or as public certificates.</t>
      <t>This document enables such additional formats in the DTLS profile, by defining how the public keys of C and RS can be specified by means of CBOR Web Token (CWT) Claims Sets (CCSs) <xref target="RFC8392"/>, or X.509 certificates <xref target="RFC5280"/>, or C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
      <t>This document also enables the DTLS profile to use the CWT Confirmation Method 'ckt' defined in <xref target="RFC9679"/> when using a COSE_Key object as raw public key, thus allowing to identifying the COSE_Key object by reference, alternatively to transporting it by value.</t>
      <t>In particular, this document updates <xref target="RFC9202"/> as follows.</t>
      <ul spacing="normal">
        <li>
          <t><xref target="sec-rpk-mode"/> of this document extends the RPK mode defined in <xref section="3.2" sectionFormat="of" target="RFC9202"/>, by enabling:  </t>
          <ul spacing="normal">
            <li>
              <t>The use of CCSs to wrap the raw public keys of C and RS (see <xref target="sec-rpk-mode-kccs"/>).</t>
            </li>
            <li>
              <t>The use of the CWT Confirmation Method 'ckt' to identify by reference a COSE_Key object used as authentication credential (see <xref target="sec-rpk-mode-ckt"/>).</t>
            </li>
          </ul>
        </li>
        <li>
          <t><xref target="sec-cert-mode"/> of this document defines a new certificate mode, which enables the use of X.509 or C509 certificates to specify the public keys of C and RS. In either case, certificates can be transported by value or instead identified by reference.</t>
        </li>
      </ul>
      <t>When using the updated RPK mode, the raw public keys of C and RS do not have to be of the same format. That is, it is possible to have both public keys as a COSE_Key object or as a CCS, or instead one as a COSE_Key object while the other one as a CCS. When both raw public keys are COSE_Keys, it is possible to have both COSE_Keys transported by value, or both identified by reference, or one transported by value while the other one identified by reference.</t>
      <t>When using the certificate mode, the certificates of C and RS do not have to be of the same format. That is, it is possible to have both as X.509 certificates, or both as C509 certificates, or one as an X.509 certificate while the other one as a C509 certificate. Furthermore, it is possible to have both certificates transported by value, or both identified by reference, or one transported by value while the other one identified by reference.</t>
      <t>Also, the RPK mode and the certificate mode can be combined. That is, it is possible that one of the two authentication credentials is a certificate, while the other one is a raw public key.</t>
      <t>When using the formats introduced in this document, authentication credentials are specified by means of the CWT Confirmation Methods "kccs", "x5bag", "x5chain", "x5t", "x5u", "c5b", "c5c", "c5t", and "c5u" that are defined in <xref target="I-D.ietf-ace-edhoc-oscore-profile"/>.</t>
      <t>What is defined in this document is seamlessly applicable if TLS is used instead, as defined in <xref target="RFC9430"/>.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>Readers are expected to be familiar with the terms and concepts described in the ACE framework for Authentication and Authorization <xref target="RFC9200"/><xref target="RFC9201"/> and its DTLS profile <xref target="RFC9202"/>, as well as with terms and concepts related to CBOR Web Tokens (CWTs) <xref target="RFC8392"/> and CWT Confirmation Methods <xref target="RFC8747"/>.</t>
        <t>The terminology for entities in the considered architecture is defined in OAuth 2.0 <xref target="RFC6749"/>. In particular, this includes client (C), resource server (RS), and authorization server (AS).</t>
        <t>Readers are also expected to be familiar with the terms and concepts related to CoAP <xref target="RFC7252"/>, CBOR <xref target="RFC8949"/>, Concise Data Definition Language (CDDL) <xref target="RFC8610"/>, COSE <xref target="RFC9052"/><xref target="RFC9053"/>, the DTLS protocol suite <xref target="RFC6347"/><xref target="RFC9147"/>, and the use of raw public keys in DTLS <xref target="RFC7250"/>.</t>
        <t>Note that the term "endpoint" is used here following its OAuth definition, aimed at denoting resources such as /token and /introspect at the AS, and /authz-info at RS. This document does not use the CoAP definition of "endpoint", which is "An entity participating in the CoAP protocol."</t>
        <t>This document also refers to the term "authentication credential", which denotes the information associated with an entity, including that entity's public key and parameters associated with the public key. Examples of authentication credentials are CWT Claims Sets (CCSs) <xref target="RFC8392"/>, X.509 certificates <xref target="RFC5280"/>, and C509 certificates <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
        <t>Examples throughout this document are expressed in CBOR diagnostic notation as defined in <xref section="8" sectionFormat="of" target="RFC8949"/> and <xref section="G" sectionFormat="of" target="RFC8610"/>. Diagnostic notation comments are often used to provide a textual representation of the parameters' keys and values.</t>
        <t>In the CBOR diagnostic notation used in this document, constructs of the form e'SOME_NAME' are replaced by the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. For example, {e'x5chain' : h'3081...cb02'} stands for {6 : h'3081...cb02'}.</t>
        <t>Note to RFC Editor: Please delete the paragraph immediately preceding this note. Also, in the CBOR diagnostic notation used in this document, please replace the constructs of the form e'SOME_NAME' with the value assigned to SOME_NAME in the CDDL model shown in <xref target="fig-cddl-model"/> of <xref target="sec-cddl-model"/>. Finally, please delete this note.</t>
      </section>
    </section>
    <section anchor="sec-rpk-mode">
      <name>Updates to the RPK Mode</name>
      <t>This section updates the RPK mode defined in <xref section="3.2" sectionFormat="of" target="RFC9202"/>, as detailed in the following <xref target="sec-rpk-mode-kccs"/> and <xref target="sec-rpk-mode-ckt"/>.</t>
      <section anchor="sec-rpk-mode-kccs">
        <name>Raw Public Keys as CCSs</name>
        <t>This section defines how the raw public key of C and RS can be provided as wrapped by a CCS <xref target="RFC8392"/>, instead of as a COSE_Key object <xref target="RFC9052"/>. Note that only the differences from <xref target="RFC9202"/> are compiled below.</t>
        <t>If the raw public key of C is wrapped by a CCS, then the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The payload of the Access Token Request (see <xref section="5.8.1" sectionFormat="of" target="RFC9200"/>) is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "req_cnf" parameter <xref target="RFC9201"/> <bcp14>MUST</bcp14> specify a "kccs" structure, with value a CCS specifying the public key of C that has to be bound to the access token.  </t>
            <t>
In particular, the CCS <bcp14>MUST</bcp14> include the "cnf" claim specifying the public key of C as a COSE_Key object, <bcp14>SHOULD</bcp14> include the "sub" claim specifying the subject name of C associated with the public key of C, and <bcp14>MAY</bcp14> include additional claims.</t>
          </li>
          <li>
            <t>The content of the access token that the AS provides to C in the Access Token Response (see <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>) is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "cnf" claim of the access token <bcp14>MUST</bcp14> specify a "kccs" structure, with value a CCS specifying the public key of C that is bound to the access token.  </t>
            <t>
In particular, the CCS <bcp14>MUST</bcp14> include the "cnf" claim specifying the public key of C as a COSE_Key object, <bcp14>SHOULD</bcp14> include the "sub" claim specifying the subject name of C associated with the public key of C, and <bcp14>MAY</bcp14> include additional claims.</t>
          </li>
        </ul>
        <t>If the raw public key of RS is wrapped by a CCS, then the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The payload of the Access Token Response is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "rs_cnf" parameter <xref target="RFC9201"/> <bcp14>MUST</bcp14> specify a "kccs" structure, with value a CCS specifying the public key of RS.  </t>
            <t>
In particular, the CCS <bcp14>MUST</bcp14> include the "cnf" claim specifying the public key of RS as a COSE_Key object, <bcp14>SHOULD</bcp14> include the "sub" claim specifying the subject name of RS associated with the public key of RS, and <bcp14>MAY</bcp14> include additional claims.</t>
          </li>
        </ul>
        <t>For the "req_cnf" parameter of the Access Token Request, the "rs_cnf" parameter of the Access Token Response, and the "cnf" claim of the access token, the Confirmation Method "kccs" structure and its identifier are defined in <xref target="I-D.ietf-ace-edhoc-oscore-profile"/>.</t>
        <t>It is not required that both public keys are wrapped by a CCS. That is, one of the two authentication credentials can be a CCS, while the other one can be a COSE_Key object transported by value as per <xref section="3.2" sectionFormat="of" target="RFC9202"/> or identified by reference as per <xref target="sec-rpk-mode-ckt"/> of this document.</t>
        <section anchor="examples">
          <name>Examples</name>
          <t><xref target="fig-example-C-to-AS-ccs"/> shows an example of Access Token Request from C to the AS.</t>
          <figure anchor="fig-example-C-to-AS-ccs">
            <name>Access Token Request Example for RPK Mode, with the Public Key of C Wrapped by a CCS Conveyed within "req_cnf"</name>
            <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       e'kccs' : {
         / sub / 2 : "42-50-31-FF-EF-37-32-39",
         / cnf / 8 : {
           / COSE_Key / 1 : {
             / kty /    1 : 2 / EC2 /,
             / crv /   -1 : 1 / P-256 /,
             / x /     -2 : h'd7cc072de2205bdc1537a543d53c60a6
                              acb62eccd890c7fa27c9e354089bbe13',
             / y /     -3 : h'f95e1d4b851a2cc80fff87d8e23f22af
                              b725d535e515d020731e79a3b4e47120'
           }
         }
       }
     }
   }
]]></artwork>
          </figure>
          <t><xref target="fig-example-AS-to-C-ccs"/> shows an example of Access Token Response from the AS to C.</t>
          <figure anchor="fig-example-AS-to-C-ccs">
            <name>Access Token Response Example for RPK Mode, with the Public Key of RS Wrapped by a CCS, Conveyed within "rs_cnf"</name>
            <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...643b',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's RPK in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'kccs' : {
         / sub / 2 : "AA-BB-CC-00-01-02-03-04",
         / cnf / 8 : {
           / COSE_Key / 1 : {
             / kty /  1 : 2 / EC2 /,
             / crv / -1 : 1 / P-256 /,
             / x /   -2 : h'bbc34960526ea4d32e940cad2a234148
                            ddc21791a12afbcbac93622046dd44f0',
             / y /   -3 : h'4519e257236b2a0ce2023f0931f1f386
                            ca7afda64fcde0108c224c51eabf6072'
           }
         }
       }
     }
   }
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="sec-rpk-mode-ckt">
        <name>Raw Public Keys as COSE_Keys Identified by Reference</name>
        <t>As per <xref section="3.2" sectionFormat="of" target="RFC9202"/>, COSE_Key objects <xref target="RFC9052"/> used as raw public keys are transported by value in the Access Token Request and Response messages, as well as within access tokens.</t>
        <t>This section extends the DTLS profile by allowing to identifying those COSE_Key objects by reference, alternatively to transporting those by value. Note that only the differences from <xref target="RFC9202"/> are compiled below.</t>
        <t>The following relies on the CWT Confirmation Method 'ckt' defined in <xref target="RFC9679"/>. When using a 'ckt' structure, this conveys the thumbprint of a COSE_Key object computed as per <xref section="3" sectionFormat="of" target="RFC9679"/>. In particular, the used hash function <bcp14>MUST</bcp14> be SHA-256 <xref target="SHA-256"/>, which is mandatory to support when supporting COSE Key thumbprints.</t>
        <t>If the raw public key of C is a COSE_Key object COSE_KEY_C and the intent is to identify it by reference, then the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The payload of the Access Token Request (see <xref section="5.8.1" sectionFormat="of" target="RFC9200"/>) is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "req_cnf" parameter <xref target="RFC9201"/> <bcp14>MUST</bcp14> specify a "ckt" structure, with value the thumbprint of COSE_KEY_C.</t>
          </li>
          <li>
            <t>The content of the access token that the AS provides to C in the Access Token Response (see <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>) is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "cnf" claim of the access token <bcp14>MUST</bcp14> specify a "ckt" structure, with value the thumbprint of COSE_KEY_C.</t>
          </li>
        </ul>
        <t>If the raw public key of RS is a COSE_Key object COSE_KEY_RS and the intent is to identify it by reference, then the following applies.</t>
        <ul spacing="normal">
          <li>
            <t>The payload of the Access Token Response is as defined in <xref section="3.2.1" sectionFormat="of" target="RFC9202"/>, with the difference that the "rs_cnf" parameter <xref target="RFC9201"/> <bcp14>MUST</bcp14> specify a "ckt" structure, with value the thumbprint of COSE_KEY_RS.</t>
          </li>
        </ul>
        <t>When both public keys are COSE_Keys, it is possible to have both COSE_Keys transported by value, or both identified by reference, or one transported by value while the other one identified by reference.</t>
        <t>Note that the use of COSE Key thumbprints per <xref target="RFC9679"/> is applicable only to authentication credentials that are COSE_Key objects. That is, the 'ckt' structure <bcp14>MUST NOT</bcp14> be used to identify authentication credentials of other formats and that include a COSE_Key object as part of their content, such as CCSs as defined in <xref target="sec-rpk-mode-kccs"/>.</t>
        <section anchor="examples-1">
          <name>Examples</name>
          <t><xref target="fig-example-C-to-AS-ckt"/> shows an example of Access Token Request from C to the AS.</t>
          <figure anchor="fig-example-C-to-AS-ckt">
            <name>Access Token Request Example for RPK Mode, with the Public Key of C as a COSE_Key Identified by Reference within "req_cnf"</name>
            <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       / ckt / 5 : h'd3550f1b5b763ee09d058fc7aef69900
                     1279903a4a15bdc3953d32b10f7cb8b1'
     }
   }
]]></artwork>
          </figure>
          <t><xref target="fig-example-AS-to-C-ckt"/> shows an example of Access Token Response from the AS to C.</t>
          <figure anchor="fig-example-AS-to-C-ckt">
            <name>Access Token Response Example for RPK Mode, with the Public Key of RS as a COSE_Key Identified by Reference within "rs_cnf"</name>
            <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...643b',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's RPK in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       / ckt / 5 : h'db60f4d371fffac3e1040566154a5c36
                     1e0bf835a4ad4c58069cf6edc9ac58a3'
     }
   }
]]></artwork>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="sec-cert-mode">
      <name>Certificate Mode</name>
      <t>This section defines a new certificate mode of the DTLS profile, which enables the use of public certificates to specify the public keys of C and RS. Compared to the RPK mode defined in <xref section="3.2" sectionFormat="of" target="RFC9202"/> and extended in <xref target="sec-rpk-mode"/> of this document, the certificate mode displays the differences compiled below.</t>
      <t>The authentication credential of C and/or RS is a public certificate, i.e., an X.509 certificate <xref target="RFC5280"/> or a C509 certificate <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
      <ul spacing="normal">
        <li>
          <t>The CWT Confirmation Methods "x5chain", "x5bag", "c5c", and "c5b" defined in <xref target="I-D.ietf-ace-edhoc-oscore-profile"/> are used to transport such authentication credentials by value.</t>
        </li>
        <li>
          <t>The CWT Confirmation Methods "x5t", "x5u", "c5t", and "c5u" defined in <xref target="I-D.ietf-ace-edhoc-oscore-profile"/> are used to identify such authentication credentials by reference.</t>
        </li>
      </ul>
      <t>If the authentication credential AUTH_CRED_C of C is a public certificate, then the following applies.</t>
      <ul spacing="normal">
        <li>
          <t>The "req_cnf" parameter <xref target="RFC9201"/> of the Access Token Request (see <xref section="5.8.1" sectionFormat="of" target="RFC9200"/>) specifies AUTH_CRED_C as follows.  </t>
          <t>
If AUTH_CRED_C is an X.509 certificate, the "req_cnf" parameter <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>An "x5chain" or "x5bag" structure, in case AUTH_CRED_C is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>An "x5t" or "x5u" structure, in case AUTH_CRED_C is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
          <t>
If AUTH_CRED_C is a C509 certificate, the "req_cnf" parameter <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>A "c5c" or "c5b" structure, in case AUTH_CRED_C is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>A "c5t" or "c5u" structure, in case AUTH_CRED_C is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The "cnf" claim of the access token that the AS provides to C in the Access Token Response (see <xref section="5.8.2" sectionFormat="of" target="RFC9200"/>) specifies AUTH_CRED_C as follows.  </t>
          <t>
If AUTH_CRED_C is an X.509 certificate, the "cnf" claim <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>An "x5chain" or "x5bag" structure, in case AUTH_CRED_C is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>An "x5t" or "x5u" structure, in case AUTH_CRED_C is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
          <t>
If AUTH_CRED_C is a C509 certificate, the "cnf" claim <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>A "c5c" or "c5b" structure, in case AUTH_CRED_C is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>A "c5t" or "c5u" structure, in case AUTH_CRED_C is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>If the authentication credential AUTH_CRED_RS of RS is a public certificate, then the following applies.</t>
      <ul spacing="normal">
        <li>
          <t>The "rs_cnf" parameter <xref target="RFC9201"/> of the Access Token Response specifies AUTH_CRED_RS as follows.  </t>
          <t>
If AUTH_CRED_RS is an X.509 certificate, the "rs_cnf" parameter <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>An "x5chain" or "x5bag" structure, in case AUTH_CRED_RS is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>An "x5t" or "x5u" structure, in case AUTH_CRED_RS is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
          <t>
If AUTH_CRED_RS is a C509 certificate, the "rs_cnf" parameter <bcp14>MUST</bcp14> specify:  </t>
          <ul spacing="normal">
            <li>
              <t>A "c5c" or "c5b" structure, in case AUTH_CRED_RS is transported by value within a certificate chain or a certificate bag, respectively; or</t>
            </li>
            <li>
              <t>A "c5t" or "c5u" structure, in case AUTH_CRED_RS is identified by reference through a hash value (a thumbprint) or a URI <xref target="RFC3986"/>, respectively.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>For the "req_cnf" parameter of the Access Token Request, the "rs_cnf" parameter of the Access Token Response, and the "cnf" claim of the access token, the structures "x5bag", "x5chain", "x5t", "x5u", "c5b", "c5c", "c5t", and "c5u" are defined in <xref target="I-D.ietf-ace-edhoc-oscore-profile"/>, together with their identifiers.</t>
      <t>When using either of the structures, the specified authentication credential is just the end-entity certificate.</t>
      <t>As per <xref target="RFC6347"/> and <xref target="RFC9147"/>, a public certificate is specified in the Certificate message of the DTLS handshake. For X.509 certificates, the TLS Certificate Type is "X509", as defined in <xref target="RFC6091"/>. For C509 certificates, the TLS certificate type is "C509 Certificate", as defined in <xref target="I-D.ietf-cose-cbor-encoded-cert"/>.</t>
      <t>It is not required that AUTH_CRED_C and AUTH_CRED_RS are both X.509 certificates or both C509 certificates. Also, it is not required that AUTH_CRED_C and AUTH_CRED_RS are both transported by value or both identified by reference.</t>
      <t>Finally, one of the two authentication credentials can be a public certificate, while the other one can be a raw public key. This is consistent with the admitted, combined use of raw public keys and certificates, as discussed in <xref section="5.3" sectionFormat="of" target="RFC7250"/>.</t>
      <section anchor="examples-2">
        <name>Examples</name>
        <t><xref target="fig-example-C-to-AS-x509"/> shows an example of Access Token Request from C to the AS. In the example, C specifies its authentication credential by means of an "x5chain" structure, transporting by value only its own X.509 certificate.</t>
        <figure anchor="fig-example-C-to-AS-x509">
          <name>Access Token Request Example for Certificate Mode with an X.509 Certificate as Authentication Credential of C, Transported by Value within "req_cnf"</name>
          <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       e'x5chain' : h'3081ee3081a1a003020102020462319ec430
                      0506032b6570301d311b301906035504030c
                      124544484f4320526f6f7420456432353531
                      39301e170d3232303331363038323433365a
                      170d3239313233313233303030305a302231
                      20301e06035504030c174544484f43205265
                      73706f6e6465722045643235353139302a30
                      0506032b6570032100a1db47b95184854ad1
                      2a0c1a354e418aace33aa0f2c662c00b3ac5
                      5de92f9359300506032b6570034100b723bc
                      01eab0928e8b2b6c98de19cc3823d46e7d69
                      87b032478fecfaf14537a1af14cc8be829c6
                      b73044101837eb4abc949565d86dce51cfae
                      52ab82c152cb02'
     }
   }
]]></artwork>
        </figure>
        <t><xref target="fig-example-AS-to-C-x509"/> shows an example of Access Token Response from the AS to C. In the example, the AS specifies the authentication credential of RS by means of an "x5chain" structure, transporting by value only the X.509 certificate of RS.</t>
        <figure anchor="fig-example-AS-to-C-x509">
          <name>Access Token Response Example for Certificate Mode with an X.509 Certificate as Authentication Credential of RS, Transported by Value within "rs_cnf"</name>
          <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...2fa6',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's X.509 certificate in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'x5chain' : h'3081ee3081a1a003020102020462319ea030
                      0506032b6570301d311b301906035504030c
                      124544484f4320526f6f7420456432353531
                      39301e170d3232303331363038323430305a
                      170d3239313233313233303030305a302231
                      20301e06035504030c174544484f4320496e
                      69746961746f722045643235353139302a30
                      0506032b6570032100ed06a8ae61a829ba5f
                      a54525c9d07f48dd44a302f43e0f23d8cc20
                      b73085141e300506032b6570034100521241
                      d8b3a770996bcfc9b9ead4e7e0a1c0db353a
                      3bdf2910b39275ae48b756015981850d27db
                      6734e37f67212267dd05eeff27b9e7a813fa
                      574b72a00b430b'
     }
   }
]]></artwork>
        </figure>
        <t>The following shows a variation of the two previous examples, where the same X.509 certificates are instead identified by reference.</t>
        <t><xref target="fig-example-C-to-AS-x509-ref"/> shows an example of Access Token Request from C to the AS. In the example, C specifies its authentication credential by means of an "x5t" structure, identifying by reference its own X.509 certificate.</t>
        <figure anchor="fig-example-C-to-AS-x509-ref">
          <name>Access Token Request Example for Certificate Mode with an X.509 Certificate as Authentication Credential of C, Identified by Reference within "req_cnf"</name>
          <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       e'x5t' : [-15, h'79f2a41b510c1f9b']
       / SHA-2 256-bit Hash truncated to 64-bits /
     }
   }
]]></artwork>
        </figure>
        <t><xref target="fig-example-AS-to-C-x509-ref"/> shows an example of Access Token Response from the AS to C. In the example, the AS specifies the authentication credential of RS by means of an "x5t" structure, identifying by reference the X.509 certificate of RS.</t>
        <figure anchor="fig-example-AS-to-C-x509-ref">
          <name>Access Token Response Example for Certificate Mode with an X.509 Certificate as Authentication Credential of RS, Transported by Value within "rs_cnf"</name>
          <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...2fa6',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's X.509 certificate in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'x5t' : [-15, h'c24ab2fd7643c79f']
       / SHA-2 256-bit Hash truncated to 64-bits /
     }
   }
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sec-security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations from <xref target="RFC9200"/> and <xref target="RFC9202"/> apply to this document as well.</t>
      <t>When using the CWT Confirmation Method 'ckt' for identifying by reference a COSE_Key object as a raw public key, the security considerations from <xref target="RFC9679"/> apply.</t>
      <t>When using public certificates as authentication credentials, the security considerations from <xref section="C.2" sectionFormat="of" target="RFC8446"/> apply.</t>
      <t>When using X.509 certificates as authentication credentials, the security considerations from <xref target="RFC5280"/>, <xref target="RFC6818"/>, <xref target="RFC9598"/>, <xref target="RFC9549"/>, <xref target="RFC9608"/>, and <xref target="RFC9618"/> apply.</t>
      <t>When using C509 certificates as authentication credentials, the security considerations from <xref target="I-D.ietf-cose-cbor-encoded-cert"/> apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="8" month="January" year="2025"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  When
   used to re-encode DER encoded X.509 certificates, the CBOR encoding
   can in many cases reduce the size of RFC 7925 profiled certificates
   with over 50% while also significantly reducing memory and code size
   compared to ASN.1.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies C509 Certificate Signing Requests, C509 COSE headers, a
   C509 TLS certificate type, and a C509 file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-12"/>
        </reference>
        <reference anchor="I-D.ietf-ace-edhoc-oscore-profile">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC) and Object Security for Constrained Environments (OSCORE) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document specifies a profile for the Authentication and
   Authorization for Constrained Environments (ACE) framework.  It
   utilizes Ephemeral Diffie-Hellman Over COSE (EDHOC) for achieving
   mutual authentication between an ACE-OAuth client and resource
   server, and it binds an authentication credential of the client to an
   ACE-OAuth access token.  EDHOC also establishes an Object Security
   for Constrained RESTful Environments (OSCORE) Security Context, which
   is used to secure communications between the client and resource
   server when accessing protected resources according to the
   authorization information indicated in the access token.  This
   profile can be used to delegate management of authorization
   information from a resource-constrained server to a trusted host with
   less severe limitations regarding processing power and memory.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-edhoc-oscore-profile-07"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </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="RFC6347">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol. The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees. Datagram semantics of the underlying transport are preserved by the DTLS protocol. This document updates DTLS 1.0 to work with TLS version 1.2. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6347"/>
          <seriesInfo name="DOI" value="10.17487/RFC6347"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC6818">
          <front>
            <title>Updates to the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="P. Yee" initials="P." surname="Yee"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document updates RFC 5280, the "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile". This document changes the set of acceptable encoding methods for the explicitText field of the user notice policy qualifier and clarifies the rules for converting internationalized domain name labels to ASCII. This document also provides some clarifications on the use of self-signed certificates, trust anchors, and some updated security considerations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6818"/>
          <seriesInfo name="DOI" value="10.17487/RFC6818"/>
        </reference>
        <reference anchor="RFC7250">
          <front>
            <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
            <author fullname="S. Weiler" initials="S." surname="Weiler"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7250"/>
          <seriesInfo name="DOI" value="10.17487/RFC7250"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8323">
          <front>
            <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="S. Lemay" initials="S." surname="Lemay"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="B. Silverajan" initials="B." surname="Silverajan"/>
            <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP), although inspired by HTTP, was designed to use UDP instead of TCP. The message layer of CoAP over UDP includes support for reliable delivery, simple congestion control, and flow control.</t>
              <t>Some environments benefit from the availability of CoAP carried over reliable transports such as TCP or Transport Layer Security (TLS). This document outlines the changes required to use CoAP over TCP, TLS, and WebSockets transports. It also formally updates RFC 7641 for use with these transports and RFC 7959 to enable the use of larger messages over a reliable transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8323"/>
          <seriesInfo name="DOI" value="10.17487/RFC8323"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC9549">
          <front>
            <title>Internationalization Updates to RFC 5280</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The updates to RFC 5280 described in this document provide alignment with the 2008 specification for Internationalized Domain Names (IDNs) and includes support for internationalized email addresses in X.509 certificates. The updates ensure that name constraints for email addresses that contain only ASCII characters and internationalized email addresses are handled in the same manner. This document obsoletes RFC 8399.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9549"/>
          <seriesInfo name="DOI" value="10.17487/RFC9549"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8747">
          <front>
            <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8747"/>
          <seriesInfo name="DOI" value="10.17487/RFC8747"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="RFC9201">
          <front>
            <title>Additional OAuth Parameters for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines new parameters and encodings for the OAuth 2.0 token and introspection endpoints when used with the framework for Authentication and Authorization for Constrained Environments (ACE). These are used to express the proof-of-possession (PoP) key the client wishes to use, the PoP key that the authorization server has selected, and the PoP key the resource server uses to authenticate to the client.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9201"/>
          <seriesInfo name="DOI" value="10.17487/RFC9201"/>
        </reference>
        <reference anchor="RFC9202">
          <front>
            <title>Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="S. Gerdes" initials="S." surname="Gerdes"/>
            <author fullname="O. Bergmann" initials="O." surname="Bergmann"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a profile of the Authentication and Authorization for Constrained Environments (ACE) framework that allows constrained servers to delegate client authentication and authorization. The protocol relies on DTLS version 1.2 or later for communication security between entities in a constrained network using either raw public keys or pre-shared keys. A resource-constrained server can use this protocol to delegate management of authorization information to a trusted host with less-severe limitations regarding processing power and memory.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9202"/>
          <seriesInfo name="DOI" value="10.17487/RFC9202"/>
        </reference>
        <reference anchor="RFC9430">
          <front>
            <title>Extension of the Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE) to Transport Layer Security (TLS)</title>
            <author fullname="O. Bergmann" initials="O." surname="Bergmann"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document updates "Datagram Transport Layer Security (DTLS) Profile for Authentication and Authorization for Constrained Environments (ACE)" (RFC 9202) by specifying that the profile applies to TLS as well as DTLS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9430"/>
          <seriesInfo name="DOI" value="10.17487/RFC9430"/>
        </reference>
        <reference anchor="RFC9598">
          <front>
            <title>Internationalized Email Addresses in X.509 Certificates</title>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <author fullname="W. Chuang" initials="W." surname="Chuang"/>
            <author fullname="C. Bonnell" initials="C." surname="Bonnell"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This document defines a new name form for inclusion in the otherName field of an X.509 Subject Alternative Name and Issuer Alternative Name extension that allows a certificate subject to be associated with an internationalized email address.</t>
              <t>This document updates RFC 5280 and obsoletes RFC 8398.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9598"/>
          <seriesInfo name="DOI" value="10.17487/RFC9598"/>
        </reference>
        <reference anchor="RFC9608">
          <front>
            <title>No Revocation Available for X.509 Public Key Certificates</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Okubo" initials="T." surname="Okubo"/>
            <author fullname="J. Mandel" initials="J." surname="Mandel"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>X.509v3 public key certificates are profiled in RFC 5280. Short-lived certificates are seeing greater use in the Internet. The Certification Authority (CA) that issues these short-lived certificates do not publish revocation information because the certificate lifespan that is shorter than the time needed to detect, report, and distribute revocation information. Some long-lived X.509v3 public key certificates never expire, and they are never revoked. This specification defines the noRevAvail certificate extension so that a relying party can readily determine that the CA does not publish revocation information for the certificate, and it updates the certification path validation algorithm defined in RFC 5280 so that revocation checking is skipped when the noRevAvail certificate extension is present.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9608"/>
          <seriesInfo name="DOI" value="10.17487/RFC9608"/>
        </reference>
        <reference anchor="RFC9618">
          <front>
            <title>Updates to X.509 Policy Validation</title>
            <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>This document updates RFC 5280 to replace the algorithm for X.509 policy validation with an equivalent, more efficient algorithm. The original algorithm built a structure that scaled exponentially in the worst case, leaving implementations vulnerable to denial-of-service attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9618"/>
          <seriesInfo name="DOI" value="10.17487/RFC9618"/>
        </reference>
        <reference anchor="RFC9679">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
            <author fullname="K. Isobe" initials="K." surname="Isobe"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9679"/>
          <seriesInfo name="DOI" value="10.17487/RFC9679"/>
        </reference>
        <reference anchor="SHA-256" target="http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf">
          <front>
            <title>Secure Hash Standard</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2008" month="October"/>
          </front>
          <seriesInfo name="FIPS 180-3" value=""/>
        </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="RFC6091">
          <front>
            <title>Using OpenPGP Keys for Transport Layer Security (TLS) Authentication</title>
            <author fullname="N. Mavrogiannopoulos" initials="N." surname="Mavrogiannopoulos"/>
            <author fullname="D. Gillmor" initials="D." surname="Gillmor"/>
            <date month="February" year="2011"/>
            <abstract>
              <t>This memo defines Transport Layer Security (TLS) extensions and associated semantics that allow clients and servers to negotiate the use of OpenPGP certificates for a TLS session, and specifies how to transport OpenPGP certificates via TLS. It also defines the registry for non-X.509 certificate types. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6091"/>
          <seriesInfo name="DOI" value="10.17487/RFC6091"/>
        </reference>
      </references>
    </references>
    <?line 499?>

<section anchor="ssec-example-hybrid">
      <name>Examples with Hybrid Settings</name>
      <t>This section provides additional examples where, within the same ACE execution workflow, C and RS use different formats of raw public keys (see <xref target="ssec-example-hybrid-1"/>), or different formats of certificates (see <xref target="ssec-example-hybrid-2"/>), or a combination of the RPK mode and certificate mode (see <xref target="ssec-example-hybrid-3"/>).</t>
      <section anchor="ssec-example-hybrid-1">
        <name>RPK Mode (Raw Public Keys of Different Formats)</name>
        <t><xref target="fig-example-C-to-AS-cose-key"/> shows an example of Access Token Request from C to the AS, where the public key of C is conveyed as a COSE Key.</t>
        <figure anchor="fig-example-C-to-AS-cose-key">
          <name>Access Token Request Example for RPK Mode, with the Public Key of C Conveyed as a COSE Key within "req_cnf"</name>
          <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       / COSE_Key / 1 : {
         / kty /    1 : 2 / EC2 /,
         / crv /   -1 : 1 / P-256 /,
         / x /     -2 : h'd7cc072de2205bdc1537a543d53c60a6
                          acb62eccd890c7fa27c9e354089bbe13',
         / y /     -3 : h'f95e1d4b851a2cc80fff87d8e23f22af
                          b725d535e515d020731e79a3b4e47120'
       }
     }
   }
]]></artwork>
        </figure>
        <t><xref target="fig-example-AS-to-C-ccs-2"/> shows an example of Access Token Response from the AS to C, where the public key of RS is wrapped by a CCS.</t>
        <figure anchor="fig-example-AS-to-C-ccs-2">
          <name>Access Token Response Example for RPK Mode, with the Public Key of RS Wrapped by a CCS within "rs_cnf"</name>
          <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...c41a',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's RPK in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'kccs' : {
         / sub / 2 : "DD-EE-FF-05-06-07-08-09",
         / cnf / 8 : {
           / COSE_Key / 1 : {
             / kty /  1 : 2 / EC2 /,
             / crv / -1 : 1 / P-256 /,
             / x /   -2 : h'ac75e9ece3e50bfc8ed6039988952240
                            5c47bf16df96660a41298cb4307f7eb6',
             / y /   -3 : h'6e5de611388a4b8a8211334ac7d37ecb
                            52a387d257e6db3c2a93df21ff3affc8'
           }
         }
       }
     }
   }
]]></artwork>
        </figure>
      </section>
      <section anchor="ssec-example-hybrid-2">
        <name>Certificate Mode (Certificates of Different Formats)</name>
        <t><xref target="fig-example-C-to-AS-x509-2"/> shows an example of Access Token Request from C to the AS. In the example, C specifies its authentication credential by means of an "x5chain" structure, transporting by value only its own X.509 certificate.</t>
        <figure anchor="fig-example-C-to-AS-x509-2">
          <name>Access Token Request Example for Certificate Mode with an X.509 Certificate as Authentication Credential of C, Transported by Value within "req_cnf"</name>
          <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       e'x5chain' : h'308201383081dea003020102020301f50d30
                      0a06082a8648ce3d04030230163114301206
                      035504030c0b524643207465737420434130
                      1e170d3233303130313030303030305a170d
                      3236303130313030303030305a3022312030
                      1e06035504030c1730312d32332d34352d46
                      462d46452d36372d38392d41423059301306
                      072a8648ce3d020106082a8648ce3d030107
                      03420004b1216ab96e5b3b3340f5bdf02e69
                      3f16213a04525ed44450b1019c2dfd3838ab
                      ac4e14d86c0983ed5e9eef2448c6861cc406
                      547177e6026030d051f7792ac206a30f300d
                      300b0603551d0f040403020780300a06082a
                      8648ce3d0403020349003046022100d4320b
                      1d6849e309219d30037e138166f2508247dd
                      dae76cceea55053c108e90022100d551f6d6
                      0106f1abb484cfbe6256c178e4ac3314ea19
                      191e8b607da5ae3bda16'
     }
   }
]]></artwork>
        </figure>
        <t><xref target="fig-example-AS-to-C-x509"/> shows an example of Access Token Response from the AS to C. In the example, the AS specifies the authentication credential of RS by means of a "c5c" structure, transporting by value only the C509 certificate of RS.</t>
        <figure anchor="fig-example-AS-to-C-c509">
          <name>Access Token Response Example for Certificate Mode with a C509 Certificate as Authentication Credential of RS, Transported by Value within "rs_cnf"</name>
          <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...2fa6',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's C509 certificate in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'c5c' : h'03487e7661d7b54e46328a23625553066243
                  41086b4578616d706c6520496e63096d6365
                  7274696669636174696f6e016a3830322e31
                  41522043411a5c52dc0cf68c236255530662
                  434105624c41086b6578616d706c6520496e
                  630963496f542266577431323334015821fd
                  c8b421f11c25e47e3ac57123bf2d9fdc494f
                  028bc351cc80c03f150bf50cff958a042101
                  5496600d8716bf7fd0e752d0ac760777ad66
                  5d02a0075468d16551f951bfc82a431d0d9f
                  08bc2d205b1160210503822082492b060104
                  01b01f0a014401020304005840c0d81996d2
                  507d693f3c48eaa5ee9491bda6db214099d9
                  8117c63b361374cd86a774989f4c321a5cf2
                  5d832a4d336a08ad67df20f1506421188a0a
                  de6d349236'
     }
   }
]]></artwork>
        </figure>
      </section>
      <section anchor="ssec-example-hybrid-3">
        <name>Combination of RPK Mode and Certificate Mode</name>
        <t><xref target="fig-example-C-to-AS-ccs-2"/> shows an example of Access Token Request from C to the AS, where the public key of C is wrapped by a CCS.</t>
        <figure anchor="fig-example-C-to-AS-ccs-2">
          <name>Access Token Request Example for RPK Mode, with the Public Key of C Wrapped by a CCS within "req_cnf"</name>
          <artwork><![CDATA[
   POST coaps://as.example.com/token
   Content-Format: 19 (application/ace+cbor)
   Payload:
   {
     / grant_type / 33 : 2 / client_credentials /,
     / audience /    5 : "tempSensor4711",
     / req_cnf /     4 : {
       e'kccs' : {
         / sub / 2 : "55-11-44-AB-CD-EF-00-00",
         / cnf / 8 : {
           / COSE_Key / 1 : {
             / kty /    1 : 2 / EC2 /,
             / crv /   -1 : 1 / P-256 /,
             / x /     -2 : h'cd4177ba62433375ede279b5e18e8b91
                              bc3ed8f1e174474a26fc0edb44ea5373',
             / y /     -3 : h'a0391de29c5c5badda610d4e301eaaa1
                              8422367722289cd18cbe6624e89b9cfd'
           }
         }
       }
     }
   }
]]></artwork>
        </figure>
        <t><xref target="fig-example-AS-to-C-x509-3"/> shows an example of Access Token Response from the AS to C. In the example, the AS specifies the authentication credential of RS by means of an "x5chain" structure, transporting by value only the X.509 certificate of RS.</t>
        <figure anchor="fig-example-AS-to-C-x509-3">
          <name>Access Token Response Example for Certificate Mode with an X.509 Certificate as Authentication Credential of RS, Transported by Value within "rs_cnf"</name>
          <artwork><![CDATA[
   2.01 Created
   Content-Format: 19 (application/ace+cbor)
   Max-Age: 3560
   Payload:
   {
     / access_token / 1 : h'd83dd083...0f7b',
       / (remainder of CWT omitted for brevity;
       CWT contains the client's X.509 certificate in the cnf claim) /
     / expires_in /   2 : 3600,
     / rs_cnf /      41 : {
       e'x5chain' : h'3082023d308201e2a00302010202087e7661
                      d7b54e4632300a06082a8648ce3d04030230
                      5d310b3009060355040613025553310b3009
                      06035504080c02434131143012060355040a
                      0c0b4578616d706c6520496e633116301406
                      0355040b0c0d63657274696669636174696f
                      6e3113301106035504030c0a3830322e3141
                      522043413020170d31393031333131313239
                      31365a180f39393939313233313233353935
                      395a305c310b300906035504061302555331
                      0b300906035504080c024341310b30090603
                      5504070c024c4131143012060355040a0c0b
                      6578616d706c6520496e63310c300a060355
                      040b0c03496f54310f300d06035504051306
                      5774313233343059301306072a8648ce3d02
                      0106082a8648ce3d03010703420004c8b421
                      f11c25e47e3ac57123bf2d9fdc494f028bc3
                      51cc80c03f150bf50cff958d75419d81a6a2
                      45dffae790be95cf75f602f9152618f816a2
                      b23b5638e59fd9a3818a3081873009060355
                      1d1304023000301d0603551d0e0416041496
                      600d8716bf7fd0e752d0ac760777ad665d02
                      a0301f0603551d2304183016801468d16551
                      f951bfc82a431d0d9f08bc2d205b1160300e
                      0603551d0f0101ff0404030205a0302a0603
                      551d1104233021a01f06082b060105050708
                      04a013301106092b06010401b43b0a010404
                      01020304300a06082a8648ce3d0403020349
                      003046022100c0d81996d2507d693f3c48ea
                      a5ee9491bda6db214099d98117c63b361374
                      cd86022100a774989f4c321a5cf25d832a4d
                      336a08ad67df20f1506421188a0ade6d3492
                      36'
     }
   }
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="sec-cddl-model" removeInRFC="true">
      <name>CDDL Model</name>
      <figure anchor="fig-cddl-model">
        <name>CDDL model</name>
        <artwork type="CDDL" align="left"><![CDATA[
; CWT Confirmation Methods
x5chain = 6
x5t = 8
c5c = 10
kccs = 15
]]></artwork>
      </figure>
    </section>
    <section anchor="sec-document-updates" removeInRFC="true">
      <name>Document Updates</name>
      <section anchor="sec-00-01">
        <name>Version -00 to -01</name>
        <ul spacing="normal">
          <li>
            <t>Enabled use of COSE Keys identified by reference with a thumbprint.</t>
          </li>
          <li>
            <t>Changed CBOR abbreviations to not collide with existing codepoints.</t>
          </li>
          <li>
            <t>Fixes in the examples in CBOR diagnostic notation.</t>
          </li>
          <li>
            <t>Updated references.</t>
          </li>
          <li>
            <t>Editorial improvements.</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors sincerely thank <contact fullname="Rikard Höglund"/> and <contact fullname="Göran Selander"/> for their comments and feedback.</t>
      <t>This work was supported by the Sweden's Innovation Agency VINNOVA within the EUREKA CELTIC-NEXT project CYPRESS; and by the H2020 project SIFIS-Home (Grant agreement 952652).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923bcOJLge34FV36QvSOmAN6pnp4ZVVpua8u3Vaq6uk93
Hx8QBCW2U8kckmlZ4+P5ld2vmA/Y/rGNwIWXTDIl2XJdpmxXWRRJAIG4RyAA
2rY9eX9kuZNJndcLcWQdp2le58WSLaxnRXnF6soqMut4XV+KZZ1zhs+sWSlS
/JUtKisrSgseWk9ZzS5KdmWdl2xZrYqytl6wG1Fac8HXZV7fWI+fnr+YP7He
lEWWL4RsuNEvW6byVlHm/6Hu4EuzYlnVJcuXIrVOlu/zslheQaPKenw8O3ky
YUlSCpjDDhhxYGulxp2kBV+yK5hqWrKstnNRZzbjwmbQnkMjO60Xla3fthes
FlU9mTyyqhrAe8sWxRLa1uVaTCb5qpSXVe0QEhNnwkrBjpoZT64vAKzZifVj
Ub7LlxfWH8pivZq8uz6yTpe1KJeitp8iEBOA+QgGSCfVOrnKqwomUN+sYJzT
k/Nnk/UqRSiOrNiBMSa8SKGzI2sNgEeTCZMIO5pY8o+tf1pWvoQWL6fWeb4o
OGtuq7m/ZCUvNh8VJfR6djo/sY6/a24C6oUA6E4rlv29KNPqAgi9tByneYPD
VI+s73NAUHuvSGGU+YlNA8/ySOf+elmX8Pr8GsnT3BdXLF8cWVcI1rSWYP1b
mU8rsTUtBf//Ki6XwEli/Y//A3Op66oqlp2Z55Lu8Fo7jXWpWo41kpM/KXOO
d7sIUNOb1wV/d1ksroanGN15in8HyKdXevR/E3rAKS+uJpOllLj8vUBqntpP
p5I5eVEJmydFaYslDpraXJR17xXkX5FeFtwuKl6UwrAvvnT2bObGUaAvfSci
+jJwvdBchl5sLiMa6cvQ8Ul76ejLyHXc5jI2d2O/6SHyPDNaFFDTQxQ2o0Vx
825Mmn7h0vQb0+ZdYHnSXtL2smnmuc0LfmxAjwPSXtL2MpQDz58f244fKJnp
y49kg1en83P5u1aKUqCF9ZxVl8AIoAZYmcrnFdBPVPkyK46sZ6dv5haNiO3K
RyiyRxZAH9lUMUfNyguUpMu6Xh0dHvKq5NMlSM30onh/uFonC626qsMsX6l/
ZHft1dssB8U8XaUZ6B4YtMMtSDkSA34mqPSAY3GaJy+eHVl7f4Fn9p/gz9/2
JhPbti2WoD7loNXOL/PKAoW4RoVqaT1zP3W+elh1PgXVaK1YCZ2sF6w8sPLa
qlaC51muIVtXAk0Saw1V1hoq1oeAbxgqUOUM8FxdojZmyi5UQurbA+saWlor
AXPc6AVwlLAKwMU5VTdXV6IGsYXOb1Z1AUhaXd6Amr0UpYAxxAFAOYRVoIJU
4FPrx0tWY6epyCQW8uVGE7iuBLtaAGSLG4utVsgaCSAZ5lFYeSbxYBAP+Kh2
UEkSCWxBLVh6AOB3R5UggfxMJ4oxrvI0BQsJxg7sU1mkay7n/8j6+CjHG5+Q
Y8RDkNnKgLfENdhF6+NHLeafPmnYKujSAktwmdeC1yh5dWEJ5HcOKOAc0AJa
FgGStMfrZqhUvM/hhal1bPFFjsh8PHtileLf10B72TG8ADzBJRMB8cAQp0D1
Uptd4JOyuJIA9KYEkv4e8Pr4WGJTEgDZTvLc0gBVF+/EEukPjLReLQqWKpbt
Psa54D2lDQCyqljjvMwAZ/MnBxKlUtaR/LIxIAUIjvgAcE0jmE9tnc3xFbDM
yNPQ+bXmLiM1qYG3C8VUUbKlwiVwBvwHNmppJet8IXtLwA6/U1N4jRS2nCnZ
pByajk+f5KR7ND9WXCuRBy4fmE+g1uNZcfzmiWqIJgVIjgS8ArjYBeAEuTgT
IPXQE89B0L8DJJQ31uvk7zBz60ysYOpAVNXt49l3r890b2hTdG9gSleg3Sxp
LWEaCp34rulnnl8spQZYIm9KOVb9vZ6f6P7QMH36ZC5d3XUlFmiPAQA5R00R
bIt80MFvBQieC9BjIPqNpBr5NjKIhEkF9LWwLotrJdRS8+Urhm9puqEH2ZMG
mODVeonIBWUjJJ0Vp1SGuSoj/iuNeSQisAU8u0GFsaVlzTgNqK2SMPKJxGo1
MQJ8ZxuhGAXcDYNRipfIpGtUqwC0xmRnalIWr3Ngutr0Ds449t5MbgQ/Uhc3
M5GMjWozESB84kMtlml3YqD+kH3hdxAh6B2AAWRqcrAFuunSyBq7c4umVcwI
HhDMTxoU5HicaTMLtCMo6eezNzCk9aNI5iBlAuit2oJ79emTls9u4NIjhASx
smaShUEDoII0tm3DsCkkDtm1xqi1Ng0AGrVwz3SkByERYMXi0PqgZ4k62vvs
zffWFfiq1uNKIORzLSbu1EEkNhN5Is0u8PQGaKVYIJcVisLKObLeiRtp5KX6
vC7knKTWKtl17x2jX4hGpFSIoFQ6/JsDvtsmRm6O54po2l4oHbGh3RHj+l2Y
OBoT0LVrfjnQndbxqKFRmvlinbbqGOzNGn7raWXrh5X0N6q1VOYbSvvAjCv5
uRl8psWkhyiJ5bkUheVByyfIxPBi3iOzxJn2fkq0amZwyUaX0LS6ZO/EpvfQ
x/IbYIkOhx60HRj2YOkVYr1YoqqyUNe+/R4BVTq5o3WlItMGFki3260DVOOk
ZBrCiJiBf4NvDBYOBnhmaj0vrsV7oTxO6ZxVeSmdLul8KPfrnj6nHEgsAYMc
rfYGl0pZM3cwpAPORJ1eTTcdczW8ZrMBIDRHdbF9YCU3iliIjMa8DCMEZBm0
gei4DND4SgA25VtoOUFNWefSf3k8+/H8iTVbsPyqAu2HHt1sNq+M6oOQEKkP
k/vT1Cdxb2LqFQxB9SuzgTduiXu1SHfRI8XB4GiL7TSDSP/kx3P0LLJcBk5A
q5cCfLzU2ufv6v1tmwfRotHi60pFDJtcu8VIyPfrSuln7ZDlkh2yG8OVm30A
riFyACUIXHLQNTkLpUi6XJ3L19+zxVoAGraM+FDc0TMbGAZJ0wGt/yc8Altq
l6t3NupqeC6Va4/zpL1UWG10eg9RY5pdMqAkCiarJhCO2tIuazOKLCO9VTAu
svct6eiwpzYiXWDtd5xXYD+mWz3fTugOTXrIH6Cv9E/QgxiT8UHYYBQFmkEx
Mu4ojhuzaS3FdVcaJLbRQOYg9l3+1jNVAjYoRjBFJcw3u+ReuoECjEdjznud
aK3Q9VwM8+GoOqg0uNRqo8EmTP/HVnQk2JIj04aRDm4lfFpYy6IGE/ReynHS
ELiCGESrP7Rx2sArzb0qwO/Rilu2TIr6sjcEEnSL1EodM+TMg+70CnDUBxsA
XRZKrxQSg+2LszkG+TB3OfLmBFnZ6oBbgG5eGySCBFO+N0IC+QKCNUjCIfjv
TMttNt24+9UICSjetiwtKuDxljg0eGDSOd1qvoOUG2+CF7wu8ZUrmenZBWdf
Hn9u8h2DjTzoq3HjyG6S0sg9xGIJ6vkddMH7OG7HKd/hquWI0c5oB8NzwLf6
MrPNfq3no/JUA1m0g12goAwOezs7zEdl7aHV2Tuw9j74CbtQF/yS5Ut1Wasf
a/zB/UT94OoHPkOMw+V6T2EOgejZ0lvz+dL5+fz0YQ7hK3hGJu4eyQp24mIY
7dEj6xyzY8tiUVzcWI8wGVi3N3RKECOOa1wdsvZe/jA/xynjT+vVa3l9dvK/
fzg9O3mK1/Pnxy9eNBcT/cb8+esfXjxtr9qWs9cvX568eqoaw12rd2uy9/L4
zwa1r9+cn75+dfxibxsnrDSKJ8elt1UpamnZJ+Dn8zJP1NS/m735f/+XeoCC
/wE4cChFB1D9EtHQ096gGk3GMepXTKtMAM+CodlA5w9kaJXXJgSowP9eWhjn
ok/wF8TM346sf074inr/om/ghHs3Dc56NyXOtu9sNVZIHLg1MEyDzd79DUz3
4T3+c+93g/fOzX/+1wVmuGwa/eu/TCaTM+AzGawDGcSHlUpjKnpk7Cpf5IC5
JopF9qokjnkB2mslE2YdKpmkT5uJvNPiQyfRbC4p+sTwIsalY7kWScFrATRl
JiG1DV8pFkxPqR8uVTJe6kdHKh85pmPUiyFmyHQWqCNuahUDV3hkEkPhAvPf
oPlLZOhunrCvI9oMbidvO5AIzJtURdVJoR/syFSPZsqnfcKrOO0zqN/FLqbT
OvnjA4XvTg64TR5jftJ6KmNgCdkLtrxYY5758ezp0xeGJAGV0Si6WiOp334u
Q2WyqzWgeSSx2eaItKO+6QECNWRv/QzKq6IWTZpWosHag+BrVYDG2muUtsyW
qSBOBYSVpmzaTBTGz6+QGTC2ALcL32uXDFQSobIO1XIEgnoozSjaw9rSwx/P
1SwOkbj/YeNqo1psQG+gF70U0Cf6dk2QjRRqgcH5t9Mw0Qz0sHe8VJx802a9
VYy7bPsx+J7uDQb90sNpst4KZaNWvxlcIkWHUs0yqlzbqwqeS06T3MgMgAda
IpT3wWp9e7+XQkRsYcL/CiyLTEv2O+uHYVPr5AO7Wi3EbauWMlhAVXFLvuW2
ZItUOZ+ZbWlArS/LYn1xWazrAesKgl3iQpVUNlIo05xdLIsK5oUMYnA8nD6I
dPJAr+MguB8/HoNJXab5B+sP5qkU1qn1dKBnXDqQiysITJHV0l9sVhcwVQp+
ZS0+1GuI2sv+SpL2+1ry7etQDcCQ3nalsi2SL8empn2qTS9UrU6ued24l3Lh
UOzPX788efvq+OXJvgQZQFowrrxRfEt5+cBG+cVSTaNp0IgIqDHpsi+0iyFR
muUXNk/ThUw4LFTGQachOndVPl8o0h5YH8W+dmX3rSPrct8lEZ1Opzwhzv4n
VfukltA/BtvPG+VVyCXlkzSvi/LIerMQrEIXdyFq0SBYLidYORArRfFY4CKV
gHkr4cqlMoE4SwUs+efhfKVG1ihtjORtZGgE9evjXi3uNpA2ODLzx0X4H0w9
RtEEbi8xPkMXvJe407qx0rLUreO4b9JOyicuSbauVmtsBlNwWla3E2AqeDgD
2/dG6b3vde5F5v42J6F625iJSY2Z/HXfkA6lsLWoy6Qd5hZXSqBkUqavMZv8
Tjac3un4AlOrtc3S7UdY0jzT4bWuGeglWtUy7UriMRGAP1Qg2egk8m1odR1B
nwIymBMqeytXOdkNlhkYlj5Wq0UqUX+mFrE2l+D8aTSlLdVBnz6RMfeIYgYW
6b4uUdfISYuD1nHZK8W/v+XLbK9Vp1bX35bBjklOMh1SW0o215hUkb1rCZRk
0y9vr+oo3MmRL9Xid4LJl/UyNTKzUfNgDa174xASKO32qlnIGXC0ureNP8Q9
B5YOt3p9VutkpE94IpkOaxRNr7v8B/mOsuoQjDWjdNaG5DAto2DRAlpqzSj9
ipTLxulrVxXR126CrT5bVSvQpVtLu8hXztfkqw5FhmbxdfgKa7++MVSPoUbV
2Nn8K+kxzXAPq6Wqn1BJQdj0VXhFVRY8OLPIbm/jlrP53djFlI0M2YUdZutg
jEy7WKSNvG/RFk292tYS4Sapm/xQk1svPzdxeyrVCcbKWF+SY75G8uP2+hT0
vylGnSz83TPu2inScjiUbW/f2HB/BtccsF5BSsqYAykXzoYXIdrG267i1qKo
9B0fNUHyZKJcax2u2DO7Luzjua0cUPS/VWmneix3rAx5QtJNm7XFPjDKf7Z/
sEj7zWsQRV6wVXV0eMiqqe4Ry/NVvgRfmilbaqsNMkcWja3HrC13PAQm+CeM
pJ/IHpVmk/XlH1WR+aGqO32LWzzgF9eFiMqBC5Vte9sl4OGBacLWaS7ReIi/
+9BkrxZXq7lYVkXphZTuNa9qQVNvWh68+tHsQhD7yN773VvYAhQA/Otgp55j
+8R2qf3smX3yzHZD23VsNza9q/dV71G/G3zQcNGhRTef4vN39Y0Ci+o5n8yc
ZpKd/sv38jUbX6Nw+Qbr9Qde/KAnaTsyKk1DzknopMJxiJ+knPpuyHzPTX2X
B4QF/eZbfxhPAkdwnkYx4WHGnJDHwvU9EsVJIqi7vzX+jRnfleNnsS9o6iWR
T5nDeUSyLIvCNBKOmzkOy24ZPwkdH0D1hU/9lDgkdKkIY+YmngAKO2S/2/7T
ZPtSX8gfn3q8/fHIejQiQWqXw+/3BkVGS6AM/U0A2jGtbWSnnIwfN0MukJX3
4kZbEdCVfzVm4K97e582xRrgAahmdxdr7RhIudYOLPqt23LtTAnFLWFo0O4t
wi/ZB/v4QhxZrh+QUZlW5uWtckYV+wNDRm6aksidTqeB5yYtAx1aj0vcEbRM
lUnDHF9xldeobhHXuKctr29+Z97H57rwWAX2SlnsV5IqZiEAxFKavCfWoQFL
fFiBpane5kvJqignbkBIqyyqjq6wPHo/bXF8bH/3nT2b2YTYhNrEsYlrE+9h
tcVddMUdNYXWE0nCXS8OILgPBPNS1xGxRzhLHea4HvWinXKaptyhYUwZBYlO
eMJ47AagcLwgTT0vI2NaQusIz6excPzQcYPEYYQLMJxuRmKXZjRzo906irOQ
ZSkLvIynglASccfxuE8FS7IANN8DaoiOMI5oCC1991IR4Fpu6oiDISVRtTpi
JIkEvPNXVRtz2nM4zhqHYyvFhL7GZHJ8mxNzsOkMVd1kUFMTNlTXM+g1DUfR
Sr/K7JXBpN4HUW0tOebLrd0FvTxZt0yvt46JOB4tRSyqrWLE6l7ViKqLpiDx
YbJk571AsV8I/jkFnLoUy1Rwqlc7kZz0O7nkQIXA+nJ9lazKXGVLtj1jhHit
qgc2GcmwkR54IN5Ta3i4kTBbL1UrGf6BD653JWJ/6koGsWa57Aq3HdZFKalQ
rVdyC4KsTdW/4PTkIiaC2s5hZ8Q+U9U2mzNUv5/8+e2siadylT7Kq171ZL5Z
vfrbSFkCC40lA7YZqEXmbzgZ9/kYuyXbtIN5MYvxE3Pvz5+o+jxEy/xUW7H6
669W7ddSmJrzAe2oNXhb7o+0ayvmlB3bmWNpSvk2TWknY4NAbBgeyxR9oeo3
C9UNa+4YDyaiMGBqIBWT40gmCze0TQENkebavDQa6KCpBpFrcptMO7Dad9fE
jMzqfEvM3DkxA4O8q+FfX4WNru+TjCZ+EgauECROiR9lPGQiC+KYkOEYgToh
PHSZxygmP9zYdyG0SSjJQp5ECd2/f3YAYHrA7EA/Vz3mtt8rU3BXPvuWKfiq
mYIN9k0CkkFYHdIsyxh3BSUe8YOA+h7zuTsS4lJBkixyfeDfFGLaiAQxzwKR
8pjBb8y9O/t2uONhQ9f7MnA3irVmnTr7Xh1HuztopPxheGeQ8UH62/5GdwsN
bDS88zahGW6pL0XaLUW5e1WJ7Ka/8/qWfWdbu0n0aHm1WjAdpnUjy8EgcnzP
lpnbIZJdu5Hb6AFnZyqmB8M7RjrFdXLn0FZx3R1r65RXOb7hoLe/QO85UHsK
9GaCZO/eS1HSWzEuR+NsaVdg3PHobDy8Her+Voj+5ocvgrdxke4Abtcj1HHE
OFMc/3D+/O3s7OQpRL1taDzEFjvDBLUX8baI8guD33Yfexfq3u5Oy4IZd5/m
w3ufzDrrNrzd0EJv4DxethyJbK95shtwAFFxK+Hm0MM+vU5t9eRG9q5kqnsb
xpE16FikLLNRv4N3ulDVBqL1XeAZW6TUJa4wuEzSKDgfs07I8ETB9sPZqaIo
Hq6FUVwXtjH8b2mJ+2Ffib6cphT8nxntSrI1OL8MrGvpuyU78fVyLA8vmJ2p
fBPIn0wgb8H6N0G8Ddv3MLfggXXSeZ9tcHemyXam64aEVjn7o1Krod1hT7fA
eSjpVUP/gsRXAfRTy2+T/v0S/N9Ljn8CxN9LkH8ivP+C6/ca9FRfviP7c2r6
AIriQshkrMkZ5J36t7Lqb1zXJ22Ykw8a4PVkmu3o40oT6P33daV8F4imbb1/
rntAQWd9u9mbqLdodDcoDujZwUMDu0kLc0xfN+/QnA6l9hMNncyA7+Kr3a7O
McOKmwD/BO/vDe5Ax+NMzTalgRMdTK/dCdSmV/l+Z7yBEe4SnI8VbPZ8O9xn
3DMbpV4OGdiSZ1ZAtubT7Hf6ohHHTmrZteqCEm42I31GYemQud5ZZ7pxsoPa
TapW4Ku8kst0Tf5NnhgGkzlozqIY21Ertwv3+APpnVd8bXYkdv12s07fbL29
w4rGByDZFy1pWHr/YLPlbvM4unGx755Pwbo+Q7eMoVuY0RIf16/kqWvXA77K
b2+ZZWCXoxD4L6OMEJeAtwj/Yy2X49JYcM8dWWuxiE8C4jpJ4IfQjqYupQn8
jPGu7xMPbvKRptTxfM/zIi/zXAdr0LIgCz0Y1A/ghuvDXzrS1I1hDEFDksKL
jktc16VuAD/x2EgPfgt8NjaqahRDA0c2w3+J+uszmLozOqqDMxTdmdFwYwr+
SNPQDQnMTwQeIMrpzxEn47A7YRh+UkIYTRMvTGKfRl7keywdBZgBiMz1PeHR
iAE/ui5jJHN4EDickMRlfAxgPxWxk8WuD8D1IfAAgiR03GSMrgTL8EjsRCJK
oBGPo1TQmHM3ctzUC0SYBvFI0yhMYCAvjDLBM5ZRDwuXKV5wHiUicmI+VhiY
hC7xADYauaFIPJbw2Iv9wE+jIOXCp9CfGJurw5LI4dR35D7eey8Pok688/rg
1vKH2WOv1FL3Meju0a856I1K531T98euG36nlcO76/OxpcMtha4f9o8r37kK
Acb7C3U7DrG9OmG2HP3y1jadjAVfY21zGwdfrSb6XhaEkV+XBZHG4Ke3IF4c
jCmpIA69IA7gfZjjl1oQkZKARUwElIFOTZg/tiWD+Z7v+DxOSZh5ERZ24wQB
VgFmxE0jzp2xUVEhRz71qBiyIL4DxBtDUxqBaQpDEsdBwjMeJ8BAqSdCAaaP
kzSBOY8Rx03SzIkp2LbYCX0mvCgJQVCpH0c08knqhGkyhuHQ9YQbZkEIsDlB
CLLqC5FlDphaEbKIutnYqH7ogUkExk+AdZL7r9DvsCADS/QPaEJw9+ItNqSz
eN+vSdY2A9RwmffOD5GHUqPKKtaVMQuVOeFaxvi4wXIgLsQI7vbjNMcDExte
++UEJ/0KxG7NeS9D9S0s6RmVGg3KX2zqH4BZCePMYR5NfAqaMouT/b+1JlNW
h1uOH9hJXquP0gC2l9wckRV4+KAy5u6e/hyy0s/k0z1EQdj9pOGndu3uKBnf
nLqfwanryR93IJBysjQEX4ODMH5d+dtk3l+BRXzUfvhipo8f1N/sMFVt5jMd
Nu8919a0+YhH/2l/jxDppa51LRmwsv7AQu8EMrVhavuk2N1bhrJ2v/q2GA7W
UW9mMHXy/vbpqPJyCX4fyqHCvF1Hjld3GtJkO2dNjYL+KskABEMeyRcD0Dl8
TuXzwQ9tfsFPtXV+Uec2ajyRyBxYp29guyGwt8+z+3Kob10WaAB5ZJ0evzre
4P7NUwrxWKJlAQpUDwLshq2m6ntbCePvsKPmgD0pvc9vkjJP8ag/jPe1QKFE
GXVxKV/YLBZtClk6h3CIpmN0QQ+MKDeuKJ6iKj4ARmQPeJRqBj7uxvdCTKFl
3f3oxWYC3hyDvw2nTeVnXmDmgx316LejF8f0wvRiQM/z7h1qvVU3uqNbVx3U
j3tMzfFqjzd3m8IYTxvQ9VdRn4yRBaY7uikCWQqw9SWeejeaGNjLx81O2qZS
Gafw23Ood+0tv8MpFHc6geIhT5+4z8kTD3nqxJ1PnPiMkyU0tz/kBpLZIHvf
92wJ2/mi6GBcBIcPwPpFuuzco+xXtsfk9tMonj61T07w4Bri2ySwSWiTyCYP
fHbNw59GwXjoi1hw4QqfJBmPRBoQN46jKPYdxxvLM6o/PvfCJKNBmsVBAFrG
o04ccUzHhVkokuCW0ygC4acioNSNIgYahEUOXLsegJS6oeBjKUM9tsNcUDSO
H4ogTVzusNhNM4dmmcsymMfXOY0CsPZVz6MYPYViK9h6POsVd9zLTXBG3QQZ
Bd5RRX2rNfjl+iDbK0UOATnDtaJU9NaKXEIzn6Tj6xiMQFTksCjwItASqVxB
caBV4FIKkg6Gesy5aBdcSOI7Hi6dkBDX4l25XuR6dHTUZpUIF3mo/p+0Cz74
dGwxwpFLSgON1CqRM74qtrlKhF04Egr413N9J/XG5uoF+NCDV2B08MNcPOo3
9agHqMLlfABlFE1hB7tIlj6+oS0JRzEMiCTES6hDA5bEoFETNwEdSjJwAjPi
iNFVfxf0tkNdRnCtSaSe54H+p4TG3EkzBD9iYwqYcU9QL40CTuLIFSkaEJE5
HgAcRAHl3Budqw8cHILGJg4gmqTEp1kYxg7jwEVAn8wl43QlJFHkoSnJgESS
EUkYwQ/DpGMVDj3eBaTFKAEeQIHrciny5dhcaRpEHrjDJHZoDFJCwDKBINEg
yBwfhvTCdAzglIkwAJUpGHAUuOGURAIGVmPCLLIgHWUJYIKMsiTxIo9niQjA
kgM/RgKMo+tSTzA6RlcaUxElAQlT5jPhJimjwedVV4zaum/1FZ+ThNf13ncv
rdja1fnbS8JvoeCrufdAG2UqQTtEIQhuQNMwwSKuwHUiBjbF8X0flHjgeO6A
6Hkg3UHi+SEowCANScADX5UWgDGKQdLdwTK10JEFBgH878oygxgL1sC4MjTW
ruOIwbIGj/qOsqCU+RyMDic8CyLeBXOoGVYB+DADrsANBsAdaCZngGfWZb7n
OAG0Cj1dgeER6oPbng3pQB4lHjyilIOB8UKBhW8Q17tJ5qRxlnIv9obSA8SJ
Eu76FJMJnICZwrjEh/llsR+BuQL1OYQSH+ADcqdRSIMkC7OUiBAQQyCaAGUY
hiwNhrQtZh7AHwp9L4hSGqBajn2KgZDDYJIpAVCHgAQYnRRTLZSCGQGsEjcC
koBBiB00U5R4Q81oAu4WWCvqedL/AitEiB95MNM0ojEwyhDdfILle27mci8S
jPlCxF5MQbVD5ONQj8RxOmQOIkpDHoA/EFDwuDgYbAaUi6M487jrIOdkg6OB
YDt4MqEbMBIB3kKIqwjSIQDkUwjWyJChhVAOnKQYWPAzDkt4iFIMa7Py/qGX
nR7hWQTd7G+TtpVfuBk8YmEw7bvjSOEvC75uydDenh367x8X3ZbH8X2bUtvz
7OPv7NlTPIYYjxclv44ziDlEHGGYMDRSrhuCXy+cME58QbEuOB4r/TJ/QO+K
NMow+PK80GNOkHEi0sQDh9N3w9vPIGbEjSHAdGIwp37CUtBQFPxrgQV4jLHb
xo/AvLhBGDqOE8U8pREH1xfmIqI4iXmWfp0ziO/h537OKcT3riBxf3Gu63//
0mCShV/l2KOfsTQYj/ZNVeJHOL2Uj/Zvx8LWxu1t4+rN5M9YdJ+6WARKSFtH
DK4HkS6peTIW8ZoG6PQ5MjfUpJf0k7HoHtNLw443dAG+Kx1PR+ieE3S/0EMf
csdHmgbgmVMXeqfdnBHp+O2jlbbGd5cUwTSXrCWGf7GumUrPejRrQ3GXDY1I
Bk3U325BtA+/j20ucWPMgPl8F4nG0NRv0CFR+2RsrtgglA34EE2ReGMYHqEp
4ZoxoYsxgBVNdcwCTWRiqRnV35GN6wY3bequn6PbkbXZTt2ZHJ0Kh0aa7o6S
VEg0BvBwpJRCSENjCCpYwMYA9vw0y5gIY5KIGKKB0M8gmMliiC4DGmURHW+a
AIR+4EbCByBj4HoaMcwuR2HLKqMpNYphD6oXufegSeoJ4kEw5VGg2hhL3BLg
+ePEYTLTbcaCwT0aYRY7Av1gQr8x4mxFhP3wDyYytoGgk7CEsDVr05Y+wuOw
nZIDiIIwEjgRAkymgI90cOnD35CMnRVPPHjd6KYmHoXg03MTDD4RinEellHp
mO5HmRpr2smptuFsP3YdI85gSNuPX0eaYlirxtwObk0kO6YRdwS4Jpoda/oZ
Qa5y7n4V9ZXyA5Mv5Qcmm4MC229IwgzBPSrei3xZZvxTz59r/sg+Jr8bPaht
ov0V6/dWANc1/IwmEDbAT0omGKXhlT/Yd4PiFiiD1vbTmHisQo1lZTZb5BfL
3+8tRFar6T01JXLmK5dmkqZ2ztafsdye6qNH1h9FWeFEICpEj9sG5/WR6UB+
iuITHlJ3Ik9BTDfP/x0/NEMnMdozMuRZd7NLtryAV+VXSFkiPU9dNQhj42Z9
XiwWueEO8SGvpDuOZYPys8fq+Ohn+Yf2m91NZd6Oj+XKVgo9aQuk6kx9Y1We
CXGFlX9CfvtWliUe83fL4hrmfaG+h4t4Yf17iNMlzBG/Gf77vQyifGG2uaiP
eVdWlcNYpTz1H6b/zvr48eNZ/o6VqfX8H/91sVgv009Nde7HP/zjv4CzrblY
MPTX8Ummjg2RZw2bD/PCy5mAWBagMV8wkJ9vv2aVOcW+/f7t/BqlB/z30+Wy
eK/4FoKMJQe5OX316vUfj7vljCc/nJ18f2zNTl6cn87sVyd/OseCSHUg+J/f
nJ3M57+T4+vOn6MP3rwxP312OrefF1fCevwHTItY7KIUEqVWjJubnSfTyf8H
NZOFACudAAA=

-->

</rfc>
