<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.40 (Ruby 3.0.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-emu-bootstrapped-tls-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="TLS-POK">Bootstrapped TLS Authentication with Proof of Knowledge (TLS-POK)</title>

    <author initials="O." surname="Friel" fullname="Owen Friel">
      <organization>Cisco</organization>
      <address>
        <email>ofriel@cisco.com</email>
      </address>
    </author>
    <author initials="D." surname="Harkins" fullname="Dan Harkins">
      <organization>Hewlett-Packard Enterprise</organization>
      <address>
        <email>daniel.harkins@hpe.com</email>
      </address>
    </author>

    <date year="2024" month="January" day="28"/>

    
    
    

    <abstract>


<?line 51?>

<t>This document defines a mechanism that enables a bootstrapping device to establish trust and mutually authenticate against a network. Bootstrapping devices have a public private key pair, and this mechanism enables a network server to prove to the device that it knows the public key, and the device to prove to the server that it knows the private key. The mechanism leverages existing DPP and TLS standards and can be used in an EAP exchange.</t>



    </abstract>



  </front>

  <middle>


<?line 55?>

<section anchor="introduction"><name>Introduction</name>

<t>On-boarding of devices with no, or limited, user interface can be difficult.  Typically, a credential is needed to access the network,
and network connectivity is needed to obtain a credential.  This poses a catch-22.</t>

<t>If a device has a public / private keypair, and trust in the integrity of a device's public key can be obtained in an out-of-band fashion, a device can be authenticated and provisioned with a usable credential for network access.  While this authentication can be strong, the device's authentication of the network is somewhat weaker.  <xref target="duckling"></xref> presents a functional security model to address this asymmetry.</t>

<t>Device on-boarding protocols such as the Device Provisioning Profile <xref target="DPP"></xref>, also referred to as Wi-Fi Easy Connect, address this use case but they have drawbacks. <xref target="DPP"></xref> for instance does not support wired network access, and does not specify how the device's DPP keypair can be used in a TLS handshake.  This document describes an on-boarding protocol that can be used for wired network access, which we refer to as TLS Proof of Knowledge or TLS-POK.</t>

<t>This document does not address the problem of Wi-Fi network discovery, where a bootstrapping device detects multiple different Wi-Fi networks and needs a more robust and scalable mechanism than simple round-robin to determine the correct network to attach to. DPP addresses this issue. Thus, the intention is that DPP is the recommended mechanism for bootstrapping against Wi-Fi networks, and TLS-POK is the recommended mechanism for bootstrapping against wired networks.</t>

<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>The following terminology is used throughout this document.</t>

<t><list style="symbols">
  <t>802.1X: IEEE Port-Based Network Access Control</t>
  <t>BSK: Bootstrap Key which is an elliptic curve public private key pair from a cryptosystem suitable for doing ECDSA</t>
  <t>DPP: Device Provisioning Protocol <xref target="DPP"></xref></t>
  <t>EAP:  Extensible Authentication Protocol <xref target="RFC3748"/></t>
  <t>EC:  Elliptic Curve</t>
  <t>ECDSA: Elliptic Curve Digital Signature Algorithm</t>
  <t>EPSK: External Pre-Shared Key</t>
  <t>EST: Enrollment over Secure Transport <xref target="RFC7030"/></t>
  <t>PSK: Pre-Shared Key</t>
  <t>TEAP: Tunnel Extensible Authentication Protocol <xref target="RFC7170"/></t>
</list></t>

</section>
<section anchor="bootstrapping-overview"><name>Bootstrapping Overview</name>

<t>A bootstrapping device holds a public / private elliptic curve (EC) key pair which we refer to as a Bootstrap Key (BSK). The private key of the BSK is known only by the device. The public key of the BSK is known by the device, is known by the owner or holder of the device, and is provisioned on the network by the network operator. In order to establish trust and mutually authenticate, the network proves to the device that it knows the public part of the BSK, and the device proves to the network that it knows the private part of the BSK. Once this trust has been established during bootstrapping, the network can provision the device with a credential that it uses for subsequent network access. More details on the BSK are given in <xref target="bootstrap-key"/>.</t>

</section>
<section anchor="eap-network-access"><name>EAP Network Access</name>

<t>Enterprise deployments typically require an <xref target="IEEE802.1X"></xref>/EAP-based authentication to obtain network access. Protocols like Enrollment over Secure Transport (EST) <xref target="RFC7030"/> can be used to enroll devices into a Certification Authority to allow them to authenticate using 802.1X/EAP. This creates a Catch-22 where a certificate is needed for network access and network access is needed to obtain certificate.</t>

<t>Devices whose BSK public key can been obtained in an out-of-band fashion and provisioned on the network can perform an EAP-TLS-based exchange, for instance Tunnel Extensible Authentication Protocol (TEAP) <xref target="RFC7170"/>, and authenticate the TLS exchange using the bootstrapping mechanisms defined in <xref target="bootstrapping-in-tls-13"/>. This network connectivity can then be used to perform an enrollment protocol (such as provided by <xref target="RFC7170"/>) to obtain a credential for subsequent network connectivity and certificate lifecycle maintenance.</t>

</section>
</section>
<section anchor="bootstrap-key"><name>Bootstrap Key</name>

<t>The mechanism for on-boarding of devices defined in this document relies on an elliptic curve (EC) bootstrap key (BSK). This BSK <bcp14>MUST</bcp14> be from a cryptosystem suitable for doing ECDSA. A bootstrapping client device has an associated EC BSK. The BSK may be static and baked into device firmware at manufacturing time, or may be dynamic and generated at on-boarding time by the device. The BSK public key <bcp14>MUST</bcp14> be encoded as the ASN.1 SEQUENCE SubjectPublicKeyInfo from <xref target="RFC5280"/>. If the BSK public key can be shared in a trustworthy manner with a TLS server, a form of "entity authentication" (the step from which all subsequent authentication proceeds) can be obtained.</t>

<t>The exact mechanism by which the server gains knowledge of the BSK public key is out of scope of this specification, but possible mechanisms include scanning a QR code to obtain a base64 encoding of the ASN.1-formatted public key or uploading of a Bill of Materials (BOM) which includes the public key. If the QR code is physically attached to the client device, or the BOM is associated with the device, the assumption is that the public key obtained in this bootstrapping method belongs to the client. In this model, physical possession of the device implies legitimate ownership.</t>

<t>The server may have knowledge of multiple BSK public keys corresponding to multiple devices, and existing TLS mechanisms are leveraged that enable the server to identity a specific bootstrap public key corresponding to a specific device.</t>

<t>Using the process defined herein, the client proves to the server that it has possession of the private key of its BSK. Provided that the mechanism in which the server obtained the BSK public key is trustworthy, a commensurate amount of authenticity of the resulting connection can be obtained. The server also proves that it knows the client's BSK public key which, if the client does not gratuitously expose its public key, can be used to obtain a modicum of correctness, that the client is connecting to the correct network (see <xref target="duckling"></xref>).</t>

<section anchor="alignment-with-wi-fi-alliance-device-provisioning-profile"><name>Alignment with Wi-Fi Alliance Device Provisioning Profile</name>

<t>The definition of the BSK public key aligns with that given in <xref target="DPP"></xref>. This, for example, enables the QR code format as defined in <xref target="DPP"></xref> to be reused for TLS-POK. Therefore, a device that supports both wired LAN and Wi-Fi LAN connections can have a single QR code printed on its label, or dynamically display a single QR code on a display, and the bootstrap key can be used for DPP if the device bootstraps against a Wi-Fi network, or TLS-POK if the device bootstraps against a wired network. Similarly, a common bootstrap public key format could be imported into a BOM into a server that handles devices connecting over both wired and Wi-Fi networks.</t>

<t>Any bootstrapping method defined for, or used by, <xref target="DPP"></xref> is compatible with TLS-POK.</t>

</section>
</section>
<section anchor="bootstrapping-in-tls-13"><name>Bootstrapping in TLS 1.3</name>

<t>Bootstrapping in TLS 1.3 leverages <xref target="I-D.ietf-tls-8773bis"/> Certificate-Based Authentication with an External Pre-Shared Key. The External PSK (EPSK) is derived from the BSK public key as described in <xref target="external-psk-derivation"/>, and the EPSK is imported using <xref target="RFC9258"/> Importing External Pre-Shared Keys (PSKs) for TLS 1.3. As the BSK public key is an ASN.1 SEQUENCE SubjectPublicKeyInfo, the client presents a raw public key certificate as specified in <xref target="RFC7250"/> Using Raw Public Keys in TLS and DTLS.</t>

<t>The TLS PSK handshake gives the client proof that the server knows the BSK public key. Certificate based authentication of the client to the server using the BSK gives the server proof that the client knows the BSK private key. This satisfies the proof of ownership requirements outlined in <xref target="introduction"/>.</t>

<section anchor="external-psk-derivation"><name>External PSK Derivation</name>

<t>An <xref target="RFC9258"/> EPSK is made up of the tuple of (Base Key, External Identity, Hash). The Base Key is the DER-encoded ASN.1 subjectPublicKeyInfo representation of the BSK public key. The External Identity is derived from the BSK public key using <xref target="RFC5869"/> with the hash algorithm from the ciphersuite as follows:</t>

<figure><artwork><![CDATA[
epskid = HKDF-Expand(HKDF-Extract(<>, Base Key),
                       "tls13-bspsk-identity", L)
where:
  - epskid is the EPSK External Identity
  - <> is a NULL salt 
  - Base Key is the DER-encoded ASN.1 subjectPublicKeyInfo
    representation of the BSK public key
  - L is the length of the digest of the underlying hash
    algorithm 
]]></artwork></figure>

<t>The <xref target="RFC9258"/> ImportedIdentity structure is defined as:</t>

<figure><artwork><![CDATA[
struct {
   opaque external_identity<1...2^16-1>;
   opaque context<0..2^16-1>;
   uint16 target_protocol;
   uint16 target_kdf;
} ImportedIdentity;
]]></artwork></figure>

<t>and is created using the following values:</t>

<figure><artwork><![CDATA[
external_identity = epskid
context = "tls13-bsk"
target_protocol = TLS1.3(0x0304)
target_kdf = HKDF_SHA256(0x0001)
]]></artwork></figure>

<t>The ImportedIdentity context value <bcp14>MUST</bcp14> be "tls13-bsk". This informs the server that the mechanisms specified in this document for deriving the EPSK and executing the TLS handshake <bcp14>MUST</bcp14> be used. The EPSK and ImportedIdentity are used in the TLS handshake as specified in <xref target="RFC9258"/>.</t>

<t>A performance versus storage tradeoff a server can choose is to precompute the identity of every bootstrapped key with every hash algorithm that it uses in TLS and use that to quickly lookup the bootstrap key and generate the PSK. Servers that choose not to employ this optimization will have to do a runtime check with every bootstrap key it holds against the identity the client provides.</t>

</section>
<section anchor="tls-13-handshake-details"><name>TLS 1.3 Handshake Details</name>

<t>The client includes the "tls_cert_with_extern_psk" extension in the ClientHello, per <xref target="I-D.ietf-tls-8773bis"/>. The client identifies the BSK public key by inserting the serialized content of ImportedIdentity into the PskIdentity.identity in the PSK extension, per <xref target="RFC9258"/>. The client <bcp14>MUST</bcp14> also include the <xref target="RFC7250"/> "client_certificate_type" extension in the ClientHello and <bcp14>MUST</bcp14> specify type of RawPublicKey.</t>

<t>Upon receipt of the ClientHello, the server looks up the client's EPSK key in its database using the mechanisms documented in <xref target="RFC9258"/>. If no match is found, the server <bcp14>MUST</bcp14> terminate the TLS handshake with an alert. If the server found the matching BSK public key, it includes the "tls_cert_with_extern_psk" extension in the ServerHello message, and the corresponding EPSK identity in the "pre_shared_key" extension. When these extensions have been successfully negotiated, the TLS 1.3 key schedule <bcp14>MUST</bcp14> include both the EPSK in the Early Secret derivation and an (EC)DHE shared secret value in the Handshake Secret derivation.</t>

<t>After successful negotiation of these extensions, the full TLS 1.3 handshake is performed with the additional caveat that the server <bcp14>MUST</bcp14> send a CertificateRequest message and client <bcp14>MUST</bcp14> authenticate with a raw public key (its BSK) per <xref target="RFC7250"/>. The BSK is always an elliptic curve key pair, therefore the type of the client's Certificate <bcp14>MUST</bcp14> be ECDSA and <bcp14>MUST</bcp14> contain the client's BSK public key as a DER-encoded ASN.1 subjectPublicKeyInfo SEQUENCE.</t>

<t>Note that the client <bcp14>MUST NOT</bcp14> share its BSK public key with the server until after the client has completed processing of the ServerHello and verified the TLS key schedule. The PSK proof has completed at this stage, and the server has proven to the client that is knows the BSK public key, and it is therefore safe for the client to send the BSK public key to the server in the Certificate message. If the PSK verification step fails when processing the ServerHello, the client terminates the TLS handshake and the BSK public key <bcp14>MUST NOT</bcp14> be shared with the server.</t>

<t>When the server processes the client's Certificate it <bcp14>MUST</bcp14> ensure that it is identical to the BSK public key that it used to generate the EPSK and ImportedIdentity for this handshake.</t>

<t>When clients use the <xref target="duckling"></xref> form of authentication, they <bcp14>MAY</bcp14> forgo the checking of the server's certificate in the CertificateVerify and rely on the integrity of the bootstrapping method employed to distribute its key in order to validate trust in the authenticated TLS connection.</t>

<t>The handshake is shown in Figure 1.</t>

<figure><artwork><![CDATA[
         Client                                            Server
         --------                                          --------
         ClientHello
         + cert_with_extern_psk
         + client_cert_type=RawPublicKey
         + key_share
         + pre_shared_key           -------->
                                                        ServerHello
                                             + cert_with_extern_psk
                                    + client_cert_type=RawPublicKey
                                                        + key_share
                                                   + pre_shared_key
                                              {EncryptedExtensions}
                                               {CertificateRequest}
                                                      {Certificate}
                                                {CertificateVerify}
                                    <--------            {Finished}
         {Certificate}
         {CertificateVerify}
         {Finished}                 -------->
         [Application Data]         <------->    [Application Data]
]]></artwork></figure>

<figure><artwork><![CDATA[
                Figure 1: TLS 1.3 TLS-POK Handshake
]]></artwork></figure>

</section>
</section>
<section anchor="using-tls-bootstrapping-in-eap"><name>Using TLS Bootstrapping in EAP</name>

<t>Upon "link up", an Authenticator on an 802.1X-protected port will issue an EAP Identity request to the newly connected peer. For unprovisioned devices that desire to take advantage of TLS-POK, there is no initial realm in which to construct an NAI (see <xref target="RFC7542"/>). This document uses the NAI mechanisms defined in <xref target="I-D.dekok-emu-eap-arpa"/> and defines the username field "tls-pok-dpp" that is prepended to the EAP realm "eap.arpa" yielding an initial identity of "tls-pok-dpp@eap.arpa". This identifier <bcp14>SHOULD</bcp14> be included in the EAP Identity response in order to indicate to the Authenticator that an EAP method that supports TLS-POK <bcp14>SHOULD</bcp14> be started.</t>

<figure><artwork><![CDATA[
   Authenticating Peer     Authenticator
   -------------------     -------------
                            <- EAP-Request/
                            Identity

    EAP-Response/
    Identity
    (tls-pok-dpp@eap.arpa) ->

                            <- EAP-Request/
                            EAP-Type=TEAP
                           (TLS Start)

    EAP-Response/
    EAP-Type=TEAP
    (TLS client_hello with
     tls_cert_with_extern_psk
     and pre_shared_key) ->
     
                       .
                       .
                       .
]]></artwork></figure>

<t>Both client and server have derived the EPSK and associated <xref target="RFC9258"/> ImportedIdentity from the BSK public key as described in <xref target="external-psk-derivation"/>. When the client starts the TLS exchange in the EAP transaction, it includes the ImportedIdentity structure in the pre_shared_key extension in the ClientHello. When the server received the ClientHello, it extracts the ImportedIdentity and looks up the EPSK and BSK public key. As previously mentioned in <xref target="bootstrap-key"/>, the exact mechanism by which the server has gained knowledge of or been provisioned with the BSK public key is outside the scope of this document.</t>

<t>The server continues with the TLS handshake and uses the EPSK to prove that it knows the BSK public key. When the client replies with its Certificate, CertificateVerify and Finished messages, the server <bcp14>MUST</bcp14> ensure that the public key in the Certificate message matches the BSK public key.</t>

<t>Once the TLS handshake completes, the client and server have established mutual trust. The server can then proceed to provision a credential onto the client using, for example, the mechanisms outlined in <xref target="RFC7170"/>.</t>

<t>The client can then use this provisioned credential for subsequent network authentication. The BSK is only used during bootstrap, and it not used for any subsequent network access.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>None.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Bootstrap and trust establishment by the TLS server is based on proof of knowledge of the client's bootstrap public key, a non-public datum. The TLS server obtains proof that the client knows its bootstrap public key and, in addition, also possesses its corresponding private key.</t>

<t>Trust on the part of the client is based on successful completion of the TLS 1.3 handshake using the EPSK derived from the BSK. This proves to the client that the server knows its BSK public key. In addition, the client assumes that knowledge of its BSK public key is not widely disseminated and therefore any server that proves knowledge of its BSK public key is the appropriate server from which to receive provisioning, for instance via <xref target="RFC7170"/>. <xref target="duckling"></xref> describes a security model for this type of "imprinting".</t>

<t>An attack on the bootstrapping method which substitutes the public key of a corrupted device for the public key of an honest device can result in the TLS sever on-boarding and trusting the corrupted device.</t>

<t>If an adversary has knowledge of the bootstrap public key, the adversary may be able to make the client bootstrap against the adversary's network. For example, if an adversary intercepts and scans QR labels on clients, and the adversary can force the client to connect to its server, then the adversary can complete the TLS-POK handshake with the client and the client will connect to the adversary's server. Since physical possession implies ownership, there is nothing to prevent a stolen device from being on-boarded.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>


<reference anchor="I-D.ietf-tls-8773bis">
   <front>
      <title>TLS 1.3 Extension for Using Certificates with an External Pre-Shared Key</title>
      <author fullname="Russ Housley" initials="R." surname="Housley">
         <organization>Vigil Security, LLC</organization>
      </author>
      <date day="9" month="January" year="2024"/>
      <abstract>
	 <t>   This document specifies a TLS 1.3 extension that allows TLS clients
   and servers to authenticate with a combination of a certificate and
   an external pre-shared key (PSK).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-tls-8773bis-01"/>
   
</reference>

<reference anchor="RFC9258">
  <front>
    <title>Importing External Pre-Shared Keys (PSKs) for TLS 1.3</title>
    <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
    <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
    <date month="July" year="2022"/>
    <abstract>
      <t>This document describes an interface for importing external Pre-Shared Keys (PSKs) into TLS 1.3.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9258"/>
  <seriesInfo name="DOI" value="10.17487/RFC9258"/>
</reference>

<reference anchor="RFC7250">
  <front>
    <title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
    <author fullname="P. Wouters" initials="P." role="editor" surname="Wouters"/>
    <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
    <author fullname="J. Gilmore" initials="J." surname="Gilmore"/>
    <author fullname="S. Weiler" initials="S." surname="Weiler"/>
    <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
    <date month="June" year="2014"/>
    <abstract>
      <t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The new certificate type allows raw public keys to be used for authentication.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7250"/>
  <seriesInfo name="DOI" value="10.17487/RFC7250"/>
</reference>


<reference anchor="I-D.dekok-emu-eap-arpa">
   <front>
      <title>The eap.arpa domain and EAP provisioning</title>
      <author fullname="Alan DeKok" initials="A." surname="DeKok">
         <organization>FreeRADIUS</organization>
      </author>
      <date day="30" month="August" year="2023"/>
      <abstract>
	 <t>   This document defines the eap.arpa domain as a way for EAP peers to
   signal to EAP servers that they wish to obtain limited, and
   unauthenticated, network access.  EAP peers leverage user identifier
   portion of the Network Access Identifier (NAI) format of RFC7542 in
   order to describe what kind of provisioning they need.  A table of
   identifiers and meanings is defined.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-dekok-emu-eap-arpa-00"/>
   
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="IEEE802.1X" >
  <front>
    <title>Port-Based Network Access Control</title>
    <author initials="" surname="IEEE" fullname="IEEE">
      <organization>IEEE</organization>
    </author>
    <date year="2010"/>
  </front>
</reference>
<reference anchor="DPP" >
  <front>
    <title>Device Provisioning Profile</title>
    <author >
      <organization>Wi-Fi Alliance</organization>
    </author>
    <date year="2020"/>
  </front>
</reference>
<reference anchor="duckling" >
  <front>
    <title>The Ressurecting Duckling: Security Issues for Ad-Hoc Wireless Networks</title>
    <author initials="F." surname="Stajano" fullname="Frank Stajano">
      <organization></organization>
    </author>
    <author initials="E." surname="Rescorla" fullname="Eric Rescorla">
      <organization></organization>
    </author>
    <date year="1999"/>
  </front>
</reference>


<reference anchor="RFC3748">
  <front>
    <title>Extensible Authentication Protocol (EAP)</title>
    <author fullname="B. Aboba" initials="B." surname="Aboba"/>
    <author fullname="L. Blunk" initials="L." surname="Blunk"/>
    <author fullname="J. Vollbrecht" initials="J." surname="Vollbrecht"/>
    <author fullname="J. Carlson" initials="J." surname="Carlson"/>
    <author fullname="H. Levkowetz" initials="H." role="editor" surname="Levkowetz"/>
    <date month="June" year="2004"/>
    <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="RFC7030">
  <front>
    <title>Enrollment over Secure Transport</title>
    <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
    <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
    <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
    <date month="October" year="2013"/>
    <abstract>
      <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport. This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates. It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7030"/>
  <seriesInfo name="DOI" value="10.17487/RFC7030"/>
</reference>

<reference anchor="RFC7170">
  <front>
    <title>Tunnel Extensible Authentication Protocol (TEAP) Version 1</title>
    <author fullname="H. Zhou" initials="H." surname="Zhou"/>
    <author fullname="N. Cam-Winget" initials="N." surname="Cam-Winget"/>
    <author fullname="J. Salowey" initials="J." surname="Salowey"/>
    <author fullname="S. Hanna" initials="S." surname="Hanna"/>
    <date month="May" year="2014"/>
    <abstract>
      <t>This document defines the Tunnel Extensible Authentication Protocol (TEAP) version 1. TEAP is a tunnel-based EAP method that enables secure communication between a peer and a server by using the Transport Layer Security (TLS) protocol to establish a mutually authenticated tunnel. Within the tunnel, TLV objects are used to convey authentication-related data between the EAP peer and the EAP server.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7170"/>
  <seriesInfo name="DOI" value="10.17487/RFC7170"/>
</reference>

<reference anchor="RFC5869">
  <front>
    <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
    <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
    <author fullname="P. Eronen" initials="P." surname="Eronen"/>
    <date month="May" year="2010"/>
    <abstract>
      <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5869"/>
  <seriesInfo name="DOI" value="10.17487/RFC5869"/>
</reference>

<reference anchor="RFC7542">
  <front>
    <title>The Network Access Identifier</title>
    <author fullname="A. DeKok" initials="A." surname="DeKok"/>
    <date month="May" year="2015"/>
    <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>




    </references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

