<?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-06" 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="August" day="19"/>

    
    
    

    <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="RFC8773"/> 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="RFC8773"/>. 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.ietf-emu-eap-arpa"/> and defines the EAP realm "tls-pok-dpp.eap.arpa". The username "anonymous" <bcp14>SHOULD</bcp14> be included yielding an initial identity of "anonymous@tls-pok-dpp.eap.arpa". However, in order to facilitate interoperability, implementations <bcp14>SHOULD</bcp14> be able to handle receiving an initial identity with no username, that is, an initial identity of "@tls-pok-dpp.eap.arpa". This identifier <bcp14>MUST</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
    (anonymous@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="RFC8773">
  <front>
    <title>TLS 1.3 Extension for Certificate-Based Authentication with an External Pre-Shared Key</title>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>This document specifies a TLS 1.3 extension that allows a server to authenticate with a combination of a certificate and an external pre-shared key (PSK).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8773"/>
  <seriesInfo name="DOI" value="10.17487/RFC8773"/>
</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.ietf-emu-eap-arpa">
   <front>
      <title>The eap.arpa domain and EAP provisioning</title>
      <author fullname="Alan DeKok" initials="A." surname="DeKok">
         <organization>InkBridge Networks</organization>
      </author>
      <date day="12" month="August" year="2024"/>
      <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 signal which kind of
   access is required via certain pre-defined identifiers which use the
   Network Access Identifier (NAI) format of RFC7542.  A table of
   identifiers and meanings is defined.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-arpa-02"/>
   
</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>

