<?xml version='1.0' encoding='UTF-8'?>
<?xml-model href="rfc7991bis.rnc"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-emu-eap-arpa-10" number="9965" category="std" consensus="true" submissionType="IETF" updates="5216, 9140, 9190" obsoletes="" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">

  <front>

 <!-- [rfced] We had the following questions related to the document's title:
     
a) Please note that the title of the document has been updated as
follows:

Abbreviations have been expanded per Section 3.6 of RFC 7322 ("RFC
Style Guide"). Please review.

Original:
The eap.arpa. domain and EAP provisioning

Current:
The eap.arpa. Domain and Extensible Authentication Protocol (EAP) Provisioning

b) Please confirm that no period should appear at the end of the
abbreviated title (that appears in the running header of the PDF
output).

Current:
eap.arpa
-->
    <title abbrev="eap.arpa">The eap.arpa. Domain and Extensible Authentication Protocol (EAP) Provisioning</title>
    <seriesInfo name="RFC" value="9965"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>InkBridge Networks</organization>
      <address>
        <email>alan.dekok@inkbridge.io</email>
      </address>
    </author>
    <date year="2026" month="April"/>
    <area>SEC</area>
    <workgroup>emu</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in
the title) for use on https://www.rfc-editor.org/search. -->

<keyword>example</keyword>

    <abstract>
<t>This document defines the eap.arpa. domain for use only in Network Access
Identifiers (NAIs) as a way for Extensible Authentication Protocol (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 predefined identifiers that use the NAI format of RFC 7542.  A table of identifiers and meanings is
defined, which includes entries for RFC 9140.</t>
      <t>This document updates RFCs 5216 and 9190 to define an
      unauthenticated provisioning method.  Those specifications suggest
      that such a method is possible, but they do not define how it would be
      done.  This document also updates RFC 9140 to deprecate "eap-noob.arpa"
      and replace it with "@noob.eap.arpa".</t>
    </abstract>
  </front>
  <middle>

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

<!--[rfced] Would it make sense to update as follows?

Original:
Without credentials, the device cannot obtain network access in order
to be provisioned with credentials.

Perhaps:
Without pre-provisioned credentials, the device cannot obtain network
access in order to be provisioned with credentials.

Or maybe "Without these credentials"?
-->      
      <t>In most uses, EAP <xref target="RFC3748"/> requires that the EAP peers have
pre-provisioned credentials.  Without credentials, the device cannot
obtain network access in order to be provisioned with credentials.
This limitation creates a bootstrapping problem.</t>
      <t>This specification addresses that bootstrapping problem.  It creates a
framework for predefined "well-known" provisioning credentials and
instantiates that framework for two mechanisms.</t>
      <t>Clients can submit these predefined provisioning credentials to a server in order to
obtain limited network access.  At the same time, servers can know in
advance that these credentials are to be used only for provisioning; thus, they can
avoid granting unrestricted network access to peers that submit these credentials.</t>
      <t>The device can either use the EAP channel itself for provisioning, as
with the Tunnel Extensible Authentication Protocol (TEAP) <xref target="RFC9930"/>, or the EAP server can give the device access to
a limited captive portal such as with <xref target="RFC8952"/>.  Once the device is
provisioned, it can use those provisioned credentials to obtain full
network access.</t>
      <t>The predefined provisioning credentials use a generic identity format.
Identifiers in this space are generically referred to as "EAP
Provisioning Identifiers" (or "EPIs").</t>
      <t>Since the identity is predefined and used only for unauthenticated network access, there is little benefit to specifying
predefined passwords.  Where supported by the underlying EAP method,
this specification provides for password-less access.  Where passwords
are required, the password is defined to be the same as the identity.</t>
      <section anchor="background-and-rationale">
        <name>Background and Rationale</name>
        <t>In this section, we provide background on the existing functionality
and describe why it was necessary to define provisioning methods for
EAP.</t>
        <section anchor="review-of-existing-functionality">
          <name>Review of Existing Functionality</name>
          <t>For EAP-TLS, both <xref target="RFC5216" section="2.1.1" sectionFormat="comma"/> and <xref target="RFC9190"/> provide
for "peer unauthenticated access".  However, those documents define no
way for a peer to signal that it is requesting such access.  The
presumption is that the peer connects with some value for the EAP
Identity, but does so without using a client certificate.  The EAP server is
then supposed to determine that the peer is requesting unauthenticated
access and take the appropriate steps to limit authorization.</t>
          <t>There appears to be no EAP peer or server implementations that
support such access since there is no defined way to perform any of
the steps required, i.e., to signal that this access is desired and
then limit access.</t>
          <t>The Wi-Fi Alliance has defined an unauthenticated EAP-TLS method,
using a vendor-specific EAP method as part of HotSpot 2.0r2 <xref target="HOTSPOT"/>.
However, there appear to be few deployments of this specification.</t>
          <t>Nimble Out-of-Band Authentication for EAP (EAP-NOOB) <xref target="RFC9140"/> takes this process a step further.  It defines both
a way to signal that provisioning is desired and a way to
exchange provisioning information within EAP-NOOB.  That is, there is
no need for the device to obtain limited network access as all of the
provisioning is done inside of the EAP-NOOB protocol.</t>
          <t>TEAP <xref target="RFC9930"/> provides for provisioning via an unauthenticated TLS
tunnel.  It provides for a server unauthenticated
provisioning mode, but the inner TLS exchange requires that both ends
authenticate each other.  There are ways to provision a certificate,
but the peer must still authenticate itself to the server with
preexisting credentials.  As a result, any provisioning method that uses TEAP will have to address this limitation.</t>
        </section>
        <section anchor="taxonomy-of-provisioning-types">
          <name>Taxonomy of Provisioning Types</name>
          <t>There are two scenarios where provisioning can be done.  The first is
where provisioning is done within the EAP method, as with EAP-NOOB
<xref target="RFC9140"/>.  The second is where EAP is used to obtain limited
network access (e.g., as with a captive portal).  That limited network
access is then used to run IP-based provisioning
over more complex protocols.</t>
        </section>
        <section anchor="rationale-for-provisioning-over-eap">
          <name>Rationale for Provisioning over EAP</name>
          <t>It is often useful to do all provisioning inside of EAP because the EAP / Authentication, Authorization, and Accounting (AAA)
admin does not have control over the network.  It is not always
possible to define a captive portal where provisioning can be done.
As a result, we need to be able to perform provisioning via EAP:
not via some IP.</t>
        </section>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>

<!--[rfced] Please confirm the use of the period in the following
     (i.e., outside the quotation marks).  Seems to be related to
     domain use.

Original:
The EPI is an NAI which is a subdomain of "eap.arpa".

Perhaps:
The EPI is an NAI that is a subdomain of "eap.arpa.".
-->
<dl spacing="normal" newline="true">
  <dt>EAP Provisioning Identifier</dt>
  <dd><t>The EAP Provisioning Identifier (or EPI) is defined to be a strict subset of
  the NAI <xref target="RFC7542"/>.  The EPI is an
  NAI that is a subdomain of "eap.arpa".  The "realm" portion of the NAI is
  defined in <xref section="2.2" sectionFormat="comma" target="RFC7542"/>,
  which is a more restrictive subset of the domain name conventions specified
  in <xref target="STD13"/>.</t>
  <t>Readers of this document should note that the realm portion of the NAI is
  different from a domain name.  In addition to the character set being more
  limited, the realm portion of the NAI does not include a trailing period
  (".").</t></dd>
  <dt>eap.arpa</dt>
  <dd><t>The realm portion of the NAI.</t>
  <t>This document uses the term "eap.arpa realm" when using that name within
  the context of an NAI.</t></dd>
  <dt>eap.arpa.</dt>
  <dd><t>The domain name "eap.arpa.".</t>
  <t>This document uses the term "eap.arpa. domain" when using that name
  within the context of the DNS.  The trailing period (".") is added for consistency
  with DNS specifications.</t></dd>
</dl>
        <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>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>A device that has no device-specific credentials can use a predefined
provisioning identifier in NAI format <xref target="RFC7542"/>.  The
NAI is composed of two portions: the utf8-username and the utf8-realm
domain.  For simplicity, we refer to these as the "username" and
"realm" fields.</t>
      <t>The realm is chosen to be independent of, and unused by, any existing
organization; thus, it is to be usable by all organizations.  The realm
needs to be one that is not automatically proxied by any existing
AAA proxy framework as
defined in <xref section="3" sectionFormat="comma" target="RFC7542"/>.  The realm also needs to be one
that does not return results for dynamic discovery as described in <xref target="RFC7585"/>.</t>
      <t>However, this specification does not forbid the routing of packets for
NAIs in the eap.arpa realm.  Instead, it leaves such routing up
to individual organizations.</t>
      <t>This specification is fully compatible with all known
EAP implementations, so it is fail-safe.  When presented with a peer
wishing to use this specification, existing implementations will
return EAP Failure and will not otherwise misbehave.</t>
      <section anchor="the-eaparpa-realm">
        <name>The eap.arpa Realm</name>
        <t>This document defines the eap.arpa realm as being used for
provisioning within EAP.  A similar domain has previously been used
for EAP-NOOB <xref target="RFC9140"/> as "eap-noob.arpa".  This document extends
that concept and standardizes the practices surrounding it.</t>

<!-- [rfced] We had a few questions about the following:

Original:
   NOTE: the "arpa" domain is controlled by the IAB.  Allocation of the
   eap.arpa. domain name requires agreement from the IAB.

a) We have updated this text as follows as requested in the RFC Editor
Note.  Please review and let us know if you have any objections.

Current:
As the controller of the "arpa" domain, the IAB has approved the
allocation of eap.arpa.

b) We were curious if the reader might need a pointer to where this
agreement could be found?  Or any further citation needed here?
-->


        <t>NOTE: As the controller of the "arpa" domain, the IAB has approved the allocation of eap.arpa.</t>
      </section>
      <section anchor="the-realm-field">
        <name>The Realm Field</name>
        <t>The NAIs defined by this specification use the "realm" field defined in 
<xref target="RFC7542"/> to signal the behavior being requested; in
particular, the subdomain under the eap.arpa. domain allows for different
requested methods to be distinguished.  The subdomain in the realm
field is assigned via the "EAP Provisioning Identifiers" registry <xref target="EAPREG"/>, which
is defined in <xref target="registry"/>. The subdomain <bcp14>MUST</bcp14> follow the syntax defined in <xref section="2.2" sectionFormat="comma" target="RFC7542"/>, which is a more restrictive subset of the domain name conventions specified in <xref target="STD13"/>.</t>

<!--[rfced] Please clarify the use of "the EAP registry" in this text:
     Original: ...However, the EAP registry does not follow the domain
     name conventions specified in...
-->        
<t>Where possible, the first subdomain of the eap.arpa. domain <bcp14>SHOULD</bcp14> use the EAP
method name, as defined in the "Extensible Authentication Protocol
(EAP) Registry" registry group, "Method Types" registry.  However, the EAP registry does
not follow the domain name conventions specified in <xref target="STD13"/>, so it
is not always possible to make a one-to-one mapping between the Method-Type
name and a subdomain of the eap.arpa. domain.</t>
        <t>Where it is not possible to make a direct mapping between the EAP
Method-Type name due to the EAP Method-Type name not matching the <xref section="2.2" sectionFormat="comma" target="RFC7542"/> format, the NAI that is defined in the "EAP Provisioning Identifiers" registry <bcp14>MUST</bcp14> use a realm name
that is similar enough to allow the average reader to understand which EAP
Method-Type is being used.</t>
        <t>Additional subdomains are permitted in the realm; these permit vendors and
Standards Development Organizations (SDOs) the ability to self-assign
a delegated range of identifiers that do not conflict with other
identifiers.</t>
        <t>Any realm defined in this registry (e.g., "tls.eap.arpa") also
implicitly defines a sub-realm "v." (e.g., "v.tls.eap.arpa").  Vendors
or SDOs can self-allocate within the "v." realm using realms that
they own.  For example, a company that owns the "example.com." domain
could self-allocate and use the realm "example.com.v.tls.eap.arpa".
See <xref target="vendor-assignment"/> for more discussion of this topic.</t>
        <t>This specification does not make any provisions for private-use
realms.  The "v." sub-realm is sufficient for all private uses.</t>
        <t>Experimental provisioning methods <bcp14>MUST</bcp14> be defined within the
appropriate vendor's name space.  For documents within the IETF, the "ietf.org" vendor space <bcp14>MUST</bcp14> be used.  Different uses <bcp14>SHOULD</bcp14> be distinguished
by using the name of a working group or document, such as
"emu.ietf.org.v.eap.arpa".</t>
      </section>
      <section anchor="the-username-field">
        <name>The Username Field</name>
        <t>The username field is dependent on the EAP method being used for
provisioning. For example, <xref target="RFC9140"/> uses the username "noob". Other
EAP methods <bcp14>MAY</bcp14> omit the username as recommended in <xref target="RFC7542"/>.  The
username "anonymous" is <bcp14>NOT RECOMMENDED</bcp14> for specifications using
this format, even though it is permitted by <xref target="RFC7542"/>.  The name
"anonymous" is widely used in NAIs today, and we wish to avoid
confusion.</t>
        <t>The username field is assigned via the "EAP Provisioning Identifiers"
registry, which is defined in <xref target="registry"/>.  The username field <bcp14>MAY</bcp14> be
empty or hold a fixed value. While <xref target="RFC7542"/> recommends
omitting the username portion for user privacy, the names here are defined
in public specifications.  Therefore, user privacy is not needed for provisioning identifiers;
the username field can be publicly visible.</t>
      </section>
      <section anchor="operation">
        <name>Operation</name>

<!--[rfced] In the following, is "EAP peers" intentionally repeated?
     Please review and let us know if a rephrase is necessary.

Original:
Having described the format and contents of NAIs in the eap.arpa realm
to define the EPI, we now describe how those EPIs are used by EAP
peers and EAP peers to signal provisioning information

Perhaps:
Having described the format and contents of NAIs in the eap.arpa realm
to define the EPI, we now describe how those EPIs are used by EAP
peers to signal provisioning information.
-->        
        <t>Having described the format and contents of NAIs in the eap.arpa realm
to define the EPI, we now describe how
those EPIs are used by EAP peers and EAP peers to signal provisioning
information.</t>
        <section anchor="eap-peers">
          <name>EAP Peers</name>
          <t>An EAP peer signals that it wishes a certain kind of
provisioning by using an EPI along with an associated EAP
method.  The meaning of the EPI, and behavior of the peer, are
defined by a separate specification.  That specification will
typically define both the EPI and the EAP method or methods that are used for
provisioning.</t>
          <t>The EPI used by the peer <bcp14>MUST</bcp14> be taken from an entry in the "EAP
Provisioning Identifiers" registry, and the EAP method used with that
NAI <bcp14>MUST</bcp14> match the corresponding EAP method from that same entry.</t>
          <t>Where an EAP peer allows local selection of a provisioning method, the
EPI is defined by the provisioning method and not by the end user.  As a result, when a provisioning method is being selected, the
EAP peer <bcp14>MUST NOT</bcp14> have a configuration interface that lets the EAP user identifier field be
configured directly.  Instead, the user (or some other process) chooses
a provisioning method and the EAP peer then selects the EPI
that matches that provisioning method.</t>
          <t>While EAP peers allow users to enter user identifiers directly for existing EAP
methods, they <bcp14>MUST NOT</bcp14> check whether those identifiers match any EPI.  Any user who
enters an identifier that matches an EPI either will get rejected because the server
does not support provisioning or the user will be placed into a
captive portal.  There are no security or privacy issues with a user
manually entering an EPI as the user identifier.</t>


          <t>When all goes well, running EAP with the EPI results in
new authentication credentials being provisioned.  The peer then drops
its network connection and re-authenticates using the newly
provisioned credentials.  The user <bcp14>MAY</bcp14> be involved in this process,
but, in general, provisioning results in the EAP peer automatically
gaining network access using the provisioned credentials.</t>
          <t>There are a number of ways in which provisioning can fail.  One way is
when the server does not implement the provisioning method.  Therefore, EAP peers
<bcp14>MUST</bcp14> track which provisioning methods have been tried and
not repeat the same method to the same EAP server when receiving an
EAP Nak.</t>
          <t>Peers <bcp14>MUST</bcp14> rate limit their provisioning attempts.  If provisioning
fails, it is likely because provisioning is not available.  Retrying
provisioning repeatedly and in quick succession is not likely to change
the server behavior.  Instead, it is likely to result in the peer
being blocked.  The peer <bcp14>SHOULD</bcp14> retry provisioning no more than once
every few minutes and <bcp14>SHOULD</bcp14> include jitter and exponential backoff
on its provisioning attempts.</t>
          <t>Since there is no way to signal whether the failed provisioning is due
to a transient failure on the EAP server or due to the
EAP server not supporting that provisioning method, EAP peers <bcp14>SHOULD</bcp14>
err on the side of long delays between retrying the same provisioning
method to an EAP server.  EAP peers <bcp14>MAY</bcp14> retry a given provisioning
method after a sufficiently long interval that the EAP server might
have implemented the provisioning method, e.g., at least a day and
perhaps no more than a month.</t>
          <t>Another way for the provisioning method to fail is when the new
credentials do not result in network access.  It is <bcp14>RECOMMENDED</bcp14> that
when peers are provisioned with credentials, they immediately try
to gain network access using those credentials.  That process allows
errors to be quickly discovered and addressed.</t>
          <t>An EAP peer may have been provisioned with temporary credentials or credentials that expire after some period of time (e.g., an X.509
certificate with notAfter date set).
Therefore, it <bcp14>SHOULD</bcp14> attempt to provision new credentials before the
current set expires.  Unfortunately, any re-provisioning process with
EAP will involve the device dropping off from the "full" network in
order to connect to the provisioning network.  Therefore, it is 
<bcp14>RECOMMENDED</bcp14> that re-provisioning methods be provided that can be used
when the device has full network access.  See <xref target="specifications"/> for
additional discussion on this topic.</t>
        </section>
        <section anchor="eap-servers">
          <name>EAP Servers</name>

<!--[rfced] We had a few questions regarding this text:

Original:
 An EAP server supporting this
 specification MUST examine the identity to see if it uses a realm
 located under eap.arpa. 


a) Would it make sense to update this text as follows (to clarify the
trailing "." character?

Perhaps A:
An EAP server supporting this
specification MUST examine the identity to see if it uses a realm
located under the eap.arpa. domain.

Perhaps B:
An EAP server supporting this
specification MUST examine the identity to see if it uses a realm
located under the eap.arpa realm.         

b) Would it make sense to reword the following?

Perhaps:
An EAP server implementing this specification...
-->
          <t>An EAP session begins with the server receiving an initial
EAP-Request/Identity message.  An EAP server supporting this
specification <bcp14>MUST</bcp14> examine the identity to see if it uses a realm located under
eap.arpa.  If so, the identity is an EPI.  Processing of all other identities is unchanged by this specification.</t>
          <t>If the server receives an EPI that is malformed, it <bcp14>MUST</bcp14>
reply with an EAP Failure as per <xref section="4.2" sectionFormat="comma" target="RFC3748"/>.  For example, an NAI may end with the eap.arpa realm but may also contain data that is not permitted by the format described in <xref target="RFC7542"/>.
Otherwise, the EPI is examined to determine which provisioning method
is being requested by the peer.</t>
          <t>If the server does not recognize the EPI requested by the peer, it
<bcp14>MUST</bcp14> reply with an EAP Nak of type zero (0).  This reply indicates
that the requested provisioning method is not available.  The server
also <bcp14>MUST</bcp14> reply with a Nak of type zero (0) as per <xref section="5.3.1" sectionFormat="comma" target="RFC3748"/> if the peer proposes an EAP method that is not supported by
the server or is not recognized as being valid for that provisioning
method.  The peer can then take any remedial action that it
determines to be appropriate.</t>
          <t>Once the server accepts the provisioning method, it then replies with
an EAP method that <bcp14>MUST</bcp14> match the one associated with the EPI.  The EAP process then proceeds as per the EAP state machine
outlined in <xref target="RFC3748"/>.</t>
          <t>Implementations <bcp14>MUST</bcp14> treat peers using an EPI as
untrusted and untrustworthy.  Once such a peer is authenticated, it <bcp14>MUST</bcp14>
be placed into a limited network such as a captive portal.  The
limited network <bcp14>MUST NOT</bcp14> permit unrestricted network access.
Implementations should be aware of methods that bypass simple
blocking such as tunneling data over DNS.</t>
          <t>A secure provisioning network is one where only the expected traffic
is allowed and all other traffic is blocked.  The alternative of
blocking only selected "bad" traffic results in substantial security
failures.  As most provisioning methods permit unauthenticated devices
to gain network access, these methods have a substantial potential for
abuse by malicious actors.  As a result, the limited network needs to
be designed assuming that it will be abused by malicious actors.</t>
          <t>A limited network <bcp14>SHOULD</bcp14> also limit the duration of network access by
devices being provisioned.  The provisioning process should be fairly
quick: in the order of seconds to tens of seconds in duration.
Provisioning times longer than this likely indicate an issue; it
may be useful to block the problematic device from the network.</t>
          <t>A limited network <bcp14>SHOULD</bcp14> also limit the amount of data being
transferred by devices being provisioned and <bcp14>SHOULD</bcp14> limit the network
services that are available to those devices.  The provisioning
process generally does not need to download large amounts of data;
similarly, it does not need access to a large number of services.</t>
          <t>Servers <bcp14>SHOULD</bcp14> rate limit provisioning attempts.  A misbehaving peer
can be blocked temporarily or even permanently. Implementations
<bcp14>SHOULD</bcp14> limit the total number of peers being provisioned at the same
time.  There is no requirement for RADIUS servers to allow all peers to
connect without limit.  Instead, peers are provisioned at the
discretion of the network being accessed, which may permit or deny
those devices based on reasons that are not explained to those
devices.</t>
          <t>Implementations <bcp14>SHOULD</bcp14> use functionality such as the RADIUS Filter-Id
attribute (<xref section="5.11" sectionFormat="comma" target="RFC2865"/>) to limit network access for the
peer being provisioned, as discussed in <xref target="eap-servers"/>.  For
ease of administration, the Filter-Id name could simply be the EPI or
a similar name.  Such consistency aids with operational considerations
when managing complex networks.</t>
          <t>Implementations <bcp14>MUST</bcp14> prevent peers in the limited network from
communicating with each other.  There is no reason for a system that
is being provisioned to communicate with anything other than the
provisioning server(s).</t>
        </section>
      </section>
      <section anchor="other-considerations">
        <name>Other Considerations</name>
        <t>Implementations <bcp14>MUST NOT</bcp14> permit EAP method negotiation with
provisioning credentials.  That is, when an EPI is used,
any EAP Nak sent by a server must contain only EAP method zero (0).
When an EAP peer uses an EPI and receives an EAP Nak, any
EAP methods given in that Nak <bcp14>MUST</bcp14> be ignored.</t>
        <t>While a server may support multiple provisioning methods, there is no
way in EAP to negotiate which provisioning method can be used.  It is
also expected that the provisioning methods will be specific to a
particular type of peer device.  That is, a given peer is likely to support
only one provisioning method.</t>
        <t>As a result, there is no need to require a method for negotiating
provisioning methods.</t>
      </section>
      <section anchor="specifications">
        <name>Considerations for Provisioning Specifications</name>
        <t>The operational considerations discussed in this document have a number of
impacts on specifications that define provisioning methods.</t>
        <section anchor="negotiation">
          <name>Negotiation</name>
          <t>Specifications that define provisioning for an EAP method <bcp14>SHOULD</bcp14>
provide a method-specific process by which implementations can
negotiate a mutually acceptable provisioning method.</t>
          <t>However, for the reasons noted in this document, we cannot make this suggestion
mandatory.  If it is not possible for a provisioning method to define
any negotiation, then that limitation should not be a barrier to
publishing the specification.</t>
        </section>
        <section anchor="renewal-of-credentials">
          <name>Renewal of Credentials</name>
          <t>Where a provisioning method is expected to create credentials that do
not expire, the specification <bcp14>SHOULD</bcp14> state this explicitly.</t>
          <t>Where credentials expire, it is <bcp14>RECOMMENDED</bcp14> that specifications
provide guidance on how the credentials are to be updated.  For
example, an EAP method could permit re-provisioning to be done as part
of a normal EAP authentication using the currently provisioned
credentials.</t>
          <t>It is <bcp14>RECOMMENDED</bcp14> that the provisioning methods provide for a method
that can be used without affecting network access.  A specification
could define provisioning endpoints such as Enrollment over Secure
Transport (EST) <xref target="RFC7030"/> or Internet X.509 Public Key Infrastructure
Certificate Management Protocol (CMP) <xref target="RFC9810"/>.  The provisioning endpoints could be
available both on the provisioning network and on the provisioned
(i.e., normal) network.  Such an architecture means that devices can be
re-provisioned without losing network access.</t>
        </section>
      </section>
      <section anchor="notes-on-aaa-routability">
        <name>Notes on AAA Routability</name>
        <t><xref section="3" sectionFormat="comma" target="RFC7542"/> describes how the NAI allows authentication
requests to be routable within a AAA proxy system.  While the EPI uses the
NAI format, the eap.arpa realm has been chosen because it is not
routable within a AAA proxy system.</t>
        <t>When we say that the eap.arpa realm is not routable in a AAA proxy
system, we mean two different things:</t>
<ol>
<li>The eap.arpa. domain
does not exist within the DNS, so it will never be resolvable for
dynamic discovery as described in <xref target="RFC7585"/>.</li>
<li>The eap.arpa realm will
never be used by any administrator; the administrator is unable to
satisfy the requirements of <xref section="2.5" sectionFormat="comma" target="RFC7542"/> by registering
the realm within the DNS.</li> 
</ol>
        <t>In addition, administrators will not have statically configured AAA
proxy routes for this domain.  Where routes are added for this domain,
they will generally be used to implement this specification.</t>
        <t>In order to avoid spurious DNS lookups, RADIUS servers supporting
<xref target="RFC7585"/> <bcp14>SHOULD</bcp14> perform filtering in the domains that are sent to
DNS.  Specifically, names in the eap.arpa. domain <bcp14>MUST NOT</bcp14> be
looked up in DNS.</t>
      </section>
    </section>
    <section anchor="interaction-with-eap-methods">
      <name>Interaction with EAP Methods</name>
      <t>As the provisioning identifier is used within EAP, it necessarily has
interactions with, and effects on, the various EAP methods.  This
section discusses those effects in more detail.</t>
<!-- [rfced] We had two questions about the following text:

Original:
 For example, both EAP-MSCHAPv2 (PEAP) and EAP-PWD [RFC5931]
   perform cryptographic exchanges where both parties knowing a shared
   password. 

a) We see that [RFC5931] uses "EAP-pwd" rather than "EAP-PWD".  Please
review and let us know if any updates are necessary.

Current:
   For example, both EAP-MSCHAPv2 (PEAP) and EAP-PWD [RFC5931] perform
   cryptographic exchanges where both parties knowing a shared password.

b) Should MSCHAPv2 be expanded to Microsoft Challenge Handshake
Authentication Protocol version 2?  If so, how does it interact with
the parenthetical (PEAP)?
-->
      <t>Some EAP methods require shared credentials such as passwords in order
to succeed.  For example, both EAP-MSCHAPv2 (Protected Extensible Authentication Protocol aka PEAP) and EAP-PWD
<xref target="RFC5931"/> perform cryptographic exchanges where both parties
know a shared password.  Where password-based methods are used, the
password <bcp14>SHOULD</bcp14> be the same as the provisioning identifier, as there
are few reasons to define a method-specific password.</t>
      <t>This requirement also applies to TLS-based EAP methods such as EAP Tunneled Transport Layer Security (EAP-TTLS)
and PEAP.  Where the TLS-based EAP method provides for an inner
identity and inner authentication method, the credentials used there
<bcp14>SHOULD</bcp14> be the provisioning identifier for both the inner identity and
any inner password.</t>
      <t>It is <bcp14>RECOMMENDED</bcp14> that provisioning be done via a TLS-based EAP method.
TLS provides for authentication of the EAP server along with integrity
and confidentiality protection for any provisioning data exchanged in the tunnel.
Similarly, if provisioning is done in a captive portal outside of EAP,
EAP-TLS permits the EAP peer to run a full EAP authentication session
while having nothing more than a few Certificate Authorities (CAs)
locally configured.</t>
      <section anchor="high-level-requirements">
        <name>High Level Requirements</name>
        <t>All provisioning methods that are specified within the eap.arpa. domain <bcp14>MUST</bcp14> define a way to authenticate the server.  This
authentication can happen either at the EAP layer (as with TLS-based
EAP methods) or after network access has been granted (if credentials
are provisioned over HTTPS).</t>
        <t>Where TLS-based EAP methods are used, implementations <bcp14>MUST</bcp14> still
validate EAP server certificates in all situations other than
provisioning.  Where the provisioning method under the eap.arpa. domain defines that provisioning happens via another protocol such as
with HTTPS, the EAP peer <bcp14>MAY</bcp14> skip validating the EAP server
certificate.</t>
        <t>Whether or not the server certificate is ignored, the peer <bcp14>MUST</bcp14> treat
the local network as untrusted.  <xref section="6" sectionFormat="comma" target="RFC8952"/> has more
discussion on this topic.</t>
        <t>The ability to not validate the EAP server certificates relaxes the
requirements of <xref section="5.3" sectionFormat="comma" target="RFC5216"/> that the
server certificate always be validated.  For provisioning,
it is acceptable in some cases to not validate the EAP server
certificate but only when there are other means to authenticate
the data that is being provisioned.</t>
        <t>However, since the device is likely otherwise configured with web CAs <xref target="CAB"/>, the captive portal would also be unauthenticated
provisioning methods could use those CAs within an EAP method in order
to allow the peer to authenticate the EAP server.  Further discussion
of this topic is better suited for the specification(s) that define a
particular provisioning method.  This issue is not discussed further here,
other than to say that it is technically possible.</t>
      </section>
      <section anchor="eap-tls">
        <name>EAP-TLS</name>
        <t>This document defines an NAI called "portal@tls.eap.arpa", which
allows EAP peers to use unauthenticated EAP-TLS.  The purpose of the
identifier is to allow EAP peers to signal to EAP servers that they wish
to obtain "captive portal" network access.</t>
        <t>This identifier signals to the EAP server that the peer wishes to obtain
"peer unauthenticated access" as per <xref section="2.1.1" sectionFormat="comma" target="RFC5216"/> and
<xref target="RFC9190"/>.  Note that peer unauthenticated access <bcp14>MUST</bcp14> provide for
authentication of the EAP server, such as with a server certificate.
Using TLS-PSK with a well-known Pre-Shared Key (PSK) value is generally not
appropriate, as it would not provide server authentication.</t>
        <t>An EAP server that agrees to authenticate this request <bcp14>MUST</bcp14> ensure
that the device is placed into a captive portal with limited network
access as discussed above in <xref target="eap-servers"/>.</t>
        <t>This method is an improvement over existing captive portals, which are
typically completely unsecured and unauthenticated.  Using peer
unauthenticated TLS for network access ensures that the EAP server is
proven to be authentic.  The use of 802.1X ensures that the link
between the EAP peer and EAP authenticator (e.g., access point) is also
	secured.</t>

<!--[rfced] Please review the use of 802.11u in the following.  As all
     other instances are to 802.11X, is this use intentional?  If so,
     should a pointer to 802.11u be added?

Original:
The captive portal can advertise support for the eap.arpa. domain via
an 802.11u realm.
-->
        <t>Further details of the captive portal architecture can be found in
<xref target="RFC8952"/>.  The captive portal can advertise support for the
eap.arpa. domain via an 802.11u realm.</t>
      </section>
      <section anchor="eap-noob">
        <name>EAP-NOOB</name>
        <t>It is <bcp14>RECOMMENDED</bcp14> that server implementations of EAP-NOOB accept both
identities "noob@eap-noob.arpa" and "@noob.eap.arpa" as synonyms.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that EAP-NOOB peers use "@noob.eap.arpa" first and,
if that does not succeed, then they use "noob@eap-noob.arpa".</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      
<!--[rfced] We had several questions related to the IANA
     Considerations in this document.

a) We note that Section 5 (IANA Considerations) describes some of
what's to come in the subsections of Section 5.  This pointed out to
us that perhaps Sections 5.3, 5.3.1, 5.4, and 5.5 should actually be
subsections of Section 5.2 (i.e., what registry does "...this
registry" in Section 5.3 refer to?).

Original:
   A number of IANA actions are required.  There are two registry
   updates in order to define the eap.arpa. domain.  A new registry is
   created.  The "noob@eap-noob.arpa" registry entry is deprecated.

Current:
This document describes a number of IANA actions:

- There are two registry updates in order to define the
eap.arpa. domain (see Section 5.1).

- A new registry is created (see Section 5.2).

- The "noob@eap-noob.arpa" registry entry is deprecated (see Section 5.1.1).

Perhaps:
This document describes a number of IANA actions:

-IANA has made two registry updates in order to define the
eap.arpa. domain (see Section 5.1).

-IANA has created a new registry (see Section 5.2).


With the reorganization of the sections as mentioned above?  Please
review and advise.


b) Note that we have updated mentions of ".arpa registry" to point
instead to the ".ARPA Zone Management" registry.

Please review and advise if this was not what was intended.

c) For the ease of the reader, we have added some citations as well as
an informative reference to the Special-Use Domain Names registry.
Please let us know any objections.

d) In point 6 of Section 5.1.2.1, we see:

Original:
Either behavior will have no impact on this specification.

Would the behavior have an effect on this document (or the content
therein)?  Please review.

e) We see that the "EAP Provisioning Identifiers" registry uses
"Method-Type" while the registry itself uses "Method Type" (with no
hyphen).  May we update uses of Method-Type to read as Method Type
throughout?  Note that we will communicate this change (as well as any
other changes related to IANA registries) to IANA once AUTH48
completes.
-->
      <t>This document describes a number of IANA actions:</t> 
      <ul>
        <li>There are two registry updates in
order to define the eap.arpa. domain (<xref target="arpa-updates"/>).</li>
<li>A new registry is created (see <xref target="registry"/>).</li>  
<li>The
"noob@eap-noob.arpa" registry entry is deprecated (see <xref target="deprecating-eap-noobarpa"/>).</li></ul>
      <section anchor="arpa-updates">
        <name>.arpa Updates</name>
        <t>There are two updates to the ".ARPA Zone Management" registry <xref target="ARPAREG"/> (detailed in Sections <xref target="deprecating-eap-noobarpa" format="counter"/> and <xref target="defining-the-eaparpa-domain" format="counter"/>).</t>
        <t>IANA has also been instructed to refuse further allocation requests that
are directly within the ".ARPA Zone Management" registry for any functionality related
to the EAP.  Instead, allocations related to EAP are to
be made within the new "EAP Provisioning Identifiers" registry in the "Extensible Authentication Protocol (EAP) Registry" registry group (see <xref target="EAPREG"/>).</t>
        <section anchor="deprecating-eap-noobarpa">
          <name>Deprecating eap-noob.arpa</name>
          <t>IANA has updated the "eap-noob.arpa" entry in the ".ARPA Zone Management" registry <xref target="ARPAREG"/> as follows:</t>
          <t>The USAGE/REFERENCE field has been updated to prefix the text with (DEPRECATED) and to add a reference to this document (RFC 9965).</t>
        </section>
        <section anchor="defining-the-eaparpa-domain">
          <name>Defining the eap.arpa. Domain</name>
          <t>IANA has updated the ".ARPA Zone Management" registry <xref target="ARPAREG"/> to include
the following entry:</t>

<dl spacing="compact" newline="false">
  <dt>DOMAIN:</dt><dd>eap.arpa</dd>
  <dt>USAGE/REFERENCE:</dt><dd>For provisioning within the Extensible Authentication Protocol framework.  RFC 9965</dd>
</dl>

          <t>IANA has updated the "Special-Use Domain Names" registry (see <xref target="SPECIAL-USE"/>) as follows:</t>
<dl spacing="compact" newline="false">
  <dt>Name:</dt><dd>eap.arpa.</dd>
  <dt>Reference:</dt> <dd>RFC 9965</dd>
</dl>
          <section anchor="domain-name-reservation-considerations">
            <name>Domain Name Reservation Considerations</name>
            <t>This section answers the questions that are required by <xref target="RFC6761" section="5"/>.  At a high level, these new domain names are used in certain situations in EAP.  The domain names are never seen by users, and they do not appear in any networking protocol other than EAP.</t>
            <ol spacing="normal" type="1">
     <li>
                <t>Users:
Human users are not expected to recognize these names as special or use them differently from other domain names.  The use of these names in EAP is invisible to end users.</t>
              </li>
              <li>
                <t>Application Software:
EAP servers and clients are expected to make their software recognize these names as special and treat them differently.  This document discusses that behavior.
EAP peers should recognize these names as special and should refuse to allow users to enter them in any interface.
EAP servers and RADIUS servers should recognize the eap.arpa. domain as special and refuse to do dynamic discovery (<xref target="RFC7585"/>) for it.</t>
              </li>
              <li>
                <t>Name Resolution APIs and Libraries:
Writers of these APIs and libraries are not expected to recognize these names or treat them differently.</t>
              </li>
              <li>
                <t>Caching DNS Servers:
Writers of caching DNS servers are not expected to recognize these names or treat them differently.</t>
              </li>
              <li>
                <t>Authoritative DNS Servers:
Writers of authoritative DNS servers are not expected to recognize these names or treat them differently.</t>
              </li>
              <li>
                <t>DNS Server Operators:
These domain names have minimal impact on DNS server operators.  They should never be used in DNS or in any networking protocol outside of EAP.</t>
<t>Some DNS servers may receive lookups for this domain, if EAP or RADIUS servers are configured to do dynamic discovery for realms as defined in <xref target="RFC7585"/>, and where those servers are not updated to ignore the ".arpa" domain.  When queried for the eap.arpa. domain, DNS servers <bcp14>SHOULD</bcp14> return an NXDOMAIN error.</t>
<t>If they try to configure their authoritative DNS as authoritative for this reserved name, compliant name servers do not need to do anything special.  They can accept the domain or reject it.  Either behavior will have no impact on this specification.</t>
              </li>
              <li>
                <t>DNS Registries/Registrars:
DNS Registries/Registrars should deny requests to register this reserved domain name.</t>
              </li>
            </ol>
          </section>
        </section>
      </section>
      <section anchor="registry">
        <name>EAP Provisioning Identifiers Registry</name>
        <t>IANA has added the following new registry to the "Extensible Authentication Protocol (EAP) Registry" registry group (see <xref target="EAPREG"/>).</t>
        <t>Assignments in this registry are made via "Expert Review" as described in <xref target="RFC8126" sectionFormat="comma" section="4.5"/>.  Guidelines for experts are provided in <xref target="guidelines"/>.</t>
        <t>The registry format is as follows:</t>

<dl spacing="compact" newline="false">
  <dt>Title:</dt>
  <dd>EAP Provisioning Identifiers</dd>
  <dt>Registration Procedure(s):</dt>
  <dd>Expert Review</dd>
  <dt>Reference:</dt>
  <dd>RFC 9965</dd>
   <dt>NAI:</dt>
  <dd>The Network Access Identifier in the format described in <xref target="RFC7542"/>.</dd>
  <dt>Method-Type:</dt>
  <dd>The EAP method name, taken from the "Description" field of the "Method Types" registry (see <xref target="EAPREG"/>) .</dd>
  <dt>Reference:</dt>
  <dd>Reference where this identifier was defined.</dd>
  </dl>
        <section anchor="initial-values">
          <name>Initial Values of the EAP Provisioning Identifiers Registry</name>
          <table>
            <name>Initial Values of the EAP Provisioning Identifiers Registry</name>
            <thead>
              <tr>
                <th align="left">NAI</th>
                <th align="left">Method-Type</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">@noob.eap.arpa</td>
                <td align="left">EAP-NOOB</td>
                <td align="left">
                  <xref target="RFC9140"/> and RFC 9965</td>
              </tr>
              <tr>
                <td align="left">portal@tls.eap.arpa</td>
                <td align="left">EAP-TLS</td>
                <td align="left">
                  <xref target="RFC9190"/> and RFC 9965</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="guidelines">
        <name>Guidelines for Designated Experts</name>
        <t>The following text gives guidelines for designated experts who review
allocation requests for the "EAP Provisioning Identifiers" registry.</t>
        <section anchor="nais">
          <name>NAIs</name>
          <t>The intent is for the NAI to describe both the EAP
Method-Type and the purpose of the provisioning method.  A descriptive format allows administrators who are unfamiliar with a particular NAI to make reasonable deductions about the provisioning method being requested.  For
example, with an EAP Method-Type "name" and a purpose "action", the
NAI <bcp14>SHOULD</bcp14> be of the form "action@name.eap.arpa".</t>
          <t>The NAI <bcp14>MUST</bcp14> satisfy the requirements of the format in <xref section="2.2" sectionFormat="comma" target="RFC7542"/>.  The utf8-username portion <bcp14>MAY</bcp14> be empty.  The utf8-username
portion <bcp14>MUST NOT</bcp14> be "anonymous".  The NAI <bcp14>MUST</bcp14> be a subdomain within the eap.arpa realm.
NAIs with any "v." subdomain <bcp14>MUST NOT</bcp14> be registered in order to
preserve the functionality of that subdomain.</t>
          <t>NAIs in the registry <bcp14>MUST NOT</bcp14> contain more than one subdomain.  NAIs
with a leading "v." subdomain <bcp14>MUST NOT</bcp14> be registered.  That subdomain
is reserved for vendor and SDO extensions.</t>
          <t>The subdomain of the NAI field should correspond to the EAP Method-Type name.  Care should be taken so that the domain name conventions
specified in <xref target="STD13"/> are followed.</t>
          <t>The NAIs in this registry are case-insensitive.  While <xref target="RFC7542"/>
notes that similar identifiers of different cases can be considered to
be different, this registry requires that all entries
<bcp14>MUST</bcp14> be lowercase for simplicity.</t>
          <t>Identifiers <bcp14>MUST</bcp14> be unique when compared in a case-insensitive
fashion.  While <xref target="RFC7542"/> notes that similar identifiers of
different cases can be considered to be different, this registry is
made simpler by requiring case-insensitivity.</t>
          <t>Entries in the registry should be short.  NAIs defined here will
generally be sent in a RADIUS packet in the User-Name attribute
(<xref target="RFC2865" sectionFormat="comma" section="5.1"/>).  That specification recommends that
implementations should support User-Names of at least 63 octets.  NAI
length considerations are further discussed in <xref target="RFC7542" sectionFormat="comma" section="2.3"/>, and any allocations in this registry need to take those
limitations into consideration.</t>
          <t>Implementations are likely to support a total NAI length of 63 octets.
Lengths between 63 and 253 octets may work.  Lengths of 254 octets or
more will not work with RADIUS <xref target="RFC2865"/>.</t>
        </section>
      </section>
      <section anchor="method-type">
        <name>Method-Type</name>
        <t>Values in the "Method-Type" field of this registry <bcp14>MUST</bcp14> be taken from the
"Method Types" registry (see <xref target="EAPREG"/>); otherwise, a value <bcp14>MUST</bcp14> be an Expanded Type,
which usually indicates a vendor-specific EAP method.</t>
        <t>The EAP Method-Type <bcp14>MUST</bcp14> provide a Master Session Key (MSK) and an Extended MSK (EMSK) as defined in
<xref target="RFC3748"/>.  Failure to provide these keys means that the Method-Type will
not be usable within an authentication framework that requires those
methods, such as with IEEE 802.1X.</t>
      </section>
      <section anchor="designated-experts">
        <name>Designated Experts</name>
        <t>The designated expert will post a request to the EAP Method Update (EMU) WG mailing list
(or a successor designated by the Area Director) for comment and
review, including an I-D or reference to an external
specification.  Before a period of 30 days has passed, the designated
expert will either approve or deny the registration request and
publish a notice of the decision to the EMU WG mailing list (or its
successor) as well as inform IANA.  A denial notice must be
justified by an explanation; in the cases where it is possible,
concrete suggestions on how the request can be modified so as to
become acceptable should be provided.</t>
      </section>
      <section anchor="vendor-assignment">
        <name>Organization Self Assignment</name>
        <t>The "EAP Provisioning Identifiers" registry allows organizations to request allocations from it, but explicit allocations are not always required.  Any NAI
defined in this registry also implicitly defines a subdomain "v.".
Organizations can self-allocate in this space under the "v."
subdomain, e.g., "local@example.com.v.tls.eap.arpa".</t>
        <t>The purpose of self-assigned realms is for testing and for future
expansion.  There are currently no use cases being envisioned for
these realms, but we do not wish to forbid future expansion.</t>
        <t>An organization that has registered a Fully Qualified Domain Name
(FQDN) within the DNS can use that name within the "v." subdomain.</t>
        <t>As DNS registrations can change over time, an organization may stop
using a domain at some point.  This change is reflected in the DNS
but is unlikely to be reflected in shipped products that use a
self-assigned realm.  There is no solution to this problem other than
suggesting that organizations using self-assigned realms do not allow
their DNS registrations to expire.</t>
        <t>Therefore, it is <bcp14>RECOMMENDED</bcp14> that organizations avoid the use of
self-assigned realms.  Organizations <bcp14>MAY</bcp14> use self-assigned realms only
when no other alternative exists and when the organization expects to
maintain operation for at least the lifetime of the devices that use
these realms.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The EAP Identity field is generally publicly visible to parties who
can observe the EAP traffic.  As the names given here are in a public
specification, there is no privacy implication to exposing those names
within EAP.  In fact, the entire goal of this specification is to make
those names public so that unknown (and private) parties can publicly
(and anonymously) declare what kind of network access they desire.</t>
      <t>However, there are many additional privacy concerns around this
specification.  Most EAP traffic is sent over RADIUS <xref target="RFC2865"/>.  The
RADIUS Access-Request packets typically contain large amounts of
information such as Media Access Control (MAC) addresses, device location, etc.</t>
      <t>This specification does not change RADIUS or EAP and, as such, does not
change which information is publicly available or is kept private.
Those issues are dealt with in other specifications, such as
<xref target="I-D.ietf-radext-deprecating-radius"/>.</t>
      <t>However, this specification can increase privacy by allowing devices
to anonymously obtain network access and then securely obtain
credentials.</t>
      <t>The NAIs used here are contained in a public registry; therefore, they
do not have to follow the username privacy recommendations of
<xref section="2.4" sectionFormat="comma" target="RFC7542"/>.  However, there may be other personally
identifying information contained in EAP or AAA packets.  This
situation is no different from normal EAP authentication; thus, it
has no additional positive or negative implications for privacy.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification defines a framework that permits unknown,
anonymous, and unauthenticated devices to request and to obtain
network access.  As such, it is critical that network operators
provide limited access to those devices.</t>
      <t>Future specifications that define an NAI within this registry, should
give detailed descriptions of what kind of network access is to be
provided.</t>
      <section anchor="on-path-attackers-and-impersonation">
        <name>On-Path Attackers and Impersonation</name>
        <t>In most EAP use cases, the server identity is validated (usually
through a certificate) or the EAP method allows the TLS tunnel to be
cryptographically bound to the inner application data.  For the
methods outlined here, the use of public credentials and/or skipping
server validation allows "on-path" attacks to succeed where they would
normally fail.</t>
        <t>EAP peers and servers <bcp14>MUST</bcp14> assume that all data sent over an EAP
session is visible to attackers and can be modified by them.</t>
        <t>The methods defined here <bcp14>MUST</bcp14> only be used to bootstrap initial
network access.  Once a device has been provisioned, it gains network
access via the provisioned credentials and any network access
policies can be applied.</t>
      </section>

 <!--[rfced] Please clarify the antecedent of the pronoun "it" in the
      following:

Original:
This specification allows for unauthenticated EAP peers to obtain
network access, however limited.  As with any unauthenticated process,
it can be abused. Implementations should take care to limit the use of
the provisioning network."
-->

      <section anchor="provisioning-is-unauthenticated">
        <name>Provisioning is Unauthenticated</name>
        <t>This specification allows unauthenticated EAP peers
to obtain network access, however limited.  As with any
unauthenticated process, it can be abused.  Implementations should
take care to limit the use of the provisioning network.</t>
        <t><xref target="eap-servers"/> describes a number of methods that can be
used to secure the provisioning network.  In summary:</t>


<!--[rfced] In the following, is "to" missing?  Or is there another
     way to rephrase?

Original:
for any one device, rate limit its access the provisioning network.

Perhaps:
for any one device, rate limit its access to the provisioning network.

-->
        <ul spacing="normal">
          <li>
            <t>allow only traffic that is needed for the current provisioning
method.  All other traffic should be blocked.  Most notable, DNS has
been used to exfiltrate network traffic, so DNS recursive resolvers <bcp14>SHOULD NOT</bcp14>
be made available on the provisioning network.</t>
          </li>
          <li>
            <t>limit the services available on the provisioning network to only
those services that are needed for provisioning.</t>
          </li>
          <li>
            <t>limit the number of devices that can access the provisioning
network at the same time.</t>
          </li>
          <li>
            <t>for any one device, rate limit its access the provisioning network.</t>
          </li>
          <li>
            <t>for a device that has accessed the provisioning network, limit the
total amount of time that it is allowed to remain on the network.</t>
          </li>
          <li>
            <t>for a device that has accessed the provisioning network, limit the
total amount of data that it is allowed to transfer through the network.</t>
          </li>
        </ul>
      </section>
    </section>

  </middle>
  <back>
    <displayreference target="I-D.ietf-radext-deprecating-radius" to="INSECURE-RADIUS"></displayreference>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD13" target="https://www.rfc-editor.org/info/std13">
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml"/>
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml"/>
        </referencegroup>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3748.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5216.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7542.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9140.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="HOTSPOT" target="https://www.wi-fi.org/discover-wi-fi/passpoint">
          <front>
            <title>Passpoint</title>
            <author>
              <organization>Wi-Fi Alliance</organization>
            </author>
          </front>
        </reference>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2865.xml"/>

<!--[rfced] We note that RFC 7170 has been obsoleted by RFC 9930.  We
     have updated to the latter.  Please let us know any
     objections. -->

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9930.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8952.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9190.xml"/>
        <reference anchor="ARPAREG" target="https://www.iana.org/domains/arpa">
          <front>
            <title>.ARPA Zone Management</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>

        <reference anchor="EAPREG" target="https://www.iana.org/assignments/eap-numbers">
          <front>
            <title>Extensible Authentication Protocol (EAP) Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>

                <reference anchor="SPECIAL-USE" target="https://www.iana.org/assignments/special-use-domain-names">
          <front>
            <title>Special-Use Domain Names</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>

        <reference anchor="CAB" target="https://cabforum.org/">
          <front>
            <title>CA/Browser Forum</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
          </front>
        </reference>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7585.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7030.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9810.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5931.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6761.xml"/>
<!-- [I-D.ietf-radext-deprecating-radius]
draft-ietf-radext-deprecating-radius-08 
IESG State: I-D Exists as of 12/12/25
-->
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-radext-deprecating-radius.xml"/>
      </references>
    </references>

    <section anchor="acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t><contact fullname="Mohit Sethi"/> provided valuable insight that
      using subdomains was better and more informative than the original
      method, which used only the utf8-username portion of the NAI.</t>
      <t>The document was further improved with reviews from <contact
      fullname="Ignes Robles"/> and <contact fullname="Ben Kaduk"/>.</t>
    </section>  
    
    
<!--[rfced] We had the following questions related to terminology use
     throughout the document:

a) We see that eap.arpa. domain is used consistently throughout.

However, we see the following with regard to .arpa:

"arpa" domain 
".arpa" domain

Should these be made consistent between themselves or more similar to
eap.arpa. (i.e., no double quotes and trailing period)?

Further, please review the following with regard to the trailing period:

Original:
...the NAI SHOULD be of the form "action@name.eap.arpa".
-->


<!--[rfced] FYI - We see that an extra space is being inserted after
     "eap.arp." in some places (e.g., titles).  We will dig into to
     see if there is some formatting we can implement to remove the
     added space. -->

  </back>
</rfc>
