<?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.7) -->


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

]>


<rfc ipr="trust200902" docName="draft-ietf-emu-bootstrapped-tls-07" 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="October" day="21"/>

    
    
    

    <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 <bcp14>RECOMMENDED</bcp14> mechanism for bootstrapping against Wi-Fi networks, and TLS-POK is the <bcp14>RECOMMENDED</bcp14> 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 be obtained in an out-of-band fashion and provisioned on the network can perform a TLS-based EAP 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 anchor="supported-eap-methods"><name>Supported EAP Methods</name>

<t>This document defines a boostrapping mechanism that results in a certificate being provisioned on a device that can be used for subsequent network access. Therefore, an EAP method that supports provisioning of a certificate on a device is required. The only EAP method that currently supports provisioning of a certificate on a device is TEAP, therefore this document assumes that TEAP is the only suported EAP method. Section <xref target="using-tls-bootstrapping-in-eap"/> describes how TLS-POK is used with TEAP, including defining a suitable NAI.</t>

<t>If future EAP methods are defined that support certificate provisioning, then TLS-POK could potentially be used with those methods. Defining how this would work is out of scope of this document.</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 DER representation of an ASN.1 SEQUENCE SubjectPublicKeyInfo from <xref target="RFC5280"/>. Note that the BSK public key encoding <bcp14>MUST</bcp14> include the ASN.1 AlgorithmIdentifier in addition to the subjectPublicKey. 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 DER representation of the ASN.1 SubjectPublicKeyInfo or uploading of a Bill of Materials (BOM) which includes this information. More information on QR encoding is given in {alignment-with-wi-fi-alliance-device-provisioning-profile}. If the QR code is physically attached to the client device, or the BOM is associated with the device, the assumption is that the BSK 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 from <xref target="RFC5280"/>, and not a full PKI Certificate, the client must use <xref target="RFC7250"/> Using Raw Public Keys in TLS and DTLS in order to present the BSK as raw public key.</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
  - 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 
  - <> is a NULL salt which is a string of L zeros
]]></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 username "tls-pok-dpp" for use with the TEAP realm "teap.eap.arpa". The username "tls-pok-dpp" <bcp14>MUST</bcp14> be included yielding an initial identity of "tls-pok-dpp@teap.eap.arpa". This identifier <bcp14>MUST</bcp14> be included in the EAP Identity response in order to indicate to the Authenticator that TEAP is the desired EAP method. <xref target="I-D.ietf-emu-eap-arpa"/> recommends how the device should behave if the Authenticator does not support TEAP or TLS-POK.</t>

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

    EAP-Response/
    Identity
    (tls-pok-dpp@teap.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 is 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="7" month="October" 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-03"/>
   
</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>

