<?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-rfc2629 version 1.5.6 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc tocdepth="3"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ingles-eap-edhoc-02" category="std" consensus="true" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" tocDepth="3" version="3">
  <!-- xml2rfc v2v3 conversion 3.10.0 -->
  <front>
    <title abbrev="EAP-EDHOC">Using the Extensible Authentication Protocol with Ephemeral Diffie-Hellman over COSE (EDHOC)</title>
    <seriesInfo name="Internet-Draft" value="draft-ingles-eap-edhoc-02"/>
    <author initials="E." surname="Ingles-Sanchez" fullname="Eduardo Ingles-Sanchez">
      <organization abbrev="University of Murcia">University of Murcia</organization>
      <address>
        <postal>
          <street>Murcia  30100</street>
          <country>Spain</country>
        </postal>
        <email>eduardo.ingles@um.es</email>
      </address>
    </author>
    <author initials="D." surname="Garcia-Carrillo" fullname="Dan Garcia-Carrillo">
      <organization abbrev="University of Oviedo">University of Oviedo</organization>
      <address>
        <postal>
          <street>Gijon, Asturias  33203</street>
          <country>Spain</country>
        </postal>
        <email>garciadan@uniovi.es</email>
      </address>
    </author>
    <author initials="R." surname="Marin-Lopez" fullname="Rafael Marin-Lopez">
      <organization abbrev="University of Murcia">University of Murcia</organization>
      <address>
        <postal>
          <street>Murcia  30100</street>
          <country>Spain</country>
        </postal>
        <email>rafa@um.es</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization abbrev="Ericsson">Ericsson</organization>
      <address>
        <postal>
          <street>SE-164 80 Stockholm</street>
          <country>Sweden</country>
        </postal>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J" surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization abbrev="Ericsson">Ericsson</organization>
      <address>
        <postal>
          <street>SE-164 80 Stockholm</street>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <date year="2022" month="July" day="11"/>
    <area>SEC</area>
    <workgroup>EMU Working Group</workgroup>
    <abstract>
      <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods.
This document specifies the use of EAP-EDHOC with Ephemeral Diffie-Hellman Over COSE (EDHOC).
EDHOC provides a lightweight authenticated Diffie-Hellman key exchange with ephemeral keys, using COSE (RFC 8152) to provide security services efficiently encoded in CBOR (RFC 8949).
This document also provides guidance on authentication and authorization for EAP-EDHOC.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The Extensible Authentication Protocol (EAP), defined in <xref target="RFC3748" format="default"/>, provides a standard mechanism for support of multiple authentication methods.
This document specifies the EAP authentication method EAP-EDHOC which uses COSE defined credential-based mutual authentication, utilising the EDHOC protocol cipher suite negotiation and establishment of shared secret keying material.
Ephemeral Diffie-Hellman Over COSE (EDHOC, <xref target="I-D.ietf-lake-edhoc" format="default"/>) is a very compact and lightweight authenticated key exchange protocol designed for highly constrained settings.
The main objective for EDHOC is to be a matching security handshake protocol to OSCORE <xref target="RFC8613" format="default"/>, i.e., to provide authentication and session key establishment for IoT use cases such as those built on CoAP <xref target="RFC7252" format="default"/> involving 'things' with embedded microcontrollers, sensors, and actuators.
 EDHOC reuses the same lightweight primitives as OSCORE, CBOR <xref target="RFC8949" format="default"/> and COSE <xref target="RFC8152" format="default"/>, and specifies the use of CoAP but is not bound to a particular transport.
The EAP-EDHOC method will enable the integration of EDHOC in different applications and use cases making use of the EAP framework.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" toc="default">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL</bcp14>
NOT", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="overview" numbered="true" toc="default">
      <name>Protocol Overview</name>
      <section anchor="overview-of-the-eap-edhoc-conversation" numbered="true" toc="default">
        <name>Overview of the EAP-EDHOC Conversation</name>
        <t>The EDHOC protocol running between an Initiator and a Responder consists of three mandatory messages (message_1, message_2, message_3), an optional message_4, and an error message. EAP-EDHOC uses all messages in the exchange, and message_4 is mandatory, as alternate success indication.</t>
        <t>After receiving an EAP-Request packet with EAP-Type=EAP-EDHOC as described in this document, the conversation will continue with the EDHOC protocol encapsulated in the data fields of EAP-Response and EAP-Request packets. When EAP-EDHOC is used, the formatting and processing of the EDHOC message <bcp14>SHALL</bcp14> be done as specified in <xref target="I-D.ietf-lake-edhoc" format="default"/>. This document only lists additional and different requirements, restrictions, and processing compared to <xref target="I-D.ietf-lake-edhoc" format="default"/>.</t>
        <section anchor="authentication" numbered="true" toc="default">
          <name>Authentication</name>
          <t>EAP-EDHOC authentication credentials can be of any type supported by COSE and be transported or referenced by EDHOC.</t>
          <t>EAP-EDHOC provides forward secrecy by exchange of ephemeral Diffie-Hellman public keys in message_1 and message_2.</t>
          <t>The optimization combining the execution of EDHOC with the first subsequent OSCORE transaction specified in <xref target="I-D.ietf-core-oscore-edhoc" format="default"/> is not supported in this EAP method.</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
[Editor's note: making EAP-EDHOC a tunnelled 
 EAP method may be considered in the future.]
]]></artwork>
          <t>Figure 1 shows an example message flow for a successful EAP-EDHOC.</t>
          <figure anchor="message-flow">
            <name>EAP-EDHOC Mutual Authentication</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |                                                       |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC Start)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                 (EDHOC message_2)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3)                                   |
    | ----------------------------------------------------> |
    |                                                       |
    |                                         EAP-Request/  |
    |                                   EAP-Type=EAP-EDHOC  |
    |                                    (EDHOC message_4)  |
    | <---------------------------------------------------  |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |  ---------------------------------------------------> |
    |                                        EAP-Success    |
    | <---------------------------------------------------  |
    +                                                       +
]]></artwork>
          </figure>
        </section>
        <section anchor="transport-and-message-correlation" numbered="true" toc="default">
          <name>Transport and Message Correlation</name>
          <t>EDHOC is not bound to a particular transport layer and can even be used in environments without IP. Nonetheless, EDHOC specification has a set of requirements for its transport protocol <xref target="I-D.ietf-lake-edhoc" format="default"/>. These include handling message loss, reordering, duplication, fragmentation, demultiplex EDHOC messages from other types of messages, denial-of-service protection, and message correlation. All these requirements are fulfilled either by the EAP protocol, EAP method or EAP lower layer, as specified in <xref target="RFC3748" format="default"/>.</t>
          <t>For message loss, this can be either fulfilled by the EAP protocol or the EAP lower layer, as retransmissions can occur both in the lower layer and the EAP layer when EAP is run over a reliable lower layer. In other words, the EAP layer will do the retransmissions if the EAP lower layer cannot do it.</t>
          <t>For reordering, EAP is reliant on the EAP lower layer ordering guarantees for correct operation.</t>
          <t>For duplication and message correlation, EAP has the Identifier field, which provides both the peer and authenticator with the ability to detect duplicates and match a request with a response.</t>
          <t>Fragmentation is defined by this EAP method, see <xref target="fragmentation" format="default"/>. The EAP framework <xref target="RFC3748" format="default"/> specifies that EAP methods need to provide fragmentation and reassembly if EAP packets can exceed the minimum MTU of 1020 octets.</t>
          <t>To demultiplex EDHOC messages from other types of messages, EAP provides the Code field.</t>
          <t>This method does not provide other mitigation against denial-of-service than EAP <xref target="RFC3748" format="default"/>.</t>
        </section>
        <section anchor="termination" numbered="true" toc="default">
          <name>Termination</name>
          <t>If the EAP-EDHOC peer authenticates successfully, the EAP-EDHOC server <bcp14>MUST</bcp14> send an EAP-Request packet with EAP-Type=EAP-EDHOC containing message_4 as a protected success indication.</t>
          <t>If the EAP-EDHOC server authenticates successfully, the EAP-EDHOC peer <bcp14>MUST</bcp14> send an EAP-Response message with EAP-Type=EAP-EDHOC containing no data. Finally, the EAP-EDHOC server sends an EAP-Success.</t>
          <t><xref target="message1-reject" format="default"/>, <xref target="message2-reject" format="default"/> and <xref target="message3-reject" format="default"/> illustrate message flows in several cases where the EAP-EDHOC peer or EAP-EDHOC server sends an EDHOC error message.</t>
          <t><xref target="message1-reject" format="default"/> shows an example message flow where the EAP-EDHOC server rejects message_1 with an EDHOC error message.</t>
          <figure anchor="message1-reject">
            <name>EAP-EDHOC Server rejection of message_1</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |                                                       |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC Start)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                   (EDHOC error)       |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    | ----------------------------------------------------> |
    |                                                       |
    |                                        EAP-Failure    |
    | <---------------------------------------------------- |
    |                                                       |
]]></artwork>
          </figure>
          <t><xref target="message2-reject" format="default"/> shows an example message flow where the EAP-EDHOC server authentication is unsuccessful and the EAP-EDHOC peer sends an EDHOC error message.</t>
          <figure anchor="message2-reject">
            <name>EAP-EDHOC Peer rejection of message_2</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |                                                       |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC Start)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                 (EDHOC message_2)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC error)                                       |
    | ----------------------------------------------------> |
    |                                        EAP-Failure    |
    | <---------------------------------------------------- |
]]></artwork>
          </figure>
          <t><xref target="message3-reject" format="default"/> shows an example message flow where the EAP-EDHOC server authenticates to the EAP-EDHOC peer successfully, but the EAP-EDHOC peer fails to authenticate to the EAP-EDHOC server and the server sends an EDHOC error message.</t>
          <figure anchor="message3-reject">
            <name>EAP-EDHOC Server rejection of message_3</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |                                                       |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC Start)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                 (EDHOC message_2)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC error)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    | ----------------------------------------------------> |
    |                                                       |
    |                                        EAP-Failure    |
    | <---------------------------------------------------- |
    |                                                       |
]]></artwork>
          </figure>
          <t><xref target="message3-reject" format="default"/> shows an example message flow where the EAP-EDHOC server sends the EDHOC message_4 to the EAP peer, but the success indication fails, and the peer sends an EDHOC error message.</t>
          <figure anchor="message4-reject">
            <name>EAP-EDHOC Peer rejection of message_4</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |                                                       |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                     (EDHOC Start)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                 (EDHOC message_2)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3)                                   |
    | ----------------------------------------------------> |
    |                                         EAP-Request/  |
    |                                   EAP-Type=EAP-EDHOC  |
    |                                    (EDHOC message_4)  |
    | <---------------------------------------------------  |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC error)                                       |
    | ----------------------------------------------------> |
    |                                        EAP-Failure    |
    | <---------------------------------------------------- |
    |                                                       |
]]></artwork>
          </figure>
        </section>
        <section anchor="identity" numbered="true" toc="default">
          <name>Identity</name>
          <t>It is <bcp14>RECOMMENDED</bcp14> to use anonymous NAIs <xref target="RFC7542" format="default"/> in the Identity Response as such identities are routable and privacy-friendly.</t>
          <t>While opaque blobs are allowed by <xref target="RFC3748" format="default"/>, such identities are <bcp14>NOT RECOMMENDED</bcp14> as they are not routable and should only be considered in local deployments where the EAP-EDHOC peer, EAP authenticator, and EAP-EDHOC server all belong to the same network.</t>
          <t>Many client certificates contain an identity such as an email address, which is already in NAI format. When the client certificate contains an NAI as subject name or alternative subject name, an anonymous NAI <bcp14>SHOULD</bcp14> be derived from the NAI in the certificate; See section <xref target="privacy" format="default"/>.</t>
        </section>
        <section anchor="privacy" numbered="true" toc="default">
          <name>Privacy</name>
          <t>EAP-EDHOC peer and server implementations supporting EAP-EDHOC <bcp14>MUST</bcp14> support anonymous Network Access Identifiers (NAIs) (Section 2.4 of <xref target="RFC7542" format="default"/>).
A client supporting EAP-EDHOC <bcp14>MUST NOT</bcp14> send its username (or any other permanent identifiers) in cleartext in the Identity Response (or any message used instead of the Identity Response). Following <xref target="RFC7542" format="default"/>, it is <bcp14>RECOMMENDED</bcp14> to omit the username (i.e., the NAI is @realm), but other constructions such as a fixed username (e.g., anonymous@realm) or an encrypted username (e.g., xCZINCPTK5+7y81CrSYbPg+RKPE3OTrYLn4AQc4AC2U=@realm) are allowed. Note that the NAI <bcp14>MUST</bcp14> be a UTF-8 string as defined by the grammar in Section 2.2 of <xref target="RFC7542" format="default"/>.</t>
          <t>EAP-EDHOC  is always used with privacy. This does not add any extra round trips and the message flow with privacy is just the normal message flow as shown in <xref target="message-flow" format="default"/>.</t>
        </section>
        <section anchor="fragmentation" numbered="true" toc="default">
          <name>Fragmentation</name>
          <t>EAP-EDHOC fragmentation support is provided through addition of a flags octet within the EAP-Response and EAP-Request packets, as well as a (conditional) EAP-EDHOC Message Length field of four octets.
 To do so, the EAP request and response messages of EAP-EDHOC have a set of information fields that allow for the specification of the fragmentation process (See section <xref target="detailed-description" format="default"/> for the detailed description). Of these fields, we will highlight the one that contains the flag octet, which is used to steer the fragmentation process. If the L bit is set, we are specifying that the next message will be fragmented and that in such a message we can also find the length of the message.</t>
          <t>Implementations <bcp14>MUST NOT</bcp14> set the L bit in unfragmented messages, but they <bcp14>MUST</bcp14> accept unfragmented messages with and without the L bit set.
Some EAP implementations and access networks may limit the number of EAP packet exchanges that can be handled.
To avoid fragmentation, it is <bcp14>RECOMMENDED</bcp14> to keep the sizes of EAP-EDHOC peer, EAP-EDHOC server, and trust anchor authentication credentials small and the length of the certificate chains short.
In addition, it is <bcp14>RECOMMENDED</bcp14> to use mechanisms that reduce the sizes of Certificate messages.</t>
          <t>EDHOC is designed to perform well in constrained networks where message sizes are restricted for performance reasons. However, except for message_2, which by construction has an upper bound limited by a multiple of the hash function output, there are no specific message size limitations. With SHA-256 as hash function, message_2 cannot be longer than 8160 octets. The other three EAP-EDHOC messages do not have an upper bound. Furthermore, in the case of sending a certificate in a message instead of a reference, a certificate may in principle be as long as 16 MB.
Hence, the EAP-EDHOC messages sent in a single round may thus be larger than the MTU size or the maximum Remote Authentication Dail-In User Service (RADIUS) packet size of 4096 octets.  As a result, an EAP-EDHOC implementation <bcp14>MUST</bcp14> provide its own support for fragmentation and reassembly.</t>
          <t>Since EAP is a simple ACK-NAK protocol, fragmentation support can be
   added in a simple manner. In EAP, fragments that are lost or damaged
   in transit will be retransmitted, and since sequencing information is
   provided by the Identifier field in EAP, there is no need for a
   fragment offset field as is provided in IPv4
   EAP-EDHOC fragmentation support is provided through the addition of a flags
   octet within the EAP-Response and EAP-Request packets, as well as a
   EDHOC Message Length field of four octets.  Flags include the Length
   included (L), More fragments (M), and EAP-EDHOC Start (S) bits.  The L
   flag is set to indicate the presence of the four-octet EDHOC Message
   Length field, and <bcp14>MUST</bcp14> be set for the first fragment of a fragmented
   EDHOC message or set of messages.  The M flag is set on all but the
   last fragment.  The S flag is set only within the EAP-EDHOC start
   message sent from the EAP server to the peer.  The EDHOC Message Length
   field is four octets, and provides the total length of the EDHOC
   message or set of messages that is being fragmented; this simplifies
   buffer allocation.</t>
          <t>When an EAP-EDHOC peer receives an EAP-Request packet with the M bit
   set, it <bcp14>MUST</bcp14> respond with an EAP-Response with EAP-Type=EAP-EDHOC and
   no data.  This serves as a fragment ACK.  The EAP server <bcp14>MUST</bcp14> wait
   until it receives the EAP-Response before sending another fragment.
   In order to prevent errors in the processing of fragments, the EAP server
   <bcp14>MUST</bcp14> increment the Identifier field for each fragment contained
   within an EAP-Request, and the peer <bcp14>MUST</bcp14> include this Identifier
   value in the fragment ACK contained within the EAP-Response.
   Retransmitted fragments will contain the same Identifier value.</t>
          <t>Similarly, when the EAP server receives an EAP-Response with the M
   bit set, it <bcp14>MUST</bcp14> respond with an EAP-Request with EAP-Type=EAP-EDHOC
   and no data.  This serves as a fragment ACK.  The EAP peer <bcp14>MUST</bcp14> wait
   until it receives the EAP-Request before sending another fragment.
   In order to prevent errors in the processing of fragments, the EAP
   server <bcp14>MUST</bcp14> increment the Identifier value for each fragment ACK
   contained within an EAP-Request, and the peer <bcp14>MUST</bcp14> include this
   Identifier value in the subsequent fragment contained within an EAP-
   Response.</t>
          <t>In the case where the EAP-EDHOC mutual authentication is successful,
   and fragmentation is required, the conversation will appear as
   follows:</t>
          <figure>
            <name>Fragmentation example of EAP-EDHOC Authentication</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
EAP-EDHOC Peer                                   EAP-EDHOC Server

    |                           EAP-Request/Identity        |
    | <---------------------------------------------------- |
    |   EAP-Response/Identity (Privacy-Friendly)            |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                          (EDHOC Start, S bit set)     |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_1)                                   |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                 (EDHOC message_2,     |
    |                          Fragment 1: L,M bits set)    |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                           (Fragment 2: M bits set)    |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    | ----------------------------------------------------> |
    |                                      EAP-Request/     |
    |                                EAP-Type=EAP-EDHOC     |
    |                                       (Fragment 3)    |
    | <---------------------------------------------------- |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3,                                   |
    |    Fragment 1: L,M bits set)                          |
    | ----------------------------------------------------> |
    |                                   EAP-Request/        |
    |                                   EAP-Type=EAP-EDHOC  |
    | <---------------------------------------------------  |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3,                                   |
    |    Fragment 2: M bits set)                            |
    | ----------------------------------------------------> |
    |                                   EAP-Request/        |
    |                                   EAP-Type=EAP-EDHOC  |
    | <---------------------------------------------------  |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |   (EDHOC message_3,                                   |
    |    Fragment 3)                                        |
    | ----------------------------------------------------> |
    |                                         EAP-Request/  |
    |                                   EAP-Type=EAP-EDHOC  |
    |                                    (EDHOC message_4)  |
    | <---------------------------------------------------  |
    |   EAP-Response/                                       |
    |   EAP-Type=EAP-EDHOC                                  |
    |  ---------------------------------------------------> |
    |                                        EAP-Success    |
    | <---------------------------------------------------  |
    +                                                       +
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="identity-verification" numbered="true" toc="default">
        <name>Identity Verification</name>
        <t>The EAP peer identity provided in the EAP-Response/Identity is not authenticated by EAP-EDHOC. Unauthenticated information <bcp14>MUST NOT</bcp14> be used for accounting purposes or to give authorization. The authenticator and the EAP-EDHOC server <bcp14>MAY</bcp14> examine the identity presented in EAP-Response/Identity for purposes such as routing and EAP method selection. EAP-EDHOC servers <bcp14>MAY</bcp14> reject conversations if the identity does not match their policy.</t>
        <t>The EAP server identity in the EDHOC server certificate is typically a fully qualified domain name (FQDN) in the SubjectAltName (SAN) extension. Since EAP-EDHOC deployments may use more than one EAP server, each with a different certificate, EAP peer implementations <bcp14>SHOULD</bcp14> allow for the configuration of one or more trusted root certificates (CA certificate) to authenticate the server certificate and one or more server names to match against the SubjectAltName (SAN) extension in the server certificate. If any of the configured names match any of the names in the SAN extension, then the name check passes. To simplify name matching, an EAP-EDHOC deployment can assign a name to represent an authorized EAP server and EAP Server certificates can include this name in the list of SANs for each certificate that represents an EAP-EDHOC server. If server name matching is not used, then it degrades the confidence that the EAP server with which it is interacting is authoritative for the given network. If name matching is not used with a public root CA, then effectively any server can obtain a certificate that will be trusted for EAP authentication by the peer.</t>
        <t>The process of configuring a root CA certificate and a server name is non-trivial; therefore, automated methods of provisioning are <bcp14>RECOMMENDED</bcp14>. For example, the eduroam federation <xref target="RFC7593" format="default"/> provides a Configuration Assistant Tool (CAT) to automate the configuration process. In the absence of a trusted root CA certificate (user-configured or system-wide), EAP peers <bcp14>MAY</bcp14> implement a trust on first use (TOFU) mechanism where the peer trusts and stores the server certificate during the first connection attempt. The EAP peer ensures that the server presents the same stored certificate on subsequent interactions. The use of a TOFU mechanism does not allow for the server certificate to change without out-of-band validation of the certificate and is therefore not suitable for many deployments including ones where multiple EAP servers are deployed for high availability. TOFU mechanisms increase the susceptibility to traffic interception attacks and should only be used if there are adequate controls in place to mitigate this risk.</t>
      </section>
      <section anchor="key-hierarchy" numbered="true" toc="default">
        <name>Key Hierarchy</name>
        <t>The key schedule for EDHOC is described in Section 4 of <xref target="I-D.ietf-lake-edhoc" format="default"/>. The Key_Material and Method-Id <bcp14>SHALL</bcp14> be derived from the PRK_exporter using the EDHOC-Exporter interface, see Section 4.2.1 of <xref target="I-D.ietf-lake-edhoc" format="default"/>.</t>
        <t>Type is the value of the EAP Type field defined in Section 2 of <xref target="RFC3748" format="default"/>. For EAP-EDHOC, the Type field has the value TBD1.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Type        =  TBD1
MSK         =  EDHOC-Exporter(TBD2 ,<< Type >>, 64)
EMSK        =  EDHOC-Exporter(TBD3 ,<< Type >>, 64)
Method-Id   =  EDHOC-Exporter(TBD4, << Type >>, 64)
Session-Id  =  Type || Method-Id
]]></artwork>
        <t>EAP-EDHOC exports the MSK and the EMSK and does not specify how it is used by lower layers.</t>
      </section>
      <section anchor="parameter-negotiation-and-compliance-requirements" numbered="true" toc="default">
        <name>Parameter Negotiation and Compliance Requirements</name>
        <t>The EAP-EDHOC peers and EAP-EDHOC servers <bcp14>MUST</bcp14> comply with the compliance requirements (mandatory-to-implement cipher suites, signature algorithms, key exchange algorithms, extensions, etc.) defined in Section 7  of <xref target="I-D.ietf-lake-edhoc" format="default"/>.</t>
      </section>
      <section anchor="eap-state-machines" numbered="true" toc="default">
        <name>EAP State Machines</name>
        <t>The EAP-EDHOC server sends message_4 in an EAP-Request as a protected success result indication.</t>
        <t>EDHOC error messages <bcp14>SHOULD</bcp14> be considered failure result indication, as defined in <xref target="RFC3748" format="default"/>.
After sending or receiving an EDHOC error message, the EAP-EDHOC server may only send an EAP-Failure. EDHOC error messages are unprotected.</t>
        <t>The keying material can be derived after the EDHOC message_2 has
been sent or received. Implementations following <xref target="RFC4137" format="default"/> can then
set the eapKeyData and aaaEapKeyData variables.</t>
        <t>The keying material can be made available to lower layers and the
authenticator after the authenticated success result indication has
been sent or received (message_4). Implementations following <xref target="RFC4137" format="default"/> can set the eapKeyAvailable and aaaEapKeyAvailable variables.</t>
      </section>
    </section>
    <section anchor="detailed-description" numbered="true" toc="default">
      <name>Detailed Description of the EAP-EDHOC Protocol</name>
      <section anchor="eap-edhoc-request-packet" numbered="true" toc="default">
        <name>EAP-EDHOC Request Packet</name>
        <t>A summary of the EAP-EDHOC Request packet format is shown below.  The
   fields are transmitted from left to right.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Code      |   Identifier  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Flags     |      EDHOC Message Length
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   EDHOC Message Length        |       EDHOC Data...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Code</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  1
]]></artwork>
        <t>Identifier</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The Identifier field is one octet and aids in matching responses
  with requests.  The Identifier field MUST be changed on each
  Request packet.
]]></artwork>
        <t>Length</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The Length field is two octets and indicates the length of the EAP
  packet including the Code, Identifier, Length, Type, and Data
  fields.  Octets outside the range of the Length field should be
  treated as Data Link Layer padding and MUST be ignored on
  reception.
]]></artwork>
        <t>Type</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  TBD1 -- EAP-EDHOC
]]></artwork>
        <t>Flags</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  0 1 2 3 4 5 6 7 8
  +-+-+-+-+-+-+-+-+
  |L M S R R R R R|
  +-+-+-+-+-+-+-+-+

  L = Length included
  M = More fragments
  S = EAP-EDHOC start
  R = Reserved

  The L bit (length included) is set to indicate the presence of the
  four-octet EDHOC Message Length field and MUST be set for the first
  fragment of a fragmented EDHOC message or set of messages.  The M
  bit (more fragments) is set on all but the last fragment.  The S
  bit (EAP-EDHOC start) is set in an EAP-EDHOC Start message.  This
  differentiates the EAP-EDHOC Start message from a fragment
  acknowledgement.  Implementations of this specification MUST set
  the reserved bits to zero and MUST ignore them on reception.
]]></artwork>
        <t>EDHOC Message Length</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The EDHOC Message Length field is four octets and is present only
  if the L bit is set.  This field provides the total length of the
  EDHOC message or set of messages that is being fragmented.
]]></artwork>
        <t>EDHOC data</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The EDHOC data consists of the encapsulated EDHOC packet in EDHOC
  message format.
]]></artwork>
      </section>
      <section anchor="eap-edhoc-response-packet" numbered="true" toc="default">
        <name>EAP-EDHOC Response Packet</name>
        <t>A summary of the EAP-EDHOC Response packet format is shown below.
The fields are transmitted from left to right.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Code      |   Identifier  |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Flags     |      EDHOC Message Length
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   EDHOC Message Length        |       EDHOC Data...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <t>Code</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  2
]]></artwork>
        <t>Identifier</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The Identifier field is one octet and MUST match the Identifier
  field from the corresponding request.
]]></artwork>
        <t>Length</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The Length field is two octets and indicates the length of the EAP
  packet including the Code, Identifier, Length, Type, and Data
  fields.  Octets outside the range of the Length field should be
  treated as Data Link Layer padding and MUST be ignored on
  reception.
]]></artwork>
        <t>Type</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  TBD1 -- EAP-EDHOC
]]></artwork>
        <t>Flags</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  0 1 2 3 4 5 6 7 8
  +-+-+-+-+-+-+-+-+
  |L M R R R R R R|
  +-+-+-+-+-+-+-+-+

  L = Length included
  M = More fragments
  R = Reserved

  The L bit (length included) is set to indicate the presence of the
  four-octet EDHOC Message Length field, 
  and MUST be set for the first
  fragment of a fragmented EDHOC message or set of messages.  The M
  bit (more fragments) is set on all but the last fragment.
  Implementations of this specification MUST set the reserved bits
  to zero and MUST ignore them on reception.
]]></artwork>
        <t>EDHOC Message Length</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The EDHOC Message Length field is four octets and is present only
  if the L bit is set.  This field provides the total length of the
  EDHOC message or set of messages that is being fragmented.
]]></artwork>
        <t>EDHOC data</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
  The EDHOC data consists of the encapsulated EDHOC message.
]]></artwork>
      </section>
    </section>
    <section anchor="iana" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="eap-type" numbered="true" toc="default">
        <name>EAP Type</name>
        <t>IANA has allocated EAP Type TBD1 for method EAP-EDHOC. The allocation has been updated to reference this document.</t>
      </section>
      <section anchor="edhoc-exporter-label-registry" numbered="true" toc="default">
        <name>EDHOC Exporter Label Registry</name>
        <t>IANA has registered the following new labels in the "EDHOC Exporter Label" registry under the group name "Ephemeral Diffie-Hellman Over COSE (EDHOC)":</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Label: TBD2
Description: MSK of EAP method EAP-EDHOC
]]></artwork>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Label: TBD3
Description: EMSK of EAP method EAP-EDHOC
]]></artwork>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Label: TBD4
Description: Method-Id of EAP method EAP-EDHOC
]]></artwork>
        <t>The allocations have been updated to reference this document.</t>
      </section>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <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="RFC3748" target="https://www.rfc-editor.org/info/rfc3748">
          <front>
            <title>Extensible Authentication Protocol (EAP)</title>
            <author initials="B." surname="Aboba" fullname="B. Aboba">
              <organization/>
            </author>
            <author initials="L." surname="Blunk" fullname="L. Blunk">
              <organization/>
            </author>
            <author initials="J." surname="Vollbrecht" fullname="J. Vollbrecht">
              <organization/>
            </author>
            <author initials="J." surname="Carlson" fullname="J. Carlson">
              <organization/>
            </author>
            <author initials="H." surname="Levkowetz" fullname="H. Levkowetz" role="editor">
              <organization/>
            </author>
            <date year="2004" month="June"/>
            <abstract>
              <t>This document defines the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication methods.  EAP typically runs directly over data link layers such as Point-to-Point Protocol (PPP) or IEEE 802, without requiring IP.  EAP provides its own support for duplicate elimination and retransmission, but is reliant on lower layer ordering guarantees.  Fragmentation is not supported within EAP itself; however, individual EAP methods may support this.  This document obsoletes RFC 2284.  A summary of the changes between this document and RFC 2284 is available in Appendix A.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3748"/>
          <seriesInfo name="DOI" value="10.17487/RFC3748"/>
        </reference>
        <reference anchor="RFC4137" target="https://www.rfc-editor.org/info/rfc4137" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4137.xml">
          <front>
            <title>State Machines for Extensible Authentication Protocol (EAP) Peer and Authenticator</title>
            <author initials="J." surname="Vollbrecht" fullname="J. Vollbrecht">
              <organization/>
            </author>
            <author initials="P." surname="Eronen" fullname="P. Eronen">
              <organization/>
            </author>
            <author initials="N." surname="Petroni" fullname="N. Petroni">
              <organization/>
            </author>
            <author initials="Y." surname="Ohba" fullname="Y. Ohba">
              <organization/>
            </author>
            <date year="2005" month="August"/>
            <abstract>
              <t>This document describes a set of state machines for Extensible Authentication Protocol (EAP) peer, EAP stand-alone authenticator (non-pass-through), EAP backend authenticator (for use on Authentication, Authorization, and Accounting (AAA) servers), and EAP full authenticator (for both local and pass-through).  This set of state machines shows how EAP can be implemented to support deployment in either a peer/authenticator or peer/authenticator/AAA Server environment.  The peer and stand-alone authenticator machines are illustrative of how the EAP protocol defined in RFC 3748 may be implemented.  The backend and full/pass-through authenticators illustrate how EAP/AAA protocol support defined in RFC 3579 may be implemented.  Where there are differences, RFC 3748 and RFC 3579 are authoritative.</t>
              <t>The state machines are based on the EAP "Switch" model.  This model includes events and actions for the interaction between the EAP Switch and EAP methods.  A brief description of the EAP "Switch" model is given in the Introduction section.</t>
              <t>The state machine and associated model are informative only. Implementations may achieve the same results using different methods.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4137"/>
          <seriesInfo name="DOI" value="10.17487/RFC4137"/>
        </reference>
        <reference anchor="RFC7542" target="https://www.rfc-editor.org/info/rfc7542" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7542.xml">
          <front>
            <title>The Network Access Identifier</title>
            <author initials="A." surname="DeKok" fullname="A. DeKok">
              <organization/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t>In order to provide inter-domain authentication services, it is necessary to have a standardized method that domains can use to identify each other's users.  This document defines the syntax for the Network Access Identifier (NAI), the user identifier submitted by the client prior to accessing resources.  This document is a revised version of RFC 4282.  It addresses issues with international character sets and makes a number of other corrections to RFC 4282.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7542"/>
          <seriesInfo name="DOI" value="10.17487/RFC7542"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <date year="2017" month="May"/>
            <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="I-D.ietf-lake-edhoc" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-edhoc.xml" target="https://www.ietf.org/archive/id/draft-ietf-lake-edhoc-14.txt">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Göran Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date month="May" day="18" year="2022"/>
            <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
   OSCORE security context.  By reusing COSE for cryptography, CBOR for
   encoding, and CoAP for transport, the additional code size can be
   kept very low.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-14"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby">
              <organization/>
            </author>
            <author initials="K." surname="Hartke" fullname="K. Hartke">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2014" month="June"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7593" target="https://www.rfc-editor.org/info/rfc7593" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7593.xml">
          <front>
            <title>The eduroam Architecture for Network Roaming</title>
            <author initials="K." surname="Wierenga" fullname="K. Wierenga">
              <organization/>
            </author>
            <author initials="S." surname="Winter" fullname="S. Winter">
              <organization/>
            </author>
            <author initials="T." surname="Wolniewicz" fullname="T. Wolniewicz">
              <organization/>
            </author>
            <date year="2015" month="September"/>
            <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="RFC8613" target="https://www.rfc-editor.org/info/rfc8613" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author initials="G." surname="Selander" fullname="G. Selander">
              <organization/>
            </author>
            <author initials="J." surname="Mattsson" fullname="J. Mattsson">
              <organization/>
            </author>
            <author initials="F." surname="Palombini" fullname="F. Palombini">
              <organization/>
            </author>
            <author initials="L." surname="Seitz" fullname="L. Seitz">
              <organization/>
            </author>
            <date year="2019" month="July"/>
            <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="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization/>
            </author>
            <date year="2020" month="December"/>
            <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="RFC8152" target="https://www.rfc-editor.org/info/rfc8152" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8152.xml">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author initials="J." surname="Schaad" fullname="J. Schaad">
              <organization/>
            </author>
            <date year="2017" month="July"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined 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>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8152"/>
          <seriesInfo name="DOI" value="10.17487/RFC8152"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-edhoc" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-oscore-edhoc.xml" target="https://www.ietf.org/archive/id/draft-ietf-core-oscore-edhoc-03.txt">
          <front>
            <title>Profiling EDHOC for CoAP and OSCORE</title>
            <author fullname="Francesca Palombini">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Marco Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Hoeglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Stefan Hristozov">
              <organization>Fraunhofer AISEC</organization>
            </author>
            <author fullname="Goeran Selander">
              <organization>Ericsson</organization>
            </author>
            <date month="March" day="7" year="2022"/>
            <abstract>
              <t>   The lightweight authenticated key exchange protocol EDHOC can be run
   over CoAP and used by two peers to establish an OSCORE Security
   Context.  This document further profiles this use of the EDHOC
   protocol, by specifying a number of additional and optional
   mechanisms.  These especially include an optimization approach for
   combining the execution of EDHOC with the first subsequent OSCORE
   transaction.  This combination reduces the number of round trips
   required to set up an OSCORE Security Context and to complete an
   OSCORE transaction using that Security Context.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-edhoc-03"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>Work on this document has in part been supported by the H2020 Projects IoTCrawler (grant agreement no. 779852) and INSPIRE-5Gplus (grant agreement no. 871808).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAMzjy2IAA+0923IbN5bv/Aqs/DDihORaF980SSqMJMcaS5ZGlDeVnZpK
gd0gibjZzemLZMbx/sruV+wH7PzYnguABppNSXZsz9glpmZMNRvAwbkDOOeg
3+93Sl0mak+8LHQ6FeVMicPXpUoLPU6UGFbwIC11JEudpeIsz8osyhJxpcuZ
OFzM1FzlMhEHejLRqv9MJclcpiK7VLnYPx0dis3Dg2en+91OnEWpnMMocS4n
ZR9GSlTRV3LRV/Esi/r3tztyPM7V5Z44HJ71qVWnoxf5nijzqii3799/gu/k
Su6J0eF+5yrLX03zrFpAg5OX4kf4E8H/AR91ANo9UZRxJ8rSAqZSFdSN6sCD
GF7bE1U56T/uLPSeuCcigLgqlJB5LpdiU0+ETBKxVEVXZLmYyWImZipXHSFg
7nv4A3wtsrzM1aRwfy/n/p/wZqwW5WxP7HQ6EpCY5XudvmAcHMaVzONMHDEW
RjKNZupX7KTK+Y2VX7IcgH6ZakBsoculyCbipMojLeE3i7g1PxcApwJ88AMh
du5v3b8Pz6OsSst8CehcSJ3CAzWXOtkTiqEbMI2+q+YDmJEF/QBw9YPEjvr7
gC+dJJkP9+pPLYCfXmoVZ2sBdz9bwH/Qv2RpTwyLssq1LGAGO9v3d66ZwZSg
iGX6XZXq7FL7EziXE6kScSJznfaPs0WI9/DxJ0Q6SIVsoPqHf/xvDtgeqUSm
scp9ML1nBONhrqOiyFIPLu+RhWV02N96uCse3xcjYM9XsyyZBxBdqVj5WMxg
+EFhhvpOmQ4HUTZ3MP45m6FSUNU//htwV5ZmRJ3qUssEpOHPPtirL3486H8B
yAZzM1IIfKeTZjn8BITb60ALcf50f3tr68me+b7zaPex/b67tfPIfn/0YHfb
fn+89WiXvh/1DwZagTZJ5CvFygw61ekkGAJbbz+g1tTRkx3z9fHDLff1ye4T
+3WL33WdR1mu+llB/9gxOp1+vw8YAwTJqOx0Lm6nuTdBv3Z7IlYTnaoYSIUD
CpxzTyxykJZYFUIC2oHsoAfEXEUzmepiLmBKQMvFAjQf8vq8Skq9gJFkONJc
gbaLiwEApAsBir+aw6+iWKhIg5EoyMSgvoU+nK6/waCcNg3KoMPNPIgTPZ2V
Vwr/3wcJ5tjo7JVaCvUaZzVVPK5y48JvRQ+gQ1vC4yF2kB5d0Ol2OFGoCHQR
yHyh8ksdwfgKhog0jJlA5ymYGcbt/ven56YPIG+3iRSQkayew7TSoLQiwEza
RCoQQ7AZ0b/yE6SGQ9+AmWGu4zgBK3cPDEiZZ3EV4au/gzXevDHy8Pbtp+QO
gKO9nc8wMx3NkI8KJpSFOspREaD66Y9lAQ/mVVkBZcP+gMalTnTt8lhuYkxE
GjgC56NLJVI1zaA/RwcFsx9D2xlBDnMtZuCXxMgUuSqRhbBXkH7QOjIBTr0t
V/cA3y365O3brtCIdXh9CRpvvgB5J0jWs3zA425aQDw9RSQhsWbQLMH+UtQg
hLtClSXATtRRMAPggGz8i4pQjzHDEZoAGJCFMdAWZxnNcLpOImDIGBDyyhsW
Xj4d7Z+eHzI/oc5DfgK7POj5UtXC80DeAr/TfAK8IzhH2QVpkkgiGxQVMIRE
Dsrg2bjSSYmStJ8BN9HAqILfvgW+vsySSwT6DyXCXvzBaIH5WMUot3Md5QA4
ilCSgHHvCXQiM/xCchgBQ5Xw56BjEAJ2rTCsW4ClC+iyyPVcIwILhI3x0GO9
wNgAvQBAYcfECvxwCyHl4VoVJ01qXJVIizQrxRjsYIy4lGIhc0BhlcgcfF6Z
FiiRTNBaeIw0XYGTBtpKolLAznVaqmnO2EftzNRORQx8Cx4wKqzFIjH0KQi6
Gv1zSR64AdCK8SQHhKCzDioK9NJ+ll4iiW3zA5RaTX+zmkJCw+txITZOXo4u
Nnr8r3hxSt/PD//y8uj88AC/j54Nj4/dl455Y/Ts9OXxQf2tbrl/enJy+OKA
G8NTETzqbJwMf9pglG+cnl0cnb4YHm/g7MtQZefKcD9iK1+AyAPLyKIDwhXl
esyK8/v9s//7n61doOa/Ge8CaMx/oOsAf1wBq/NoWQpiyH8C1pYdwLEC4kEv
uA6J5EKXYCd6yD7FLLtKaTUC6PzjXxEzf9sTX4+jxdbut+YBTjh4aHEWPCSc
rT5ZacxIbHnUMozDZvC8gekQ3uFPwd8W795DYhtnolBlwvrgSry5l5mvb+GF
e/UPNe8ZXieWywvpmcJQ2edVmiLnjhXIrEK9A+YTHViQcRZ4ca5AjNANJnWp
i7LgccA1Bb4HUwivLkGqikJOQRQ2zbeft3r24c/b9dedLhJeZAsECcyCfb5r
9EsqVJ7D2Ob5wJsM6RlkCzcWMahyyp67cD2ifnAAEgvJBLg2BSOB+hI8F+wh
NiINTDWcwM+g0CKlSUUCMDj6ufp7BfoXlEv0Cmwce2vw/GK5UN/U4EH/gRgE
okPsjQh05GAFhJpWp5XxxVqsMfhTclGARittr0rAjKQArZjEhXUkmUi4kE/j
FqCLgfgRhMxDJsAG+IwZLnbYS55zjIMjcvBPy1FGcxJmBUsLaIE4SxWJplHT
xm9qteMDEXo9JPkJsZOMY23YAYevNW4Ok9C5wvdBB+QwH1jLkMLsNQEl1wA9
EdBP6yAgeQJ5CX3ATsejYWiFa3+qoJ2SMal3mS5FCbS3Lh8MOl6yAUOg4CVn
e+CnDDmK5hPxi9ZprUd1ziXQ4Qo9S/KmoiW+7RwZGFitc6YWFfgGETnwSAEn
gYE8bA9YA6Doza0nDWgb69R6guo1eDKhBXR8OdE5sFNRjQvkLCCOcWtorpKo
spYPVpZw6Imw8a5xaEUGLSfbaAD4v9o/nb8eAstk+R+oE1heGwPsUVKUoNoA
P9Bzx+sT3lwiiUiXgVKrpWoCvjLYlr+tHbPzVE/hDbFFpqggXfVaztHRt5Ix
SbIr8s6k1TCTKgmWKus6ryE/U6CEbv7UDUag/VVOq3nx2w0tjFr49yPia3BZ
zec30/rr/nt8XOv3+9StfU1Wg7h5lutLGS37T3NYZMbJstvW+n0A//bdIPcR
2ID8xnYNY/EOremzaUhdgoPbDVr/XooFOL8dHhqtW6Z2y9abgV35eat7Q0u/
9ZdL7wZWtr9Yeu/8i9H7Gshv9wkZ5vat27D6DmM30Lrb/X3cslYj3xILH4hb
PgW9Ea6RWQqID4O1r247duPz1VrX4M2euGdo2ycHgw4tv9mokXrC23yhX7sB
y/USdx/6MtHT9JuNSOGifeOt8YIvrJNKXuKJ8WD2szxXiXWM7VLhFtssIpFL
xWtGdJXVpSJ/GRcZ6GGp9FLnWUquPDmVWVWKo7OBeAFrCAA7gfF7xuc0bqRx
wmeSdl0VbTf6KwJytDT8W8Pglk3XLEJUgdsXUVLFijbsEtqxNNNPsoJWGlkO
viH80BNx5XZ9erijM8WxzZ+xslu9r8MlEsCWZ3ORlbiTimsFWqjZH7Fhipu0
2aRvNtEJchVxt57XDn6qo8dADGHFWNIEAjzgtgz4mRNN3q7SNCqsHew+lMVK
z/eDeQsdJnwFLxPtei1LObcFPhDg/9brcoMoctjNysiMWwPSAgGOap81R84V
0XGuadeTu82iqIKpAB6tl+61Ijy53ujJlVnkIs/mlTmMl9B1ommjz2s9EEep
IRDtufWaXeHyPM7oaRM0PWmbBUKMggKNdDlgdPmcZOFCYGgB3NqJfV9MKwmD
lorXhcwIETRbqNxuWOAIHn+uYxweeiZ5F5X9aiBxznsIPXOc4FahhG58c6EM
kr1lcZbXS0I51gk66KATYoXc64BRvMNJO+SEf96MoJb4JxsUnIEvUIgde5RB
zBOsBnEnWgFLBjJoRDrcbvX5NthClqXXH2g1xfsFdg8+6JkmkCtZFGo+TpZI
c+Jk3k9hHfc6oh7wvAAW0fNqLk4uXqKkb93fvg/MW+LOC6y6s/fXFEZ6mDI4
0n6GkCLhaD2Pe1ws0HGmWFHb6XCfuAE/NTOaSp0CGVa1D6CG5caXeLtdcqFy
mJ4xCZ2j5h4jc4l3AlN4a99k2Wu8XtBqVdBubaF4y+8ddtlww0zyjkW90UcW
wmhQPMpp29xbgdsAcnvIaaItcJudNyt4t4A8zWgPbyCeAl7X4wiHKew4xk2B
mbx5Y4ba6ucKT6jwtMQ93HYPiYPd8536OWi2Cs+9ynDjgvaOCjDcuMPE5xpX
uN3ehgb/AHYVXHoa7uO2gn3DRkrb6GYs7qHwtrpYt6wb/G7bZeVzt+1y8+du
26XZ+kum96anOyxOPn96fwKKXQP5rT44q6dSJ7i7Lj4czt8P8lssw60FW12J
j3zzZA5SnJxdsyJvM9/vbRwbp1h41Jd6xxHessk36TeY7zsL2sIrtvWdBV33
ubOgzdZfLr2/+IOLwDO4betPQO8PbkFvYQO319pAsgOtFnD7NhZw58NaQEUB
m232LljqYzxhy0sTwCl14Pe42qEd1ljW2y2I72xqy+fOpt78ubOpzdZfLr2/
eJv6rxoM8M+Xb8/b+Pzp/Qkodg3kt/p8brsQO++1C7FzXVzAB3XC2P1ZCR/+
edfzn8jLqr2v1ZMb9sB6zrW626p4T4ayre/cqnWfO7eq2frLpfedW9XW+hPQ
W9xFSfLnbmvqfZD+Cdyq3ffY2Nq9KdjSGtpO54jyVr2kQPSGqARLmqXLeVYV
4sXwqDBZuw92OWvXi9wCa11ne5nMX82/YJQTBgPmWVVSvBsnSbFlnxjLDg7S
jzOdYCKQBCEU4yQbczOZYCAaxV4Fye9tQzQyGzn3WC3pNwxCCkAAF7JKTLLn
Su5NkkUS07MXSbY04aFrok56zeT4LO+5hLdwIy5JYKAkw7ymrM5NTlVp0nFP
MIkrSrBogYhUXnK4KczNROmgc6ktum1yNfrAWGEDE9ZyilflyDlMUE9yJeMl
zgeoZxLqTNIdZf6tDGVHom6xDdGSMs6pwAiG2Nh8RUxB93+jFMqAX4RJTMWk
PAUExzx3jCvDsfFnw0He+H8Cn5aKORAvv3lj2MSL+zIuYZCpZiMCDZ41Lghc
yFxhs7nCVCwOmTLlETyomRhiyC5/HZZYiE2UgK7YHBnotge7KG2eSHQHnaFF
6vpBkUkpVgujhEHGqBaL2KTU1qWJj1soIFWK/egagi4iLEoUCLV6Xa6XP9uV
XRKZaOeiBGawuZMrrboD8TRDUUOIvTn1AMwW3ZDNdWnT380ETPUAS9tCfAfc
l8y7vJDieXFtA66CUdcHwLzR1yr2+lKD6aBXk8X0RNyHUdtRvlyULQ1e7//n
0Yv9s4vnD756tHy8tZ+PfhqfTb86f352uHN6kf90nO4O/xLtDve3X35j+/R0
DMZ9l4pDMu08iGRUWeHlxdP+Y6x+QxmpjaBQJaa5nM85S7zmkO0GhwQZliyi
V3LJWa8cLGY43iWmmvBJEG6iKRA+l6jHcOWZ60Xh1qDhAtjrCof5pSp4SlRo
JwlfdmnsFFztB/V7chfExPqzCONTrUTBmCbiE6EDeKczl1FL6aowtJwWHI5K
4GoXeXxj3jBFZl8pUKfEPJvAVTZXt+tLm5nksUqngA4KT8WxJ1mVuzhYgXGw
mSiyOtTaBgZzrG0YSFmERXJm8lLVeQCuyBDuEHAmNPESsRfFS5PSDxIJjDyG
WDQpxKhrfG0YK9DNiYr7nNK94Fhj17H9WXg/g1ifTkx4PoME9kFxHDnVG6GS
GNgas6YJWmcCCC6gEuPKsyvEraAEQKOofD34A2HCW4/FmJVIQd0okjlGw5Kz
fI3ApajX6pBVspeubyzqQLwuSfex8qjfVhT9TPV7QC5ZJhKmvMGxd8h11DAR
nmIufZBTUaXe+HUEtNkbWnJLCdZiUba/a2NAY5dgUvcPow06o2zOfNe0W1za
hBjB+AgFJQon2irftJqPMe7VjwJ3ydmG+UwiBCWVgIrDuG95mem4mTbSquZf
KbVgptW/NnnfOT+Bl2M2xbBEoMBiedlK5I+fv17M0SmSreQK3JIZcSSoKSyd
cpQ6XbIG7ook1lRCMoiAYatIhbPZ98awBEP+cDlGrkAPRuSrHOWbNQ+aYq9Q
jyMQu4mWK3kg8n5NnQBT68f0RcWlMJ4fuhqIZ2CECIUYw7/gijpetQqWv/Ey
sKKciQR8ulhgfg0ZBmIQtkyyrvtk0ErlEydVapYLVbmouBBEroyf7DRUMA3u
lVkTfEhk6tGzYX/7wUPUwkGvXo0Nm34yxjQXYMqco/ofbz10qQiUKmFSDah+
R81SToZAQ2MvrG6DyYLbUuXYeJ7l4IJal1Jy0Rv0s8hcB9yEnrSbm+cYyboo
Qq/RBOVOo2bTaUTYHNM6h5x5+HfroTj5ftB5xk3DRYKbREH+HI5dUClHY8ax
63IGvifiSOYOR9gLZm4Q8o2Kn8vXlNFxruboqTTqhh2A+u+DcLwEUaTNYcyi
2DwfHhy9HHWteuDuJmL3/pOHjgRiWHAKDDBLzwb3GyEItBLrO5vMgR4sOg7W
6iPDXpevAqI10sjyh5x1hJig3fvh/vP+i+FzLyms3a1gZYbLbRmbgm6uDxCm
1GRQQfd1D9YI55QfViIqYzkHisTYDzIMplHp0hkcl1hVlliLhFYWBDUXmYiQ
oXxTr7G+aO3uGH+wmdGEIxFcLGqUv8jJPlSaAbuwEAN5JmiIuB2wl+9NQTdH
Z5e7HeGfBNzeCaMUqVVHDLv7AL4YQXVr50uIp+QE2sRHMoz0PlOGnsZi8xjW
ECdZrjySbp50m6ts2iIHl6mLphU7R71yTHhFJ4bdD9Tj5hyHx1sA0ysq8Wcc
MYCvz5gIJoL9+HPh0e3qgKhlZJRrkni0RBw7v6DGkFVAWKaP/UdngRj2kwDw
jKtPGccDu0mkN45pM2q0wUJWIUGNsUZkYSdOxVMJN7s6R/k0q2mzVYHW3ozR
RmBCM7N54dPYlcSpc8XKrIQVSGjrqUsfnFWkGMcP1SQKYI3RP3FOHmkByqnD
fsYVlushz9slW8Fj2voI1NtCuepKyqU1taV9kTpG1sJ+yJEFlUH05zVCXCf7
+GKztjBTSqzgkq54vUc4L8ya2HIQKEeL+ZosNPKVZHAq0DQJwuMmsiK+YzVB
CXIGMWWL69gHu8HcU0z05PRDTJYueQvXFbUKizA5cew1mAY7IwBBhjkfuF0l
osgoCU6Nm6tZfLCcGM4NidI4dbXDGAWi/T0b7ONSJpVy1XQ8lNZDrVN5hJNz
3xh4CsgVypKmJe3leTOkgcngzTWYdQznu7Ibbx4dV1nPZxxiOuJnXi3cxHRe
Rusqz5HZhCbvznM1pm/DcQzEp2E4FsZaItYyHPPBKsPBRLGPFWZ4N6ajyTQH
s4xRV6daZfPGcMxxLhGZUeQc2rYt6NZiqqT/XSRpzxJ+0sxrNgn78bpCcKbw
oaT5TWh7sNj74kMZ7oIRgo8fgdADB8Oooi/2cPouGIE+zWCE3u1a231isbUn
jnvkMBWOXT5/bvkS6b3paLa9J+4o9hlQzP/U1Nv5Qii2Gi7Ue6exr9dB17f+
2NyywiriXeh9XbDRFxAu9Lvpvaq/bmp9R+/Pmd63iiMMWn9sevPnLpiQ2n0Y
bvkUFEO4PoeSiyb6LyxQZlMggtPZdym7WEcD/YfK69CEN/dssFn/0nv+ttMJ
9oVcRJp/RNHcS6vX0aZwY3g7ClYgt6APxMs0/NU/bHEn9baMI52eRHTtFO4S
Lap8kWGVqIx2laYYpRbc08PnjWHxuNXiE3ZPafgToVen5j6Oeq54bGAqhLdP
lI55LTQ21AkjEG1F+8O67mGhEo7yGKzAUBAQJvrT36JxFf8cUC5aiEvcwW8a
QMgSHS0HNdFslJwjSOqlw5gfg9PSAkvAwfckwfNkSk0Wf69kwhUZ44yupeEw
rKd/OXjRtT2OODhwmJQv6MfREH5TfOsRztQdBZr5+tGWeChKh/hZbgrBYXxK
DX6Pt/FM7b66OL8HeM9j0UZkhYlLDONyALcTrKXu4nJwRDyBJxAwoAFmm2dZ
IzZzc3/oP+iu5mXXudc+WvmikXoE8wrikXK7TZlCUx3vZny67caVoSgOh2IL
J8FEMWyBRjND1W/wY0vG4Yt6FNopTN1LIpqp6JVY4AEvnuRn9hhmyT/b24ga
Z8o1pTlop8AgC6AjtYG558rIF4WUGulVsc++VoBGK9PlMojBkQD1a2t16oLO
lWBaRb0f7FPGRIsYEIoQdB6eUOpRrL52yag3d41FipvkMV7iY8+/CP0xnTm6
wCdvYsTSJtSKzrvoVhu8y4B7N+gopbsDiqIPNZa2taHECN1asKzQmPsZiKP3
hwZYBYJEt0uhrKdLx00ogGOOQV7FlT04t0JibkJrbkqbg3E6SWR1ZOPcgByW
KTlawwC1IjAyQDpNKu2Xub7UMvkTn6xPKA4Ehs7mkuOwuK4mjEEGCrmYBgGZ
86KGMPw1t6aU98NVXOWZnIuJik11UxvK+WTn7Vv/9rX9QHUMC7yQBqupXmR4
idv+8MJqBYKpRdvUEXPMpHLsDqVlqHsaSNnEENi+J9F4cLqE1+f9KwCuWytB
tiNOE9p+BcUq4ok1qtvNi9OnL7veJXL1kQMpUmrCkWkFGE57xdaqdouZkvV5
OICYmkBGWQJ4i3IQHi/hrbC5Peb1enVi6A7ZaOQ4GI6CHtwxi5MYClW6mLlL
uqTA+XnTq+NrwxDN1QkB/bwLCjGMD/6H1UrHiIxLsIZxENDZ5Fxd1Oxp7hjR
nItAUV4oa779Y/VFx16pK3npQrlqdcHBZdzSu0ZOyEupE1MKd9CYdcGnZHii
xOdTBUab6bpubplLvDyR8Ui/MdVk9KpoS53gAPOJF0QGyg48BJNPkGcJGZNF
IiNCpKn+apRzrgu6i4w80edqKZ5poF4ezZb1BWQF2Jm4Shp33gU3G9mgaxOU
v77SNo7x84m5DNCUGUcV0T+KvUuEmvkKZ+fPf1av6VaY3FxH6bym/qH9gTA2
kRgEhnWBHUyD7cHWdXDBTPHuHmYSc3zo3dlGP/KRuXcXpAszd0Hmtir2U78S
Kiszrwtbc5mHufj+YOua9GRqZz7fCHq7czJ6LrxnIQ424ZVt0fv6ax7y2297
4uFut3PoNWpts7PapqbLmja7PdFsM+L7CakRwou//fZbTeL1F+l4x5dMaMYS
wu3WB/YPpzdMFLOYgfZgc03CAKbOK5+NIaWYuiKxFjSyyYvGBZb7GTpNFAx6
7tVQ7zQuCWQ13pZbZCKY8b4pE/FjjIzrN6jNvuluIOuXWb+2Cf4tm3jJInhl
Eu8fAvU4RZ9jNoenwU2W/g/OScTvZTTotjHrI3G9HBCmyLErUUOcSPRf1Aoq
gmx+73K15sH9uirMHOoYFmNuydsvvBQmL0FsYjIHV3rp+YkhjVr15iY3GxCR
NS91Wx19TQVmXBuR6vUrPptkxkFbP2wkqtShYeA0q38xqg0Vt7pPErz12rAO
6gUN0hnjzXzko7uZYAZNM7J+EiYV4fXN4DtFHN+admy8vZILUMsHeIcc+XlS
HtZPLmVOlfILrPd/DeBziXeWsuVLyNL4QmiluNNY+7tZhpsOazll/ezrawZ3
u++CiRAJQzeBABP14xodfBfjgc37OKjzPlZvXXQ3Nr6515pH4iTPvG8F6Ixi
4CgyYwhIwRyn5WrvjYg53q+hMBTKLMK0xysOKHKRgsyVYXQVGNtETShKM8fM
lGsME3Rzv2X7bKvl2XbLsx3uYAt+3AGf4YF4CKrpsXjyLs+wi6/6v/M/7IT3
KamIPn3wby+cKNzHNFGo/ue3DwxJbfT5bw7Trf9eGwL6wWBoDSIWPkz2HdQQ
g8Hgw4y+1jlA2nB0ErAYfvGiDM3ji9ag74I3eSigmORZx3wdol2Z2wyzwnRD
xtukoNlI4JVubdwxW2H0xGkbw3QRCiPHkRkaebAGkdnoeV5lJmiXFywmSrpo
Sc0xgXfwMfJeL1fwZ0RWzwO6Z8bqEWNxLB2SzfTB2gCmesqjw8IKDS11ldtr
JssmxGYNwtkA8ClhRcMX/1Lf4linr8Qx3V6ywIB3s+lqMQeuDa0is9S0RyW+
qCOFEVKHLXB6Rb9fqzv6gYTCvrKiIczzVgZHHj4WJ2Ikzu1/v6193/xwDN6s
mb8NjDe/nMAvYXS8+WEEP7REfCODwC/nityJOGAJCu7aTMJxureMnbfkXBNB
H5Lv2uh529OaGPpbB9CbfmhS8wBF3faw+vaYer+bBkJdP7oRV87ZCO7CYAq1
Nf243WrtxGtNO7aI9dRNByBzaXYFBnyqDJhNX4MIootGrqm5JsR2Q/JluIBP
zYHAv6o8q4nDUoJvzhFTDRlptQIeO11D/jBLwO6Q2F1f9G5NP3o1hdQGLnNP
N+UWdHxj8R7pBf5UMWx6dYJ083F4DbUKr0g2yzerK+t0B1FnPJjqDCtemAkH
t27YtT6YefdaJ4wc6DsHrM3tuXPA/nUdMEMeK33bnTDk/t2cMNJt7pC0kTEi
bCaT2/ujW8so3YIdNvKu7tyqj+FW/X6n6vzjOlX/fNepJ6wb8Dm4UKb9uzko
q66J5cY7B+UjOihegYx74mj4YogHm7Tnaaj25p6WqXzr9mhZmulNKkPA2Zbm
oJ5sGMk41zGgQBcvyofCcFx+JnVAu2rVIqY+KA7ApOMzs8RZVDFTEQAEszt6
OZbg34BoTmGS+dKDKqdHtG9L0uG24VJ1BcwKrVyow0ZbnxumB3C5qjQ2e4XT
PKsWfAq9cbgA7qP76Q7As9eq/0wlyRxWA6e4W7t/Ojo0kXndjWuSp2isPUTY
dsfbyNujAwhT4aOJxPXm8uZRdsJRDj/SMLuNybgjnXcdK2SXgmtB3J5hgKNH
KqpyPOJc4erC/IKhbd8fwNsYxzcGG0zthm65xYbgzZ4pvKLibzbSDIPofsSa
YXR3qjcqcR+ee+KKjjeMOTG/LhLwbBvv5DzLM7448Ci72M8lDJWLzSnesyrk
NFd8NpNmA/Ho0ZPHD7a7pI2OXozOjs4P+w9+WCRV0f7+40dbj+8/7poJTZJq
Mun8PzGgMYlhlgAA

-->

</rfc>
