<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lake-authz-07" category="std" consensus="true" submissionType="IETF" tocDepth="2" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ELA">Lightweight Authorization using Ephemeral Diffie-Hellman Over COSE (ELA)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lake-authz-07"/>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J" surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Vučinić" fullname="Mališa Vučinić">
      <organization>INRIA</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>malisa.vucinic@inria.fr</email>
      </address>
    </author>
    <author initials="G." surname="Fedrecheski" fullname="Geovane Fedrecheski">
      <organization>INRIA</organization>
      <address>
        <postal>
          <country>France</country>
        </postal>
        <email>geovane.fedrecheski@inria.fr</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>Security</area>
    <workgroup>LAKE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 139?>

<t>Ephemeral Diffie-Hellman Over COSE (EDHOC) is a lightweight authenticated key exchange protocol intended for use in constrained scenarios.
This document specifies Lightweight Authorization using EDHOC (ELA).
The procedure allows authorizing enrollment of new devices using the extension point defined in EDHOC.
ELA is applicable to zero-touch onboarding of new devices to a constrained network leveraging trust anchors installed at manufacture time.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lake-wg.github.io/authz/draft-ietf-lake-authz.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lake-authz/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Lightweight Authenticated Key Exchange Working Group mailing list (<eref target="mailto:lake@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/lake/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/lake/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lake-wg/authz"/>.</t>
    </note>
  </front>
  <middle>
    <?line 146?>

<section anchor="intro">
      <name>Introduction</name>
      <t>For constrained IoT deployments <xref target="RFC7228"/> the overhead and processing contributed by security protocols may be significant, which motivates the specification of lightweight protocols that are optimizing, in particular, message overhead (see <xref target="I-D.ietf-lake-reqs"/>).
This document describes Lightweight Authorization using EDHOC (ELA), a procedure for augmenting the lightweight authenticated Diffie-Hellman key exchange EDHOC <xref target="RFC9528"/> with third party-assisted authorization.</t>
      <t>ELA involves a device, a domain authenticator, and an enrollment server.
The device and domain authenticator perform mutual authentication and authorization, assisted by the enrollment server that provides relevant authorization information to the device (a "voucher") and to the authenticator. The high-level model is similar to BRSKI <xref target="RFC8995"/>.</t>
      <t>In this document, we consider the target interaction for which authorization is needed to be "enrollment", for example joining a network for the first time (e.g., <xref target="RFC9031"/>), but it can be applied to authorize other target interactions.</t>
      <t>The enrollment server may represent the manufacturer of the device, or some other party with information about the device from which a trust anchor has been pre-provisioned into the device.
The (domain) authenticator may represent the service provider or some other party controlling access to the network in which the device is enrolling.</t>
      <t>ELA assumes that authentication between device and authenticator is performed with EDHOC <xref target="RFC9528"/>, and defines the integration of a lightweight authorization procedure using the External Authorization Data (EAD) fields defined in EDHOC.</t>
      <t>ELA enables a low message count by performing authorization and enrollment in parallel with authentication, instead of in sequence, which is common for network access.
It further reuses protocol elements from EDHOC, leading to reduced message sizes on constrained links.</t>
      <t>This protocol is applicable to a wide variety of settings, and can be mapped to different authorization architectures.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
        <t>Readers are expected to have an understanding of CBOR <xref target="RFC8949"/>, CDDL <xref target="RFC8610"/>, and EDHOC <xref target="RFC9528"/>.
Appendix C.1 of <xref target="RFC9528"/> contains some basic info about CBOR.</t>
      </section>
    </section>
    <section anchor="outline">
      <name>Protocol Outline</name>
      <t>The goal of ELA is to enable a (potentially constrained) device (U) to enroll into a domain over a constrained link.
The device authenticates and enforces authorization of the (non-constrained) domain authenticator (V) with the help of a voucher conveying authorization information.
The voucher has a similar role as in <xref target="RFC8366"/> but should be considerably more compact.
The domain authenticator, in turn, authenticates the device and authorizes its enrollment into the domain.
ELA also enables scenarios where only V needs to authorize U, by allowing the voucher to be optional.</t>
      <t>The procedure is assisted by a (non-constrained) enrollment server (W) located in a non-constrained network behind the domain authenticator, e.g., on the Internet, providing information to the device (conveyed in the voucher) and to the domain authenticator as part of the protocol.</t>
      <t>The objective of this document is to specify such a protocol that is lightweight over the constrained link, by reusing elements of EDHOC <xref target="RFC9528"/> and by shifting message overhead to the non-constrained side of the network.
See illustration in <xref target="fig-overview"/>.</t>
      <t>Note the cardinality of the involved parties. It is expected that the domain authenticator needs to handle a large unspecified number of devices, but for a given device type or manufacturer it is expected that one or a few nodes host enrollment servers.</t>
      <figure anchor="fig-overview">
        <name>Overview of the message flow. EDHOC is used on the constrained link between U and V. Voucher Info and Voucher are sent in EDHOC External Authorization Data (EAD). The link between V and W is not constrained.</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="208" width="560" viewBox="0 0 560 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,176" fill="none" stroke="black"/>
              <path d="M 96,64 L 96,176" fill="none" stroke="black"/>
              <path d="M 136,120 L 136,176" fill="none" stroke="black"/>
              <path d="M 152,64 L 152,120" fill="none" stroke="black"/>
              <path d="M 200,64 L 200,176" fill="none" stroke="black"/>
              <path d="M 328,64 L 328,176" fill="none" stroke="black"/>
              <path d="M 424,64 L 424,176" fill="none" stroke="black"/>
              <path d="M 552,64 L 552,176" fill="none" stroke="black"/>
              <path d="M 8,64 L 96,64" fill="none" stroke="black"/>
              <path d="M 200,64 L 328,64" fill="none" stroke="black"/>
              <path d="M 424,64 L 552,64" fill="none" stroke="black"/>
              <path d="M 96,80 L 192,80" fill="none" stroke="black"/>
              <path d="M 104,96 L 200,96" fill="none" stroke="black"/>
              <path d="M 96,112 L 144,112" fill="none" stroke="black"/>
              <path d="M 160,112 L 192,112" fill="none" stroke="black"/>
              <path d="M 328,112 L 416,112" fill="none" stroke="black"/>
              <path d="M 104,128 L 128,128" fill="none" stroke="black"/>
              <path d="M 144,128 L 200,128" fill="none" stroke="black"/>
              <path d="M 336,128 L 424,128" fill="none" stroke="black"/>
              <path d="M 8,176 L 96,176" fill="none" stroke="black"/>
              <path d="M 200,176 L 328,176" fill="none" stroke="black"/>
              <path d="M 424,176 L 552,176" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="424,112 412,106.4 412,117.6" fill="black" transform="rotate(0,416,112)"/>
              <polygon class="arrowhead" points="344,128 332,122.4 332,133.6" fill="black" transform="rotate(180,336,128)"/>
              <polygon class="arrowhead" points="200,112 188,106.4 188,117.6" fill="black" transform="rotate(0,192,112)"/>
              <polygon class="arrowhead" points="200,80 188,74.4 188,85.6" fill="black" transform="rotate(0,192,80)"/>
              <polygon class="arrowhead" points="112,128 100,122.4 100,133.6" fill="black" transform="rotate(180,104,128)"/>
              <polygon class="arrowhead" points="112,96 100,90.4 100,101.6" fill="black" transform="rotate(180,104,96)"/>
              <circle cx="136" cy="128" r="6" class="opendot" fill="white" stroke="black"/>
              <circle cx="152" cy="112" r="6" class="opendot" fill="white" stroke="black"/>
              <g class="text">
                <text x="160" y="36">Voucher</text>
                <text x="148" y="52">Info</text>
                <text x="376" y="84">Voucher</text>
                <text x="260" y="100">Domain</text>
                <text x="376" y="100">Request</text>
                <text x="492" y="100">Enrollment</text>
                <text x="52" y="116">Device</text>
                <text x="264" y="116">Authenticator</text>
                <text x="492" y="116">Server</text>
                <text x="48" y="148">(U)</text>
                <text x="264" y="148">(V)</text>
                <text x="376" y="148">Voucher</text>
                <text x="488" y="148">(W)</text>
                <text x="380" y="164">Response</text>
                <text x="144" y="196">Voucher</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
                Voucher
                Info
+----------+      |     +---------------+           +---------------+
|          +------+---->|               |  Voucher  |               |
|          |<-----+-----+    Domain     |  Request  |   Enrollment  |
|  Device  +------o---->| Authenticator +---------->|     Server    |
|          |<---o-------+               |<----------+               |
|   (U)    |    |       |      (V)      |  Voucher  |      (W)      |
|          |    |       |               |  Response |               |
+----------+    |       +---------------+           +---------------+
              Voucher
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="assumptions">
      <name>Assumptions</name>
      <t>The protocol is based on the following pre-existing relations between the device (U), the domain authenticator (V) and the enrollment server (W), see <xref target="fig-trust"/>.</t>
      <ul spacing="normal">
        <li>
          <t>U and W have an explicit relation: U is configured with a public key of W, see <xref target="device"/>.</t>
        </li>
        <li>
          <t>V and W have an implicit relation, e.g., based on web PKI with trusted CA certificates, see <xref target="domain-auth"/>.</t>
        </li>
        <li>
          <t>U and V need not have any previous relation. This protocol establishes a relation between U and V.</t>
        </li>
      </ul>
      <t>Each of the three parties can gain protected communication with the other two during the protocol.</t>
      <t>V may be able to access credentials over non-constrained networks, but U may be limited to constrained networks. Implementations wishing to leverage the zero-touch capabilities of this protocol are expected to support transmission of credentials from V to U by value during the EDHOC exchange, which will impact the message size depending on the type of credential used.</t>
      <figure anchor="fig-trust">
        <name>Overview of pre-existing relations.</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="568" viewBox="0 0 568 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,96 L 8,192" fill="none" stroke="black"/>
              <path d="M 48,64 L 48,96" fill="none" stroke="black"/>
              <path d="M 48,192 L 48,224" fill="none" stroke="black"/>
              <path d="M 96,96 L 96,192" fill="none" stroke="black"/>
              <path d="M 200,96 L 200,192" fill="none" stroke="black"/>
              <path d="M 264,192 L 264,224" fill="none" stroke="black"/>
              <path d="M 328,96 L 328,192" fill="none" stroke="black"/>
              <path d="M 432,96 L 432,192" fill="none" stroke="black"/>
              <path d="M 496,64 L 496,96" fill="none" stroke="black"/>
              <path d="M 496,192 L 496,224" fill="none" stroke="black"/>
              <path d="M 560,96 L 560,192" fill="none" stroke="black"/>
              <path d="M 64,64 L 480,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 96,96" fill="none" stroke="black"/>
              <path d="M 200,96 L 328,96" fill="none" stroke="black"/>
              <path d="M 432,96 L 560,96" fill="none" stroke="black"/>
              <path d="M 8,192 L 96,192" fill="none" stroke="black"/>
              <path d="M 200,192 L 328,192" fill="none" stroke="black"/>
              <path d="M 432,192 L 560,192" fill="none" stroke="black"/>
              <path d="M 64,224 L 248,224" fill="none" stroke="black"/>
              <path d="M 280,224 L 480,224" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="488,224 476,218.4 476,229.6" fill="black" transform="rotate(0,480,224)"/>
              <polygon class="arrowhead" points="488,64 476,58.4 476,69.6" fill="black" transform="rotate(0,480,64)"/>
              <polygon class="arrowhead" points="288,224 276,218.4 276,229.6" fill="black" transform="rotate(180,280,224)"/>
              <polygon class="arrowhead" points="256,224 244,218.4 244,229.6" fill="black" transform="rotate(0,248,224)"/>
              <polygon class="arrowhead" points="72,224 60,218.4 60,229.6" fill="black" transform="rotate(180,64,224)"/>
              <polygon class="arrowhead" points="72,64 60,58.4 60,69.6" fill="black" transform="rotate(180,64,64)"/>
              <g class="text">
                <text x="108" y="52">Explicit</text>
                <text x="180" y="52">relation</text>
                <text x="244" y="52">(e.g.,</text>
                <text x="292" y="52">from</text>
                <text x="340" y="52">device</text>
                <text x="424" y="52">manufacturer)</text>
                <text x="52" y="132">Device</text>
                <text x="148" y="132">con-</text>
                <text x="260" y="132">Domain</text>
                <text x="360" y="132">not</text>
                <text x="396" y="132">con-</text>
                <text x="500" y="132">Enrollment</text>
                <text x="148" y="148">strained</text>
                <text x="264" y="148">Authenticator</text>
                <text x="380" y="148">strained</text>
                <text x="500" y="148">Server</text>
                <text x="48" y="164">(U)</text>
                <text x="144" y="164">network</text>
                <text x="264" y="164">(V)</text>
                <text x="376" y="164">network</text>
                <text x="496" y="164">(W)</text>
                <text x="92" y="244">No</text>
                <text x="140" y="244">previous</text>
                <text x="212" y="244">relation</text>
                <text x="340" y="244">Implicit</text>
                <text x="412" y="244">relation</text>
                <text x="316" y="260">(e.g.,</text>
                <text x="360" y="260">web</text>
                <text x="392" y="260">PKI</text>
                <text x="436" y="260">based)</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[

         Explicit relation (e.g., from device manufacturer)
     | <---------------------------------------------------> |
     |                                                       |
+----+-----+            +---------------+            +-------+-------+
|          |            |               |            |               |
|  Device  |    con-    |    Domain     |  not con-  |   Enrollment  |
|          |  strained  | Authenticator |  strained  |     Server    |
|   (U)    |  network   |      (V)      |  network   |      (W)      |
|          |            |               |            |               |
+----+-----+            +-------+-------+            +-------+-------+
     |                          |                            |
     | <----------------------> | <------------------------> |
          No previous relation        Implicit relation
                                    (e.g., web PKI based)
]]></artwork>
        </artset>
      </figure>
      <section anchor="device">
        <name>Device (U)</name>
        <t>To authenticate to V, the device (U) runs EDHOC in the role of Initiator with authentication credential CRED_U, for example, an X.509 certificate <xref target="RFC5280"/> or a CBOR Web Token (CWT, <xref target="RFC8392"/>). CRED_U may, for example, be carried by value in ID_CRED_I of EDHOC message_3 or be provisioned to V over a non-constrained network, leveraging a credential identifier in ID_CRED_I (see <xref target="fig-protocol"/>).</t>
        <t>U also needs to identify itself to W, for which it reuses ID_CRED_I.
This means that the value used by U in ID_CRED_I needs to be unique enough to be understood by both V and W.
W will use ID_CRED_I to determine if the device with this identifier is authorized to enroll with V.</t>
        <t>U is also provisioned with information about W:</t>
        <ul spacing="normal">
          <li>
            <t>A static public key of W (PK_W) used to establish secure communication with the enrollment server (see <xref target="U-W"/>).</t>
          </li>
          <li>
            <t>Location information about the enrollment server (LOC_W) that can be used by V to reach W. This is typically a URI but may alternatively be only the domain name.</t>
          </li>
        </ul>
      </section>
      <section anchor="domain-auth">
        <name>Domain Authenticator (V)</name>
        <t>To authenticate to U, the domain authenticator (V) runs EDHOC in the role of Responder with an authentication credential CRED_V containing a public key of V, see <xref target="V_2"/>. This proves to U the possession of the private key corresponding to the public key of CRED_V. CRED_V typically needs to be transported to U in EDHOC (using  ID_CRED_R = CRED_V, see <xref section="3.5.2" sectionFormat="of" target="RFC9528"/>) since there is no previous relation between U and V.</t>
        <t>V and W need to establish a secure (confidentiality and integrity protected) connection for the Voucher Request/Response protocol.
Furthermore, W needs to access the same credential CRED_V that V uses with U (to compute the Voucher), and V needs to prove to W the possession of the private key corresponding to the public key of CRED_V.
It is RECOMMENDED that V authenticates to W using the same credential CRED_V as with U.</t>
        <t>Note that the choice of protocols may affect which type of credential and methods should be used by V.
For example, in case V and W select TLS for the secure channel and PoP, then CRED_V is a X.509 certificate, and the EDHOC method used by V is signature-based.
Some of the possible combinations of protocols to secure the connection between V and W are listed in <xref target="creds-table"/> below.</t>
        <table anchor="creds-table">
          <name>Examples of how to secure the connection between V and W.</name>
          <thead>
            <tr>
              <th align="left">Secure channel between V and W</th>
              <th align="left">Proof-of-Possession from V to W</th>
              <th align="left">Type of CRED_V</th>
              <th align="left">EDHOC method used by V</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">[D]TLS 1.3 with mutual authentication, where V is the client and W is the server.</td>
              <td align="left">Provided by [D]TLS.</td>
              <td align="left">Restricted to types that are supported by both [D]TLS and EDHOC, e.g., X.509 certificates.</td>
              <td align="left">V MUST authenticate using a signature.</td>
            </tr>
            <tr>
              <td align="left">[D]TLS 1.3, where V is the client and W is the server.</td>
              <td align="left">Run an EDHOC session on top of the TLS-protected channel.</td>
              <td align="left">Any type supported by EDHOC, e.g., X.509, C509, CWT, or CCS.</td>
              <td align="left">Any method may be used.</td>
            </tr>
            <tr>
              <td align="left">EDHOC and OSCORE, where V is the initiator and W is the responder.</td>
              <td align="left">Already provided by EDHOC during the setup of the secure channel.</td>
              <td align="left">Any type supported by EDHOC.</td>
              <td align="left">Any method may be used.</td>
            </tr>
          </tbody>
        </table>
        <t>Note also that the secure connection between V and W may be long-lived and reused for multiple voucher requests/responses.</t>
        <t>Other details of proof-of-possession related to CRED_V and transport of CRED_V are out of scope of this document.</t>
      </section>
      <section anchor="authz-server">
        <name>Enrollment Server (W)</name>
        <t>The enrollment server (W) is assumed to have the private key corresponding to PK_W, which is used to establish secure communication with the device (see <xref target="U-W"/>).
W provides to U the authorization decision for enrollment with V in the form of a voucher (see <xref target="voucher"/>).
Authorization policies are out of scope for this document.</t>
        <t>Authentication credentials and communication security with V is described in <xref target="domain-auth"/>.
To calculate the voucher, W needs access to the hash of EDHOC message_2 and message_1 (H_21), ID_CRED_I, and CRED_V as used in the EDHOC session between U and V, see <xref target="voucher"/>.</t>
        <ul spacing="normal">
          <li>
            <t>W MUST verify that CRED_V is bound to the secure connection between W and V</t>
          </li>
          <li>
            <t>W MUST verify that V is in possession of the private key corresponding to the public key of CRED_V</t>
          </li>
        </ul>
        <t>W needs to be available during the execution of the protocol between U and V.</t>
      </section>
    </section>
    <section anchor="protocol">
      <name>The Protocol</name>
      <section anchor="protocol-overview">
        <name>Overview</name>
        <t>The ELA protocol consists of three security sessions going on in parallel:</t>
        <ol spacing="normal" type="1"><li>
            <t>The EDHOC session between device (U) and (domain) authenticator (V)</t>
          </li>
          <li>
            <t>Voucher Request/Response between authenticator (V) and enrollment server (W)</t>
          </li>
          <li>
            <t>An exchange of voucher-related information, including the voucher itself, between device (U) and enrollment server (W), mediated by the authenticator (V).</t>
          </li>
        </ol>
        <t><xref target="fig-protocol"/> provides an overview of the message flow detailed in this section. An outline of EDHOC is given in <xref section="2" sectionFormat="of" target="RFC9528"/>.</t>
        <figure anchor="fig-protocol">
          <name>Overview of ELA: W-assisted authorization of U and V to each other: EDHOC between U and V, and Voucher Request/Response between V and W. Before the protocol, V and W are assumed to have established a secure channel and performed proof-of-possession of relevant keys. Credential lookup of CRED_U may involve W or other credential database.</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="736" width="584" viewBox="0 0 584 736" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,224" fill="none" stroke="black"/>
                <path d="M 8,304 L 8,704" fill="none" stroke="black"/>
                <path d="M 256,48 L 256,224" fill="none" stroke="black"/>
                <path d="M 256,304 L 256,704" fill="none" stroke="black"/>
                <path d="M 576,48 L 576,224" fill="none" stroke="black"/>
                <path d="M 576,304 L 576,704" fill="none" stroke="black"/>
                <path d="M 264,96 L 288,96" fill="none" stroke="black"/>
                <path d="M 312,96 L 328,96" fill="none" stroke="black"/>
                <path d="M 352,96 L 368,96" fill="none" stroke="black"/>
                <path d="M 392,96 L 408,96" fill="none" stroke="black"/>
                <path d="M 432,96 L 448,96" fill="none" stroke="black"/>
                <path d="M 472,96 L 488,96" fill="none" stroke="black"/>
                <path d="M 512,96 L 528,96" fill="none" stroke="black"/>
                <path d="M 552,96 L 568,96" fill="none" stroke="black"/>
                <path d="M 264,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 312,160 L 328,160" fill="none" stroke="black"/>
                <path d="M 352,160 L 368,160" fill="none" stroke="black"/>
                <path d="M 392,160 L 408,160" fill="none" stroke="black"/>
                <path d="M 432,160 L 448,160" fill="none" stroke="black"/>
                <path d="M 472,160 L 488,160" fill="none" stroke="black"/>
                <path d="M 512,160 L 528,160" fill="none" stroke="black"/>
                <path d="M 552,160 L 568,160" fill="none" stroke="black"/>
                <path d="M 8,256 L 576,256" fill="none" stroke="black"/>
                <path d="M 8,352 L 248,352" fill="none" stroke="black"/>
                <path d="M 16,400 L 256,400" fill="none" stroke="black"/>
                <path d="M 8,464 L 248,464" fill="none" stroke="black"/>
                <path d="M 256,528 L 568,528" fill="none" stroke="black"/>
                <path d="M 264,608 L 576,608" fill="none" stroke="black"/>
                <path d="M 16,672 L 256,672" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="576,528 564,522.4 564,533.6" fill="black" transform="rotate(0,568,528)"/>
                <polygon class="arrowhead" points="576,160 564,154.4 564,165.6" fill="black" transform="rotate(0,568,160)"/>
                <polygon class="arrowhead" points="576,96 564,90.4 564,101.6" fill="black" transform="rotate(0,568,96)"/>
                <polygon class="arrowhead" points="272,608 260,602.4 260,613.6" fill="black" transform="rotate(180,264,608)"/>
                <polygon class="arrowhead" points="272,160 260,154.4 260,165.6" fill="black" transform="rotate(180,264,160)"/>
                <polygon class="arrowhead" points="272,96 260,90.4 260,101.6" fill="black" transform="rotate(180,264,96)"/>
                <polygon class="arrowhead" points="256,464 244,458.4 244,469.6" fill="black" transform="rotate(0,248,464)"/>
                <polygon class="arrowhead" points="256,352 244,346.4 244,357.6" fill="black" transform="rotate(0,248,352)"/>
                <polygon class="arrowhead" points="24,672 12,666.4 12,677.6" fill="black" transform="rotate(180,16,672)"/>
                <polygon class="arrowhead" points="24,400 12,394.4 12,405.6" fill="black" transform="rotate(180,16,400)"/>
                <g class="text">
                  <text x="8" y="36">U</text>
                  <text x="256" y="36">V</text>
                  <text x="576" y="36">W</text>
                  <text x="360" y="84">Establish</text>
                  <text x="428" y="84">secure</text>
                  <text x="488" y="84">channel</text>
                  <text x="332" y="116">(e.g.,</text>
                  <text x="376" y="116">TLS</text>
                  <text x="412" y="116">with</text>
                  <text x="460" y="116">server</text>
                  <text x="516" y="116">cert.)</text>
                  <text x="360" y="148">Proof-of-possession</text>
                  <text x="468" y="148">w.r.t.</text>
                  <text x="524" y="148">CRED_V</text>
                  <text x="380" y="180">(e.g.,</text>
                  <text x="436" y="180">EDHOC)</text>
                  <text x="228" y="276">CORE</text>
                  <text x="284" y="276">PROTOCOL</text>
                  <text x="104" y="340">EDHOC</text>
                  <text x="168" y="340">message_1</text>
                  <text x="104" y="388">EDHOC</text>
                  <text x="168" y="388">message_2</text>
                  <text x="104" y="452">EDHOC</text>
                  <text x="168" y="452">message_3</text>
                  <text x="68" y="484">(EAD_3</text>
                  <text x="104" y="484">=</text>
                  <text x="140" y="484">LOC_W,</text>
                  <text x="196" y="484">EK_CT)</text>
                  <text x="352" y="516">Voucher</text>
                  <text x="416" y="516">Request</text>
                  <text x="476" y="516">(VREQ)</text>
                  <text x="364" y="548">(SS,</text>
                  <text x="412" y="548">EK_CT,</text>
                  <text x="460" y="548">H_21</text>
                  <text x="364" y="564">ID_CRED_I,</text>
                  <text x="464" y="564">Fetch_CRED_U)</text>
                  <text x="352" y="596">Voucher</text>
                  <text x="420" y="596">Response</text>
                  <text x="484" y="596">(VRES)</text>
                  <text x="372" y="628">(?Voucher,</text>
                  <text x="452" y="628">?CRED_U)</text>
                  <text x="104" y="660">EDHOC</text>
                  <text x="168" y="660">message_4</text>
                  <text x="104" y="692">(?EAD_4</text>
                  <text x="144" y="692">=</text>
                  <text x="188" y="692">Voucher)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
U                              V                                       W
|                              |                                       |
|                              |                                       |
|                              |        Establish secure channel       |
|                              +<---  ---  ---  ---  ---  ---  ---  -->|
|                              |      (e.g., TLS with server cert.)    |
|                              |                                       |
|                              |   Proof-of-possession w.r.t. CRED_V   |
|                              +<---  ---  ---  ---  ---  ---  ---  -->|
|                              |            (e.g., EDHOC)              |
|                              |                                       |
|                              |                                       |
|                              |                                       |

------------------------------------------------------------------------
                          CORE PROTOCOL

|                              |                                       |
|                              |                                       |
|         EDHOC message_1      |                                       |
+----------------------------->|                                       |
|                              |                                       |
|         EDHOC message_2      |                                       |
|<-----------------------------+                                       |
|                              |                                       |
|                              |                                       |
|         EDHOC message_3      |                                       |
+----------------------------->|                                       |
|    (EAD_3 = LOC_W, EK_CT)    |                                       |
|                              |                                       |
|                              |        Voucher Request (VREQ)         |
|                              +-------------------------------------->|
|                              |           (SS, EK_CT, H_21            |
|                              |        ID_CRED_I, Fetch_CRED_U)       |
|                              |                                       |
|                              |        Voucher Response (VRES)        |
|                              |<--------------------------------------+
|                              |         (?Voucher, ?CRED_U)           |
|                              |                                       |
|         EDHOC message_4      |                                       |
|<-----------------------------+                                       |
|        (?EAD_4 = Voucher)    |                                       |
|                              |                                       |

]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="reuse">
        <name>Reuse of EDHOC</name>
        <t>The ELA protocol illustrated in <xref target="fig-protocol"/> reuses several components of EDHOC:</t>
        <ul spacing="normal">
          <li>
            <t>SUITES_I includes the cipher suite for EDHOC selected by U, and also defines the algorithms used between U and W (see <xref section="3.6" sectionFormat="of" target="RFC9528"/>):  </t>
            <ul spacing="normal">
              <li>
                <t>EDHOC AEAD algorithm: used to generate voucher</t>
              </li>
              <li>
                <t>EDHOC hash algorithm: used for key derivation</t>
              </li>
              <li>
                <t>EDHOC key exchange algorithm: used to calculate the shared secret between U and W</t>
              </li>
            </ul>
          </li>
          <li>
            <t>EAD_3, EAD_4 are the External Authorization Data message fields of message_3 and message_4, respectively, see <xref section="3.8" sectionFormat="of" target="RFC9528"/>.
In case U acts as Responder (see <xref target="reverse-u-responder"/>), EAD_2 and EAD_3 are used in message_2 and message_3, respectively.
This document specifies two new EAD items, with ead_label = TBD1 and TBD2, see <xref target="iana-ead"/>.</t>
          </li>
          <li>
            <t>ID_CRED_I and ID_CRED_R are used to identify the authentication credentials CRED_U and CRED_V, respectively. As shown at the bottom of <xref target="fig-protocol"/>, V may use W to obtain CRED_U.
By default, CRED_V is transported in ID_CRED_R in message_2, see <xref target="V_2"/>.
In case U is Responder, CRED_V is transported in ID_CRED_I in message_3.</t>
          </li>
        </ul>
        <t>The protocol also reuses the EDHOC_Extract and EDHOC_Expand key derivation from EDHOC (see <xref section="4" sectionFormat="of" target="RFC9528"/>).</t>
        <t>The intermediate pseudo-random key PRK is derived using EDHOC_Extract():</t>
        <ul spacing="normal">
          <li>
            <t>PRK = EDHOC_Extract(salt, IKM)
            </t>
            <ul spacing="normal">
              <li>
                <t>where salt = 0x (the zero-length byte string)</t>
              </li>
              <li>
                <t>Computation of IKM depends on the EDHOC method in use.
                </t>
                <ul spacing="normal">
                  <li>
                    <t>If the method is based on Diffie-Hellman, IKM is computed as an ECDH cofactor Diffie-Hellman shared secret from the public key of W, PK_W, and the private key corresponding to G_U (or v.v.), see Section 5.7.1.2 of <xref target="NIST-800-56A"/> and <xref target="U-W"/>.</t>
                  </li>
                  <li>
                    <t>If the method is based on a Key Encapsulation Mechanism (KEM), IKM is the shared secret resulting from encapsulating PK_W, see Section 2.2 of <xref target="NIST-800-227"/>. For example, the use of ML-KEM in COSE is currently being specified at <xref target="I-D.ietf-jose-pqc-kem"/>.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>The output keying material OKM is derived from PRK using EDHOC_Expand(), which is defined in terms of the EDHOC hash algorithm of the selected cipher suite SS, see <xref section="4.1.2" sectionFormat="of" target="RFC9528"/>:</t>
        <ul spacing="normal">
          <li>
            <t>OKM = EDHOC_Expand(PRK, info, length)  </t>
            <t>
where</t>
          </li>
        </ul>
        <sourcecode type="cddl"><![CDATA[
info = (
   info_label : int,
   context : bstr,
   length : uint,
)
]]></sourcecode>
        <t>Finally, since the ELA authorization flow happens in EDHOC message_3 and message_4, the ELA is also compatible with EDHOC application profiles, as defined in <xref target="I-D.ietf-lake-app-profiles"/> where advertisement of supported profiles happens in message_1 and message_2.
This can be used, for example, to enable U or V to learn about each other's capability for executing the ELA protocol.</t>
      </section>
      <section anchor="U-W">
        <name>Device &lt;-&gt; Enrollment Server (U &lt;-&gt; W)</name>
        <t>The protocol between U and W is carried between U and V in message_3 and message_4 (<xref target="U-V"/>), and between V and W in the Voucher Request/Response (<xref target="V-W"/>). The data is protected between the endpoints using secret keys derived from a shared secret (see <xref target="reuse"/>) as further detailed in this section.</t>
        <section anchor="voucher_info">
          <name>Voucher Info</name>
          <t>The external authorization data EAD_3 contains a critical EAD item with ead_label = -TBD1 and ead_value = Voucher_Info, which is a CBOR byte string:</t>
          <sourcecode type="cddl"><![CDATA[
Voucher_Info = bstr .cborseq Voucher_Info_Seq

Voucher_Info_Seq = [ ; used as a CBOR sequence, not array
    LOC_W: tstr,
    EK_CT: bstr,
]
]]></sourcecode>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>LOC_W is a text string used by V to locate W, e.g., a URI or a domain name.</t>
            </li>
            <li>
              <t>EK_CT is a field containing either an ephemeral Diffie-Hellman key or a KEM ciphertext, depending on the EDHOC method being used in the current session:
              </t>
              <ul spacing="normal">
                <li>
                  <t>if the method is based on Diffie-Hellman, the device generates an ephemeral Diffie-Hellman key pair, where the public part G_U is placed in the EK_CT field. The private part of G_U will be used to decrypt and verify the voucher, see <xref target="voucher"/> and <xref target="reuse"/>.</t>
                </li>
                <li>
                  <t>if the method is based on a PQC KEM, the device performs key encapsulation and places the resulting ciphertext CT in the EK_CT field. Here, the secret emitted by the encapsulation mechanism will be used to decrypt and verify the voucher, see <xref target="voucher"/> and <xref target="reuse"/>.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="voucher">
          <name>Voucher</name>
          <t>If W generates a Voucher, as determined by the application, the external authorization data EAD_4 contains an EAD item with ead_label = -TBD2 and ead_value = Voucher.</t>
          <t>The voucher is an assertion to U that W has authorized V.
It is encrypted using the EDHOC AEAD algorithm of the selected cipher suite SS specified in SUITE_I of EDHOC message_1.
It consists of the 'ciphertext' field of a COSE_Encrypt0 object <xref target="RFC9052"/>, which is a byte string, as defined below.</t>
          <sourcecode type="cddl"><![CDATA[
Voucher = bstr
]]></sourcecode>
          <t>Its corresponding plaintext value consists of an opaque field that can be used by W to convey information to U, such as a voucher scope.
The authentication tag present in the ciphertext is also bound to the current EDHOC handshake, the identity of U, and the credential of V as described below.</t>
          <ul spacing="normal">
            <li>
              <t>The encryption key K and nonce IV are derived as specified below.</t>
            </li>
            <li>
              <t>'protected' is a byte string of size 0</t>
            </li>
            <li>
              <t>'plaintext' and 'external_aad' as below:</t>
            </li>
          </ul>
          <sourcecode type="cddl"><![CDATA[
plaintext = (
    ?OPAQUE_INFO: bstr
)
]]></sourcecode>
          <sourcecode type="cddl"><![CDATA[
external_aad = (
    H_21:         bstr,
    ID_CRED_I:    bstr,
    CRED_V:       bstr,
)
]]></sourcecode>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>OPAQUE_INFO is an opaque field provided by the application.
If present, it will contain application data that W may want to convey to U, e.g., a voucher scope.
Note that OPAQUE_INFO is opaque when viewed as an information element in EDHOC.
It is opaque to V, while the application in U and W can read its contents.</t>
            </li>
            <li>
              <t>H_21 is H(message_2, H(message_1)), used to bind the voucher to the current EDHOC session. It is computed using the EDHOC hash algorithm of the selected cipher suite SS specified in SUITE_I of EDHOC message_1. H_21 is sent to W as part of the voucher request, see <xref target="voucher_request"/>.</t>
            </li>
            <li>
              <t>ID_CRED_I is the identifier of U transmitted via the voucher request.</t>
            </li>
            <li>
              <t>CRED_V is the credential used by V to authenticate to U and W, see <xref target="V_2"/> and <xref target="creds-table"/>.</t>
            </li>
          </ul>
          <t>The derivation of K = EDHOC_Expand(PRK, info, length) uses the following input to the info struct (see <xref target="reuse"/>):</t>
          <ul spacing="normal">
            <li>
              <t>info_label = 2</t>
            </li>
            <li>
              <t>context  = h'' (the empty CBOR string)</t>
            </li>
            <li>
              <t>length is length of the key of the EDHOC AEAD algorithm in bytes</t>
            </li>
          </ul>
          <t>The derivation of IV = EDHOC_Expand(PRK, info, length) uses the following input to the info struct (see <xref target="reuse"/>):</t>
          <ul spacing="normal">
            <li>
              <t>info_label = 3</t>
            </li>
            <li>
              <t>context = h''  (the empty CBOR string)</t>
            </li>
            <li>
              <t>length is length of the nonce of the EDHOC AEAD algorithm in bytes</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="U-V">
        <name>Device &lt;-&gt; Authenticator (U &lt;-&gt; V)</name>
        <t>This section describes the processing in U and V, which includes the EDHOC protocol, see <xref target="fig-protocol"/>. Normal EDHOC processing is omitted here.</t>
        <section anchor="m1">
          <name>Message 1</name>
          <section anchor="processing-in-u">
            <name>Processing in U</name>
            <t>U composes EDHOC message_1 using authentication method, identifiers, etc. according to an agreed application profile, see <xref section="3.9" sectionFormat="of" target="RFC9528"/>.
The selected cipher suite, in this document denoted SS, applies also to the interaction with W as detailed in <xref target="reuse"/>, in particular, with respect to the key agreement algorithm used between U and W.
U sends EDHOC message_1 to V.</t>
          </section>
          <section anchor="processing-in-v">
            <name>Processing in V</name>
            <t>V processes EDHOC message_1 as specified in <xref target="RFC9528"/>.</t>
            <t>Note that as part of normal EDHOC processing, U and V negotiate a selected cipher suite SS, as specified in <xref section="6.3.1" sectionFormat="of" target="RFC9528"/>.</t>
          </section>
        </section>
        <section anchor="m2">
          <name>Message 2</name>
          <section anchor="V_2">
            <name>Processing in V</name>
            <t>V composes EDHOC message_2 as specified in <xref section="5.3.3" sectionFormat="of" target="RFC9528"/>.</t>
            <t>The type of CRED_V may depend on the selected mechanism for the establishment of a secure channel between V and W, See <xref target="creds-table"/>.</t>
            <t>In case the network between U and V is constrained, it is recommended that CRED_V be a CWT Claims Set (CCS) <xref target="RFC8392"/>.
The CCS contains the public authentication key of V encoded as a COSE_Key in the 'cnf' claim, see <xref section="3.5.2" sectionFormat="of" target="RFC9528"/>.
ID_CRED_R contains the CWT Claims Set with 'kccs' as COSE header_map, see <xref section="10.6" sectionFormat="of" target="RFC9528"/>.</t>
          </section>
          <section anchor="processing-in-u-1">
            <name>Processing in U</name>
            <t>U receives EDHOC message_2 from V and processes it as specified in <xref section="5.3.3" sectionFormat="of" target="RFC9528"/>.</t>
          </section>
        </section>
        <section anchor="message-3">
          <name>Message 3</name>
          <section anchor="processing-in-u-2">
            <name>Processing in U</name>
            <t>U prepares EDHOC message_3 with EAD item (-TBD1, Voucher_Info) included in EAD_3, where Voucher_Info is specified in <xref target="U-W"/>.
The negative sign indicates that the EAD item is critical, see <xref section="3.8" sectionFormat="of" target="RFC9528"/>.</t>
          </section>
          <section anchor="processing-in-v-1">
            <name>Processing in V</name>
            <t>V receives EDHOC message_3 from U and processes it as specified in <xref section="5.4.3" sectionFormat="of" target="RFC9528"/>, with the additional step of processing the EAD item in EAD_3.
Since the EAD item is critical, if V does not recognize it or it contains information that V cannot process, then V MUST abort the EDHOC session, see <xref section="3.8" sectionFormat="of" target="RFC9528"/>.
The ead_label = -TBD1 triggers the voucher request to W as described in <xref target="V-W"/>.
The exchange between V and W needs to be completed successfully for the EDHOC session to be continued.</t>
            <t>As part of normal processing of EDHOC message_3, V must verify the credential of U.
It is up to the application to decide whether to verify the credential of U before or after the voucher request to W, see pre and post -verification processing of EAD items in <xref target="I-D.ietf-lake-edhoc-impl-cons"/>.</t>
            <t>In case V has access to a credential database, it MAY query it with ID_CRED_I to obtain a corresponding CRED_U and verify the identity of U before making the Voucher request to W.
If the verification of CRED_U fails, the EDHOC session is aborted.
In this scenario, the EAD item in EAD_3 is processed as a post-verification item <xref target="I-D.ietf-lake-edhoc-impl-cons"/>.</t>
            <t>Alternatively, V MAY proceed and perform a voucher request and wait for a voucher response.
If the response contains CRED_U, V then continues processing EDHOC message_3 where it verifies the credential of U.
Even upon reception of a successful voucher response from W, if the verification of CRED_U fails, the EDHOC session is aborted.
In this scenario, the EAD item in EAD_3 is processed as a pre-verification item <xref target="I-D.ietf-lake-edhoc-impl-cons"/>.</t>
          </section>
        </section>
        <section anchor="m4">
          <name>Message 4</name>
          <section anchor="V_4">
            <name>Processing in V</name>
            <t>At this point, V has authenticated U, and received a valid voucher response from W as described in <xref target="V-W"/>.</t>
            <t>V prepares EDHOC message_4 where, if the voucher response contains a voucher, V includes the critical EAD item (-TBD2, Voucher) in EAD_4, i.e., ead_label = -TBD2 and ead_value = Voucher, as specified in <xref target="voucher"/>.</t>
          </section>
          <section anchor="processing-in-u-3">
            <name>Processing in U</name>
            <t>U receives EDHOC message_4 from V and processes it as specified in <xref section="5.5.3" sectionFormat="of" target="RFC9528"/>, with the additional step of processing EAD_4.</t>
            <t>If EAD_4 contains an EAD item with label = -TBD2, U MUST verify the Voucher using H_21, ID_CRED_I, CRED_V, and the keys derived as in <xref target="voucher"/>.
If the verification fails then U MUST abort the EDHOC session.</t>
            <t>If U does not recognize the EAD item or the EAD item contains information that U cannot process, then U MUST abort the EDHOC session, see <xref section="3.8" sectionFormat="of" target="RFC9528"/>.</t>
            <t>If OPAQUE_INFO is present, it is made available to the application.</t>
          </section>
        </section>
      </section>
      <section anchor="V-W">
        <name>Authenticator &lt;-&gt; Enrollment Server (V &lt;-&gt; W)</name>
        <t>It is assumed that V and W have set up a secure connection, W has accessed the authentication credential CRED_V to be used in the EDHOC session between V and U, and that W has verified that V is in possession of the private key corresponding to CRED_V, see <xref target="domain-auth"/> and <xref target="authz-server"/>.
V and W run the Voucher Request/Response protocol over the secure connection.</t>
        <section anchor="voucher_request">
          <name>Voucher Request</name>
          <section anchor="processing-in-v-2">
            <name>Processing in V</name>
            <t>V sends the voucher request to W.
The Voucher Request SHALL be a CBOR array as defined below:</t>
            <sourcecode type="cddl"><![CDATA[
Voucher_Request = [
    SS:             int,
    EK_CT:          bstr,
    H_21:           bstr,
    ID_CRED_I:      bstr,
    Fetch_CRED_U    bool,
]
]]></sourcecode>
            <t>where</t>
            <ul spacing="normal">
              <li>
                <t>SS is the selected cipher suite used in the EDHOC session between U and V.</t>
              </li>
              <li>
                <t>EK_CT is either an ephemeral public key or a KEM ciphertext set by U, as defined in <xref target="U-W"/>.</t>
              </li>
              <li>
                <t>H_21 corresponds to H(message_2, H(message_1)). It is computed as defined in <xref target="voucher"/>.</t>
              </li>
              <li>
                <t>Fetch_CRED_U is a flag indicating whether W should try to load and return the credential CRED_U corresponding to ID_CRED_I.</t>
              </li>
            </ul>
          </section>
          <section anchor="processing-in-w">
            <name>Processing in W</name>
            <t>W receives and parses the voucher request received over the secure connection with V.
W extracts from Voucher_Request:</t>
            <ul spacing="normal">
              <li>
                <t>SS - the selected cipher suite.</t>
              </li>
              <li>
                <t>EK_CT - either an ephemeral public key or a KEM ciphertext.</t>
              </li>
              <li>
                <t>H_21 - the hash of message_2 and message_1.</t>
              </li>
              <li>
                <t>ID_CRED_I - the identifier of U.</t>
              </li>
              <li>
                <t>Fetch_CRED_U - flag indicating whether V requests W to return CRED_U.</t>
              </li>
            </ul>
            <t>W verifies that it supports the cipher suite and parses the key or ciphertext in EK_CT.</t>
            <t>W uses H_21 as a session identifier, and associates it to the device identifier ID_CRED_I.
Note that EK_CT is unique, as the ephemeral key or the ciphertext MUST not be reused, therefore H_21 is expected to be unique.</t>
            <t>If processing fails up until this point, the protocol SHALL be aborted with an error code signaling a generic issue with the request, see <xref target="rest-voucher-request"/>.</t>
            <t>W uses ID_CRED_I to look up the associated authorization policies for U and enforces them. This is out of scope for the specification.</t>
            <t>If ID_CRED_I is known by W, but authorization fails, the protocol SHALL be aborted with an error code signaling an access control issue, see <xref target="err-handling"/> and <xref target="rest-voucher-request"/>.</t>
            <t>If Fetch_CRED_U is true, W uses ID_CRED_I to retrieve the corresponding credential CRED_U.
If retrieval succeeds, W MUST include CRED_U in the voucher response, see <xref target="voucher_response"/>.
If the retrieval fails, W sends the voucher response without CRED_U.
If Fetch_CRED_U is false, W MUST NOT include CRED_U in the voucher response.</t>
          </section>
        </section>
        <section anchor="voucher_response">
          <name>Voucher Response</name>
          <section anchor="processing-in-w-1">
            <name>Processing in W</name>
            <t>In case a Voucher is needed (as determined by the application), W retrieves CRED_V associated with the secure connection with V, and constructs the Voucher for the device with identifier ID_CRED_I (see <xref target="voucher"/>).</t>
            <t>W generates the voucher response and sends it to V over the secure connection.
The Voucher_Response SHALL be a CBOR array as defined below:</t>
            <sourcecode type="cddl"><![CDATA[
Voucher_Response = [
    ? Voucher:        bstr,
    ? CRED_U:       bstr,
]
]]></sourcecode>
            <t>where</t>
            <ul spacing="normal">
              <li>
                <t>The Voucher is defined in <xref target="voucher"/>, if present.</t>
              </li>
              <li>
                <t>CRED_U is the credential of U corresponding to ID_CRED_I passed in the voucher request. CRED_U is included only if Fetch_CRED_U was set in the voucher request and W successfully retrieved the credential.</t>
              </li>
            </ul>
            <t>W signals the successful processing of Voucher_Request via a status code in the REST interface, as defined in <xref target="rest-voucher-request"/>.</t>
          </section>
          <section anchor="processing-in-v-3">
            <name>Processing in V</name>
            <t>V receives the voucher response from W over the secure connection.
If the voucher response is successfully received from W, then V responds to U with EDHOC message_4 as described in <xref target="V_4"/>.</t>
          </section>
        </section>
      </section>
      <section anchor="err-handling">
        <name>Error Handling</name>
        <t>This section specifies a new EDHOC error code and how it is used in ELA.</t>
        <section anchor="edhoc-error-access-denied">
          <name>EDHOC Error "Access denied"</name>
          <t>This section specifies the new EDHOC error "Access denied", see <xref target="fig-error-codes"/>.</t>
          <figure anchor="fig-error-codes">
            <name>EDHOC error code and error information for ‘Access denied’.</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="112" width="568" viewBox="0 0 568 112" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                  <path d="M 96,32 L 96,96" fill="none" stroke="black"/>
                  <path d="M 232,32 L 232,96" fill="none" stroke="black"/>
                  <path d="M 560,32 L 560,96" fill="none" stroke="black"/>
                  <path d="M 8,32 L 560,32" fill="none" stroke="black"/>
                  <path d="M 8,62 L 560,62" fill="none" stroke="black"/>
                  <path d="M 8,66 L 560,66" fill="none" stroke="black"/>
                  <path d="M 8,96 L 560,96" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="52" y="52">ERR_CODE</text>
                    <text x="140" y="52">ERR_INFO</text>
                    <text x="196" y="52">Type</text>
                    <text x="288" y="52">Description</text>
                    <text x="68" y="84">TBD3</text>
                    <text x="160" y="84">error_content</text>
                    <text x="268" y="84">Access</text>
                    <text x="324" y="84">denied</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
+----------+----------------+----------------------------------------+
| ERR_CODE | ERR_INFO Type  | Description                            |
+==========+================+========================================+
|     TBD3 | error_content  | Access denied                          |
+----------+----------------+----------------------------------------+
]]></artwork>
            </artset>
          </figure>
          <t>Error code TBD3 is used to indicate to the receiver that access control has been applied and the sender has aborted the EDHOC session.
The ERR_INFO field contains error_content which is a CBOR Sequence consisting of an integer and an optional byte string.</t>
          <sourcecode type="cddl"><![CDATA[
error_content = (
  REJECT_TYPE : int,
  ? REJECT_INFO : bstr,
)
]]></sourcecode>
          <t>The purpose of REJECT_INFO is for the sender to provide verifiable and actionable information to the receiver about the error, so that an automated action may be taken to enable access.</t>
          <figure anchor="fig-reject">
            <name>REJECT_TYPE and REJECT_INFO for ‘Access denied’.</name>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="144" width="568" viewBox="0 0 568 144" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
                  <path d="M 120,32 L 120,128" fill="none" stroke="black"/>
                  <path d="M 248,32 L 248,128" fill="none" stroke="black"/>
                  <path d="M 560,32 L 560,128" fill="none" stroke="black"/>
                  <path d="M 8,32 L 560,32" fill="none" stroke="black"/>
                  <path d="M 8,62 L 560,62" fill="none" stroke="black"/>
                  <path d="M 8,66 L 560,66" fill="none" stroke="black"/>
                  <path d="M 8,96 L 560,96" fill="none" stroke="black"/>
                  <path d="M 8,128 L 560,128" fill="none" stroke="black"/>
                  <g class="text">
                    <text x="64" y="52">REJECT_TYPE</text>
                    <text x="176" y="52">REJECT_INFO</text>
                    <text x="304" y="52">Description</text>
                    <text x="104" y="84">0</text>
                    <text x="136" y="84">-</text>
                    <text x="268" y="84">No</text>
                    <text x="328" y="84">REJECT_INFO</text>
                    <text x="104" y="116">1</text>
                    <text x="148" y="116">bstr</text>
                    <text x="304" y="116">REJECT_INFO</text>
                    <text x="372" y="116">from</text>
                    <text x="424" y="116">trusted</text>
                    <text x="480" y="116">third</text>
                    <text x="528" y="116">party</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
+-------------+---------------+--------------------------------------+
| REJECT_TYPE | REJECT_INFO   | Description                          |
+=============+===============+======================================+
|           0 | -             | No REJECT_INFO                       |
+-------------+---------------+--------------------------------------+
|           1 | bstr          | REJECT_INFO from trusted third party |
+-------------+---------------+--------------------------------------+
]]></artwork>
            </artset>
          </figure>
        </section>
        <section anchor="error-handling-in-w-v-and-u">
          <name>Error handling in W, V, and U</name>
          <t>ELA uses the EDHOC Error "Access denied" in the following way:</t>
          <ul spacing="normal">
            <li>
              <t>W generates error_content and transfers it to V via the secure connection.
If REJECT_TYPE is 1, then REJECT_INFO is encrypted from W to U using the EDHOC AEAD algorithm.
W signals the error via an appropriate status code in the REST interface, as defined in <xref target="rest-voucher-request"/>.</t>
            </li>
            <li>
              <t>V receives error_content, prepares an EDHOC "Access denied" error, and sends it to U.</t>
            </li>
            <li>
              <t>U receives the error message and extracts the error_content.
If REJECT_TYPE is 1, then U decrypts REJECT_INFO, based on which it may retry to gain access.</t>
            </li>
          </ul>
          <t>The encryption of REJECT_INFO follows a procedure analogous to the one defined in <xref target="voucher"/>, with the following differences:</t>
          <sourcecode type="cddl"><![CDATA[
plaintext = (
    OPAQUE_INFO:   bstr,
 )
]]></sourcecode>
          <sourcecode type="cddl"><![CDATA[
external_aad = (
    H_21:          bstr,
 )
]]></sourcecode>
          <t>where</t>
          <ul spacing="normal">
            <li>
              <t>OPAQUE_INFO is an opaque field that contains actionable information about the error.
It may contain, for example, a list of suggested Vs through which U should join instead.</t>
            </li>
            <li>
              <t>H_21 is the hash of EDHOC message_2 and message_1, obtained from the associated voucher request, see <xref target="voucher_request"/>.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="reverse-u-responder">
        <name>Reverse flow with U as Responder</name>
        <t>This section presents a protocol variant in which U is the EDHOC Responder.
This may allow optimizations in certain constrained network technologies.
For example, one use case is having V broadcast message_1, to which U responds with a message_2 whose EAD_2 field contains Voucher_Info.</t>
        <t>Note that this is different from the EDHOC reverse message flow defined in <xref section="A.2.2" sectionFormat="of" target="RFC9528"/>, since we make no assumption about whether U or V is a CoAP server.</t>
        <section anchor="_u-initiator">
          <name>U is the Initiator</name>
          <t>For clarity, we first present the regular flow with U as Initiator, as described in <xref target="protocol-overview"/> and <xref target="U-V"/>.
Note that Voucher_Info and Voucher are carried in EDHOC message_3 and message_4, respectively.</t>
          <figure anchor="fig-u-initiator">
            <name>In ELA regular flow, U is the EDHOC Initiator.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="568" viewBox="0 0 568 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                  <path d="M 56,80 L 56,448" fill="none" stroke="black"/>
                  <path d="M 104,32 L 104,80" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                  <path d="M 312,80 L 312,448" fill="none" stroke="black"/>
                  <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                  <path d="M 560,224 L 560,368" fill="none" stroke="black"/>
                  <path d="M 8,32 L 104,32" fill="none" stroke="black"/>
                  <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 104,80" fill="none" stroke="black"/>
                  <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                  <path d="M 56,128 L 304,128" fill="none" stroke="black"/>
                  <path d="M 64,176 L 304,176" fill="none" stroke="black"/>
                  <path d="M 56,224 L 304,224" fill="none" stroke="black"/>
                  <path d="M 312,272 L 552,272" fill="none" stroke="black"/>
                  <path d="M 320,352 L 552,352" fill="none" stroke="black"/>
                  <path d="M 64,416 L 304,416" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="560,352 548,346.4 548,357.6" fill="black" transform="rotate(0,552,352)"/>
                  <polygon class="arrowhead" points="560,272 548,266.4 548,277.6" fill="black" transform="rotate(0,552,272)"/>
                  <polygon class="arrowhead" points="328,352 316,346.4 316,357.6" fill="black" transform="rotate(180,320,352)"/>
                  <polygon class="arrowhead" points="312,224 300,218.4 300,229.6" fill="black" transform="rotate(0,304,224)"/>
                  <polygon class="arrowhead" points="312,128 300,122.4 300,133.6" fill="black" transform="rotate(0,304,128)"/>
                  <polygon class="arrowhead" points="72,416 60,410.4 60,421.6" fill="black" transform="rotate(180,64,416)"/>
                  <polygon class="arrowhead" points="72,176 60,170.4 60,181.6" fill="black" transform="rotate(180,64,176)"/>
                  <g class="text">
                    <text x="56" y="52">U</text>
                    <text x="312" y="52">V</text>
                    <text x="56" y="68">Initiator</text>
                    <text x="312" y="68">Responder</text>
                    <text x="136" y="116">EDHOC</text>
                    <text x="200" y="116">message_1</text>
                    <text x="136" y="164">EDHOC</text>
                    <text x="200" y="164">message_2</text>
                    <text x="136" y="212">EDHOC</text>
                    <text x="200" y="212">message_3</text>
                    <text x="560" y="212">W</text>
                    <text x="88" y="244">EAD_3</text>
                    <text x="120" y="244">=</text>
                    <text x="160" y="244">(-TBD1,</text>
                    <text x="248" y="244">Voucher_info)</text>
                    <text x="436" y="260">VREQ</text>
                    <text x="396" y="292">(SS,</text>
                    <text x="444" y="292">EK_CT,</text>
                    <text x="496" y="292">H_21,</text>
                    <text x="388" y="308">ID_CRED_I,</text>
                    <text x="488" y="308">Fetch_CRED_U)</text>
                    <text x="436" y="340">VRES</text>
                    <text x="404" y="372">(?Voucher,</text>
                    <text x="484" y="372">?CRED_U)</text>
                    <text x="136" y="404">EDHOC</text>
                    <text x="200" y="404">message_4</text>
                    <text x="108" y="436">?EAD_4</text>
                    <text x="144" y="436">=</text>
                    <text x="184" y="436">(-TBD2,</text>
                    <text x="252" y="436">Voucher)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-----+-----+                   +-----------+
|     U     |                   |     V     |
| Initiator |                   | Responder |
+-----+-----+                   +-----+-----+
      |                               |
      |       EDHOC message_1         |
      +------------------------------>|
      |                               |
      |       EDHOC message_2         |
      +<------------------------------|
      |                               |
      |       EDHOC message_3         |                              W
      +------------------------------>|                              |
      | EAD_3 = (-TBD1, Voucher_info) |                              |
      |                               |             VREQ             |
      |                               +----------------------------->|
      |                               |        (SS, EK_CT, H_21,     |
      |                               |    ID_CRED_I, Fetch_CRED_U)  |
      |                               |                              |
      |                               |             VRES             |
      |                               +<---------------------------->|
      |                               |      (?Voucher, ?CRED_U)     |
      |                               |
      |       EDHOC message_4         |
      +<------------------------------|
      |   ?EAD_4 = (-TBD2, Voucher)   |
      |                               |
]]></artwork>
            </artset>
          </figure>
          <t>In the ELA regular flow, once message_4 processing is finalized (including processing of EAD_4), both U and V are authorized to interact.</t>
        </section>
        <section anchor="_u-responder">
          <name>U is the Responder</name>
          <t>ELA also works with U as the EDHOC Responder, a setup we refer to as the "ELA reverse flow", as shown in <xref target="fig-u-responder"/>.</t>
          <t>We present this variant as a set of changes to the regular protocol flow.
That is, here we only describe the differences in processing, when compared to the ELA regular flow.</t>
          <t>Here is a summary of the changes needed in the ELA reverse flow:</t>
          <ul spacing="normal">
            <li>
              <t>Voucher_Info and Voucher are transported in EDHOC message_2 and message_3, respectively (instead of message_3 and message_4).</t>
            </li>
            <li>
              <t>The EAD_2 and EAD_3 fields carry critical EAD items identified with labels -TBD1 and -TBD2, respectively.</t>
            </li>
            <li>
              <t>The VREQ / VRES protocol takes place between message_2 and message_3.</t>
            </li>
          </ul>
          <figure anchor="fig-u-responder">
            <name>ELA when U is the EDHOC Responder.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="568" viewBox="0 0 568 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,80" fill="none" stroke="black"/>
                  <path d="M 56,80 L 56,464" fill="none" stroke="black"/>
                  <path d="M 104,32 L 104,80" fill="none" stroke="black"/>
                  <path d="M 264,32 L 264,80" fill="none" stroke="black"/>
                  <path d="M 312,80 L 312,464" fill="none" stroke="black"/>
                  <path d="M 360,32 L 360,80" fill="none" stroke="black"/>
                  <path d="M 560,224 L 560,368" fill="none" stroke="black"/>
                  <path d="M 8,32 L 104,32" fill="none" stroke="black"/>
                  <path d="M 264,32 L 360,32" fill="none" stroke="black"/>
                  <path d="M 8,80 L 104,80" fill="none" stroke="black"/>
                  <path d="M 264,80 L 360,80" fill="none" stroke="black"/>
                  <path d="M 64,176 L 304,176" fill="none" stroke="black"/>
                  <path d="M 56,224 L 304,224" fill="none" stroke="black"/>
                  <path d="M 312,272 L 552,272" fill="none" stroke="black"/>
                  <path d="M 320,352 L 552,352" fill="none" stroke="black"/>
                  <path d="M 64,416 L 304,416" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="560,352 548,346.4 548,357.6" fill="black" transform="rotate(0,552,352)"/>
                  <polygon class="arrowhead" points="560,272 548,266.4 548,277.6" fill="black" transform="rotate(0,552,272)"/>
                  <polygon class="arrowhead" points="328,352 316,346.4 316,357.6" fill="black" transform="rotate(180,320,352)"/>
                  <polygon class="arrowhead" points="312,224 300,218.4 300,229.6" fill="black" transform="rotate(0,304,224)"/>
                  <polygon class="arrowhead" points="72,416 60,410.4 60,421.6" fill="black" transform="rotate(180,64,416)"/>
                  <polygon class="arrowhead" points="72,176 60,170.4 60,181.6" fill="black" transform="rotate(180,64,176)"/>
                  <g class="text">
                    <text x="56" y="52">U</text>
                    <text x="312" y="52">V</text>
                    <text x="56" y="68">Initiator</text>
                    <text x="312" y="68">Responder</text>
                    <text x="144" y="116">Trigger</text>
                    <text x="208" y="116">Message</text>
                    <text x="64" y="132">-</text>
                    <text x="80" y="132">-</text>
                    <text x="96" y="132">-</text>
                    <text x="112" y="132">-</text>
                    <text x="128" y="132">-</text>
                    <text x="144" y="132">-</text>
                    <text x="160" y="132">-</text>
                    <text x="176" y="132">-</text>
                    <text x="192" y="132">-</text>
                    <text x="208" y="132">-</text>
                    <text x="224" y="132">-</text>
                    <text x="240" y="132">-</text>
                    <text x="256" y="132">-</text>
                    <text x="272" y="132">-</text>
                    <text x="288" y="132">-</text>
                    <text x="304" y="132">&gt;</text>
                    <text x="136" y="164">EDHOC</text>
                    <text x="200" y="164">message_1</text>
                    <text x="136" y="212">EDHOC</text>
                    <text x="200" y="212">message_2</text>
                    <text x="560" y="212">W</text>
                    <text x="88" y="244">EAD_2</text>
                    <text x="120" y="244">=</text>
                    <text x="160" y="244">(-TBD1,</text>
                    <text x="248" y="244">Voucher_info)</text>
                    <text x="436" y="260">VREQ</text>
                    <text x="388" y="292">(SS,</text>
                    <text x="436" y="292">EK_CT,</text>
                    <text x="488" y="292">H_21,</text>
                    <text x="388" y="308">ID_CRED_I,</text>
                    <text x="488" y="308">Fetch_CRED_U)</text>
                    <text x="436" y="340">VRES</text>
                    <text x="404" y="372">(?Voucher,</text>
                    <text x="484" y="372">?CRED_U)</text>
                    <text x="120" y="404">EDHOC</text>
                    <text x="184" y="404">message_3</text>
                    <text x="108" y="436">?EAD_3</text>
                    <text x="144" y="436">=</text>
                    <text x="184" y="436">(-TBD2,</text>
                    <text x="252" y="436">Voucher)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-----+-----+                   +-----------+
|     U     |                   |     V     |
| Initiator |                   | Responder |
+-----+-----+                   +-----+-----+
      |                               |
      |       Trigger Message         |
      +- - - - - - - - - - - - - - - >|
      |                               |
      |       EDHOC message_1         |
      +<------------------------------|
      |                               |
      |       EDHOC message_2         |                              W
      +------------------------------>|                              |
      | EAD_2 = (-TBD1, Voucher_info) |                              |
      |                               |             VREQ             |
      |                               +----------------------------->|
      |                               |       (SS, EK_CT, H_21,      |
      |                               |    ID_CRED_I, Fetch_CRED_U)  |
      |                               |                              |
      |                               |             VRES             |
      |                               +<---------------------------->|
      |                               |      (?Voucher, ?CRED_U)     |
      |                               |
      |     EDHOC message_3           |
      +<------------------------------|
      |   ?EAD_3 = (-TBD2, Voucher)   |
      |                               |
      |                               |
]]></artwork>
            </artset>
          </figure>
          <t>The following sections detail how the processing of ELA reverse flow changes in each of the three security sessions (U-W, U-V, V-W), when compared to the baseline ELA regular flow described in sections <xref target="protocol-overview"/> to <xref target="err-handling"/>.</t>
          <section anchor="reverse-u-w">
            <name>Reverse U &lt;-&gt; W</name>
            <t>The protocol between U and W is carried between U and V in message_2 and message_3, and between V and W in the Voucher Request/Response (<xref target="V-W"/>).</t>
            <t>Voucher Info:</t>
            <ul spacing="normal">
              <li>
                <t>Voucher_Info is carried in EAD_2.</t>
              </li>
              <li>
                <t>It uses a critical EAD item with ead_label = -TBD1 and ead_value = Voucher_Info.</t>
              </li>
            </ul>
            <t>Voucher:</t>
            <ul spacing="normal">
              <li>
                <t>The Voucher is carried in EAD_3.</t>
              </li>
              <li>
                <t>It uses a critical EAD item with ead_label = -TBD2 and ead_value = Voucher.</t>
              </li>
            </ul>
          </section>
          <section anchor="reverse-u-v">
            <name>Reverse U &lt;-&gt; V</name>
            <t>Message 1:</t>
            <ul spacing="normal">
              <li>
                <t>V composes message_1 and sends it to U.</t>
              </li>
              <li>
                <t>U processes message_1 and extracts SS.</t>
              </li>
            </ul>
            <t>Message 2:</t>
            <ul spacing="normal">
              <li>
                <t>U composes message_2 with a critical EAD item (-TBD1, Voucher_Info) included in EAD_2.</t>
              </li>
              <li>
                <t>U sends message_2 to V.</t>
              </li>
              <li>
                <t>V processes message_2 and the EAD item in EAD_2, extracting the Voucher_Info struct.</t>
              </li>
              <li>
                <t>V sends the voucher request to W.</t>
              </li>
            </ul>
            <t>Here, V can choose to validate CRED_U before or after making the voucher request, depending on application requirements and availability of CRED_U, as detailed in <xref target="U-V"/>.</t>
            <t>Message 3:</t>
            <ul spacing="normal">
              <li>
                <t>V receives the voucher response from W.</t>
              </li>
              <li>
                <t>V sends message_3 with critical EAD item (-TBD2, Voucher) included in EAD_3.</t>
              </li>
              <li>
                <t>U processes message_3 and the EAD item in EAD_3.</t>
              </li>
            </ul>
            <t>The ELA reverse flow does not require sending a final EDHOC message_4.</t>
          </section>
          <section anchor="reverse-v-w">
            <name>Reverse V &lt;-&gt; W</name>
            <t>Processing in V:</t>
            <ul spacing="normal">
              <li>
                <t>The Voucher_Request fields are prepared as defined in <xref target="voucher_request"/>, with the following changes:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>EK_CT is as extracted from the EAD_2 field of message_2.</t>
                  </li>
                </ul>
              </li>
            </ul>
            <t>Processing in W happens as specified in <xref target="voucher_request"/>.</t>
          </section>
        </section>
        <section anchor="interoperability-considerations">
          <name>Interoperability considerations</name>
          <t>A Device (U) MUST implement one of the ELA flows, and it MAY choose to implement both.</t>
          <t>V MUST support the regular flow and MAY support the reverse flow.</t>
          <t>From the point of view of W, there is no difference whether U and V run as EDHOC Initiator or Responder.</t>
        </section>
        <section anchor="security-implications">
          <name>Security implications</name>
          <t>In the reverse flow, Voucher_Info is confidentiality and integrity protected, while Voucher is also authenticated.
These properties are inherited from EDHOC message_2 and message_3.
In contrast, the ELA regular flow provides confidentiality, integrity protection, and authentication to both Voucher_Info and Voucher, as inherited from EDHOC message_3 and message_4.</t>
        </section>
      </section>
    </section>
    <section anchor="rest_interface">
      <name>REST Interface at W</name>
      <t>The interaction between V and W is enabled through a RESTful interface exposed by W.
This RESTful interface MAY be implemented using either HTTP or CoAP.
V SHOULD access the resources exposed by W through the protocol indicated by the scheme in the LOC_W URI.</t>
      <section anchor="scheme-https">
        <name>Scheme "https"</name>
        <t>In case the scheme indicates "https", V MUST perform a TLS handshake with W and access the resources defined in <xref target="uris"/> using HTTP.
If the authentication credential CRED_V can be used in a TLS handshake, e.g., an X.509 certificate of a signature public key, then V SHOULD use it to authenticate to W as a client.
If the authentication credential CRED_V cannot be used in a TLS handshake, e.g., if the public key is a static key, then V SHOULD first perform a TLS handshake with W using available compatible keys.
V MUST then perform an EDHOC session over the TLS connection proving to W the possession of the private key corresponding to CRED_V.
Performing the EDHOC session is only necessary if V did not authenticate with CRED_V in the TLS handshake with W.</t>
        <t>The relationship between V and W is long-lived.  HTTP/1.1 and higher support persistent connections, and SHOULD be used in order to reduce overhead if a flood of new devices need to be onboarded.  Support for TLS session resumptions tickets <xref section="2.2" sectionFormat="comma" target="RFC8446"/> is appropriate for longer term associations.
While a policy for renewal of the TLS connection should be applied, it is out of scope of this document.</t>
      </section>
      <section anchor="scheme-coaps">
        <name>Scheme "coaps"</name>
        <t>In case the scheme indicates "coaps", V SHOULD perform a DTLS handshake with W and access the resources defined in <xref target="uris"/> using CoAP.
The normative requirements in <xref target="scheme-https"/> on performing the DTLS handshake and EDHOC session remain the same, except that TLS is replaced with DTLS.
As in <xref target="scheme-https"/>, it is RECOMMENDED to allow reuse of the DTLS session.</t>
      </section>
      <section anchor="scheme-coap">
        <name>Scheme "coap"</name>
        <t>In case the scheme indicates "coap", V SHOULD perform an EDHOC session with W, as specified in <xref section="A" sectionFormat="of" target="RFC9528"/> and access the resources defined in <xref target="uris"/> using OSCORE <xref target="RFC8613"/> and CoAP.
The authentication credential in this EDHOC session MUST be CRED_V.
As in <xref target="scheme-https"/>, it is RECOMMENDED to allow reuse of the EDHOC session.</t>
      </section>
      <section anchor="uris">
        <name>URIs</name>
        <t>The URIs defined below are valid for both HTTP and CoAP.
W MUST support the use of the path-prefix "/.well-known/", as defined in <xref target="RFC8615"/>, and the registered name "lake-authz".
A valid URI in case of HTTP thus begins with</t>
        <ul spacing="normal">
          <li>
            <t>"https://www.example.com/.well-known/lake-authz"</t>
          </li>
        </ul>
        <t>In case of CoAP with DTLS:</t>
        <ul spacing="normal">
          <li>
            <t>"coaps://example.com/.well-known/lake-authz"</t>
          </li>
        </ul>
        <t>In case of EDHOC and OSCORE:</t>
        <ul spacing="normal">
          <li>
            <t>"coap://example.com/.well-known/lake-authz"</t>
          </li>
        </ul>
        <t>Each operation specified in the following is indicated by a path-suffix.</t>
        <section anchor="rest-voucher-request">
          <name>Voucher Request (/voucherrequest)</name>
          <t>To request a voucher, V MUST issue a request such that:</t>
          <ul spacing="normal">
            <li>
              <t>Method is POST</t>
            </li>
            <li>
              <t>Payload is the serialization of the Voucher Request object, as specified in <xref target="voucher_request"/>.</t>
            </li>
            <li>
              <t>Content-Format (Content-Type) is set to "application/lake-authz-voucherrequest+cbor"</t>
            </li>
          </ul>
          <t>In case of successful processing at W, W MUST issue a response such that:</t>
          <ul spacing="normal">
            <li>
              <t>Status code is 200 OK if using HTTP, or 2.04 Changed if using CoAP</t>
            </li>
            <li>
              <t>Payload is the serialized Voucher Response object, as specified in <xref target="voucher_response"/></t>
            </li>
            <li>
              <t>Content-Format (Content-Type) is set to "application/lake-authz-voucherresponse+cbor"</t>
            </li>
          </ul>
          <t>In case of error, two cases should be considered:</t>
          <ul spacing="normal">
            <li>
              <t>U cannot be identified: this happens either if W fails to process the Voucher Request, or if it succeeds but ID_CRED_I is considered unknown to W. In this case, W MUST reply with 400 Bad Request if using HTTP, or 4.00 if using CoAP.</t>
            </li>
            <li>
              <t>U is identified but unauthorized: this happens if W is able to process the Voucher Request, and W recognizes ID_CRED_I as a known device, but the access policies forbid enrollment. For example, the policy could enforce enrollment within a delimited time window, via a specific V, etc. In this case, W MUST reply with a 403 Forbidden code if using HTTP, or 4.03 if using CoAP; the payload is the serialized error_content object, with Content-Format (Content-Type) set to "application/lake-authz-vouchererror+cbor". The payload MAY be used by V to prepare an EDHOC error "Access Denied", see <xref target="err-handling"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="certificate-request-certrequest">
          <name>Certificate Request (/certrequest)</name>
          <t>V requests the public key certificate of U from W through the "/certrequest" path-suffix.
To request U's authentication credential, V MUST issue a request such that:</t>
          <ul spacing="normal">
            <li>
              <t>Method is POST</t>
            </li>
            <li>
              <t>Payload is the serialization of the ID_CRED_I object, as received in EDHOC message_3.</t>
            </li>
            <li>
              <t>Content-Format (Content-Type) is set to "application/lake-authz-certrequest+cbor"</t>
            </li>
          </ul>
          <t>In case of a successful lookup of the authentication credential at W, W MUST issue a response such that:</t>
          <ul spacing="normal">
            <li>
              <t>Status code is 200 OK if using HTTP, or 2.04 Changed if using CoAP</t>
            </li>
            <li>
              <t>Payload is the serialized CRED_U</t>
            </li>
            <li>
              <t>Content-Format (Content-Type) is set to "application/lake-authz-certresponse+cbor"</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="sec-cons">
      <name>Security Considerations</name>
      <t>This specification builds on and reuses many of the security constructions of EDHOC, e.g., shared secret calculation and key derivation.
The security considerations of EDHOC <xref target="RFC9528"/> apply with modifications discussed here.
These considerations apply to the ELA regular flow.
For considerations about the ELA reverse flow, see <xref target="reverse-u-responder"/>.</t>
      <t>The Voucher_Info and Voucher structs are sent over authenticated channels that are confidentiality and integrity protected between U and V, i.e., in EDHOC fields EAD_3 and EAD_4.
While ELA reuses several components of EDHOC, it does not reuse keys from EDHOC (such as the ephemeral key G_X) to protect fields Voucher_Info and Voucher.</t>
      <t>ELA is compatible with the currently standardized Diffie-Hellman shared secret derivation of EDHOC.
Considering cryptographic recommendations by government agencies and the industry, ELA is also compatible with post-quantum cryptography primitives for deriving a shared secret, namely via the EK_CT field which can contain a KEM ciphertext according to the selected cipher suite.
Post-quantum cipher suites that could be used in EDHOC are currently under standardization in COSE <xref target="I-D.ietf-jose-pqc-kem"/>.</t>
      <t>EDHOC provides identity protection of the Initiator, here the device.
In ELA, the device U will share its identity with an authenticated V, albeit before knowing (via the Voucher received from W) whether U is authorized to interact with W.</t>
      <t>W may be used for lookup of CRED_U from ID_CRED_I, or this credential lookup function may be separate from the authorization function of W, see <xref target="U-V"/>.
The trust model used here is that U reveals its identity to any V, before knowing if the ELA authorization flow will be successfully completed.
In onboarding use cases, U MAY choose to use an onboarding-only identity, whereas future operational communications can use a different identity under the already established secure channel.</t>
      <t>In the ELA regular flow, EDHOC message_4 is mandatory since it carries the Voucher.
Implementations MUST NOT omit message_4 when ELA is in use.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-ead">
        <name>EDHOC External Authorization Data Registry</name>
        <t>IANA has registered the following entries in the "EDHOC External Authorization Data" registry under the group name "Ephemeral Diffie-
   Hellman Over COSE (EDHOC)".</t>
        <table anchor="ead-table">
          <name>Addition to the EDHOC EAD registry</name>
          <thead>
            <tr>
              <th align="right">Label</th>
              <th align="left">Value Type</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBD1</td>
              <td align="left">bstr</td>
              <td align="left">Voucher_Info structure, prepared by the Device (U).</td>
            </tr>
            <tr>
              <td align="right">TBD2</td>
              <td align="left">bstr</td>
              <td align="left">Voucher structure, prepared by the Enrollment Server (W).</td>
            </tr>
          </tbody>
        </table>
        <t>The ead_label = TBD1 corresponds to the ead_value = Voucher_Info, which can be carried in either EAD_2 or EAD_3, depending on whether U acts as EDHOC Initiator or Responder, see <xref target="reverse-u-responder"/>.</t>
        <t>The ead_label = TBD2 corresponds to ead_value = Voucher, and can be carried in either EAD_3 or EAD_4, see <xref target="reverse-u-responder"/>.</t>
        <t>Note for IANA reviewers: the preferred value range is 0-23 (Standards Action with Expert Review).</t>
      </section>
      <section anchor="the-well-known-uri-registry">
        <name>The Well-Known URI Registry</name>
        <t>IANA has registered the following entry in "The Well-Known URI Registry", using the template from <xref target="RFC8615"/>:</t>
        <ul spacing="normal">
          <li>
            <t>URI suffix: lake-authz</t>
          </li>
          <li>
            <t>Change controller: IETF</t>
          </li>
          <li>
            <t>Specification document: [[this document]]</t>
          </li>
          <li>
            <t>Status: permanent</t>
          </li>
          <li>
            <t>Related information: None</t>
          </li>
        </ul>
      </section>
      <section anchor="well-known-name-under-arpa-name-space">
        <name>Well-Known Name Under ".arpa" Name Space</name>
        <t>This document allocates a well-known name under the .arpa name space according to the rules given in <xref target="RFC3172"/> and <xref target="RFC6761"/>.
The name "lake-authz.arpa" is requested.
No subdomains are expected, and addition of any such subdomains requires the publication of an IETF Standards Track RFC.
No A, AAAA, or PTR record is requested.</t>
        <section anchor="domain-name-reservation-considerations">
          <name>Domain Name Reservation Considerations</name>
          <t>As required by <xref target="RFC6761"/>, the following considerations apply to the reservation of "lake-authz.arpa":</t>
          <ol spacing="normal" type="1"><li>
              <t>Users:
Are human users expected to recognize these names as special and use them differently? In what way?</t>
            </li>
          </ol>
          <t>No. This name is not intended for direct use or recognition by human users.</t>
          <ol spacing="normal" type="1"><li>
              <t>Application Software:
Are writers of application software expected to make their software recognize these names as special and treat them differently? In what way? (For example, if a human user enters such a name, should the application software reject it with an error message?)</t>
            </li>
          </ol>
          <t>Yes. Applications that implement ELA and use CoAP may include "lake-authz.arpa" in the URI-Host option when the Device (U) does not yet know the address or identity of the Authenticator (V), such as during zero-touch enrollment.</t>
          <ol spacing="normal" type="1"><li>
              <t>Name Resolution APIs and Libraries:
Are writers of name resolution APIs and libraries expected to make their software recognize these names as special and treat them differently? If so, how?</t>
            </li>
          </ol>
          <t>No.</t>
          <ol spacing="normal" type="1"><li>
              <t>Caching DNS Servers:
Are developers of caching domain name servers expected to make their implementations recognize these names as special and treat them differently? If so, how?</t>
            </li>
          </ol>
          <t>No.</t>
          <ol spacing="normal" type="1"><li>
              <t>Authoritative DNS Servers:
Are developers of authoritative domain name servers expected to make their implementations recognize these names as special and treat them differently? If so, how?</t>
            </li>
          </ol>
          <t>No.</t>
          <ol spacing="normal" type="1"><li>
              <t>DNS Server Operators:
Does this reserved Special-Use Domain Name have any potential impact on DNS server operators? If they try to configure their authoritative DNS server as authoritative for this reserved name, will compliant name server software reject it as invalid? Do DNS server operators need to know about that and understand why? Even if the name server software doesn't prevent them from using this reserved name, are there other ways that it may not work as expected, of which the DNS server operator should be aware?</t>
            </li>
          </ol>
          <t>No.</t>
          <ol spacing="normal" type="1"><li>
              <t>DNS Registries/Registrars:
How should DNS Registries/Registrars treat requests to register this reserved domain name? Should such requests be denied? Should such requests be allowed, but only to a specially designated entity? (For example, the name "www.example.org" is reserved for documentation examples and is not available for registration; however, the name is in fact registered; and there is even a website at that name, which states circularly that the name is reserved for use in documentation and cannot be registered!)</t>
            </li>
          </ol>
          <t>Any requests to register this domain name should be denied.</t>
        </section>
      </section>
      <section anchor="media-types-registry">
        <name>Media Types Registry</name>
        <t>IANA has added the media types "application/lake-authz-voucherrequest+cbor" to the "Media Types" registry.</t>
        <section anchor="applicationlake-authz-voucherrequestcbor-media-type-registration">
          <name>application/lake-authz-voucherrequest+cbor Media Type Registration</name>
          <ul spacing="normal">
            <li>
              <t>Type name: application</t>
            </li>
            <li>
              <t>Subtype name: lake-authz-voucherrequest+cbor</t>
            </li>
            <li>
              <t>Required parameters: N/A</t>
            </li>
            <li>
              <t>Optional parameters: N/A</t>
            </li>
            <li>
              <t>Encoding considerations: binary (CBOR)</t>
            </li>
            <li>
              <t>Security considerations: See <xref target="sec-cons"/> of this document.</t>
            </li>
            <li>
              <t>Interoperability considerations: N/A</t>
            </li>
            <li>
              <t>Published specification: [[this document]] (this document)</t>
            </li>
            <li>
              <t>Application that use this media type: To be identified</t>
            </li>
            <li>
              <t>Fragment identifier considerations: N/A</t>
            </li>
            <li>
              <t>Additional information:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Magic number(s): N/A</t>
                </li>
                <li>
                  <t>File extension(s): N/A</t>
                </li>
                <li>
                  <t>Macintosh file type code(s): N/A</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Person &amp; email address to contact for further information: IETF LAKE Working Group (lake@ietf.org)</t>
            </li>
            <li>
              <t>Intended usage: COMMON</t>
            </li>
            <li>
              <t>Restrictions on usage: N/A</t>
            </li>
            <li>
              <t>Author: LAKE WG</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="coap-content-formats-registry">
        <name>CoAP Content-Formats Registry</name>
        <t>IANA has added the following Content-Format number in the "CoAP Content-Formats" registry under the registry group "Constrained RESTful Environments (CoRE) Parameters".</t>
        <table anchor="coap-content-formats">
          <name>Addition to the CoAP Content-Formats registry</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Encoding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/lake-authz-voucherrequest+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD3</td>
              <td align="left">[[this document]]</td>
            </tr>
          </tbody>
        </table>
        <t>Note for IANA reviewers: the preferred value range is 0-255 (Expert Review).</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8366" target="https://www.rfc-editor.org/info/rfc8366" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8366.xml">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer. This artifact is known as a "voucher".</t>
              <t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure. Other YANG-derived formats are possible. The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t>
              <t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8366"/>
          <seriesInfo name="DOI" value="10.17487/RFC8366"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml">
          <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="RFC8949" target="https://www.rfc-editor.org/info/rfc8949" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml">
          <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" target="https://www.rfc-editor.org/info/rfc9052" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9052.xml">
          <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="RFC8613" target="https://www.rfc-editor.org/info/rfc8613" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9528" target="https://www.rfc-editor.org/info/rfc9528" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9528.xml">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="NIST-800-56A" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography - NIST Special Publication 800-56A, Revision 3</title>
            <author initials="E." surname="Barker" fullname="Elaine Barker">
              <organization/>
            </author>
            <author initials="L." surname="Chen" fullname="Lily Chen">
              <organization/>
            </author>
            <author initials="A." surname="Roginsky" fullname="Allen Roginsky">
              <organization/>
            </author>
            <author initials="A." surname="Vassilev" fullname="Apostol Vassilev">
              <organization/>
            </author>
            <author initials="R." surname="Davis" fullname="Richard Davis">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
        <reference anchor="NIST-800-227" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-227.pdf">
          <front>
            <title>Recommendations for Key-Encapsulation Mechanisms - NIST Special Publication 800-227</title>
            <author initials="G." surname="Alagic" fullname="Gorjan Alagic">
              <organization/>
            </author>
            <author initials="E." surname="Barker" fullname="Elaine Barker">
              <organization/>
            </author>
            <author initials="L." surname="Chen" fullname="Lily Chen">
              <organization/>
            </author>
            <author initials="D." surname="Moody" fullname="Dustin Moody">
              <organization/>
            </author>
            <author initials="A." surname="Robinson" fullname="Angela Robinson">
              <organization/>
            </author>
            <author initials="H." surname="Silberg" fullname="Hamilton Silberg">
              <organization/>
            </author>
            <author initials="N." surname="Waller" fullname="Noah Waller">
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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="RFC3172" target="https://www.rfc-editor.org/info/rfc3172" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3172.xml">
          <front>
            <title>Management Guidelines &amp; Operational Requirements for the Address and Routing Parameter Area Domain ("arpa")</title>
            <author fullname="G. Huston" initials="G." role="editor" surname="Huston"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo describes the management and operational requirements for the address and routing parameter area ("arpa") domain. 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="52"/>
          <seriesInfo name="RFC" value="3172"/>
          <seriesInfo name="DOI" value="10.17487/RFC3172"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
          <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="RFC6761" target="https://www.rfc-editor.org/info/rfc6761" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6761.xml">
          <front>
            <title>Special-Use Domain Names</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes what it means to say that a Domain Name (DNS name) is reserved for special use, when reserving such a name is appropriate, and the procedure for doing so. It establishes an IANA registry for such domain names, and seeds it with entries for some of the already established special domain names.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6761"/>
          <seriesInfo name="DOI" value="10.17487/RFC6761"/>
        </reference>
        <reference anchor="RFC7228" target="https://www.rfc-editor.org/info/rfc7228" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7228.xml">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks. This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="RFC7593" target="https://www.rfc-editor.org/info/rfc7593" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7593.xml">
          <front>
            <title>The eduroam Architecture for Network Roaming</title>
            <author fullname="K. Wierenga" initials="K." surname="Wierenga"/>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="T. Wolniewicz" initials="T." surname="Wolniewicz"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This document describes the architecture of the eduroam service for federated (wireless) network access in academia. The combination of IEEE 802.1X, the Extensible Authentication Protocol (EAP), and RADIUS that is used in eduroam provides a secure, scalable, and deployable service for roaming network access. The successful deployment of eduroam over the last decade in the educational sector may serve as an example for other sectors, hence this document. In particular, the initial architectural choices and selection of standards are described, along with the changes that were prompted by operational experience.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7593"/>
          <seriesInfo name="DOI" value="10.17487/RFC7593"/>
        </reference>
        <reference anchor="RFC8137" target="https://www.rfc-editor.org/info/rfc8137" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8137.xml">
          <front>
            <title>IEEE 802.15.4 Information Element for the IETF</title>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <author fullname="P. Kinney" initials="P." surname="Kinney"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>IEEE Std 802.15.4 defines Information Elements (IEs) that can be used to extend 802.15.4 in an interoperable manner. The IEEE 802.15 Assigned Numbers Authority (ANA) manages the registry of the Information Elements. This document formulates a request for ANA to allocate a number from that registry for the IETF and describes how the IE is formatted to provide subtypes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8137"/>
          <seriesInfo name="DOI" value="10.17487/RFC8137"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8610" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
          <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="RFC8615" target="https://www.rfc-editor.org/info/rfc8615" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8615.xml">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8995.xml">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="RFC9031" target="https://www.rfc-editor.org/info/rfc9031" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9031.xml">
          <front>
            <title>Constrained Join Protocol (CoJP) for 6TiSCH</title>
            <author fullname="M. Vučinić" initials="M." role="editor" surname="Vučinić"/>
            <author fullname="J. Simon" initials="J." surname="Simon"/>
            <author fullname="K. Pister" initials="K." surname="Pister"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes the minimal framework required for a new device, called a "pledge", to securely join a 6TiSCH (IPv6 over the Time-Slotted Channel Hopping mode of IEEE 802.15.4) network. The framework requires that the pledge and the JRC (Join Registrar/Coordinator, a central entity), share a symmetric key. How this key is provisioned is out of scope of this document. Through a single CoAP (Constrained Application Protocol) request-response exchange secured by OSCORE (Object Security for Constrained RESTful Environments), the pledge requests admission into the network, and the JRC configures it with link-layer keying material and other parameters. The JRC may at any time update the parameters through another request-response exchange secured by OSCORE. This specification defines the Constrained Join Protocol and its CBOR (Concise Binary Object Representation) data structures, and it describes how to configure the rest of the 6TiSCH communication stack for this join process to occur in a secure manner. Additional security mechanisms may be added on top of this minimal framework.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9031"/>
          <seriesInfo name="DOI" value="10.17487/RFC9031"/>
        </reference>
        <reference anchor="I-D.ietf-jose-pqc-kem" target="https://datatracker.ietf.org/doc/html/draft-ietf-jose-pqc-kem-05" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-jose-pqc-kem.xml">
          <front>
            <title>Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for JOSE and COSE</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Aritra Banerjee" initials="A." surname="Banerjee">
              <organization>Nokia</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <date day="8" month="December" year="2025"/>
            <abstract>
              <t>This document describes the conventions for using Post-Quantum Key Encapsulation Mechanisms (PQ-KEMs) within JOSE and COSE. About This Document This note is to be removed before publishing as an RFC. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-jose-pqc/. Discussion of this document takes place on the jose Working Group mailing list (mailto:jose@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/cose/. Subscribe at https://www.ietf.org/mailman/listinfo/jose/.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-pqc-kem-05"/>
        </reference>
        <reference anchor="I-D.ietf-lake-reqs" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-reqs-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-reqs.xml">
          <front>
            <title>Requirements for a Lightweight AKE for OSCORE</title>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>Inria</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Dan Garcia-Carillo" initials="D." surname="Garcia-Carillo">
              <organization>Odin Solutions S.L.</organization>
            </author>
            <date day="8" month="June" year="2020"/>
            <abstract>
              <t>This document compiles the requirements for a lightweight authenticated key exchange protocol for OSCORE. This draft has completed a working group last call (WGLC) in the LAKE working group. Post-WGLC, the requirements are considered sufficiently stable for the working group to proceed with its work. It is not currently planned to publish this draft as an RFC.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-reqs-04"/>
        </reference>
        <reference anchor="I-D.ietf-lake-edhoc-impl-cons" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-edhoc-impl-cons-06" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-edhoc-impl-cons.xml">
          <front>
            <title>Implementation Considerations for Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Marco Tiloca"/>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>This document provides considerations for guiding the implementation
   of the authenticated key exchange protocol Ephemeral Diffie-Hellman
   Over COSE (EDHOC).</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-impl-cons-06"/>
        </reference>
        <reference anchor="I-D.ietf-lake-app-profiles" target="https://datatracker.ietf.org/doc/html/draft-ietf-lake-app-profiles-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-app-profiles.xml">
          <front>
            <title>Coordinating the Use of Application Profiles for Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Marco Tiloca"/>
            <author fullname="Rikard Höglund"/>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>The lightweight authenticated key exchange protocol Ephemeral Diffie-
   Hellman Over COSE (EDHOC) requires certain parameters to be agreed
   out-of-band, in order to ensure its successful completion.  To this
   end, application profiles specify the intended use of EDHOC to allow
   for the relevant processing and verifications to be made.  In order
   to ensure the applicability of such parameters and information beyond
   transport- or setup-specific scenarios, this document defines a
   canonical, CBOR-based representation that can be used to describe,
   distribute, and store EDHOC application profiles.  Furthermore, in
   order to facilitate interoperability between EDHOC implementations
   and support EDHOC extensibility for additional integrations, this
   document defines a number of means to coordinate the use of EDHOC
   application profiles.  Finally, this document defines a set of well-
   known EDHOC application profiles.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-app-profiles-04"/>
        </reference>
        <reference anchor="IEEE802.15.4">
          <front>
            <title>IEEE Std 802.15.4 Standard for Low-Rate Wireless Networks</title>
            <author initials="" surname="IEEE standard for Information Technology">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IEEE802.1X">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Port-Based Network Access Control</title>
            <author initials="" surname="IEEE standard for Information Technology">
              <organization/>
            </author>
            <date year="2010" month="February"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1084?>

<section anchor="optimization-strat">
      <name>Optimization Strategies</name>
      <t>When ELA is used for zero-touch enrollment of IoT devices, U may have little to no knowledge about V's available in its vicinity.
This may lead to situations where U retries several times at different V's until it finds one that works.
This section presents two optimization strategies and different approaches to implement it.
These strategies were developed to address scenarios where V's are radio gateways to which U wants to enroll, but may also be applicable to other use cases.</t>
      <section anchor="ela-profile">
        <name>Using EDHOC Application Profiles</name>
        <t>This section provides an example of how support for ELA can be advertised using EDHOC application profiles.</t>
        <t>Application Profiles for EDHOC <xref target="I-D.ietf-lake-app-profiles"/> defines mechanisms to describe and distribute parameters regarding the supported capabilities of EDHOC peers.
Specifically, <xref section="5" sectionFormat="of" target="I-D.ietf-lake-app-profiles"/> describes how EDHOC peers can advertise supported profiles by using fields EAD_1 and EAD_2 in EDHOC message_1 and message_2, respectively.</t>
        <t>Since the ELA regular flow uses message_3 and message_4, peers can advertise support for ELA, and refrain from attempting the protocol in case one does not support it.
In the case of the reverse flow, V can advertise a profile in message_1, while the protocol happens in message_2 and message_3.</t>
        <t>For example, to advertise support for ELA in the regular flow, U prepares EAD_1 containing an item where ead_label = TBD_EAD_LABEL and ead_value encodes a profile_id_with_eads, containing the following value:</t>
        <artwork><![CDATA[
<<
   true,                                   / reply_flag /
   [e'APP-PROF-MINIMAL-CS-2', TBD1, TBD2]  / profile_id_with_eads /
>>
]]></artwork>
        <t>Where:</t>
        <ul spacing="normal">
          <li>
            <t>true indicates that U expects an application profile response from V in EAD_2, see <xref section="5.1" sectionFormat="of" target="I-D.ietf-lake-app-profiles"/></t>
          </li>
          <li>
            <t>APP-PROF-MINIMAL-CS-2 corresponds to a well-known EDHOC application profile (Method 3; Cipher Suite 2; CCS; kid), see <xref section="8" sectionFormat="of" target="I-D.ietf-lake-app-profiles"/></t>
          </li>
          <li>
            <t>TBD1 and TBD2 correspond to the EAD labels registered in this document, see <xref target="iana"/></t>
          </li>
        </ul>
        <t>In the reply, V prepares EAD_2 containing an item where ead_label = TBD_EAD_LABEL and ead_value encodes a profile_id_with_eads, containing the following value:</t>
        <artwork><![CDATA[
<<
   [e'APP-PROF-EXTENSIVE', TBD1, TBD2]  / profile_id_with_eads /
>>
]]></artwork>
        <t>Where APP-PROF-EXTENSIVE corresponds to a well-known EDHOC application profile, see <xref section="8" sectionFormat="of" target="I-D.ietf-lake-app-profiles"/>.</t>
      </section>
      <section anchor="strat-advertise">
        <name>V advertises support for ELA</name>
        <t>In this strategy, V shares some information (V_INFO) with a potential U, that can help it decide whether to try to enroll with that V.</t>
        <t>The exact contents of the V_INFO structure, as well as the mechanism used to transport it, will depend on the underlying communication technology and also on application needs.
For example, V_INFO may state that:</t>
        <ul spacing="normal">
          <li>
            <t>V implements ELA -- similarly to how EAPOL <xref target="IEEE802.1X"/> frames state support for IEEE 802.1X.</t>
          </li>
          <li>
            <t>V is part of a certain domain -- similarly to how Eduroam <xref target="RFC7593"/> is used in the SSID field of IEEE 802.11 packets</t>
          </li>
        </ul>
        <t>V_INFO can be sent over a network beacon (see <xref target="adv-beacon"/>), which may require technology specific profiling, e.g., the IEEE 802.15.4 enhanced beacon may be extended according to <xref target="RFC8137"/>.
Alternatively, V_INFO can be sent as part of an EAD field, as shown in <xref target="adv-ead1"/>.</t>
        <t>As a guideline for implementers, we define the following field that can be included in a V_INFO structure:</t>
        <sourcecode type="cddl"><![CDATA[
DOMAIN_ID: bstr
]]></sourcecode>
        <t>The DOMAIN_ID field identifies the domain to which V belongs to, for example an URL or UUID.</t>
        <t>Below are three examples of how the advertisement strategy may be applied according to different application needs.
The examples include sending V_INFO in network beacons, as part of EAD_1 in reverse message flow, or as part of a periodic CoAP multicast packet.
The advantages, costs, and security impacts of each approach are also discussed.</t>
        <section anchor="adv-beacon">
          <name>V_INFO in network beacons</name>
          <t>This approach allows carrying V_INFO in beacons sent over the network layer, as shown in <xref target="fig-adv-beacon"/>.
It requires that the network layer offers a mechanism to configure its beacon packets.
Depending on the network type, a solicitation packet may also be needed, as is the case of non-beaconed IEEE 802.15.4 and BLE with GATT.</t>
          <figure anchor="fig-adv-beacon">
            <name>Advertising ELA using V_INFO in network-layer beacons.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="504" viewBox="0 0 504 432" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                  <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                  <path d="M 72,104 L 72,384" fill="none" stroke="black"/>
                  <path d="M 144,32 L 144,96" fill="none" stroke="black"/>
                  <path d="M 360,32 L 360,96" fill="none" stroke="black"/>
                  <path d="M 424,32 L 424,56" fill="none" stroke="black"/>
                  <path d="M 424,104 L 424,384" fill="none" stroke="black"/>
                  <path d="M 496,32 L 496,96" fill="none" stroke="black"/>
                  <path d="M 8,32 L 144,32" fill="none" stroke="black"/>
                  <path d="M 360,32 L 496,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 144,64" fill="none" stroke="black"/>
                  <path d="M 360,64 L 496,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 144,96" fill="none" stroke="black"/>
                  <path d="M 360,96 L 496,96" fill="none" stroke="black"/>
                  <path d="M 80,176 L 424,176" fill="none" stroke="black"/>
                  <path d="M 72,256 L 416,256" fill="none" stroke="black"/>
                  <path d="M 80,304 L 416,304" fill="none" stroke="black"/>
                  <path d="M 72,352 L 416,352" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="424,352 412,346.4 412,357.6" fill="black" transform="rotate(0,416,352)"/>
                  <polygon class="arrowhead" points="424,256 412,250.4 412,261.6" fill="black" transform="rotate(0,416,256)"/>
                  <polygon class="arrowhead" points="88,304 76,298.4 76,309.6" fill="black" transform="rotate(180,80,304)"/>
                  <polygon class="arrowhead" points="88,176 76,170.4 76,181.6" fill="black" transform="rotate(180,80,176)"/>
                  <g class="text">
                    <text x="36" y="52">Init</text>
                    <text x="108" y="52">Client</text>
                    <text x="388" y="52">Resp</text>
                    <text x="460" y="52">Server</text>
                    <text x="72" y="84">U</text>
                    <text x="424" y="84">V</text>
                    <text x="88" y="132">-</text>
                    <text x="104" y="132">-</text>
                    <text x="120" y="132">-</text>
                    <text x="136" y="132">-</text>
                    <text x="152" y="132">-</text>
                    <text x="168" y="132">-</text>
                    <text x="184" y="132">-</text>
                    <text x="200" y="132">-</text>
                    <text x="216" y="132">-</text>
                    <text x="232" y="132">-</text>
                    <text x="248" y="132">-</text>
                    <text x="264" y="132">-</text>
                    <text x="280" y="132">-</text>
                    <text x="296" y="132">-</text>
                    <text x="312" y="132">-</text>
                    <text x="328" y="132">-</text>
                    <text x="344" y="132">-</text>
                    <text x="360" y="132">-</text>
                    <text x="376" y="132">-</text>
                    <text x="392" y="132">-</text>
                    <text x="412" y="132">-&gt;</text>
                    <text x="156" y="148">Optional</text>
                    <text x="224" y="148">network</text>
                    <text x="308" y="148">solicitation</text>
                    <text x="120" y="196">Network</text>
                    <text x="208" y="196">advertisement</text>
                    <text x="304" y="196">(contains</text>
                    <text x="376" y="196">V_INFO)</text>
                    <text x="200" y="244">EDHOC</text>
                    <text x="264" y="244">message_1</text>
                    <text x="200" y="292">EDHOC</text>
                    <text x="264" y="292">message_2</text>
                    <text x="200" y="340">EDHOC</text>
                    <text x="264" y="340">message_3</text>
                    <text x="164" y="372">(EAD_3</text>
                    <text x="200" y="372">=</text>
                    <text x="264" y="372">Voucher_Info)</text>
                    <text x="96" y="420">(</text>
                    <text x="120" y="420">...</text>
                    <text x="172" y="420">protocol</text>
                    <text x="248" y="420">continues</text>
                    <text x="324" y="420">normally</text>
                    <text x="376" y="420">...</text>
                    <text x="400" y="420">)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-------+--------+                          +-------+--------+
| Init  | Client |                          | Resp  | Server |
+-------+--------+                          +----------------+
|       U        |                          |       V        |
+----------------+                          +----------------+
        |                                           |
        + - - - - - - - - - - - - - - - - - - - - ->|
        |      Optional network solicitation        |
        |                                           |
        |<------------------------------------------+
        |  Network advertisement (contains V_INFO)  |
        |                                           |
        |                                           |
        |             EDHOC message_1               |
        +------------------------------------------>|
        |                                           |
        |             EDHOC message_2               |
        +<------------------------------------------|
        |                                           |
        |             EDHOC message_3               |
        +------------------------------------------>|
        |        (EAD_3 = Voucher_Info)             |
        |                                           |

           ( ... protocol continues normally ... )
]]></artwork>
            </artset>
          </figure>
          <t>This strategy can be used, for example, in IEEE 802.15.4, where an Enhanced Beacon <xref target="IEEE802.15.4"/> can be used to transmit V_INFO.
Specifically, a new information element for carrying V_INFO can be defined according to <xref target="RFC8137"/>.</t>
          <t>This approach has the advantage of requiring minimal changes to the regular protocol as presented in <xref target="protocol-overview"/>, i.e., it does not require using the ELA reverse flow.
It requires, however, some profiling of the lower layer beacons.</t>
        </section>
        <section anchor="adv-ead1">
          <name>V_INFO in EAD_1</name>
          <t>The ELA reverse flow (see <xref target="reverse-u-responder"/>) allows implementing advertising where U first sends a trigger packet, in the format of a CoAP request that is broadcasted to the newtork.
When a suitable V receives the solicitation, if it implements ELA, it should respond with an EDHOC message_1 whose EAD_1 has label -TBD4 and value V_INFO (see <xref target="strat-advertise"/>).</t>
          <figure anchor="fig-adv-ead1">
            <name>Advertising ELA using V_INFO in EAD_1, employing the EDHOC reverse flow with U as responder.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="424" viewBox="0 0 424 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                  <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                  <path d="M 72,104 L 72,224" fill="none" stroke="black"/>
                  <path d="M 144,32 L 144,96" fill="none" stroke="black"/>
                  <path d="M 280,32 L 280,96" fill="none" stroke="black"/>
                  <path d="M 344,32 L 344,56" fill="none" stroke="black"/>
                  <path d="M 344,104 L 344,224" fill="none" stroke="black"/>
                  <path d="M 416,32 L 416,96" fill="none" stroke="black"/>
                  <path d="M 8,32 L 144,32" fill="none" stroke="black"/>
                  <path d="M 280,32 L 416,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 144,64" fill="none" stroke="black"/>
                  <path d="M 280,64 L 416,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 144,96" fill="none" stroke="black"/>
                  <path d="M 280,96 L 416,96" fill="none" stroke="black"/>
                  <path d="M 72,128 L 336,128" fill="none" stroke="black"/>
                  <path d="M 80,192 L 336,192" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="344,128 332,122.4 332,133.6" fill="black" transform="rotate(0,336,128)"/>
                  <polygon class="arrowhead" points="88,192 76,186.4 76,197.6" fill="black" transform="rotate(180,80,192)"/>
                  <g class="text">
                    <text x="36" y="52">Resp</text>
                    <text x="108" y="52">Client</text>
                    <text x="308" y="52">Init</text>
                    <text x="380" y="52">Server</text>
                    <text x="72" y="84">U</text>
                    <text x="344" y="84">V</text>
                    <text x="116" y="148">CoAP</text>
                    <text x="228" y="148">discovery/solicitation</text>
                    <text x="160" y="180">EDHOC</text>
                    <text x="224" y="180">message_1</text>
                    <text x="160" y="212">(?EAD_1</text>
                    <text x="200" y="212">=</text>
                    <text x="240" y="212">V_INFO)</text>
                    <text x="48" y="260">(</text>
                    <text x="72" y="260">...</text>
                    <text x="120" y="260">reverse</text>
                    <text x="172" y="260">flow</text>
                    <text x="232" y="260">continues</text>
                    <text x="308" y="260">normally</text>
                    <text x="360" y="260">...</text>
                    <text x="384" y="260">)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+-------+--------+                +-------+--------+
| Resp  | Client |                | Init  | Server |
+-------+--------+                +----------------+
|       U        |                |       V        |
+----------------+                +----------------+
        |                                 |
        +-------------------------------->|
        |   CoAP discovery/solicitation   |
        |                                 |
        |        EDHOC message_1          |
        +<--------------------------------|
        |       (?EAD_1 = V_INFO)         |
        |                                 |

     ( ... reverse flow continues normally ... )
]]></artwork>
            </artset>
          </figure>
          <t>Note that V will only reply if it supports ELA.
V_INFO can be structured to contain only an optional domain identifier:</t>
          <sourcecode type="cddl"><![CDATA[
V_INFO = (
  ?DOMAIN_ID: bstr,
)
]]></sourcecode>
          <t>This approach enables a simple filtering mechanism, where only V's that support ELA will reply.
In addition, it may not require layer-two profiling (in case the network allows transporting data before authorization).</t>
        </section>
        <section anchor="adv-coap-mult">
          <name>V_INFO in a CoAP Multicast Packet</name>
          <t>In this approach, V periodically multicasts a CoAP packet containing V_INFO, see <xref target="fig-adv-coap-mult"/>.
Upon receiving one or more CoAP messages and processing V_INFO, U can decide whether or not to initiate the ELA protocol with a given V.
Next, the application can either keep U acting as a server, and thus employ the EDHOC reverse flow, or implement a CoAP client and use the forward flow.</t>
          <figure anchor="fig-adv-coap-mult">
            <name>Advertising ELA using the network layer.</name>
            <artset>
              <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="520" viewBox="0 0 520 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                  <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
                  <path d="M 80,104 L 80,336" fill="none" stroke="black"/>
                  <path d="M 160,32 L 160,96" fill="none" stroke="black"/>
                  <path d="M 360,32 L 360,96" fill="none" stroke="black"/>
                  <path d="M 432,32 L 432,56" fill="none" stroke="black"/>
                  <path d="M 432,104 L 432,336" fill="none" stroke="black"/>
                  <path d="M 512,32 L 512,96" fill="none" stroke="black"/>
                  <path d="M 8,32 L 160,32" fill="none" stroke="black"/>
                  <path d="M 360,32 L 512,32" fill="none" stroke="black"/>
                  <path d="M 8,64 L 160,64" fill="none" stroke="black"/>
                  <path d="M 360,64 L 512,64" fill="none" stroke="black"/>
                  <path d="M 8,96 L 160,96" fill="none" stroke="black"/>
                  <path d="M 360,96 L 512,96" fill="none" stroke="black"/>
                  <path d="M 88,144 L 432,144" fill="none" stroke="black"/>
                  <path d="M 80,208 L 424,208" fill="none" stroke="black"/>
                  <path d="M 88,256 L 424,256" fill="none" stroke="black"/>
                  <path d="M 80,304 L 424,304" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="432,304 420,298.4 420,309.6" fill="black" transform="rotate(0,424,304)"/>
                  <polygon class="arrowhead" points="432,208 420,202.4 420,213.6" fill="black" transform="rotate(0,424,208)"/>
                  <polygon class="arrowhead" points="96,256 84,250.4 84,261.6" fill="black" transform="rotate(180,88,256)"/>
                  <polygon class="arrowhead" points="96,144 84,138.4 84,149.6" fill="black" transform="rotate(180,88,144)"/>
                  <g class="text">
                    <text x="44" y="52">Init</text>
                    <text x="120" y="52">Cli/Ser</text>
                    <text x="396" y="52">Resp</text>
                    <text x="472" y="52">Cli/Ser</text>
                    <text x="80" y="84">U</text>
                    <text x="432" y="84">V</text>
                    <text x="180" y="132">POST</text>
                    <text x="276" y="132">/ela-advertisement</text>
                    <text x="140" y="164">CoAP</text>
                    <text x="200" y="164">multicast</text>
                    <text x="280" y="164">(contains</text>
                    <text x="352" y="164">V_INFO)</text>
                    <text x="208" y="196">EDHOC</text>
                    <text x="272" y="196">message_1</text>
                    <text x="208" y="244">EDHOC</text>
                    <text x="272" y="244">message_2</text>
                    <text x="208" y="292">EDHOC</text>
                    <text x="272" y="292">message_3</text>
                    <text x="172" y="324">(EAD_3</text>
                    <text x="208" y="324">=</text>
                    <text x="272" y="324">Voucher_Info)</text>
                    <text x="104" y="372">(</text>
                    <text x="128" y="372">...</text>
                    <text x="180" y="372">protocol</text>
                    <text x="256" y="372">continues</text>
                    <text x="332" y="372">normally</text>
                    <text x="384" y="372">...</text>
                    <text x="408" y="372">)</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art" align="center"><![CDATA[
+--------+---------+                        +--------+---------+
|  Init  | Cli/Ser |                        |  Resp  | Cli/Ser |
+--------+---------+                        +------------------+
|        U         |                        |        V         |
+------------------+                        +------------------+
         |                                           |
         |          POST /ela-advertisement          |
         |<------------------------------------------+
         |     CoAP multicast (contains V_INFO)      |
         |                                           |
         |             EDHOC message_1               |
         +------------------------------------------>|
         |                                           |
         |             EDHOC message_2               |
         +<------------------------------------------|
         |                                           |
         |             EDHOC message_3               |
         +------------------------------------------>|
         |        (EAD_3 = Voucher_Info)             |
         |                                           |

            ( ... protocol continues normally ... )

]]></artwork>
            </artset>
          </figure>
          <t>The V_INFO structure is sent as part of the CoAP payload.
It is encoded as a CBOR sequence:</t>
          <sourcecode type="cddl"><![CDATA[
V_INFO = (
  ?DOMAIN_ID: bstr,
)
]]></sourcecode>
          <t>In this approach, the periodic multicast may have resource usage impacts in the network.</t>
        </section>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples of protocol execution</name>
      <t>This section presents high level examples of the protocol execution.</t>
      <t>Note: the examples below include samples of access policies used by W. These are provided for the sake of completeness only, since the authorization mechanism used by W is out of scope in this document.</t>
      <section anchor="example_minimal">
        <name>Minimal</name>
        <t>This is a simple example that demonstrates a successful execution of ELA.</t>
        <t>Premises:</t>
        <ul spacing="normal">
          <li>
            <t>device u1 has identity ID_CRED_I = key id = 14</t>
          </li>
          <li>
            <t>the access policy in W specifies, via a list of identities, that device u1 can enroll via any domain authenticator, i.e., the list contains ID_CRED_I = 14.
In this case, the policy only specifies a restriction in terms of U, effectively allowing enrollment via any V.</t>
          </li>
        </ul>
        <t>Execution:</t>
        <ol spacing="normal" type="1"><li>
            <t>device u1 discovers a gateway (v1) and tries to enroll</t>
          </li>
          <li>
            <t>gateway v1 identifies the zero-touch join attempt by checking that the label of the EAD item in EAD_3 is -TBD1, and prepares a Voucher Request using the information contained in the value of the EAD item</t>
          </li>
          <li>
            <t>upon receiving the request, W obtains ID_CRED_I = 14, authorizes the access, and replies with Voucher Response</t>
          </li>
        </ol>
      </section>
      <section anchor="example_wrong_gateway">
        <name>Wrong gateway</name>
        <t>In this example, a device u1 tries to enroll a domain via gateway v1, but W denies the request because the pairing (u1, v1) is not configured in its access policies.</t>
        <t>This example also illustrates how the REJECT_INFO field of the EDHOC error Access Denied could be used, in this case to suggest that the device should select another gateway for the join procedure.</t>
        <t>Premises:</t>
        <ul spacing="normal">
          <li>
            <t>devices and gateways communicate via Bluetooth Low Energy (BLE), therefore their network identifiers are MAC addresses (EUI-48)</t>
          </li>
          <li>
            <t>device u1 has ID_CRED_I = key id = 14</t>
          </li>
          <li>
            <t>there are 3 gateways in the radio range of u1:
            </t>
            <ul spacing="normal">
              <li>
                <t>v1 with MAC address = A2-A1-88-EE-97-75</t>
              </li>
              <li>
                <t>v2 with MAC address = 28-0F-70-84-51-E4</t>
              </li>
              <li>
                <t>v3 with MAC address = 39-63-C9-D0-5C-62</t>
              </li>
            </ul>
          </li>
          <li>
            <t>the access policy in W specifies, via a mapping of shape (ID_CRED_I; MAC1, MAC2, ...) that device u1 can only join via gateway v3, i.e., the mapping is: (14; 39-63-C9-D0-5C-62)</t>
          </li>
          <li>
            <t>W is able to map the PoP key of the gateways to their respective MAC addresses</t>
          </li>
        </ul>
        <t>Execution:</t>
        <ol spacing="normal" type="1"><li>
            <t>device u1 tries to join via gateway v1, which forwards the request to W</t>
          </li>
          <li>
            <t>W determines that MAC address A2-A1-88-EE-97-75 is not in the access policy mapping, and replies with an error. The error_content has REJECT_TYPE = 1, and the plaintext OPAQUE_INFO (used to compute the encrypted REJECT_INFO) specifies a list of suggested gateways = [h'3963C9D05C62']. The single element in the list is the 6-byte MAC address of v3, serialized as a bstr.</t>
          </li>
          <li>
            <t>gateway v1 assembles an EDHOC error "Access Denied" with error_content, and sends it to u1</t>
          </li>
          <li>
            <t>device u1 processes the error, decrypts REJECT_INFO, and retries the protocol via gateway v3</t>
          </li>
        </ol>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors sincerely thank <contact fullname="Aurelio Schellenbaum"/> for his contribution in the initial phase of this work, and Marco Tiloca for extensively reviewing the document.
We also thank Christian Amsüss for his active participation in discussions that led to improvements in the document.</t>
      <t>Work on this document has in part been supported by the Horizon Europe Framework Programme project OpenSwarm (grant agreement No. 101093046).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+192XIb2ZXgO74ih4oYkVUAxE0by6oyREIlthbSBBc7yg5G
EkgCaQFIODNBipY00W/zNO8zTxPzE/M0b93zI/0lc9a7ZQIkVXLbEdO0Q0UC
mfeee++5Z19arVajTMtxshO9TYej8jrBf6POvBxlefrXuEyzaTQv0ukw6s5G
ySTJ43G0l15epknrdTIeT+JpdHCV5NHuQa8brXbfdtYag6w/jScw4iCPL8tW
mpSXrXH8IWnFMOpfW+tPG/HFRZ5c7UTweCOd5TtRmc+LcnN9/fn6ZqMflztR
UQ4axfxikhYFQFDezGC4/e7xq0acJ/FO1Ev68zwtbxrXWf5hmGfzGcDfedON
zuBvBPZn/KzxIbmBBwbw6rRM8mlStvYQpEY/G8BDO9EcIHvWmKU70YOoH+NC
kyjO8/gmWk0vo3g8jm6SYi3K8mgUF6NolORJI4rKrL+DX8CvRZaXeXJZmL9v
Ju6f8OQgmZWjnWiz0YhpT3carYh35+d/+d85zNlLxvF0kOT49jznr5zPshzg
7OZpvyjgJDov4aN+Np+W+Q08dp0Mkil8kkzidLwTDTMYsF3Iy79N5K12P5uY
Wf8pG02jwzyZ/8v/jN7FZYkPwAjpNC3TeAyQ/5MLSPXB+8DzZ5irPZF368F5
F4/T//u/4uh0/q//DWD41//qzu5+SPPuvz/a77gzvoIF9xM74wSGK+L21bwP
7/V/m07zNG5f5nbPk+wqnibRq2SQJ/1RUnxI3Qn9j+825ZCHbF/ad6vzvkv7
ozgZR0f433zAW2mm9T6lWXt4gnS5etlleQ1IT5hduIDsxtN4EDtr7+ff4137
baEvt/txo9GYZjmcQXqV7DTg4aNXu8+2njzZ0V+fb+qvz7efy6/P1x+bT59s
bOmnjzef4a/v93vHrWfr663HTzr4dxQpZkf005L/IlIBPnXb0cs4/0DIzD+8
6O44TuEkvO+CV9+2o90RIZT74tt0fON+HrzUaUdH2RB+/XATvNgZj5Np+GX1
7dMYaM44uQrfnmVFmY3Dr4P3j9rRXnyVFsHLcsLOd0J0jxK4DZNkOmBKewmk
5jBO89ZZCqToTXLT6hZlfAFIPYKHyqjXRxpcRCdEkffSop8nZRK9zYYxkMPR
JNrNb2ZlNszj2egmatFZRb1Z0oe7HR3OYaA+TyTn1wQAACL8ZIvAAjgAqs31
jWet9W0GNM6HCVDkUVnOip1Hj6ZX49n8omhP06JsD7OrR/gLfvJI5nGmKR4h
AO3eYVvmy7fas8Gli0Sbm0/vgEQ/t+H04mHaD/b15yz/M1wS77u/M/7ttaN3
WTYIkW8PGFw69b6qQ9wL+DULZ+xMh0DTw2+D11+3o146vkjyYfD263iSjks4
Yf/r4PX37egMGF5lm95n8cj9phZvC0JcQtdpP54V8zFj2TsgiDHgx6S4DRcB
DTz823zcWn/+jfEP5iDsa6TTy5Ambm5sKPXb2niq1A8o3rr8+uTpkw359ekm
E0L89fFzJY/PNraeml+fbuuv29tPLCldt78+NmT3+WNDdrdoiv3WXpuEpj9n
RdKa/aXf+pBMvC9ImsqTvxTVT5PBKOu30sls3OrDBlQfiGez1izPLoGG8bfd
bvfZ+mZ743F7e8c94hX8JuqVg0i/hj+AtSAdw+N+m123juC4orM0T2CwInqf
lCiPFSs1F5qQjIcs3FH29SwAEY4BXabZOBverLiA/b4WLA+SPqAUfBBNkjLP
Ztk4ha8jFBWjqcAECHgIwlrrZVwkA4U06vT7CPguiJh5Nl5xUPBVcpHP4/wG
aeH6N1hP4yqZzhN8W8TVlVDeBvqOaAvQwUWKuh/x6gwThInF3xVPtsXPme+v
4LH+Fg+4DbIDfh7nfRA5V/TG4GP4EaB7Wx97hB88usiz6yJ5hAM8wheHwEPm
FzJk6xqeQokdv4ELnRSlM6g80eZX2mnGzz6qlfnbo3ICu9totVpRfFGUedwv
G407KRR7rw9216K0iOJo7GxY7G0YyPlRIhsWAXKD3A2cOgWhHyQhPhcU7YH+
4p2A6YHyD6Kin0yBbWZFu3E8ghlAb5kTly2QkABAxe06EYLHag8OQpP3k8Ec
5DUgmbC5gjXpX/HpZApINqYpskvAzOtoANwXMFBGgyXBMgBoYsizDBYAT1wS
sAA7TdZuwGS0H7MZkrmLcQJqRvTXJM9aZTbvj6JsepEBNuKAwSzwXOztgFyO
CMQZOIchwYCaGNylPkBdIJaXSPsHUVwCuk3nl3ByuLoynSRtPtBJOhiMk0bj
AWpZeTaY92mDok8PUvz7C4igr+AA3Hn3s2MAajbObnAziujTJyGrX77QJmQA
ziiJB3SnaUsL2qA+3tP0Yo5nfnETFaIFmiMvAMab6CKJinQ4hRMEna5sRtcj
kL6iSQb0HrGYZpAjFg4E++Qilx2uHMG6UfrOZrBiOsUmHsUszgH3gM3lTaA5
RREPHaBXiySBJVWp9ZcvayGqDRIQ4dKL+6FaE47RIhpidzwf4nCKRItvSnDT
vIvDM9BZoKwPZ3ENlxsGTIG24YpvWij7FjhO7EIIiEBIOb3KxlcJXlXGOIRz
kAH5mbpQZLBneK4wvXMhiiSH/eNLxG/TQ3WvR7MkRyIbTeblHAm//RK3i8Z2
wYPpFGxAGrpk4bx80LCnVymcSIT8DJS60h8nSh3aDneptKCuxtHKFd6+JF9Z
Iwjkew/wdoSrG8GxtPDGjQEnQVHDy1wAcgEy4Vsvj3pv9vkUUDb48gV2d3+K
p2DRBnA6oQsF0OY0D0tJRPKQuKouwagfrKKAe58gXYTZ4K6s2N1YadJbyccY
5IcE9HfQogGlDBelb3G6yzQHKoFEIFpN2sN2U9AGJBhA8mYEVzRKS7KpwAxE
qng+BQWuC4yT18AN1JiQoHpGeLfzZJYnBX6IYDgUKcdLbE+kiUabIpvoPIS+
jM/uKcYX2bx0D/Iyzya6ax4tRAsQrAUUSACgRZiCVJoos4cLjMKrjLhrAeZW
l4Brw4kF9/JauPssn4zpMFhkkTn1YOCOMNTOWuCgeRPhNbmicBHmk0Tpmn9v
LmAoXJ9z+3zgYTy5ebBq2soKxeCbzTyLCS2eLKijSmarXNwipiVplh12P6Lh
Di65TxL34jIGWtjZWwNUTMaDooZP0oKBwwOHJOkhuzakmmwoSAxkPbSv3gS4
DAcDmeQjJxzzyv29axKjRNoPS4Rni+Qv82SKWMiHAjuH6pJcSj0zPsl2Y7+M
Luc5HXeegJxSWBEG6BBzSMJLWlgTuHVM3B1QIIf9gj0zCyvgZhUgAXjcFs7/
A9+q1Bm6IkLEsLJBEl2BSJQAzsFKiqREllLwqcplnsBbfJcHwEuSPKmQSZI1
y4SuJc774AFIwrjJJApHKBmU9u8vfN2RE6GttohW3p30joES0X+j9wf0+1H3
dyf7R909/L33uvP2rflFn+i9Pjh5u2d/s2/uHrx7132/xy/Dp1Hw0bvOH1Z4
iSsHh8f7B+87b1fwFD2SS1IAE0wiVjM0vMANKQwLJ9x7uXsYbWzzlUCdEpgo
k3JQCZGhAtLwVNl0fCN/wsnf4FkkwACQ143HsNczUGHGuPPAHEbZ9ZSMz7CZ
R3D4CUhmCE7yEaSYkg9jFF/hnY3maPoljUQEwN2XB0fKTraf4xXd3dt7K5+A
SqqXtnKX240OwATjfIx22xs4lCsaIEkC9CqYWF3ERdonyiokFWfFo48OFd8O
5uUYDS6fHmT8mxz8MIPbDYOLWAtL4TsL+Lg6y0q8ZLAjNy5Grxm2e7LGL+BF
ZUJsJA4UxwJxFy+CL2E4slEhdx5uKMrKPkoLb1mdZtOWD0idfLJ6uqaiE7D7
ZDxjyicCAoJ0ldxUaY7DmBhKfQFZT2xkBFhrgmgB0/Ihbj15AgeCLBcwZT4e
II6qcAA7eQNiRo6fTGbAKmX9tVIZ4vw8RwT19qX0RTLDwgGEsvCppHJCGp5V
FcDizJBho3Ih6qNYjbfglOSRwhcPTppIn0mJUl6g28G3ECXyDDiDiAuWeSBh
c+S9uObUqrLF6tkacAiWkXFjouAdQ7QvklGK4t3CTWRxCCVEeET9Tk3h77iU
JVIkYwaD4KzYkyhrMQ7QASUFxVMl8rI32cWfgU6A+s/fu1SNbxxrQ6BQzUnu
MTyCxAR4xOXZ2ZWInOHNogNDBkaqrjIuvNkVvQKXg/rbKL0knaWiQql0ExwC
orSuUQ6k3eiBtpWOx3N8Su4RTHaZDls43FWaXJMM/R5oCcNNynE8TpnJsZBC
mgtrOaD3t6N9WrclsLgRC3ffoC/oUQOiXGMUa4EWqyUB8Gc+uWAhVbRxFpJJ
eYuGcDZG8EJrT0SyoiPcpjXwgPQZ0euXoONPM1RcRhkIrBXsRib8X+xPFMfF
1bBhDL36c8rYVvkcTVqN71vm53v++DP963zufln/XeNz5Uv6z4/O5zq2QKPz
ON+5o3z+jR2F597jE5JRjlASgz2hUbp2Y3iUPd5xhSUTWDre6TqrEDh7TDNq
Yclq9sEBtP47GgWZmW6rjir/RYayaF+QctXsS80o7pdHSTGDi5XU7G540vrE
/U7aH1VRy8HCxqed6IF7S9nA+2LlQP+Wy6nE4RJYQVuISYoms2SgZDYkRUaX
OSFSc9o2u7ZPIgp+Jh+gHFWIiM9j36pysBrvzXNKY56Rbp2VLjztFZiCKFUL
SM5w+mIFWCBMsIJ2MZCPOqiRESsrDCMzAvpF7CzyMlNmiBpo8jEtiHbmyVh8
MAqMy1FO1pqL6RaiVSzMrJYlNiM2ZeExkTJMlPQ72dYzI3QCXQJFAmiUArMD
j5DSM4VXgYCJvgishZwzJO3D8Z7pBAwujv6d2UsdHH0Z3uDKY83uXCcX0eGb
fZG5EE74fLcT9ROg5pcsxZiZaCPILM3TCYoQEafDk3nRqghQZfPCTIwH76pQ
ifpmScHUpyrIB5pojHZZRudylAMgwmhIqRriyeCgTNtRU5xPVSs3cqTYS65B
75rnKhI5jP5UbZ9Gn2NDQT/HoAwK7mDevUCyEYZ0osOMQdwU3aLuaWCRaCNC
hBH0u4aNELVU7MnMbx3TNKg18UUKnBeXrrKI2c5QpSnms1kGQg1MPS0kEgjf
cldEevEpPn2CEsVVPJ4n7gbxlVYTp+rj1ymqCyQPeyQG1Wc0TCeiPfFdYobs
zkvEp56pWsLXDS+FmsoIZrmgLpNfawh1/k3r/j8/AuWuJfZ3/RHC73DShcS9
7kvz3woXqv3j1i9d9kxfAhK2zJM+kxeS21rA5Z05DBpHIZcPvsSfkM1bBq3K
QC2Drn65mEN/5d7cdlLf3+2kakdfMnEAhTyzAFt/XIbIBlvp531WpbX63X5I
/Sviad2P3DRlDMQp1mqlD7bx1oge9Uz2Fnb+QHEWceXTA2FrwNgzT6dGenXa
DBh1lIO+oPINUx5S9QGWfYrOQzStMT66dGn3qLt3fuJZ8dG6E/2+/Xj9ucsP
WR3D+AZQx0iJIDvRGWzYcfYBmNfq7tlxUw0MzzfRdSWjI4MIZrggrSpPWeNm
IgxL2N87p1f2rRYolPZ8Cye9ELO3GNJxU9Rss4BJNV1XZeyuPKVfQNXK/ZlX
rQSjjIbccI0TtkwY3U0GuEGjRjK+xI/Omo4ThVCQrLNmcHHmTRLgT1ZF5OWT
eAqbceKDY6a7QPUwBeUEJK9sPhyZz8h8l2X08gUwfZWH2o0z5lvoybYDoh02
YXMq7LnrAjHeu8LbHGva4i0X4xk9fEr7go/g1rhns8BzcraD4mAHQyAAHUPp
Llo9fHMOxI/2AqdSeYk9t8kiUadGFuVTPGmd0eF9RyEfFZ+c9ebUjPD2YBdh
oWMSU7ae0Smb0lFIOxMZD+0iNzOADE2PcXRytE/SEcpG8Zj0A7SnjElSIiOW
I2Rj4BSbvYVNdSpSN5AGRw6tpQ8ntwjui6kF63boS2JqMb2NYJyqNZdvlX+K
pyo5n54DFbAi8BUHFJywHJoVRWIENJZMydtOo/SzPGeYRD6kB7xZGI62wmP3
3r0wJAiiSMjodGJ1tlW2Opl7cRS9kKEU+l7CXtGt9uP2Ju2SWqPWQOyb9klW
ZevhtI4dVYV61VNIcfCwO1b8XiUFSPYa7U34BnvENGyBpN01PIBpYv22uEGq
oYoJ45FR2a3Q/4rdRmjfbQokhSP6k38RkLHmwOkanEZEzwhLTqJVkvQns7nY
yWT+taajINHodPhEH7/p2TfY5uY4ZxTKwByNE1sP4YIFxroua/oT+twfZUgd
icW7YSPx5SWcgLpRqzK/xJeNskHhGNoNDWlTlIthiRhrBFKH0WaBp+Dox297
5oCVCIJqMk14/MPskK79VJdBgU8V7t00artyVQTLoWcUUjAEIgUTtEj6aTd6
5FW+NGeWop4IB36RTkWD87YEFTAGUCwsip+hzQPVtjGb28nyiltWtPAuJOiW
SNBs0wDJt+cvNxzmM7qKsssW/P/QYpTV7/CJYzkV2ZzPi5YPgnarZf8Pk/+y
9yfc+o32FqNFbehIU7wStH+06nFKrj+17ajDPsnbDC+67GlOHh8/hWta5qnq
sIhHThiRqLSJ5e4CmPHAqXGjcuYFDn4akVPU4xV8FWJ74O3IX/E9l3U0R/e3
bK252eirmCn6wMAtx2DBJ4rvdqY3fHW8hVYX1ox2+V8UMuE67O729HU5TLFC
kKJN62F4EOaD3u7BUbeyqtQIyd7CcuWGbVZXOmPg9IMbDbiwALpmgyIp52a1
/j29ZZnLl4Fah3M/VO/oMtWgGzjKru9890Abwbv6YmUcwf9QByFSR9KboXdG
1lp4g9Xik02HrXGKfhD8nKRdDp6czMdlihFB6oLLmScVj3JhSuhiOCALFUij
cTpWYsIX2mERxFD5biilRlKmnN253RR2N6dPin42qzqv2qJyOQp/z3rzPj3g
dDNG7C+LgorwUfYYzieOJ/1WNoaSrRPecV8RV9U+X649syFoRrTyfcSDpM/p
GqR/2dWw+K6SIEXHeT5nmUj+pMl88zYGTffRLFfZdmZX/r53FgmU7EX3F23C
NBXIIGaiYpQFaRiEPwyvFFFEwLYyjh8ERcl5FRVzUzg2/7URrb4+39wAacbo
TsxFrbxAZyg76FO/QPhTmdLsJhnFz5g2A1KhFknXzzJx0EysC3fxjTzjCepH
o4HQVPxtBK5G48yTruMrjBNHquQQwuQjwFp6U4m1tioQPyC/iAn4+PTAKNx0
TY1xxX5hPbR8PTFewExAIQxFKYZiNJobRJLlF9EwEzutE6AFKukGu2jqD9Gx
uCDkCyL1QMVqbLYXC+E6Wr1HpZbONLbawBpsvC2sSzCopVTR0WZRhOyP54Mw
+oHNE81Fy1ngxwHalsZOBGwFbDi/0EpiiVHM4TSLvHJC8/X2oPDJeE3rlXAf
e0Hhe3Z4091XxcxXyuqN6yfLrX6ndzENws9Z4xYj+V1t6J///QfqVhiMyNN3
HOh7tMlG0W3//HhXiMTSiqImkXdBOhRc22v3W9otP3ca6LBG5Lhu5+3SmBb+
DnvEP7JTktFy/6Xd5ecfcaDGIifAfX+WWP5RIYgOjw6OD3YP3jb+ATfBPukL
KRv3HSh0xgV+lX+gpW3ee6Dlfs8wauYuENU/8PccKHSD3HOgb3v8GM4CMLyI
yDgOtOnN+e6xjUK659LqH/jmAwUiGQgvR93fWYJ6O3W/G7W5H3Vf7fVk+5oR
6hlftzRHNXmVlP0R/3Wii/u7brbIvbjbPbPbtw90x1iG7+++tNWfTlUd/Mnf
n/st7ZafxZd2+94DfXPCtvoT3txtuLlqpb8nRLc8cOeBan3qNn646lYHFW8n
OluQSIgPaDwWGlMobAqtSjtyBBVF3A3lW6ijqbUseplcZnni6bFNz44dmoFs
hNfAenVcg71NiKozdsFyTCoh6N4FCKHWnzDOsg9sZLR+dY1EBnBALeOQL8cF
MYgBnLhIbo1COELbnRN7/YCMeXVatomcVltMoAOKz7sgt/uYHETZ1IvsJhdw
72T/uNs73xelVbIG+ukMV1DM05LtSKqRj9lyjP5xSQZFk6WbNxaPhxmVNBG7
jH/yZ2rQsm69J75Tb4cjsb6TKTtwX+yYO8ZeN0ymCS5e1WvvJbIrhS/hMtCO
MkjI6KIRKfqOl1FbM6Fv2CpGMQZHAmLlSRmuEfeVGHQz4tseC+4ui1A1ejmn
xcGeWFnDtYdtN8kyznkB45uqm/RZoI/vi0MLgOuXaDB1/MxyGDkiSZG05i1j
dKdsUISerXEsb8R5Yoxt9da6LR+6xQn6GA+JKe54vIBkk6LJamgSD87H8QXc
0hfR8cu9DRodftnUhabxNG7BU2K8swEV+KB1IxtQ3QiRwIASWkDlOlvjYrCY
qKM5XWKhv8jKMptwhpV//ZA6IVnA23yGMGQX6KeXKdqNl4iHl/F8XDYdY6Pr
J3eiT468/fbd+s7xps7J3mHUfXfUrXYQxEz3WmiIsaueAwJjtq/1esEnM/zD
v1hO1mN437f92y7TUmaemLqiWZHMB1kLoB7AKDjy4dEbNj7n5ORw8uoVolWm
G9/Roy+C74oYt3n/zbs1ufHsgMKP4dn1j9GqCXcdJ9MhYOHFDcCB7sDpUN/Z
JQ+74XYwmgScFhpu6vk0UypK1xbVF/BUrW/8rRMi7mf2E5ySdzqbS6YievV2
917DZxhyCnQsqAbgUyPa/KrxGNQE9n2oC3qp8flnuAirMNNV+6ot4eR6hI/b
T9sbHIvx6ZNbVEwShMQtcpe1x1wypb72ULT6pvtuzWxIlewCxOjfAoBpyYkd
Bj7itbpwb1Zg3tx8ipExnv8fpxEe/O5tCyDAo6SaJngo8xzzZil8CCexaUJA
EZzKEW4BICJUlM01L+FEcbspdQq2PkfZ4ICXp8hNS0Es9rEcb9nqmuO4cvKm
8e4Uat+t44DWISr82+PvqAEFl1TP11xUkhUQ0hc+RABok4zfGOCHV2cNryHd
L0fEjPqDwZiqN8H7q4gX+LvQ+R28/U38EIOZko8lfIKlZugjuY/AhukhNxS0
0XiF2WDEAjUOiEQkXzIlO/cIs3SnhY07WshbdRCNpaPsy5JCLpzMeUnA1ux3
qsnU5JxicyphIRG3fhNnFKPcOrjCSIEi0eIy1jGtz7rAW+uTC/amsFknOi6I
87TJuScon55yrH+ca+idFdgfFjbY/0YGIU+SxuU7MmjbDZz9TevHOofuCX1B
bl2kCgGXCYVDWoTEo/oag8es/EOLVpHinJLEQgmKYW7PdHlYFrx+yn5ccj6h
rB5JeoNIu05+DhB8qu+jpX+EFKGS4F/hOCBWRtRCef7LGiKLFg9Y6IXB/X3g
p0B9eiAC7zleIfWOq1wZ+JxxJSy5maxvjL1NUfoZG9GrKni1jOSFn3JcrNFY
z/fpuhtCJBHIDsvc8X1AdPndl2EsvOBRu3+Rgdj5F2/k817yl0Yj/ARe+SX6
gSW62MxpyzVgJgEVgCWmQ1axnahUKsIGHiUrf/J034YQq+/4LV4RkSFejB9s
yqnGyEvZKcARphSH7QWRfsdT8mgk0ruhmklK544JWItKaRHTxmGRAzG5RqCa
1SwXT+xgtuQ6xIVlqTd1h6Sk9M7SiBPzoCpXcSvgszjNNczHEUQo0xkFC7xd
47jveO1ps2if+BKqbKLJ0fgWBVFfWLF+ABfrZsbCqHG3OzEHga9fZBO5gO1b
9iGODn+3i5vvbYFYDQrWFj2xhYwKuCgTvSSyiT28CBGiZsGvk1wED6EVySQt
vapH7kQTIx994w3xiI2hM0Bi9jEk3Dn9yNjxiONJELt1UVvm2JRYhOXkadsh
T9NbyNLmIrIkQpbxttNYcVEge+WE/ROOxjjjsgw2lt5EsMI+4/4ZDcPeLt8K
cZs45YiFcNxkYalLpdigef1oiSR6aPHloVAOCghCEfS8yxCuS2UALd70eBM1
TociO8TYE0s0qHMReRbK7BPI/bII9IMZlmAljOZDcNeAIQezGPMjGPi6uP0z
SU68Sm7CqgonTSlmUDhBUBTPxAUwAvW9jCmrVhOBre2KoFMhzgviUYKogjJo
cCOQzxhV2VTABQZOrKrkmPIwst6vHqOb+l3EkWp0RAgcEok3NMY0QwF1n2Pj
VEzACjEGUWSQ76KHRu54WDlLEhAx1XGdHtRTeEhzPNRrdh7H8C5VvYIx65ix
PT8Rx6OfDg47vzsBNH3/6oD5ZMNPu6qM4c5mhkEPyo6xMhsp3tocdvzP2Uix
4z2/toA9OxDK7fbwzA0LDahQGymYYEkT84GIcArN8WR5IklCJdB8c40GYIur
jJ/K+QPstMHqAaQCJtYMitCabnR6F/Wl7oZTBotpkrzMeWdww8dJuDp8ReVn
vGcYJUsFXkidAkmVUJN8WzDe61XHkGT/2FgD4Vn5yIUWSnEKt1RvjggUWnLD
2CtC2nk/VfTOtNOsiCuyYZx5UEwliHkN+N+5fFyxI2pUsk29IueGJDMTX75K
47oZaCDH7uYTDk+OrCQN8QF6tj3hz15YvnA5x9QGwL25XSuPjCHPViNIp2iO
kLMl5Rzu37xfUVVI93cU9hfRJnygyjr8OXr4kE1oyWQGpJNFczGefacqPFaj
4d/keMQstZDJwvEj6SvqVgyU9N95yVvOknnFX7FkZgN3W7SvWQeZaKxVn7JW
ffpFSsSJ2ujUJhWHmZZhTR0HnEgLrteHIbIOtroMzHb0HmnW2D5sBgdiJfdD
Sp6hPPlO3BobAOpkgwJKH1BxMRcmDBAkBxWeWBhnI2kSPt9nib3p3NICCHPZ
b2OEcZarFRNFwGGOeV41Fpuq6+R54Do5XkSomtUycwBIho+hNY3rZorwYbDN
VvgkyfZMpGej+hv0q1SqpefFFaHj4fWhtXGRO4NBdU63NuxvQabqcHORr7Rr
D+UUE+XkeGtOxRNetKKZCQG1vNChydN6xGk6lTyGWUkugHiJqbI6sx7gk/YW
17tzQXGRcBORcLMeCU+xvCHSXVz3AmTcXDL5Y5h8K5wcEaj0c59QrGAdXhV4
s1Sr2WmmWeI1kSA9oFiajdWMeoTTIdNQLxFRIVMRLbCwFW7BkKaUrsq1YYBW
r5J1YOA5pgFFuyBMgkbcQxvX7m5vzc095ysEn1oNz7EHBHda81ZRhM4GxtCD
es8bUhREP5pePoz6OOntKaIgRRkfmgdBADhdsIcf+v2CBGcy94+oYOP5JJ6F
82ysB07r+htEZA22L0mvajBJEuScQtlUl+++GOai99ZiMED6hWtYAUOS6ozK
vUqWv6ZnkFtTJsE1WtmvLSlcrlEvrQAubqBjwrkhJV5Tsht8OzAlCsWVakBA
LBQL5e2+7YWEa8G2b/G2n9xv27eDbW/adKB4MEi5nCGw/2QmyVMKjb8w2bx2
o2fdFbWrTvESDLKEa1LhBRxOUesDMDOqKGdQ2VOeOdUEVAB8S6CQpFRNP7yg
sjxhhsXt+0yKbcVADPLOcIg1TWtkYSORBxlDpxYnTLRFaLB3k1uQEo+pYmsx
p9yhyzlmlyuB9DNF9BUsqD6nQj+dCvtxjqda3ILc9lhXxDGf+br/iSpm85kp
Fe6IFmyFw2qHcENK0Z0WDwbgUmATWnovS6nPWLeTfESznCt5YkejqEXDOjKN
uyyNqqhzRAWdRjz+cMrGMZOlFddFMRFreNf5QwTw5TesUMN98GpbSLxDHFiO
nBALZ1c8q4vuyST+oHfotGZHSKmn7XK3wQZlXWIyY7MGSdB2cEEutrapz67l
TZv1V1bcQUQthC3hEfgnQG/cZa87bh0KxDjcShpeEji1TH5cQQX89jpOtfyk
/ZpdWWZP9ANLKbTAzCkTBL0jhYs4Fd7AhRXkNqRJRaXl+9DFlKD5jHJE+8nM
Vgy3N7YCKdPhs6Za4P9Oh5gnX3mGLtvdRqlye6lUid92SgaT3IdNvWlekwex
OArzwsjFq3icDhbt3mLySqJ7Lcff5lO1Gx8O7XgKjePgNIgOrHgQSW7YbNqg
Vtn0bZinnbSbdzfj18n3brrmPeWs7a+Ssx5/LcOnNbfJY3KbY8PbDdSB/LRR
S/RY/0Vrl5cCqxFqaqL2PNBaZdrZuTpqSdeLCcLJUgmBl3RSJ5R4d025sv69
WFA5qRdUloNxB4EQwAzMr67hF4s+gVTvpMxWeThHNfgGlwXBDac2uOGUghtY
NDDByFIFxVbFLEDXAMHBanEmk7ipfqm+EKhyWayiqQaTGbfK0vxnBsI4NIwX
TAi7AfWr8pT9ej1eSriYML2Efjgl3ZN8fktohgkUMcWrKxsX+C01ucTGSaid
d7GywKaRRaIXC6vh+NzCgJVgNP5x99nQ1bYsEkJHehH9Qr6QXs96TiIKkSq9
4IUat4rvblnscHG/cfNT6JssGy+Oiej1bJ2ROoPMnVPvvZCIuvgHN1ixGvdA
N0eizoMoK9EyxcVhsZPk18XujorfIhzXoZ3f+bvGQR3jeKiKLCKTyvtnWmOo
zG84YiTWshxYoz8UoWTIyqVyatXV4e0ZFgEwPI+YW5yrvTvEYiNPLL5Fpozc
GXrrc4oUZ87pY+uOIEVrMU7Yk259xUGbg+QZtELEgtoQbc9z06pz3FROr7Xw
6E5NeRT2UMuJacw27I0jCMfUKEnC9WqyJoIzkeW6zukpbxMNTL4KWje3jFAx
16xFsi2KIuunZDlJjSVYuwbZdTvIYy2x5vZx+UK6SGRjNCcjMAZOdGLIyKkv
EiktQ7w6Zy1NvXBu/V9TIpH5sSMfscABHHAOoI49ebh04wItdWUh3xTES/Kc
WtIN2JIUc2clDk7BRibAeRMrrAWeP7hhoLOZyg3W/Sf77ymwmOVDSv4osdse
pj2Z4iuoj534jUjgxYktSlhTmSVoZseb5fkhP0wx2QADJrjGcxDZapWjr924
qSk2zY2qeAN1v+CdFnVGgGedcKEFmwjAh1SyzOdU3666u3C18jS50jpJLvGr
EEeSXeUFFLtRq0wGRVNLrYhuoqTUb8FhFJuq+5c/d2RjO4ds7VmtaCCyCe4s
dcyxQIbrv4zHRWLgxA5Gd4O1ItPIlK5QI9Av4g5q0DHBWk77uNXbwrbWEGY9
osJW2jG3wNywRYxEOk+RO2HeF/qokCj6u+VO66hXXfGjhhuJVnsuODEfG5PI
06XCoyPbnZt9/hbCnQyl0t1POstOVVj7SdDBj4NZJJK50mi6SGYh/V40n7ZG
JZzURCWQxW2x9AEsrHBEvDDgwRnXOAmoqmoaXIZrVLeTcsE4WmrRtfAq+oUB
WIQCTMJEMLVWJt8IGgraGLURU8XbecGUUKA56hIVgQtxGfeTqoS5kOTd6n2o
RVAx3izDyv0Fxhm0cvmbJJKdmtPE2u+KwCdu4oK1i9TYjs63ZVVRl7jFa6H9
QHc8VuBHG9icvpgz+rhyv+U3eLhYHI/1b9UYum87Quakewe9sCKNneGwQS1d
aSyaiv2Y/mTBu278Aj3QQmiKBSWK3OYplTzvu6XCczJ89+jofPdgrxvxr2SF
oPKX8MEebfjMLZNe9/O58f0L8+P8uuCDRT+amn/8cm8LJqc9OJegMCqo6G7X
Umi+zd645Ewzzp2DMTUV6/CH/3StSMhE/u2f/7u3iH/75//RxlTqrn2ZFu/U
+VPXowrPcoOkkWwgDZnWodoIVY1tyF+0v5sIWjU2M6TUBge8JIAiOI0wmaIn
iQ0aWSsUjWIGy2SYcKlMCoEUY6QTJVoX3+tPx+GaR91/6u4enx//4bBrk7B+
0o8J6J36mMxj8uHnGCJB9jfnjbRwyuTSJknhYWpRSeoTNwlE+OlW0581vdXM
yTjVwXEVcK+lSCYXyM4mLJgziZCSmGWMtfCdnoTSsnP5za/B5zviN941dz8/
e5ty57vv3fyau37Hu+8X5ViH2Vv+NNi5wQfw1pv/6/bG/mzA7JT940DjgsLZ
q9ILyGlh/e2gqaNDeULx9EKC3JNERPXgW0J3HhjWqbySpPGmysMn3NvWT6qu
53y2IqjGLl7HNztcrtIKwP61NgVZL9Epr9KvBqvWiBkRpua6i4XbuyFCRHCp
bW6EiC8kWSzPk8AJfFmNyTgJYkRU82yWU8DXN5TKvoscAczboKZ1ipk6yeG2
C4kJlYgT7jjlCXa8GK3bQFxKTWfma516+V6faOpO4W672yhLO1lwH2oxLVL/
KUPZKKTCJh8EdJnxqPAa0MdwLtkQq+ULycXGhIv0CaPyWYzUPsIAwN2yDLwk
A6MB/fpEg/qR7pw6wCkqxlNXz5UCLkQHyuchb4bNW6i2Oqf0DocJkbNTxIyc
uobwiZ6osRg7tkfSi9qL13eNoEvL5DYl5EJvaGC3ukcwPJWhoYIgnDwtbQa8
wiFYmKZaMyQQ10X/LNzOpNilOuY8B92C1CWGZgrt0RJLM1kSdSZi+yI3FZaq
xBtQ1+21TPojalONTUH9Av+I5JjgT+aRFNOrrxCZT6OLPIsH8GnpbircDIXT
KFXSEs8exPUIJSGulhLIeW6IXNDRgA2Dthm3OTbeCdngsGCrcztNm+dOezMI
fNSc+GuKo8HIc/ZKzhxcVrO3pISz9Jl1DrWkPPMzcz62l9GnB/OWKdoOh47b
2x/HWOEXWzfBFuRFadKyWJYbYiRziE9myGaNOlqtNWzLS5wiotq99OIQ3cpS
mG6lCeW35/77lWsWioo1/bvk53tPzmCp50RknBrxiv49FVHrs7PB9U/b2/f5
jpDIvw13vsU/n4PnagteOs/dInD9GI73dfNuVue9pTTdt5l3yz63fJizu27H
XaHR2o5hMG5Kwbh3HuaW57y/sBLjVw1zW1nL+0ITlmNs3gsa+n5xLcav25vq
11+7xb2vGmY5ut93ixcVYfw2l2a78tx9LqupjVgJJ7sPfHXqncOvVMfbJxOk
x5maoTBiKPKyun37Ev1QGYySvezO+KlSl9TJHNPPV225+EoQ7/n2WpPbzWiS
BhU79PrAaWJRyK9dYc0X0qhIDqYmUUNYhx/XiGFN8kZjU5VrZOOXbNCRZ1d4
0VZWXOHwPaqRZooSelXl0HyfOLIBAKsioXi+SWbmyPDC2oJ4Y40YST2lQUKk
NvdNSjhDAMn3oHIE+5isjhKlbph0kxNyqb5Pnpjs8PAYAd7X0l4MA1onkzg3
aYsKpLjVUhcR7J6Q0r5UQgkKtC0T84P6eog8pDMsqRdIbfeOR0mlmp9UGkT5
6KYa0+k0Hxw4EYuFUxxGbqkvNomDChnKIyZ6tqooSKJS+cOEBy1Y5n+IX9Ex
Z1eYMOPwue9b0bL/fSPxq0bs+3cRvxyxb/kwfxPxa/P/T/GrXvr6D/Hr223x
txW/Fmksv0L82vq14tddn6sX04ykYLyBwE2v2Ua6wE60RDQ79syVYpbSpGtu
2DZKQqkrYN+GywNn5jJ5zPwXdTZaPWmdgSDZOoX9a52tLRAz0LJLzXVCecO3
ghiQ680hMFgYpaVRCWrBk/p7nsHu+tuU4atIJr+u+J4p+kaF7qpSkwOUZJds
Uvhnyf6Ub1TYzoKxUxNsEwCw9VUALCthVXN2p97ZXcHZmZoKvEk2W90vD1nj
v7AZMP6jxnHR67Xt+Js0/kl1/E01gS7IBLo1g3iTwWEI7ahcjQCXVAV00zjf
w8wuoFQCf5AvyHjDEWg87G2R/g0uxUZZtNhvFs26mMCJWVjoppJopjBr00lV
rNjZvXp9bqooPpHmVL6BI7glKYUrb5ocOC2y5pSJEPunOactwYO7hB25+xBk
gd8prSvIBF+EVlsLT0srTVforJNbRBtDQHJ4LynLoakhvC2nFUp3RZQuiM8K
r7UJDxN1CBUycRMuzAmw7pJav5hwDC61aOtAFoqmrovGdRq4ce7tEPAzUwd2
YYJc4MV5AIQUsDObJbliFYWTDNB5jFyl0ehojRnsQsfBtOgk4WoTU1uqBs4K
z6hgGi/Zv/Z+2JfQVkHphzSYRMdXXQA4Cg7hP2CRAYZ4ZapYY3w49dyTThRn
En8uLb+thu94NJhZYX5RXITGHLy3jpuJdqqnfByXIje0MLYdF7RmlSvdrVe4
lu9y2AkZYbwUUAoa4sSnGVYulL6e6RTeSA3iLLUQcEl4jGCKi7JZa9SwDQID
2JtVwCk3jchTUHkvY8PUIstGk5MQl8Ad2CmoESU5/ffV6R9Rohpe6KI8N6EA
X5ya8XF9Y1wKWEAX7sA4XGMaG6NEzUCYtJBpSULxN1YfQjy9SCyOmxJnktzy
+vj4kFohZ51DTG3rvT44ebvntnIH8LM55QS4ExrIvAB+jU8zYdlFH9MzVI7i
GrUnR5wWFPX4y5VRWc6KFdgpfrpFf3/xqr6YcbT0hrzU1OIQNuscewKauoim
WBEFbNWsySOQcImwuLXkrMLOmFjWW3MZ3RqRVDnAA8OU3ZtWO2xLtrm20XYy
jExArBwK+n1ZIAoLsJ2x+ZE7bN8LaEmNuQVuSbd2kp/YoogdBWpBFSfq8kOR
2lgmm9WpVk5ta5QQ09BmrEqPcI1ExjmcUH6iEhwQfiak+CsSQ9uNQ57YDxVy
MvnJaguTIiXIb6T8STrgos7uOdGqtcDe1IAcbotIGNSbFen4KJ3VUQjbNrsd
Ea4+2mizODxKh5zIxdwJNo6aHk1LZ3eEF8ppOQiQ5RL1CMgyx3JvsLsjqsl4
SWmDWUacHqOXOQGCDciSOJVNL7IYRkCYejI/xpXgOm0rbvXkY9Bs/0NSFlJ0
aXv7SdPtdwBXEdHMCbTCsXDhCGKCyCAhIjhYu3FGHCrmvCausgKcNbnmRIEa
FJHwlYtEQ2Q1zfq2BuAO8epnMdChW4gVP9S098PejL1vRa+YgiPqTDns5yrx
pXR6xSOxX1Cqn/n4HcBjeqU450eVwmmh8QRJxEesm8GxDPgyld2SCtm0HByy
jcVsaiDQHT/q7h68e9d9v9fdIwJHQTO59pMygNmM/uAI7nICtQcQkhM+gLpC
DjZgxQtW+ZqzOuhR61BG+ycbWzKKPcLFpFtL9/lQE528SAzR+rWbHdZPQNfc
0X6BzjhcB5Mo+sRLKiJxj6t+4O0jEYskDLu6s6pw7cwL9H/UAgXmErZ55VH7
OhmPW5RH+GilGkPJm/cY16X6GsiJSOtQ+8FS9tEKN6/ADP4V2BWBDavep4Iu
MDFBWI7mGC4/xLAnxAFUtFjI2Hn06Pr6ui0hWG3gUh5gzgw2cQ0VYAxGMvhP
ihvTARjvvmNJ3w5YJGOOHe2ug3XJ+DcT5clHbV//o2woR4yL+VCK+SUcyoJ6
BauPRIkTHW5NxN5KhCsgTmbzptwaLay/UQZsbJ6gYtpIWGjB70yh+8OD3jF8
cBjfUIK6SfLHljROU78a253UHl9SqOXci8bd5QjY1iuiqdGq/o1JMWtcwJck
shXHOOLsfMvfl++xZ4R/tPUJYKg62BRRsytiDPG3pedGHxfR5vp6dPAG+bWV
Y5so4m+217ejXdLuB/ZrRNPFW5kMqnmcd9lBzU79ljvIY9ZsoUQ9Y1M2/Khw
+LqaDJKBWgONyGsdxDtMUdVCIZpRin0DpMZMpmdTh1K0ufA0JdRzdi/lO3vJ
0BaQaD7lzGgy2kVa/6kfO8m2yD9vmHhsw3G+hINR/K2e63YbHvHOk+1aqecE
R4jmUxt8ESyaVkt1qbiszNL1Sv0TraLjZkeTHsLrY/mQc79JHWEe6WadX6SY
cq6VaWp6WYko16fzlOR05w3aIlJbBsk4nZCuXqYTFKOmA7R2SNakZKpjJgOV
2b1t02PY9i2EBgAckAME71bdzm/5O/+DcLFFl8lPedCbxJrB0ntyt0tCw/MN
kU4kAomYAbwq3mIntCKQn4i45yci1jlqol1HjbW8AJVbZQScUCp1KQIdMlCC
T0xyhmNaWHFHW/FZkcNKTh4Wi2WmvyV7sZjvkEWT2FqN2v0WPMXZkRpq6FWu
s91elxsE/oH4DTsOvtk2+VzDsZXuetZkrHRXJH2ukaeZAG6BCyBj6ZjbJXI9
HHKbTeKpCagy3lRTOIAGVvFNbSl+Yy1tzKpNePxWlFrE2xnYAdk22v3kaCMz
Q8Um2cCAj6H6RX9O6fAjKnDOptpgSH57YTQZxcoHb5jMktAnYguX1PRnFSvH
wsgyrbwQsyulZDOPX3BQqkhLPZuY08PuYsyuNnTmOn/muoo3RfrGSszZtloY
eKG3NSgmZctxC6GWQ2XuvPai0i2GMnO8UjY/n/9+TRgxAq0gLdqwNgdGSkko
t+cfxfqZzo9FCS/F+YCu2tJGnH7PAmnroZeGS53czMpsmMezERB0U2lb8AK4
zBDPbMoV3ofJlJi+KmrAn7EB9E1zab9CqlP6l3k8LecTdz48S2T35C9ETZOA
ZXebt4omqYGwbs0jdFpXSWoMOUu1m0pYuMurx8+XvLZo1KEHqPNVoflZIpCa
AgKs0eXu2cwpdMSekGmQQhW9lzXoNFXp2S9iKtJaL4jhVzZpZaQNzlhQI88L
HIbXMkz6ltGeUlsWM7SW5vGvJKaKji9AglYvM4qCuH2regC2Gq5X/GHNcX+l
xYIgYWshPdNUadMcu9LXnMZ14rkor5sqVYe90C/nUy/9ukC5iMyNJhXNL12k
z7M7j6mcuLWRqFH+L1LfRPqmqL9PakciQcScUm8/qd/DDW5gsHOp9WLW9AbV
LmpeYQ1TdprOVIyy0lqPVSQq2el5QedUfMZ5uMWlUAQ+KZpOfR/JTWFsCUz9
JvOp4TR4o2g4Jz3MrJORnDZ1jM1+brxu935/gPaS+PQwdJ+y7ZD6ZPmNpI9h
rXEKefHUGNgTdYYJvKa+EXYA8WvNTpU8pdIRGSSI/c77To30gK29v3D9EU6M
XtIu/YjMVAAov0YdwWGtOPCI5EdjxfJtMwAzLUeMNiu3zrQiY+Xuxg9BvJ6J
fawbdkLEEDhlCAfIc4n4rNJMayuwAZ+jtxQO9Dk6pQAgKg/iVwjAgGSKVZJk
+c91MS1zjFUxsQriL7QO/baOslkZZdkANXVOz2gsjNKDbeauEhqf15F6uEbi
4f3s7JltWwHkHhcvVoDARGONyqu0eQ/qNpbyzLLeo+IwdGKyxO7AMRVZrs0K
vBAcJ0aApKPl4QF3kcCCtWyGa6mvcozlsZYtYEsXsH0bDJQHiQScsB+ewh5j
ebEjDjrM2cDjZRByqrgP13G9tbkVrfaEVRZRxynf1f2IwQcYWQNDrbHxGld6
hqbRN2SaQAOw3sG73jvq4bGyZKCVplNRoEyAyBge4tiq2Q4Fr7EWuxNZjQV1
Hu4pICVcxlhwa797/Aq1Lk8ZUV/UTvTHX/74i+ee+uOf/vgno6XtoKMDrjJ8
Dp8doU+Rzspkhu9E70FupT1ylvUeacMJEYyVdpzPgI7QR71Z3E9EOzK9g9B9
0Jfemtb8zPTFEh0ahj8sZhQdEYpW+Rz7RQ9TLMiu9v2tjae2lxj8/eTpkw3T
lSMw8Aug5H4i5Rj533sgN/MLLuvL2oTWepS4EKUAVKDmhlVd5w3xoLm2i9g+
T4cTWTQ8BinlA7qGaGIQpTrwQ6LH4fERicj5IACQ7Ch73H2X9hhuLxAunsTn
MtQQQgAigudsSTOM4lqi1+XODLCMyhYCim60o5MCr2GjA1s2mk+Yped+qUyv
jnbBJ2IjvNCsMB2QJABfT6wwML75CS1w1ygNXcc3PyERkFqTdKYpq0wo9VHj
HhLwYc39kl1FuU7MevmNCx9s6GY76jiRir3ssryGg+elXGNAT869Pp2HCnnI
Wx7lngPoaW6/v9OSSxBsylsWHa16xk5yr9t1RBQFXkg3UZqlaUrzjpJ62KUM
jHa0MHUzRaL5aa3R+ENSeLujtWBNCByJmXJq5MFCmVjrPtZcNhZEgJ61XmNb
D67oxJKTz8+tKnyDHcenEr4O9y9HayOa0J0+GvhV0DXudM02Vx3MSQP9a5Jn
rRKZkmtFbjS22uYqZeM5QdQ53Gfl8216kccoRFXwgXAvr3llrK/8jbHjEgZq
YmA/34hGY7sd7cb9ES51731PBBoBHBS0ZIxCOMHel8ecNt5SCGEh0GkgBX9j
2B+3VRwtORbhlhXE3sP/OOt40nYgjw5I68lwCXsZcQWi5gTigHl0PG4B6fRI
OlXPR+4yy0p1409mqNCimP6+J0sUnQpGJ0AAuhutw02GreE810XHla2VIWxz
aPnuUvVeAyUTE+kiiwGjmL7q7HQdQaFoSHKe/wQrq4XZxAHR3VazYMyFnUgO
IMsG0AbYZ+q6Ippt7dRILaYPqQ7HldThmLAspTJWdUkxbw8qpySIApm1ta6R
jiH1oQIrceGIAYB8LJITwaquzA0TQtgUM54yZoj4B+ThkfwaI3q8hk2QFxc+
JWho/SOZEUGDBTr34aeox8MSMTTvXiRSBWrx9xTngStGjxxp99QjSe4F5x5T
GCI6qogUh1zKHNeKGxGR5UMRuwRaYtgiHkqDYH6U6anwdxv4x5FavCv4+A94
AVFfcGZkHfwSL40V039QeyLbVxBVSAi9KKiIuSCgIDydMYYsYuRwmlN3StwD
beKm03jLoJjLabAaUX9MWXEF5z8Bh+1Mb5YcqEfXDFrxwQFKNagxzyCNSasu
6nQUYJiinkzowZIevE/4gYqBK85M1k4gEundx3MAVnjpNcpUwA9xsTvugKid
zC9K+93yCUhxEaEXDXMTLP4Mms37Rx2sjqU1JKtfdbETY1UY3sEW0RiquYrV
KrHjba/ewbIj7SiNX+hLTSzgd7flKSg0h3Nj5HJVuZ3oF19/+9OfsDev8wFC
6Aq0hLAsVaPRy2DBTnSc+YEN2Dwgj4cTa4CjEtX18HVsbyBXP6SUyO+id/Ew
7UfT+eQiyVeLNX6Jv3qFPhGsczbFYLHgy3dxH+T4rBhFl9T9Gw8dPYfmMdgY
ODJY1n+OMLBwbCRC5nolXni8iJfznMMyXN2V1K+3nTfd6AzIOh71z2TbWkWM
+i3aypE4rckhkTIxR1F4J8IAuIP3hFpIltVXN9XvZU+Ile7IFD9bBX03VNDx
5pK87Hstb7nCVl8LnJ280cbOVzdyrWnPfMQ2vpVdp7qYJgd0p1dpnk05KHR1
NzvqrkWH5vKwiU/mUuOe/mlu1Odof4+qCmjyChrr7kEzsKbnZ63tW70AbK7D
+LaWxEq0LmU/F1juavc+NOKN1Yj31Uanx4+j1Yp9qdVqRReg+KNx+MCp8xb1
kBQmWMUt+vTArQDXIiIJgJw5JmbjyqhVa6hxeHasUddowEeRhkRLoDolh+1M
WfwaJ4NhIjLYKYZGGFaLhfpgZ2AMrClz49SpG2OUNwwBrHMuojS30DuRaubW
24khNgWyV2vfx1m4LQb290un5CmXAmdUqKW9oLoeRm25WxMVdtOQz9opKBAc
9BwurGJV1rRUZ7bz6nXiaBi0LqUr2mhPl0f7g8JuPEixKmWZsNxoS+ddx1Pm
5XwaLD9xab8iM9HjfQ2dYuHTuFoketbpUegS80Pu5o0IkozjljT3rtYiFM9e
bEQpxAfMAS+cMHtEJDHLxoMrjK4pTL6POByrjcQRwFqIaESJL/B7CsIoCiky
RQ7KLWwH6II7iUohGz5FpLKwb4nDp/F+imOKXKu8EvStxjPmpXiSJsphlpB9
xxhCx9h/0ml8RzdkOZzaWR43zhmUNs3smAOIvoxGJt5GJzJgw0QGbFYDfTa8
9LBKnRm3i26Y3javpqI6Zf6WAKw4oH0YL5Hws9IUl2iQNinGTsKWxA1NE2ug
0eHwYon/TYOLymo+YQBLrJvmJttvaPqgN7mJPVxWSMfXP7LFq1ZmGdbEsq0k
6czE1S8NZDjPnehA4Ag5x8ffdl523wYJ79zfu7ALPU8H52hwO4dngC47E/gs
nl73S802fvMblJO408ztP484RvGcWkA9wjd/SR52Dg9bh0cHr1rv9t/vv+u8
be32WpsPmxFnsqNL50/4Zh2wMMaPP/pVZ89wL8hHgUBFQa/rE1GbC6mAHNKS
IF/71Ely93sfPuZW98uuK4pfdUsLHVSe02EhlYtWJbxv64dol+MzetTpavMH
7PD+Q/QhHayFUD67A4ymJkPgPDMuxc6e1p5y3EuaxaEyj85MTuQvTurujJvs
eki8+Q+JxC4qdn9/3H3f2z/t/jo8jKoDft3p3/tgmWmfWmpTVMjNpwckbrTM
I3psyLdZEKGjo9gZ+Cib+CWZV0+ppPOaRhxb2+BJU4KG4GxHyXhGgWSVvtxi
GWSZREO9sJysOnY/ouok4nNh0iG4jrTjQY8L2kKNQjNM3DSdMAXeAA6xG7JP
OsoYS0n9GN+wpu1Egtg6xhyJR+JSUEeCuqUHNY4FRpSwyFyjoactJCgq9hV0
CCB5FyA6iiUnY8beOTx4izJLt9t9tr7Z3vg98P7LnMzAPJ57lPhUxI+1ZQrb
dT02ZZrFcFM732AOcqk4eZ8+fr7FeYtuc8leb3/PlkmwU27ATJQB2WjIokV8
c0IeTVXoiyTuI94wKgPatfiTL1/W1LrFBda5AIWz+Sb+nRGc6gdyMCqFhBlw
Hre3AZ/g+PsUI0nTSUwU6fcD6lThuG3Zr72x9RRvTNgZvLqg2NlZ7ihMexKW
XcSlAVnY4H7jSKSG83TAFYfwyGwye15QyWYWQANK5VZHZxjc+h9x5SbUFYHf
O3jX2X9/vr/HrUSqfUTMAzKdsbLwZRKsMbrEKaXJTYdIuryK67gfJ0dv0Q12
crK/B+t+afLpuFaTsaCK3M/OMyE9pAcp0dEjM21f3BPz1KnwFgrZ4HnU6aeF
TGS/0HrpIWTRdM+Vhax0WlsAnDzhLhJgdEKagYghvsb5GN19mDlO10JyIQdX
oIDBGMSXirLQBge26AUFw2AmEGa5qZ7I1UaR5pjQZ01fW7QUIOrOvRIlzI7H
TQio5KS/I/q6vbZkUJbBx/GNtgb3a4u6d7iN7ZedaAM1SrtjwBKpOUbsUGnP
OZSSoZ/urRCWdmPPjR9yh0RbHBVIpYQcMW3za552ywVCuSJG4WkD02wq8AOa
+WQET+jl2y7zpZ87x8dLu9eYSoB15Sjlp/qslL3Eem27VPlgWeE2LoGJ/xVX
3uevmr3lzs4/J3aKJbPzz6n5oFEd8V6z32HSKhTmre+XVt/0/vfj53AuY3JX
TPIwqDLX10H4+Zbafwt3470A5RPHVdvTQMSuXw/hN3hrUbnS8K07Nypr1ZzX
N4Rwc+Fbt9VqdH/+lhBuLXzrV+7hqhaY9IvD3QXC29bVcP5ajdrttrWRINqm
0zlZZkBzQC8tfr9WW4HS8hNrJudLQBZAat5Uy8pbzF6EjS0vSumoN27Vm6CB
TDr1GYLEj5PcpxLmSwbVkdThQRCe3Vo6qn9gZDaDHVoAuW+jq1klYhhGgEJm
LWNrHYHF0mzA+0eiHhlhBPkfs2t8ewK68gQj4W+p/I3CD1u+lzQKMelIZbWs
nNOzKki38gSIpvWgk+JpBH/VAzESII/8Yw+FI5blWCQieXxB7bvVJRG+ayo1
GaGdjBYOWqqTgUsGcW2/GA6d60ezPNK0ZQrIPUayI4mMpgIiF1O3bXBstVJA
jxJwuc3OlpjycshWH9QcdLlYUxK6fXWTjkTc9mrm0VC7kJLbrjobhDxslcGS
hCwcsR1GNlt2MDQoUF3Rr5GaamUllX8WyUpWmrqHhPRVctFXSUO/Sga6BxcI
aD9hGSoQeD9vHgWizn0ofs2zC9n/ffhqddzVnxjvXlhhZzEMS+Dlh5kj+VWF
78uVkHzclScR7M0IA+izG7/slgeE7fyQ36WcstNwiY1YFAHFSf9avYHMQgV3
9w3sF2omGJjABKyWhUO4jUxF4bfBFmxVkPbaPCJ3gfspsC1Im9KQ73AhQCq2
RrQIwyhKzr80OqDyVoIG3Zm0SjVyUQ1qXC8tlTw6GvTedAPjlMMQT2ihW9Yy
jdXUKa6kUr8QdmMepPhTzG6SBDYvW22twl2EgL8zOv8hq57Mb8j3j/YAx6qq
m0IGcTEcEO4Zu4FpAiZqrGPGPpWuhLatsj8NsPyTGZW3QpbA6jLFmk9wLWye
4HvKfmmnWIsOTdVFQkstjIC7S1mMlKNjvX5GKhALMKc+nLYb75OPUvvSNdLg
4JJi8yFJZpwDRNyUW4/kV5qaQ7WM+P4suDxcs8S40GXXuH6gG7WPDPc6zgda
13QxM3I6mC5UZOueRXbhaPGPekl9CwslWg4X42e/DoKWDwH/GI61FAL+ObUf
VZnXfSG4fd46UGpfw9oV0SOMJfAV4NrXvkrHltkCi12Ngr0YyK9cW3R3hfkr
tb2/BZCLdeavVJr/FkAuVpt/9U7eS3H+FZrznVXnhVKK4QbLRZWKXfa2Lg6h
q4GLl/gOERPEJiV7SJ3j1sXZgIt5S3v1Qtqr31+0qDJSisdQG7y9zCayTIsZ
clikMbWnniWZsqK7jn/CHEHyMelzMs2nB+pY+LIgEAzLlkZjjNjyfB1exIgZ
TxJHOWDPPM41CI3jwg4Slp6am7rJEUeOcd10CrIa2BbwmGSCyTWSTj+lRKUp
Gh0KE77j5+QH3lOqlBzWEw19/+xrficWBLNR52JTkP1KHRlQnUYk5w2SCQd5
cgamU/zH7j53BqGq7MkEvdnkTZUaD3NWUE36lS1p9IJL/WLj4o1teKEMqnjd
cGl3rQJXaL0t7R0sQ9I3AqvOSMIMu665ofaNys6xm/alphAyWeCohsu4UG5s
tw1uc0mv0tYOI6nYgMhljTTil84iySeEJCegc1xemuZksU3+NTGYCir62Lu6
u5wuaZemyiI5LjmcMFq92liTxKM0cWIJMVlRn7naCN2HTiAotViWKC5EKyCk
fWnbIJ4iNjBo/c6wbwHijzS3YOlVW4lXCiRaGufa1GTfrUub7RfBdLicuS9F
sxlMCsedSZvn8PiatuBH4WCZBrKhH1M6/YXVCDlzOc9gJt1He4Ou8fNz+fyL
QRGny7U9teBg8DvGRzxze0Qc/HnGKRuFuzqgPv1YxeZZzHbB1Tm8gWcvOS/G
VTfQSNyANKnh0fiF0QkH2ttcb7j6fr326BpZYIV9zvz0Srn5RWiahg6xYpdp
p2+LUbI5YvDiyjdwIhzfqluixJIQ1HRnryc1rDmZEFsbLJLQLr8EjCozrBn7
FsMqpkk+hJvz8m13TXomkFrJCXDKf62mzVG87zq7GukL0612T/Zb28/WKsRu
KY3LmR9sWUg1tJBChDkeHHZ7voHZES28uISbztwwWmez1dloPXvW6nZbz5+2
nj7mZzfrnt181lp/1Xq63nq23Xq80epu87Nbdc9uPW892WrtPm/trbce77ae
bN6DME+A84sRuBjFwItWzUb8gNMAssK/m00UlNbqSDYRUzpq71psuXRaJ0mL
nWh1Y/uHKsR4Hl61SXiFXj3MDuk4BJXdYGw+dhtF65/0EnJsLnYV7A2NmxEt
17/PWJ8TCRpedmQSFONMe+IeSOWYbfp6zbHI3tQQNs3W5rqNfp1IxFi578d/
OOwiqtqSx7NxjJnyH8vo4LDzu5OuWJTVe4LCy1yMDiA1Yg0tygUx1GPNY47K
uoUYJM51fRH98ZfRw63nT7Z2n++tP959svnwj39icJFloFyiEflTy7AlZOBJ
6+Km9A6NmqJsNd3SfyTjosTaxhRuhy/GcMYTtoMtLVYpLavczdNgEdtNar6B
idUWQWz/n1J3Hquu0FYV7k7pqZWmpJARTP3bgIl8QHs1E4P8B6hocFZPMnix
Ms1UN2DGV7BEmSeckDj9EH369KkDhHQMBAfrnI/HyfQink++YCwbLHzENWU5
qF4lGeLZKcUQzkYmYhueRFLJ0L+L834WHadYskM8dpS4RSIPJ8Io17by6Znw
IYZsd5TDwaZwEp1J8S//pygMQDHfTFRpgJnNTP0yib+x9QbGUtdrgjK3LU/v
z9rAnC4OWnHLjZCsOmW96QKL+NlwfakB9BoFCXivO8e0PEyBmyTELA5zLB83
YX8YpTYfzJJpD67+JFqFb6hQXZ4wEmNNio31jfXnW+vbTzTN53I8v7xs/D92
4iYPvxIBAA==

-->

</rfc>
