<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-emu-eap-ppt-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EAP-PPT">Extensible Authentication Protocol (EAP) Using Privacy Pass Token</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-ppt-01"/>
    <author fullname="Paresh Sawant">
      <organization>Apple Inc.</organization>
      <address>
        <email>paresh_sawant@apple.com</email>
      </address>
    </author>
    <author fullname="Bart Brinckman">
      <organization>Cisco Systems</organization>
      <address>
        <email>bbrinckm@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="January" day="09"/>
    <keyword>Internet-Draft</keyword>
    <keyword>EAP</keyword>
    <keyword>anonymous</keyword>
    <keyword>authorization</keyword>
    <keyword>Privacy Pass token</keyword>
    <abstract>
      <?line 47?>

<t>This document describes Extensible Authentication Protocol using
Privacy Pass token (EAP-PPT) Version 1. The protocol specifies
use of the Privacy Pass token for client authentication within EAP
as defined in RFC3748. Privacy Pass is a privacy preserving
authentication mechanism used for authorization, as defined
in RFC9576.</t>
    </abstract>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies Extensible Authentication Protocol (EAP)
method, EAP-PPT, which uses Privacy Pass token for EAP peer
authentication; see <xref target="RFC9576"/> for more information about
Privacy Pass. EAP-PPT <bcp14>MUST</bcp14> be used inside any tunnel-based EAP
method that enables secure communication between a peer and a
server by using Transport Layer Security (TLS) Protocol
<xref target="RFC8446"/>. The tunnel-based EAP method <bcp14>MUST</bcp14> guarantee a server
authenticated TLS tunnel.</t>
      <t>Privacy Pass tokens are unlinkable authenticators that can be used
to anonymously authorize a client <xref target="RFC9576"/>. Privacy
Pass tokens are issued to peer by token issuers using an Issuance
Protocol <xref target="RFC9578"/>. A client possessing such a token is able to
prove that it was able to get it issued, without allowing the
relying party redeeming the client's token (the origin) to link
it with the issuance flow.</t>
    </section>
    <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.
<?line -6?>
      </t>
      <t>Much of the terminology in this document is defined in <xref target="RFC3748"/>.</t>
      <t>Additional terms are defined below:</t>
      <dl>
        <dt>NAI:</dt>
        <dd>
          <t>Network Access Identifier <xref target="RFC7542"/></t>
        </dd>
        <dt>EAP-PPT peer:</dt>
        <dd>
          <t>This term is used for the entity acting as EAP peer.
This term is identical to term Client defined in
<xref section="2" sectionFormat="of" target="RFC9576"/>.</t>
        </dd>
        <dt>EAP-PPT server:</dt>
        <dd>
          <t>This term is used for the entity acting as EAP server.
This term is identical to term Server defined in
<xref section="2" sectionFormat="of" target="RFC9576"/>.</t>
        </dd>
        <dt>Privacy Pass token:</dt>
        <dd>
          <t>Unlinkable authenticator that can be used to anonymously
authorize a client <xref target="RFC9577"/>. This is produced as an output
of issuance protocol <xref target="RFC9578"/>.</t>
        </dd>
        <dt>Token Challenge:</dt>
        <dd>
          <t>An action by which a EAP-PPT Server requests EAP-PPT peer
to present Privacy Pass Token for one of the presented challenges.</t>
        </dd>
        <dt>Token Redemption:</dt>
        <dd>
          <t>An action by which a peer presents a Privacy Pass token to a
EAP-PPT Server in EAP-PPT Protocol. See <xref section="2.2" sectionFormat="of" target="RFC9577"/>.</t>
        </dd>
        <dt>Identity provider:</dt>
        <dd>
          <t>An entity that is responsible for authentication of end-user devices
with the prupose of granting them access to a network resource.</t>
        </dd>
      </dl>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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?>

</section>
    <section anchor="motivation">
      <name>Motivation</name>
      <t>EAP is predominantly used for authentication of users and devices
trying to join a network. Its security and extensibility capabilities
makes it a popular choice in implementing secure network access.
EAP is one of the most preferred authentication mechanisms used for
secure wireless LAN access using <xref target="IEEE-802.11"/> standard, wired LAN
access using <xref target="IEEE-802.1X"/> and Virtual Private Network (VPN) access.
EAP is also used for secure network access for students and guests
in academia, see <xref target="RFC7593"/>.</t>
      <t>One goal of privacy is to protect individual's identity and personal
information from eavesdropers, intermediaries and recipients
in the network communication. An individual's privacy may get
compromized when network access is attempted using EAP as an
authentication mechanism. The various privacy-specific threats
are described in <xref section="5.2" sectionFormat="of" target="RFC6973"/>.</t>
      <t>Typical approaches for authorizing clients, such as through the use
of a permanent identity or service provider generated pseudo identity,
are not privacy-friendly since they allow servers to track clients
across sessions and interactions. This means service providers,
identity providers, employers, or school/university administrators
can track the individuals.</t>
      <t>The goal of this specification is to protect an individual from the
<xref section="5.2" sectionFormat="of" target="RFC6973"/> in public and enterprise environments.
EAP-PPT can be leveraged for authorization based on
anonymous-credential authentication mechanisms. EAP-PPT takes a
different approach: instead of carrying linkable state carrying
information to servers, such as permanent identity or pseudonym,
EAP peer presents Privacy Pass tokens that attest to this information.
These tokens are anonymous in the sense that a given token cannot be
linked to the protocol instance in which that token was initially
issued.</t>
      <t><xref target="RFC9577"/> specifies the authentication scheme using Privacy Pass
token over HTTP. <xref target="RFC9577"/> mainly serves use cases where access to
restricted services require anonymous client authorization. Since
<xref target="RFC9577"/> functions at the application layer of a networking stack,
it justifies a need of a protocol that can offer the similar
functionality for the lower layers. Since EAP was designed for use in
network access authentication, where IP layer connectivity may not be
available, EAP-PPT can be used for anonymous client authorization for
wired and wireless network access. Since EAP-PPT method provides
unilateral authentication, it qualifies to be used together with
responder authentication based on public key signatures in
<xref target="RFC7296"/> protocol. <xref target="RFC7296"/> is a component of IPsec used for
performing mutual authentication and establishing and maintaining
Security Associations. <xref target="RFC7296"/> is widely used to implement remote
access VPN service in public and enterprise environments.</t>
    </section>
    <section anchor="architecture-model">
      <name>Architecture Model</name>
      <t><xref target="arch"/> shows network architectural model for EAP-PPT.</t>
      <figure anchor="arch">
        <name>EAP-PPT Architectural Model</name>
        <artwork><![CDATA[
+----------+      +----------+      +----------+      +----------+
|          |      |          |      |          |      |          |
|   Peer   |<---->|  Authen- |<---->|   EAP    |<---->|  EAP-    |
|          |      |  ticator |      |  Server  |      |  PPT     |
|          |      |          |      |          |      |  Server  |
+----------+      +----------+      +----------+      +----------+
]]></artwork>
      </figure>
      <t>The entities depicted in <xref target="arch"/> are logical entities and may or
may not correspond to separate network components. For example, the
EAP Server and EAP-PPT Server might be a single entity; the
authenticator and EAP Server might be a single entity; or the
functions of the authenticator, EAP Server, and EAP-PPT Server might
be combined into a single physical device. For example, typical
<xref target="IEEE-802.11"/> deployments place the authenticator in an access point
(AP) while a RADIUS Server may provide the Tunneled EAP Method and
EAP-PPT method Server components. The above diagram illustrates the
division of labor among entities in a logical manner and shows how a
distributed system might be constructed; however, actual systems might
be organized differently.</t>
    </section>
    <section anchor="protocol">
      <name>Protocol</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>A tunnel-based EAP method supports authentication in two phases after
the initial EAP Identity request/response exchange. In the first phase,
it uses a TLS <xref target="RFC8446"/> handshake to provide an authenticated key
exchange and to establish a protected tunnel. The EAP peer and server
that are configured to perform the peer authentication using EAP-PPT
method, <bcp14>MUST</bcp14> establish the TLS tunnel without peer authentication.
EAP server <bcp14>MUST NOT</bcp14> send CertificateRequest to the TLS client during
the TLS handshake, when peer authentication is desired using EAP-PPT
method.</t>
        <t>The second phase of the authentication begins after the TLS tunnel is
established. Any EAP method that fulfils the requirements specified
in <xref target="RFC6678"/> is called tunnel-based EAP method.</t>
        <t>A peer supporting EAP-PPT <bcp14>MUST NOT</bcp14> send its username or any other
permanent identifiers in the first and subsequent EAP-Response/Identity
messages. The EAP-Response/Identity message <bcp14>MUST</bcp14> contain only realm
portion in order to route the authentication request to the right EAP
server. It is <bcp14>RECOMMENDED</bcp14> to eliminate the identity exchange altogether
if the route is known through some other means.</t>
        <t>EAP-PPT authentication <bcp14>MUST</bcp14> be performed inside the server
authenticated TLS tunnel established by the tunnel-based EAP method.</t>
        <t>During the EAP-PPT authentication, the server challenges the peer to
present a Privacy Pass token, and the Peer responds with a Privacy Pass
token. Upon a successful verification of the token, the redemption of
the token is deemed successful. EAP-PPT uses JavaScript Object Notation
(JSON) <xref target="RFC8259"/> to encode the challenges, responses, results and
errors. Encapsulation of EAP-PPT method can be supported by any tunnel-
based EAP methods e.g. Protected EAP <xref target="PEAP"/>, Tunneled Transport Layer
Security EAP (TTLS) <xref target="RFC5281"/>, EAP Flexible Authentication via
Secure Tunneling (EAP-FAST) <xref target="RFC4851"/> and Tunnel Extensible
Authentication Protocol (TEAP) <xref target="RFC7170"/>.</t>
        <t>Optionally, the Privacy Pass token <bcp14>MAY</bcp14> also carry extensions<br/>
(<xref target="I-D.draft-ietf-privacypass-auth-scheme-extensions"/>) with
additional metadata relevant to the EAP-PPT Server.</t>
      </section>
      <section anchor="successful-authentication">
        <name>Successful Authentication</name>
        <t><xref target="authsuccess"/> shows an example of basic, successful authentication
exchange in EAP-PPT. At the minimum, EAP-PPT uses two roundtrips to
authenticate and authorize the Peer. As in other EAP schemes, an
identity request/response message pair is usually exchanged first.
As specified in <xref target="RFC3748"/> the initial identity request is not
required, and <bcp14>MAY</bcp14> be bypassed in cases where the EAP-PPT Server can
presume the identity.</t>
        <t>After obtaining the identity, the EAP-PPT Server constructs
EAP-Request/PPT-Challenge message with a set of token Challenges
and sends it to the EAP-PPT peer. EAP-Request/PPT-Challenge message
encodes the set of token Challenges in JSON <xref target="RFC8259"/> format.</t>
        <t>On receiving EAP-Request/PPT-Challenge message, the EAP-PPT peer
looks at the each token Challenge and looks up the most suitable
Privacy Pass token. If EAP-PPT Peer successfully finds the Privacy Pass
token, it constructs EAP-Response/PPT-Challenge message containing the
Privacy Pass token, and send it to the EAP-PPT server.
EAP-Response/PPT-Challenge message encodes the response data in JSON
<xref target="RFC8259"/> format.</t>
        <t>The EAP-PPT server verifies the received Privacy Pass token in the
EAP-Response/PPT-Challenge message. After a successful token
Redemption, the EAP-PPT server sends EAP-Success.</t>
        <t>EAP-PPT Server verifies the Privacy Pass token using a procedure
called token Redemption <xref section="2.2" sectionFormat="of" target="RFC9577"/>.</t>
        <figure anchor="authsuccess">
          <name>EAP-PPT Successful Authentication</name>
          <artwork><![CDATA[
+----------+                                     +----------+
|          |                                     |          |
| EAP-PPT  |                                     | EAP-PPT  |
|  Peer    |                                     |  Server  |
|          |                                     |          |
+----------+                                     +----------+
     |                                                 |
     |             EAP-Request/Identity                |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |        EAP-Response/Identity (User's NAI)       |
     |------------------------------------------------>|
     |                                                 |
     |                                                 |
     |       EAP-Request/PPT-Challenge (challenges)    |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |        EAP-Response/PPT-Challenge (token)       |
     |------------------------------------------------>|
     |                                                 |
     |                                            +----------+
     |                                            | token    |
     |                                            | redeemed |
     |                                            |          |
     |                                            +----------+
     |                 EAP-Success                     |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
]]></artwork>
        </figure>
      </section>
      <section anchor="failed-authentication">
        <name>Failed Authentication</name>
        <t><xref target="authfail"/> shows how EAP-PPT server rejects the peer when
token redemption fails. EAP-PPT Server sends
EAP-Request/PPT-Error message containing the error information
like error code, error description etc. The error information
is encoded in JSON <xref target="RFC8259"/> format. EAP-PPT peer responds
to EAP-Request/PPT-Error with EAP-Response/PPT-Error without
any data.</t>
        <figure anchor="authfail">
          <name>EAP-PPT Authentication Failure</name>
          <artwork><![CDATA[
+----------+                                     +----------+
|          |                                     |          |
| EAP-PPT  |                                     | EAP-PPT  |
|  Peer    |                                     |  Server  |
|          |                                     |          |
+----------+                                     +----------+
     |                                                 |
     |             EAP-Request/Identity                |
     |<-------------------------------------------------
     |                                                 |
     |                                                 |
     |        EAP-Response/Identity (User's NAI)       |
     |------------------------------------------------>|
     |                                                 |
     |                                                 |
     |       EAP-Request/PPT-Challenge (challenges)    |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |        EAP-Response/PPT-Challenge (token)       |
     |------------------------------------------------>|
     |                                                 |
     |                                            +----------+
     |                                            | failed   |
     |                                            | to       |
     |                                            | redeem   |
     |                                            | token    |
     |                                            +----------+
     |         EAP-Request/PPT-Error (error)           |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |             EAP-Response/PPT-Error              |
     |------------------------------------------------>|
     |                                                 |
     |                                                 |
     |                   EAP-Failure                   |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |

]]></artwork>
        </figure>
      </section>
      <section anchor="remediation">
        <name>Remediation</name>
        <t>An EAP-PPT server <bcp14>MAY</bcp14> successfully validate a token, but fail
to validate metadata carried in an extension. The EAP-PPT server
<bcp14>MAY</bcp14> require different or more recently generated metadata, for
example. In this case the EAP-PPT server <bcp14>MAY</bcp14> reject, or
conditionally accept an EAP-PPT Authentication.</t>
        <t>As shown in <xref target="remediate"/>, after successful token redemption,
the  EAP-PPT server <bcp14>MAY</bcp14> respond with a PPT error message containing
error information like an error code, error description etc. to inform
the EAP-PPT peer of the metadata validation issue. In this case, the
EAP-PPT server <bcp14>MAY</bcp14> respond with an EAP-Failure or EAP-Success message,
depending on the metadata specific policies set on the EAP-PPT server
side. Since the peer proves the authenticity of issuance of token by
providing cryptographically correct token, the EAP-PPT server <bcp14>MAY</bcp14>
decide to authorize the Peer conditionally.</t>
        <t>The EAP-PPT server <bcp14>MAY</bcp14> optionally also include a session-timeout value
in the PPT-Error, informing the EAP-PPT peer how long the session will
be permitted  in order for the EAP-Peer to remediate and request a new
token from its issuer. If the session-timeout attribute is included in
the PPT-Error then the AAA server <bcp14>MUST</bcp14> also include a RADIUS Session-
Timeout attribute (see <xref section="5.27" sectionFormat="of" target="RFC2865"/>) with the same
value in the Access-Accept RADIUS message to the authenticator
(e.g., Network Access Server or IKEv2 Responder)). The EAP-PPT peer
responds to the EAP-Request/PPT-Error with EAP-Response/PPT-Error
without any data. The EAP-PPT peer <bcp14>MAY</bcp14> use the allotted
session time to fetch a new token and subsequently re-authenticate.</t>
        <figure anchor="remediate">
          <name>EAP-PPT Authentication Success with remediation</name>
          <artwork><![CDATA[
+----------+                                     +----------+
|          |                                     |          |
| EAP-PPT  |                                     | EAP-PPT  |
|  Peer    |                                     |  Server  |
|          |                                     |          |
+----------+                                     +----------+
     |                                                 |
     |             EAP-Request/Identity                |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |        EAP-Response/Identity (User's NAI)       |
     |------------------------------------------------>|
     |                                                 |
     |                                                 |
     |       EAP-Request/PPT-Challenge (challenges)    |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |        EAP-Response/PPT-Challenge (token)       |
     |------------------------------------------------>|
     |                                                 |
     |                                            +----------+
     |                                            | token    |
     |                                            | redeemed |
     |                                            | with     |
     |                                            | invalid  |
     |                                            | extension|
     |                                            | metadata |
     |                                            +----------+
     |         EAP-Request/PPT-Error (error)           |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |
     |             EAP-Response/PPT-Error              |
     |------------------------------------------------>|
     |                                                 |
     |                                                 |
     |                   EAP-Success                   |
     |<------------------------------------------------|
     |                                                 |
     |                                                 |

]]></artwork>
        </figure>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>The fundamental building block of privacy in EAP-PPT is use of Privacy
Pass token, which is unlinkable authenticator, for authorization of the
Peer. EAP-PPT peer selects an issuer to get a token issued from, using
Issuance Protocol <xref target="RFC9578"/>. The Issuer generates a token response
based on the token request, which is returned to the Client (generally
via the Attester). Upon receiving the token response, the EAP-PPT peer
computes a token from the token challenge and token response. This
token can be validated by anyone with the per-Issuer key but cannot be
linked to the content of the token request or token response.</t>
        <t>If the EAP-PPT peer has a token, it includes it in a response to a
challenge from EAP-PPT server. This token <bcp14>SHOULD</bcp14> be sent only once in
reaction to a challenge; peers <bcp14>SHOULD NOT</bcp14> send tokens more than once,
even if they receive duplicate or redundant challenges.</t>
        <t>The EAP-PPT server validates that the token was generated by the
expected Issuer and has not already been redeemed for the corresponding
token challenge. Mechanism to prevent double-spending of tokens is out
of scope of EAP-PPT method.</t>
        <t><xref section="4" sectionFormat="of" target="RFC9576"/> discusses deployement models in detail. It is
<bcp14>RECOMMENDED</bcp14> to use a deployment model that guarantees EAP peer-server,
Issuer-EAP peer, and Attester-EAP server unlinkability. Mechanisms for
enforcing non-collusion are out of scope of EAP-PPT method.</t>
        <t>EAP-PPT peer <bcp14>MAY</bcp14> opt for token Caching by getting multiple tokens
issued from a single token challenge structure
(<xref section="2.1.1" sectionFormat="of" target="RFC9577"/>). This improves privacy by separating
the time of token issuance from the time of token redemption.
Optionally, the peer <bcp14>MAY</bcp14> use a vaiant of Privacy Pass Issuance<br/>
(<xref target="I-D.draft-ietf-privacypass-batched-tokens"/>) to get more tokens
issued and cached at a time.</t>
        <t>EAP peer and server <bcp14>MUST</bcp14> send anonymous Network Access Identifiers
(NAIs) (<xref section="2.4" sectionFormat="of" target="RFC7542"/>) in the first and subsequent EAP-
Response/Identity messages. EAP peer <bcp14>MUST NOT</bcp14> send its username (or
any other permanent identifiers) in the Identity Response. Following
<xref target="RFC7542"/>, it is <bcp14>RECOMMENDED</bcp14> to omit the username (i.e., the NAI
is @realm), but other constructions such as a fixed username (e.g.,
anonymous@realm) is allowed. Note that the NAI <bcp14>MUST</bcp14> be a UTF-8 string
as defined by the grammar in <xref section="2.2" sectionFormat="of" target="RFC7542"/>.</t>
        <t>During TLS hanshake in the first phase, EAP peer <bcp14>MUST</bcp14> send a
Certificate message containing no certificates as described in
<xref section="4.4.2" sectionFormat="of" target="RFC8446"/>, if CertificateRequest message is
received. Many client certificates contain an identity such as an
email address, and therefore, this document forbids client
authentication during first phase.</t>
        <t>It is desired to support fast reconnect (<xref section="7.2.1" sectionFormat="of" target="RFC3748"/>)
by shortening the TLS conversation using session resumption mechanism
(<xref section="2.1.2" sectionFormat="of" target="RFC5216"/>)
during the first phase. EAP peer presents an identifier that was issued
previously by the server, to attempt the session resumption. When a peer
attempts to resume a TLS session using such an identifier it allows
the EAP server to detect peer's revisit to the network. Similarly,
use of Protected Access Credential (PAC) in EAP-FAST method
(<xref section="3.2.2" sectionFormat="of" target="RFC4851"/>) can potentially help the server
determine peer's presence across session resumptions. This document
recommends use of session resumption to be limited to the current
association to the network. The EAP peer <bcp14>MUST</bcp14> perform full TLS handshake
durist the first phase after every new association to the network.
For example, an EAP peer can continue to resume TLS sessions during the
re-authentications as long as the client device is associated to same
access point of the secure wireless LAN <xref target="IEEE-802.11"/>.</t>
      </section>
      <section anchor="key-material-generation">
        <name>Key Material Generation</name>
        <t>The keys generated by this protocol, MSK and EMSK, are each in 64
octets in length. The protocol uses TLS exporter interface <xref target="RFC5705"/>
to generate the key material. The output of the exporter is intended
to be associated with the TLS session established in the first phase,
a unique label string, and a context. Type is the value of the EAP Type
field defined in <xref section="2" sectionFormat="of" target="RFC3748"/>, and it contributes to the
context value. For EAP-PPT, the Type value is 0x39. Context value is
constructed by concatenating Type value with Privacy Pass token value
that was sent in EAP-Response/PPT-Challenge message. Key material <bcp14>MUST</bcp14>
be generated by the EAP-PPT peer after receiving EAP Success from the
EAP-PPT server.</t>
        <artwork><![CDATA[
Type = 0x39
Context = Type || token
Key_Material = TLS_Exporter("EXPORTER_EAP_PPT_Key_Material",
                            Context, 128)
]]></artwork>
        <t>The MSK and EMSK are dervied from the Key_Material as described in
<xref section="7.10" sectionFormat="of" target="RFC3748"/>.</t>
        <artwork><![CDATA[
MSK = Key_Material(0, 63)
EMSK = Key_Material(64, 127)
]]></artwork>
        <t>TLS_Exporter function is defined in <xref section="4" sectionFormat="of" target="RFC5705"/></t>
      </section>
      <section anchor="channel-binding">
        <name>Channel Binding</name>
        <t><xref target="RFC6677"/> defines channel bindings for EAP which solve the "lying NAS" and
the "lying provider" problems, using a process in which the EAP peer gives
information about the characteristics of the service provided by
the authenticator to the Authentication, Authorization, and Accounting (AAA) 
server protected within the EAP authentication method. This allows the server
to verify the authenticator is providing information to the peer that is 
consistent with the information received from this authenticator as well as 
the information stored about this authenticator.</t>
        <t>EAP-PPT server can optionally request channel binding information to the EAP-
PPT peer after a successful redemption of the token sent in EAP-Response/PPT-
Challenge mesage. EAP-PPT server uses EAP-Request/PPT-Channel-Binding message
to request the channel binding information to the peer. EAP-PPT server <bcp14>MUST</bcp14>
send EAP-Request/PPT-Channel-Binding message after a successful redemption of
the token and before sending EAP-Success message. EAP-PPT peer <bcp14>MUST</bcp14> send
channel binding information in EAP-Response/PPT-Channel-Binding message in
response to EAP-Request/PPT-Channel-Binding message. EAP-PPT <bcp14>MUST</bcp14> send
the channel-binding information as defined in <xref section="5.3" sectionFormat="of" target="RFC6677"/>.</t>
        <t>EAP-Request/PPT-Channel-Binding message is optional, and therefore EAP-PPT
server may skip it when the EAP server has already received the information
through EAP methods executed before EAP-PPT.</t>
      </section>
    </section>
    <section anchor="message-format">
      <name>Message Format</name>
      <section anchor="packet-format">
        <name>Packet Format</name>
        <t>EAP-PPT Packet Format is shown below.</t>
        <figure anchor="header">
          <name>EAP-PPT Header</name>
          <artwork><![CDATA[
0                   1                   2                   3   
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Code      |  Identifier   |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Subtype    |             Data             
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                                                                

]]></artwork>
        </figure>
        <t>Code
      1 for request, 2 for response.</t>
        <t>Identifier
      The Identifier field is one octet and aids in matching
      responses with requests.  The Identifier field <bcp14>MUST</bcp14> be
      changed for each request packet and <bcp14>MUST</bcp14> be echoed in
      each response packet.</t>
        <t>Length
      The Length field is two octets and indicates the length
      of the EAP packet including the Code, Identifier, Length,
      Type, Subtype, and Data fields.</t>
        <t>Type
      57 (EAP-PPT)</t>
        <t>Subtype
      Message subtypes as defined in <xref target="subtype"/></t>
        <t>Data
      Data in JSON <xref target="RFC8259"/> format.</t>
      </section>
      <section anchor="subtypes">
        <name>Subtypes</name>
        <table anchor="subtype">
          <name>EAP-PPT Subtypes</name>
          <thead>
            <tr>
              <th align="left">Subtype</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">A PPT-Challenge request or PPT-Challenge response.</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">A PPT-Error request or PPT-Error response.</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">A PPT-Channel-Binding request or PPT-Channel-Binding response.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="messages">
        <name>Messages</name>
        <t>This section specifies the messages used in EAP-PPT.</t>
        <section anchor="eap-requestppt-challenge">
          <name>EAP-Request/PPT-Challenge</name>
          <t>The Server sends this message to the peer after successfully
learning the identity of the peer. The purpose of this message
is to present multiple token challenges to the peer and receive
a Privacy Pass token for one of the challenges from the peer.
This message is sent with subtype 1 (<xref target="subtype"/>) and data is
encoded in JSON <xref target="RFC8259"/> format as shown in <xref target="challenges"/>
below -</t>
          <table anchor="challenges">
            <name>Token Challenges</name>
            <thead>
              <tr>
                <th align="left">Key</th>
                <th align="left">Type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">challenges</td>
                <td align="left">array</td>
                <td align="left">Array of one or more objects. Each element is an object that contains keys that are part the challenge. This is a required parameter.</td>
              </tr>
            </tbody>
          </table>
          <table anchor="challengekeys">
            <name>Token Challenge Keys</name>
            <thead>
              <tr>
                <th align="left">Key</th>
                <th align="left">Type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">challenge</td>
                <td align="left">string</td>
                <td align="left">A string that contains a base64url token challenge value, encoded per <xref target="RFC4648"/>. This document follows the default padding behavior described in <xref section="3.2" sectionFormat="of" target="RFC4648"/>, so the base64url value <bcp14>MUST</bcp14> include padding. The token structure is defined in <xref section="2.2.1" sectionFormat="of" target="RFC9577"/>. This key is based on the challenge parameter defined in <xref section="2.1.2" sectionFormat="of" target="RFC9577"/>. This is a required parameter.</td>
              </tr>
              <tr>
                <td align="left">token-key</td>
                <td align="left">string</td>
                <td align="left">AA string that contains a base64url-encoded public key for use with the issuance protocol indicated by the challenge key. This key is based on the token-key parameter defined in <xref section="2.1.2" sectionFormat="of" target="RFC9577"/>. This parameter <bcp14>MAY</bcp14> be omitted in deployments where peers are able to retrieve the Issuer key using an out-of-band mechanism.</td>
              </tr>
              <tr>
                <td align="left">extension-types</td>
                <td align="left">array</td>
                <td align="left">An array of ExtensionType that the EAP-PPT server is requesting the token to bind to. ExtensionType is defined in Section 3 of I-D.draft-ietf-privacypass-auth-scheme-extensions. This parameter is meaningful only if the Issuer, EAP-PPT peer and server have an out-of-band agreement to bind the extension to the token. This is an optional parameter.</td>
              </tr>
            </tbody>
          </table>
          <t>EAP-Request/PPT-Challenge Message carries JSON key "challenges"
which is a JSON array of JSON objects. Each element in
"challenges" is a JSON object that contains two keys i.e.
"challenge" and "token-key", and optionally an array of
"extension-types" as well, as shown in <xref target="challengekeys"/>.</t>
          <t>Example EAP-Request/PPT-Challenge Data -</t>
          <figure anchor="pptchallenge">
            <artwork><![CDATA[
{
    "challenges":
    [
        {
            "challenge": "AAIADmlzc3Vlci5leGFtcGxlIIo-g6M9mAB
            dLzC-9Bn6a_TNXGAF42sShbu0zNQPpLODAA5vcmlnaW4uZXhh
            bXBsZQ==",
            "token-key": "MIIBUjA9BgkqhkiG9w0BAQowMKANMAsGCWC
            GSAFlAwQCAqEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgKi
            AwIBMAOCAQ8AMIIBCgKCAQEAyxrta2qV9bHOATpM_KsluUsuZ
            KIwNOQlCn6rQ8DfOowSmTrxKxEZCNS0cb7DHUtsmtnN2pBhKi
            7pA1I-beWiJNawLwnlw3TQz-Adj1KcUAp4ovZ5CPpoK1orQwy
            B6vGvcte155T8mKMTknaHl1fORTtSbvm_bOuZl5uEI7kPRGGi
            KvN6qwz1cz91l6vkTTHHMttooYHGy75gfYwOUuBlX9mZbcWE7
            KC-h6-814ozfRex26noKLvYHikTFxROf_ifVWGXCbCWy7nqR0
            zq0mTCBz_kl0DAHwDhCRBgZpg9IeX4PwhuLoI8h5zUPO9wDSo
            1Kpur1hLQPK0C2xNLfiJaXwIDAQAB"
        },
        {
            "challenge": "AAEADmlzc3Vlci5leGFtcGxlIIo-g6M9mA
            BdLzC-9Bn6a_TNXGAF42sShbu0zNQPpLODAA5vcmlnaW4uZXh
            hbXBsZQ==",
            "token-key": "67H-0zgxA2HAjQx1dpaWcSluBemaF9eSbf
            wopT-r1In6wPgryoYkmmaPOlv6s3TJ"  
            "extension-types":
            [
                1,5,6
            ]
        }
    ]
}
]]></artwork>
          </figure>
        </section>
        <section anchor="eap-responseppt-challenge">
          <name>EAP-Response/PPT-Challenge</name>
          <t>The peer sends this message to the server in response to a valid
EAP-Request/PPT-Challenge Message. Sending this Message indicates
that the peer was able to look up a Privacy Pass token for one of
the received challenges. This message is sent with subtype 1
(<xref target="subtype"/>) and data is encoded in JSON <xref target="RFC8259"/> format as
shown in <xref target="challengeresponse"/>.</t>
          <table anchor="challengeresponse">
            <name>Token Challenge Response Keys</name>
            <thead>
              <tr>
                <th align="left">Key</th>
                <th align="left">Type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">token</td>
                <td align="left">string</td>
                <td align="left">A string that contains base64url-encoded token structure value per <xref section="2.2.1" sectionFormat="of" target="RFC9577"/>. This is a required parameter.</td>
              </tr>
              <tr>
                <td align="left">extensions</td>
                <td align="left">string</td>
                <td align="left">A string that contains base64url-encoded extension structure (Section 3 of .draft-ietf-privacypass-auth-scheme-extensions). This is an optional parameter.</td>
              </tr>
            </tbody>
          </table>
          <t>The peer <bcp14>MUST</bcp14> send empty token string when it fails to find
a valid token for one of the received challenges. On receiving
an empty token string in this message, the server <bcp14>MUST</bcp14> send 
EAP-Failure message to the peer.</t>
          <t>Example EAP-Response/PPT-Challenge Data -</t>
          <figure anchor="pptchallengeresponse">
            <artwork><![CDATA[
{
    "token": "AAEADmlzc4Vlci5leGFtcGxlIIo-g6M9mABdLzC-1Bn6a_TNX
    GAF52sShbu0zNQPpLODAA5vcmlnaW4uZXhhbXBsCB=="
}
]]></artwork>
          </figure>
        </section>
        <section anchor="eap-requestppt-error">
          <name>EAP-Request/PPT-Error</name>
          <t>The server sends this message to the peer when token
redemption fails. The purpose of this message is to report
redemption failure to the peer along with relevant information
that may be useful to the peer. This message is sent with
subtype 2 (<xref target="subtype"/>) and data is encoded in JSON <xref target="RFC8259"/>
format as shown in <xref target="error"/>.</t>
          <table anchor="error">
            <name>Error Keys</name>
            <thead>
              <tr>
                <th align="left">Key</th>
                <th align="left">Type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">code</td>
                <td align="left">number</td>
                <td align="left">An error code that describes the reason for the redemption failure. The range is 1-100. This key is required.</td>
              </tr>
              <tr>
                <td align="left">description</td>
                <td align="left">string</td>
                <td align="left">Human-readable ASCII text providing additional information, used to assist the user of the client device in understanding the error. This is an optional key.</td>
              </tr>
              <tr>
                <td align="left">session-timeout</td>
                <td align="left">number</td>
                <td align="left">Time in second after which the session is terminated by the authenticator. This is an optional key.</td>
              </tr>
            </tbody>
          </table>
          <t>Example EAP-Request/PPT-Error Data -</t>
          <figure anchor="ppterror">
            <artwork><![CDATA[
{
    "code": 1,
    "description": "invalid token format"
}
]]></artwork>
          </figure>
          <section anchor="errorcodes">
            <name>Error Codes</name>
            <table anchor="errorcode">
              <name>Error Codes</name>
              <thead>
                <tr>
                  <th align="left">Code</th>
                  <th align="left">Description</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">1</td>
                  <td align="left">This code indicates a failure in validating the token data. This may occur due to incorrect formatting or encoding of the data.</td>
                </tr>
                <tr>
                  <td align="left">2</td>
                  <td align="left">This code indicates redemption failure. This is a fatal error, and only way for the peer to recover from this failure is to retry the EAP-PPT authentication with new token.</td>
                </tr>
                <tr>
                  <td align="left">3</td>
                  <td align="left">This code means the EAP-PPT server is unable to perform the token redemption at the moment. This can be used by the client to retry spending the token later.</td>
                </tr>
                <tr>
                  <td align="left">4</td>
                  <td align="left">This code indiates the server detected a double spend of the token. This is a fatal error, and only way for the  peer to recover from this failure is to retry the EAP-PPT authentication with a new token.</td>
                </tr>
                <tr>
                  <td align="left">5</td>
                  <td align="left">This code indicates undefined failure. The client <bcp14>MAY</bcp14> choose to the spend the same oken later.</td>
                </tr>
                <tr>
                  <td align="left">6</td>
                  <td align="left">This code indicates token redemption success with an unexpected extension parameter value. This is a fatal error, and only way for the peer to recover from this failure is to retry the EAP-PPT authentication with a new token, binding to expected extension parameter value.</td>
                </tr>
                <tr>
                  <td align="left">7</td>
                  <td align="left">This code indicates token redemption success with an unexpected extension parameter value. However, the server side policy makes this a non-fatal error, and therefore, the peer is authorized unconditionally.</td>
                </tr>
                <tr>
                  <td align="left">8</td>
                  <td align="left">This code indicates token Redemption success with an unexpected extension parameter value. However, the server side policy makes this a non-fatal error, and therefore the peer is authorized conditionally. The condition here is - an authorization for limited time. The limited time authorization is indicated by sending session-timeout parameter along with the error code.</td>
                </tr>
                <tr>
                  <td align="left">9-80</td>
                  <td align="left">Reserved</td>
                </tr>
                <tr>
                  <td align="left">81-100</td>
                  <td align="left">Vendor Specific Errors.</td>
                </tr>
              </tbody>
            </table>
          </section>
        </section>
        <section anchor="eap-responseppt-error">
          <name>EAP-Response/PPT-Error</name>
          <t>The peer sends this message as an acknowledgement to the
server in response to a valid EAP-Request/PPT-Error Message.
This message is sent with subtype 2 (<xref target="subtype"/>) and it does
not carry data.</t>
        </section>
        <section anchor="eap-requestppt-channel-binding">
          <name>EAP-Request/PPT-Channel-Binding</name>
          <t>EAP-PPT server sends this message to the peer after a successful
redemption of the token received in EAP-Response/PPT-Challenge
message. The purpose of this message is to request channel
binding information to the peer. This message is sent with
subtype 3 (<xref target="subtype"/>) and and it does not carry data.</t>
        </section>
        <section anchor="eap-responseppt-channel-binding">
          <name>EAP-Response/PPT-Channel-Binding</name>
          <t>The peer sends this message as an in response to a EAP-Request/
PPT-Channel-Binding Message. This message is sent with subtype 3
(<xref target="subtype"/>) and the data field contains channel-binding message
as defined in <xref section="5.3" sectionFormat="of" target="RFC6677"/>.
EAP-PPT server <bcp14>MAY</bcp14> send EAP-Failure message if the channel-binding
data is not found valid or satisfactory, depending on the server
side policy.</t>
        </section>
      </section>
    </section>
    <section anchor="errorhandling">
      <name>Error Handling</name>
      <section anchor="client-failure-scenarios">
        <name>Client Failure Scenarios</name>
        <section anchor="eap-ppt-peer-found-no-valid-token-for-token-challenge">
          <name>EAP-PPT peer found no valid token for token challenge</name>
          <t>If on receipt of an EAP-Request/PPT-Challenge, the EAP-PPT peer cannot present
a valid token matching for one of the received token challenges, then the 
EAP-PPT peer <bcp14>MUST</bcp14> respond with an empty token string in the
EAP-Response/PPT-Challenge message. In this case, the EAP-PPT server <bcp14>MUST</bcp14>
terminate the conversation by sending an EAP Failure packet.</t>
        </section>
        <section anchor="eap-ppt-peer-found-no-token-with-valid-extension-types-for-token-challenge">
          <name>EAP-PPT peer found no token with valid extension-types for token challenge</name>
          <t>If on receipt of an EAP-Request/PPT-Challenge, the EAP-PPT peer cannot present
a valid token bound to the extension-type(s) requested by the EAP-PPT server for 
one of the received token challenges, then the EAP-PPT peer <bcp14>MUST</bcp14> respond with
an empty token string in the EAP-Response/PPT-Challenge message. 
In this case, the EAP-PPT server <bcp14>MUST</bcp14> terminate the conversation by sending 
an EAP Failure packet.</t>
        </section>
      </section>
      <section anchor="server-failure-scenarios">
        <name>Server Failure Scenarios</name>
        <section anchor="eap-ppt-server-found-no-valid-token-challenge-for-user-nai">
          <name>EAP-PPT server found no valid token challenge for user NAI</name>
          <t>If on receipt of a EAP Identity Response the EAP-PPT server does not have 
a token challenge for the user's NAI, the EAP-PPT server <bcp14>MUST</bcp14> terminate the
conversation by responding with an EAP Failure packet.</t>
        </section>
        <section anchor="eap-ppt-server-is-unable-to-validate-token-data">
          <name>EAP-PPT server is unable to validate token data</name>
          <t>If on receipt of an EAP-Response/PPT-Challenge, the EAP-PPT server is
unable to validate the token data presented by the EAP-PPT peer (due to 
incorrect data, formatting or encoding), the EAP-PPT server <bcp14>MUST</bcp14> respond with
an EAP-Request/PPT-Error with error code 1 (see <xref target="errorcodes"/>). The 
EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the error with an 
EAP-Response/PPT-Error message, after which the EAP-PPT server <bcp14>MUST</bcp14> respond
with EAP Failure as shown in <xref target="authfail"/>.</t>
        </section>
        <section anchor="eap-ppt-server-token-redemption-failure">
          <name>EAP-PPT server token redemption failure</name>
          <t>If on receipt of an EAP-Response/PPT-Challenge, the EAP-PPT server
token redemption fails, the EAP-PPT server <bcp14>MUST</bcp14> respond with an
EAP-Request/PPT-Error with error code 2 (see <xref target="errorcodes"/>).
The EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the error with an
EAP-Response/PPT-Error, after which the EAP-PPT server <bcp14>MUST</bcp14> respond with 
EAP Failure as shown in <xref target="authfail"/>. The EAP-PPT peer <bcp14>MUST NOT</bcp14> use this
token in subsequent authentication.</t>
        </section>
        <section anchor="eap-ppt-server-temporary-failure">
          <name>EAP-PPT server temporary failure</name>
          <t>If the EAP-PPT server is (temporarily) unable to perform token redemption,
and it receives an EAP-Response/PPT-Challenge, the EAP-PPT server <bcp14>MUST</bcp14> 
respond with an EAP-Request/PPT-Error with error code 3 (see <xref target="errorcodes"/>).
The EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the the error with an 
EAP-Response/PPT-Error message, after which the EAP-PPT server <bcp14>MUST</bcp14> respond
with EAP Failure as shown in <xref target="authfail"/>. The EAP-PPT peer <bcp14>MAY</bcp14> use this token
in subsequent authentication.</t>
        </section>
        <section anchor="eap-ppt-server-detected-double-spend">
          <name>EAP-PPT server detected double spend</name>
          <t>The EAP-PPT server <bcp14>MAY</bcp14> implement double spend detection, to ensure a token
is only used once. If the EAP-PPT server implementing double spend detection
detects double spend of a token sent in an an EAP-Response/PPT-Challenge, 
the EAP-PPT server <bcp14>MUST</bcp14> respond with an EAP-Request/PPT-Error with error code 4
(see <xref target="errorcodes"/>). The EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the error 
with an EAP-Response/PPT-Error message, after which the EAP-PPT server <bcp14>MUST</bcp14>
respond with EAP Failure as shown in <xref target="authfail"/>. The EAP-PPT peer <bcp14>MUST NOT</bcp14>
use this token in subsequent authentication.</t>
        </section>
        <section anchor="eap-ppt-server-undefined-failure">
          <name>EAP-PPT server undefined failure</name>
          <t>If the EAP-PPT server is experiencing an undefined failure, when receiving
an EAP-Response/PPT-Challenge, the EAP-PPT server <bcp14>MUST</bcp14> respond with an 
EAP-Request/PPT-Error with error code 5 (see <xref target="errorcodes"/>). The EAP-PPT peer
<bcp14>MUST</bcp14> subsequently acknowledge the error with an EAP-Response/PPT-Error message,
after which the EAP-PPT server <bcp14>MUST</bcp14> respond with EAP Failure as shown 
in <xref target="authfail"/>. The EAP-PPT peer <bcp14>MAY</bcp14> use this token in subsequent 
authentication.</t>
        </section>
        <section anchor="eap-ppt-server-token-redemption-success-with-unexpected-extension-value">
          <name>EAP-PPT server token redemption success with unexpected extension value</name>
          <t>If on receipt of an EAP-Response/PPT-Challenge, the EAP-PPT server finds an
unexpected extension parameter value, the EAP-PPT server <bcp14>MAY</bcp14> deem this to be a
fatal error. In this case the EAP-PPT server <bcp14>MAY</bcp14> respond with an 
EAP-Request/PPT-Error with error code 6 (see <xref target="errorcodes"/>). The EAP-PPT peer 
<bcp14>MUST</bcp14> subsequently acknowledge the error with an EAP-Response/PPT-Error message,
 after which the EAP-PPT server <bcp14>MUST</bcp14> respond with EAP Failure as shown in 
<xref target="authfail"/>. The EAP-PPT peer <bcp14>MUST NOT</bcp14> use this token in subsequent
authentication.</t>
        </section>
      </section>
      <section anchor="conditional-acceptance-scenarios">
        <name>Conditional Acceptance Scenarios</name>
        <section anchor="eap-ppt-server-redemption-unexpected-extension-value-unconditional-access">
          <name>EAP-PPT server redemption, unexpected extension value, unconditional access</name>
          <t>If on receipt of a EAP-Response/PPT-Challenge, the EAP-PPT server token
redemption succeeds, but the EAP-PPT server finds an unexpected extension 
parameter value, The EAP-PPT server <bcp14>MAY</bcp14> deem this to be a recoverable error 
and allow the session to proceed unconditionally. In this case, the EAP-PPT
server <bcp14>MAY</bcp14> respond with an EAP-Request/PPT-Error with error code 7 
(see <xref target="errorcodes"/>). The EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the
error with an EAP-Response/PPT-Error message, after which the EAP-PPT server 
<bcp14>MUST</bcp14> respond with EAP Success as shown in <xref target="authsuccess"/>.</t>
        </section>
        <section anchor="eap-ppt-server-redemption-unexpected-extension-value-conditional-access">
          <name>EAP-PPT server redemption, unexpected extension value, conditional access</name>
          <t>If on receipt of a EAP-Response/PPT-Challenge, the EAP-PPT server token
redemption succeeds, but the EAP-PPT server finds an unexpected extension
parameter value, The EAP-PPT server <bcp14>MAY</bcp14> deem this to be a recoverable error and
allow the session to proceed conditionally. In this case the EAP-PPT server 
<bcp14>MAY</bcp14> respond with an EAP-Request/PPT-Error with error code 8 
(see <xref target="errorcodes"/>). The EAP-PPT server <bcp14>MUST</bcp14> send a session-timeout value in 
the response message. The EAP-PPT peer <bcp14>MUST</bcp14> subsequently acknowledge the
error with an EAP-Response/PPT-Error message, after which the EAP-PPT server 
<bcp14>MUST</bcp14> respond with EAP Success as shown in <xref target="authsuccess"/>. The EAP Server <bcp14>MUST</bcp14>
include a session-timeout attribute in the RADIUS Access-Accept packet to the 
Authenticator, so it can terminate the session when the session-timeout 
condition is no longer met.</t>
        </section>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="privatetoken-authentication-scheme">
        <name>PrivateToken authentication Scheme</name>
        <t>Security considerations applicable discussed in <xref section="5" sectionFormat="of" target="RFC9577"/>
are applicable to EAP-PPT.</t>
      </section>
      <section anchor="integrity-protection">
        <name>Integrity Protection</name>
        <t>Since EAP-PPT method is used for anonymous authentication of EAP
peer, it is <bcp14>REQUIRED</bcp14> to execute it within a server authenticated
TLS tunnel, provided by a tunnnel-based EAP method. When EAP-PPT
is used to authenticate IKEv2 initiator to the responder, it is
<bcp14>REQUIRED</bcp14> to use it in conjunction with a public-key-signature-
based authentication of the responder to the initiator, before
initiating the EAP-PPT authentication.</t>
      </section>
      <section anchor="eapserver">
        <name>EAP Server implementation</name>
        <t>Allowing the EAP Phase 1 conversation to be terminated at a different server 
than the EAP-Phase 2 conversation can introduce vulnerabilities if there is 
not a proper trust relationship and protection for the protocol between the 
two servers.</t>
        <t>As EAP-PPT is an identity-free credential, it mitigates loss of identity 
protection scenarios better than EAP-methods carrying identity.
Identity protection is ensured, even if the credential is exposed to an 
attacker. Offline dictionary attacks are also mitigated with EAP-PPT as the 
credential is a single-use cryptograhically signed token.</t>
        <t>Separation of Phase 1 and Phase 2 EAP server with EAP-PPT as the inner
EAP method can still introduce vulnerabilities to on-path active attacks
between these EAP Servers if there is not a proper trust relationship between
the servers, or if the protocol between the servers is not properly secured.
An attacker could intercept a token in the PPT-Challenge response, or alter
an EAP-Success or EAP-Failure message. It is important to note however that
due to the single-use identity-free nature of the credential, the longevity of
the attack is limited.</t>
        <t>Therefore, separation of the EAP-Server (Phase 1) from the EAP-PPT Server i
(Phase 2) conversation is <bcp14>NOT RECOMMENDED</bcp14>.</t>
      </section>
      <section anchor="channel-binding-1">
        <name>Channel Binding</name>
        <t><xref target="RFC6677"/> defines channel bindings for EAP which solve the "lying NAS" and
the "lying provider" problems, using a process in which the EAP peer gives
information about the characteristics of the service provided by
the authenticator to the Authentication, Authorization, and Accounting (AAA) 
server protected within the EAP authentication method. This allows the server
to verify the authenticator is providing information to the peer that is 
consistent with the information received from this authenticator as well as 
the information stored about this authenticator.</t>
        <t>When collocating the EAP and EAP-PPT servers, as recommended in <xref target="eapserver"/>,
channel binding can be implemented by leveraging a Phase 1 EAP method 
that supports Channel binding as defined in <xref target="RFC6677"/>.
It is therefore <bcp14>RECOMMENDED</bcp14> to leverage a Phase 1 EAP method that supports
Channel binding with EAP-PPT, for example TEAP <xref target="RFC7170"/>, as described in 
<xref section="3.11.4" sectionFormat="of" target="RFC7170"/>.</t>
      </section>
      <section anchor="token-redemption-server-implementation">
        <name>Token Redemption Server implementation</name>
        <t>EAP-PPT server <bcp14>MAY</bcp14> be implemented to perform token Redemption flow
with an external redemption service, configured with required keys
for redemption. In such scenario, a malicious EAP peers may generate
a lot of protocol requests to mount a denial-of-service attack on
the service. The EAP-PPT server implementation <bcp14>SHOULD</bcp14> take this
into account and <bcp14>SHOULD</bcp14> take steps to limit the requests it generates
towards the redemption service.</t>
      </section>
      <section anchor="security-claims">
        <name>Security Claims</name>
        <t>This section provides the security claims required by <xref target="RFC3748"/>.</t>
        <t>Auth. mechanism: Privacy Pass token</t>
        <t>Ciphersuite negotiation: No</t>
        <t>Mutual authentication: No</t>
        <t>Integrity protection: NO. However, EAP-PPT method executed within a
                      tunnel-based EAP method established TLS tunnel
                      is integrity protected. The cleartext EAP-PPT
                      messages outside the tunnel are not integrity
                      protected.</t>
        <t>Replay protection: NO. However, EAP-PPT method executed within a
                   tunnel-based EAP method established TLS tunnel is
                   replay protected. The cleartext EAP-PPT messages
                   outside the tunnel are not replay protected.</t>
        <t>Confidentiality: No. However, EAP-PPT method executed within a
                 tunnel-based EAP method established TLS tunnel
                 is encrypted.</t>
        <t>Key derivation: Yes</t>
        <t>Key strength: See <xref section="5.1" sectionFormat="of" target="RFC5216"/></t>
        <t>Dictionary attack prot.: N/A</t>
        <t>Fast reconnect: No</t>
        <t>Cryptographic binding: N/A</t>
        <t>Session independence: N/A</t>
        <t>Fragmentation: No</t>
        <t>Key Hierarchy: No</t>
        <t>Channel binding: Yes</t>
      </section>
    </section>
    <section anchor="deployment">
      <name>Deployment Considerations</name>
      <t>EAP-PPT can be leveraged in a number of use cases and deployment models.
This section covers generic deployment recommendations to ensure end-to-end
privacy and unlinkability of tokens. This section also describes some specific
expected deployment models in which EAP-PPT can be leveraged.</t>
      <t>Although this section covers deployment of Origin, Issuer and Attester as it
relates to the EAP-PPT server, specifics on how to deploy Issuer and Attester
are not described here but can be found in <xref section="4" sectionFormat="of" target="RFC9576"/>.</t>
      <section anchor="recommendations-for-preserving-privacy">
        <name>Recommendations for preserving privacy</name>
        <section anchor="deploycollocation">
          <name>Collocating other functions with the EAP-PPT Server</name>
          <t>As discussed in <xref section="4" sectionFormat="of" target="RFC9576"/> and in <xref target="privacy"/>, it is
recommended to use a deployment model that guarantees EAP peer-server,
Issuer-EAP peer, and Attester-EAP server unlinkability. This is especially
pertinent in public use cases. In private use cases a single entity could 
deploy all functions.</t>
          <t>It is recommended to collocate the phase 1 EAP-Server with the EAP-PPT server,
as EAP-Server separation can introduce vulnerabilities as described in
<xref target="eapserver"/>.</t>
        </section>
        <section anchor="deployclientid">
          <name>Protecting client identity</name>
          <t>Please refer to the <xref target="privacy"/> section for deployment considerations that are
required to protect the client identity.</t>
        </section>
        <section anchor="separatingtime">
          <name>Separating Issuance and Verification over time</name>
          <t><xref section="3.1" sectionFormat="of" target="RFC9576"/> describes the interaction between Privacy Pass
Issuance and Verification protocols. As described, in many cases, when a Client
interacts with an Origin, a Client will obtain a token at the time of that 
interaction. In this case the time between Issuance and Verification is short 
enough to allow for correlation.</t>
          <t>In order to further reduce the probability of collusion between actors
participating in Issuance and Verification and achieve Issuer-Client and 
Origin-Client unlinkability, Issuance and Verification can be separated
over time. A client can request Issuance of one or more tokens and cache
them in secure storage. This allows separation in time between Issuance and 
Verification of the token, so time-based correlation is not possible. When 
leveraging EAP-PPT to access network resources, it is possible that the client
does not have a network interface available to perform Issuance over, so 
also for this reason caching tokens is preferred.</t>
        </section>
      </section>
      <section anchor="publiccase">
        <name>Recommendations for usage in public use cases</name>
        <t>In public use cases, a network service provider may be working with one or more
identity providers that are authenticating end-user devices using privacy pass
tokens. As described in <xref target="deploycollocation"/> it is recommended for the EAP-PPT
server to be implemented by an entity other than the Attester or Issuer, to
avoid the perception of collusion. In a public deployment scenario, the EAP-PPT
server is likely to be collocated with the network service provider, or could 
be a service that the network service provider consumes from a 3rd party 
service provider, other than the Attester or Issuer.</t>
        <t>In order to verify a token, EAP-PPT Server requires key material for the issuers
specified in the TokenChallenge. In a public use case, this information will 
have to be shared between the issuer and EAP-PPT Server. The mechanism in which
the Issuer shares this information with the EAP-PPT server is out of scope of 
this document.</t>
      </section>
      <section anchor="recommendations-for-usage-in-private-use-cases">
        <name>Recommendations for usage in private use cases</name>
        <t>It is recommended that the guidelines stipulated in <xref target="publiccase"/> are also
followed for private deployments, however in use cases where the network service 
provider is also the Attester, collocation of entities may be unavoidable.
When collocating entities, separating Issuance and Verification over time as
described in <xref target="separatingtime"/> provides additional privacy protection, as it
becomes harder for  entities to collude.</t>
      </section>
      <section anchor="recommendations-for-usage-in-federated-use-cases-openroaming">
        <name>Recommendations for usage in federated use cases (OpenRoaming)</name>
        <t>OpenRoaming, as described in <xref target="I-D.draft-tomas-openroaming"/>, is an open
federation of entities of different types, mainly targeted at providing
public Wi-Fi access. OpenRoaming defines distinct roles in its federation
architecture: Network Access Providers provide access to network resources,
and Identity Providers authenticate users for those network access providers.
Members of the federation are identified by private PKI, managed by the
Wireless Broadband Alliance (WBA). The members use these certificates to
mutually authenticate each-others and secure RADIUS over TLS (RadSec) messages
used to transport EAP conversations between Network Access Providers and Identity
Providers. A Network Access Provider discovers the authoritative Identity
Provider for a client by resolving the realm portion of the outer identity
provided by the client as described in <xref target="RFC7585"/>.</t>
        <t>OpenRoaming comprises of a privacy policy, and aims to protect en-user privacy,
however as it uses RADIUS attributes and EAP, inherently, information 
about end-users could be shared between Identity Provider and Network Access
Provider. {Section 8 of ?I-D.draft-tomas-openroaming}} describes RADIUS
attributes OpenRoaming supports.  EAP-PPT can add additional privacy protection
to a federated use case such as OpenRoaming by separating the Issuance from 
Verification, so the entity performing the Authentication is not able to
willingly or unwillingly share private information.</t>
        <t>Where an OpenRoaming IDP both issues and verifies a credential, with EAP-PPT
these roles are separated. In order to implement EAP-PPT in OpenRoaming,
the Attester/Issuer would have to have an agreement with the EAP-PPT server
verifying or redeeming the token. Together they are the OpenRoaming IDP.
Alternatively, new roles could be defined in the OpenRoaming federation to 
allow Attesters/Issuers to interoperate with EAP-PPT servers within the 
OpenRoaming federation.</t>
        <t>The EAP-PPT Server could be implemented by the Network Access Provider directly,
or by an entity in the federation.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This section provides guidance to the Internet Assigned Numbers
Authority (IANA) regarding registration of values related to the
EAP-PPT protocol, in accordance with BCP 26 <xref target="RFC8126"/>.</t>
      <t>The EAP Method Type number 57 has been requested for EAP-PPT.</t>
      <t>This document also calls for a registry of EAP-PPT error codes
described in <xref target="errorcodes"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC9578">
          <front>
            <title>Privacy Pass Issuance Protocols</title>
            <author fullname="S. Celi" initials="S." surname="Celi"/>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies two variants of the two-message issuance protocol for Privacy Pass tokens: one that produces tokens that are privately verifiable using the Issuer Private Key and one that produces tokens that are publicly verifiable using the Issuer Public Key. Instances of "issuance protocol" and "issuance protocols" in the text of this document are used interchangeably to refer to the two variants of the Privacy Pass issuance protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9578"/>
          <seriesInfo name="DOI" value="10.17487/RFC9578"/>
        </reference>
        <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="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="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>
        <reference anchor="RFC9577">
          <front>
            <title>The Privacy Pass HTTP Authentication Scheme</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="S. Valdez" initials="S." surname="Valdez"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document defines an HTTP authentication scheme for Privacy Pass, a privacy-preserving authentication mechanism used for authorization. The authentication scheme specified in this document can be used by Clients to redeem Privacy Pass tokens with an Origin. It can also be used by Origins to challenge Clients to present Privacy Pass tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9577"/>
          <seriesInfo name="DOI" value="10.17487/RFC9577"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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="I-D.draft-ietf-privacypass-auth-scheme-extensions">
          <front>
            <title>The PrivateToken HTTP Authentication Scheme Extensions Parameter</title>
            <author fullname="Scott Hendrickson" initials="S." surname="Hendrickson">
              <organization>Google</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare, Inc.</organization>
            </author>
            <date day="27" month="May" year="2025"/>
            <abstract>
              <t>   This document specifies new parameters for the "PrivateToken" HTTP
   authentication scheme.  This purpose of these parameters is to
   negotiate and carry extensions for Privacy Pass protocols that
   support public metadata.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-auth-scheme-extensions-02"/>
        </reference>
        <reference anchor="RFC2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="RFC5216">
          <front>
            <title>The EAP-TLS Authentication Protocol</title>
            <author fullname="D. Simon" initials="D." surname="Simon"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="R. Hurst" initials="R." surname="Hurst"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides support for multiple authentication methods. Transport Layer Security (TLS) provides for mutual authentication, integrity-protected ciphersuite negotiation, and key exchange between two endpoints. This document defines EAP-TLS, which includes support for certificate-based mutual authentication and key derivation.</t>
              <t>This document obsoletes RFC 2716. A summary of the changes between this document and RFC 2716 is available in Appendix A. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5216"/>
          <seriesInfo name="DOI" value="10.17487/RFC5216"/>
        </reference>
        <reference anchor="RFC5705">
          <front>
            <title>Keying Material Exporters for Transport Layer Security (TLS)</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="March" year="2010"/>
            <abstract>
              <t>A number of protocols wish to leverage Transport Layer Security (TLS) to perform key establishment but then use some of the keying material for their own purposes. This document describes a general mechanism for allowing that. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5705"/>
          <seriesInfo name="DOI" value="10.17487/RFC5705"/>
        </reference>
        <reference anchor="RFC6677">
          <front>
            <title>Channel-Binding Support for Extensible Authentication Protocol (EAP) Methods</title>
            <author fullname="S. Hartman" initials="S." role="editor" surname="Hartman"/>
            <author fullname="T. Clancy" initials="T." surname="Clancy"/>
            <author fullname="K. Hoeper" initials="K." surname="Hoeper"/>
            <date month="July" year="2012"/>
            <abstract>
              <t>This document defines how to implement channel bindings for Extensible Authentication Protocol (EAP) methods to address the "lying Network Access Service (NAS)" problem as well as the "lying provider" problem. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6677"/>
          <seriesInfo name="DOI" value="10.17487/RFC6677"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="PEAP">
          <front>
            <title>Protected Extensible Authentication Protocol (PEAP)</title>
            <author>
              <organization>Microsoft Corporation</organization>
            </author>
            <date year="2021" month="June"/>
          </front>
        </reference>
        <reference anchor="IEEE-802.11">
          <front>
            <title>IEEE Standard for Information technology Telecommunications and information exchange between systems Local and metropolitan area networks-Specific requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
            <author initials="" surname="IEEE" fullname="IEEE">
              <organization/>
            </author>
            <date year="2021" month="February"/>
          </front>
        </reference>
        <reference anchor="IEEE-802.1X">
          <front>
            <title>IEEE Standard for Local and Metropolitan Area Networks--Port-Based Network Access Control</title>
            <author initials="" surname="IEEE" fullname="IEEE">
              <organization/>
            </author>
            <date year="2020" month="February"/>
          </front>
        </reference>
        <reference anchor="RFC9576">
          <front>
            <title>The Privacy Pass Architecture</title>
            <author fullname="A. Davidson" initials="A." surname="Davidson"/>
            <author fullname="J. Iyengar" initials="J." surname="Iyengar"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>This document specifies the Privacy Pass architecture and requirements for its constituent protocols used for authorization based on privacy-preserving authentication mechanisms. It describes the conceptual model of Privacy Pass and its protocols, its security and privacy goals, practical deployment models, and recommendations for each deployment model, to help ensure that the desired security and privacy goals are fulfilled.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9576"/>
          <seriesInfo name="DOI" value="10.17487/RFC9576"/>
        </reference>
        <reference anchor="RFC7593">
          <front>
            <title>The eduroam Architecture for Network Roaming</title>
            <author fullname="K. Wierenga" initials="K." surname="Wierenga"/>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="T. Wolniewicz" initials="T." surname="Wolniewicz"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This document describes the architecture of the eduroam service for federated (wireless) network access in academia. The combination of IEEE 802.1X, the Extensible Authentication Protocol (EAP), and RADIUS that is used in eduroam provides a secure, scalable, and deployable service for roaming network access. The successful deployment of eduroam over the last decade in the educational sector may serve as an example for other sectors, hence this document. In particular, the initial architectural choices and selection of standards are described, along with the changes that were prompted by operational experience.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7593"/>
          <seriesInfo name="DOI" value="10.17487/RFC7593"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC6678">
          <front>
            <title>Requirements for a Tunnel-Based Extensible Authentication Protocol (EAP) Method</title>
            <author fullname="K. Hoeper" initials="K." surname="Hoeper"/>
            <author fullname="S. Hanna" initials="S." surname="Hanna"/>
            <author fullname="H. Zhou" initials="H." surname="Zhou"/>
            <author fullname="J. Salowey" initials="J." role="editor" surname="Salowey"/>
            <date month="July" year="2012"/>
            <abstract>
              <t>This memo defines the requirements for a tunnel-based Extensible Authentication Protocol (EAP) Method. This tunnel method will use Transport Layer Security (TLS) to establish a secure tunnel. The tunnel will provide support for password authentication, EAP authentication, and the transport of additional data for other purposes. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6678"/>
          <seriesInfo name="DOI" value="10.17487/RFC6678"/>
        </reference>
        <reference anchor="RFC5281">
          <front>
            <title>Extensible Authentication Protocol Tunneled Transport Layer Security Authenticated Protocol Version 0 (EAP-TTLSv0)</title>
            <author fullname="P. Funk" initials="P." surname="Funk"/>
            <author fullname="S. Blake-Wilson" initials="S." surname="Blake-Wilson"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>EAP-TTLS is an EAP (Extensible Authentication Protocol) method that encapsulates a TLS (Transport Layer Security) session, consisting of a handshake phase and a data phase. During the handshake phase, the server is authenticated to the client (or client and server are mutually authenticated) using standard TLS procedures, and keying material is generated in order to create a cryptographically secure tunnel for information exchange in the subsequent data phase. During the data phase, the client is authenticated to the server (or client and server are mutually authenticated) using an arbitrary authentication mechanism encapsulated within the secure tunnel. The encapsulated authentication mechanism may itself be EAP, or it may be another authentication protocol such as PAP, CHAP, MS-CHAP, or MS-CHAP-V2. Thus, EAP-TTLS allows legacy password-based authentication protocols to be used against existing authentication databases, while protecting the security of these legacy protocols against eavesdropping, man-in-the-middle, and other attacks. The data phase may also be used for additional, arbitrary data exchange. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5281"/>
          <seriesInfo name="DOI" value="10.17487/RFC5281"/>
        </reference>
        <reference anchor="RFC4851">
          <front>
            <title>The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST)</title>
            <author fullname="N. Cam-Winget" initials="N." surname="Cam-Winget"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="H. Zhou" initials="H." surname="Zhou"/>
            <date month="May" year="2007"/>
            <abstract>
              <t>This document defines the Extensible Authentication Protocol (EAP) based Flexible Authentication via Secure Tunneling (EAP-FAST) protocol. EAP-FAST is an EAP method that enables secure communication between a peer and a server by using the Transport Layer Security (TLS) to establish a mutually authenticated tunnel. Within the tunnel, Type-Length-Value (TLV) objects are used to convey authentication related data between the peer and the EAP server. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4851"/>
          <seriesInfo name="DOI" value="10.17487/RFC4851"/>
        </reference>
        <reference anchor="I-D.draft-ietf-privacypass-batched-tokens">
          <front>
            <title>Batched Token Issuance Protocol</title>
            <author fullname="Raphael Robert" initials="R." surname="Robert">
              <organization>Phoenix R&amp;D</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare Inc.</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies two variants of the Privacy Pass issuance
   protocol that allow for batched issuance of tokens.  These allow
   clients to request more than one token at a time and for issuers to
   issue more than one token at a time.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-privacypass-batched-tokens-06"/>
        </reference>
        <reference anchor="I-D.draft-tomas-openroaming">
          <front>
            <title>WBA OpenRoaming Wireless Federation</title>
            <author fullname="Bruno Tomas" initials="B." surname="Tomas">
              <organization>Wireless Broadband Alliance, Inc.</organization>
            </author>
            <author fullname="Mark Grayson" initials="M." surname="Grayson">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Necati Canpolat" initials="N." surname="Canpolat">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Betty A. Cockrell" initials="B. A." surname="Cockrell">
              <organization>SingleDigits</organization>
            </author>
            <author fullname="Sri Gundavelli" initials="S." surname="Gundavelli">
              <organization>Cisco Systems</organization>
            </author>
            <date day="16" month="September" year="2025"/>
            <abstract>
              <t>   This document describes the Wireless Broadband Alliance's OpenRoaming
   system.  The OpenRoaming architectures enables a seamless onboarding
   experience for devices connecting to access networks that are part of
   the federation of access networks and identity providers.  The
   primary objective of this document is to describe the protocols that
   form the foundation for this architecture, enabling providers to
   correctly configure their equipment to support interoperable
   OpenRoaming signalling exchanges.  In addition, the topic of
   OpenRoaming has been raised in different IETF working groups, and
   therefore a secondary objective is to assist those discussions by
   describing the federation organization and framework.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tomas-openroaming-06"/>
        </reference>
        <reference anchor="RFC7585">
          <front>
            <title>Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI)</title>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="M. McCauley" initials="M." surname="McCauley"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document specifies a means to find authoritative RADIUS servers for a given realm. It is used in conjunction with either RADIUS over Transport Layer Security (RADIUS/TLS) or RADIUS over Datagram Transport Layer Security (RADIUS/DTLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7585"/>
          <seriesInfo name="DOI" value="10.17487/RFC7585"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
