<?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.21 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekok-emu-teapv2-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="TEAP">Tunnel Extensible Authentication Protocol (TEAP) Version 2</title>
    <seriesInfo name="Internet-Draft" value="draft-dekok-emu-teapv2-03"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>InkBridge Networks</organization>
      <address>
        <email>alan.dekok@inkbridge.io</email>
      </address>
    </author>
    <date year="2026" month="February" day="12"/>
    <area>Internet</area>
    <workgroup>EMU working group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 40?>

<t>This document defines the Tunnel Extensible Authentication Protocol
(TEAP) version 2.  It addresses a number of security and
interoperability issues which were found during the publication of
TEAPv1 (<xref target="I-D.ietf-emu-rfc7170bis"/>).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dekok-emu-teapv2/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        EMU Working Group mailing list (<eref target="mailto:emu@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/emu/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/emu/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/inkbridgenetworks/teapv2.git"/>.</t>
    </note>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Tunnel Extensible Authentication Protocol (TEAP) version 1 was first
defined in <xref target="RFC7170"/>.  However, implementations of that
specification were found to have limited interoperability, due to the
complexity of the design, and to under-specification of the
cryptographic key deriviations that it defined.</t>
      <t>TEAPv1 was updated and clarified in <xref target="I-D.ietf-emu-rfc7170bis"/>.  That
document described a large amount of potential functionality in the
protocol, but also noted in <xref section="5.1" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>
that only a small subset of that functionality was interoperable.  In
addition, the interoperable parts of the protocol had security issues
which could potentially allow on-path attackers control control over
the data being transported inside of the TLS tunnel.</t>
      <t>We do not review the full security issues with TEAPv1 here.  Instead,
we define TEAPv2, with new and simpler cryptographic key deriviations.
These derivations address all of the known issues with TEAPv1.</t>
      <t>NOTE: For simplicity, this current draft defines TEAPv2 as a delta
from TEAPv1.  Once the overall framework has been agreed upon, this
document will be updated to define TEAPv2 without referring to TEAPv1.
i.e. Implementing TEAPv2 will not require anyone to read the previous
TEAPv1 document.</t>
      <section anchor="common-elements-with-teapv1">
        <name>Common Elements With TEAPv1</name>
        <t>Most parts of TEAPv1 are unchanged.  The message and TLV formats are
the same, as are the derivations for the session_key_seed
(<xref section="6.1" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>).  The derivations for the
Master Session Key (MSK) and the Extended Master Session Key (EMSK)
(<xref section="6.4" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>) have had only minor changes.</t>
        <t>The Crypto-Binding TLV <xref section="4.2.13" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/> has
the same format as for TEAPv1, although its value is now calculated
via a different derivation.  The Crypto-Binding TLV is now used only
when the inner exchange is an EAP authentication method.</t>
        <t>The largest difference between TEAPv1 and TEAPv2 is in the
cryptographic calculations of the intermediate keys.  The calculations
are simpler than the ones defined for TEAPv1, without compromising on
security.</t>
        <t>A related problem with TEAPv1 was that the Crypto-Binding TLV
calculation had significant differences between independent
implementations.  These differences were due to complex derivations of
multiple intermediate keys, some of which were defined ambiguously.
This complexity and lack of clarity lead to interoperability problems.
TEAPv2 simplifies the key deriviations, reduces the number of
intermediate keys, and gives smaller (and hopefully clearer)
definitions for the derivations.</t>
        <t>NOTE: TEAPv2 will also include mandatory support for all protocol
operations.</t>
      </section>
      <section anchor="outline-of-this-document">
        <name>Outline of this Document</name>
        <t>This document largely follows the same outline as
<xref target="I-D.ietf-emu-rfc7170bis"/>.  Where changes from that document are
made, the same section titles are used in order to ensure easy
comparison of the documents.  New sections are added, with new titles.
For parts of TEAP which are not mentioned herein, this document makes
no changes from <xref target="I-D.ietf-emu-rfc7170bis"/>.</t>
      </section>
      <section anchor="specification-requirements">
        <name>Specification Requirements</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC8174">RFC2119</xref> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>Round</t>
        <ul empty="true">
          <li>
            <t>A round is one set of inner message exchanges.  Each round finishes
with an Interim-Result TLV and a Cryptographic-Binding TLV.  Other
TLVs may also be included in a round.</t>
            <t>A round can include multiple inner message exchanges, e.g. EAP-TLS.</t>
            <t>This term was used in <xref target="I-D.ietf-emu-rfc7170bis"/>, but was not
defined in that document.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="negotiation">
      <name>Negotiation</name>
      <t>TEAPv2 uses the same version negotiation method as is defined in
<xref section="3.1" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>, with the Version field set
to two (2) for TEAPv2.</t>
      <t>TEAPv2 MUST use TLS 1.3 or later.  TEAPv2 MUST NOT use TLS-PSK.</t>
    </section>
    <section anchor="cryptographic-calculations">
      <name>Cryptographic Calculations</name>
      <t>The crytographic calculations for TEAPv2 have been substantially
simplified from those defined in <xref section="6" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>.</t>
      <section anchor="key-derivations">
        <name>TEAP Authentication Phase 1: Key Derivations</name>
        <t>The session key seed is the same as defined in
<xref section="6.2.1" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/> for TEAPv2.  That
definition is reproduced here verbatim:</t>
        <artwork><![CDATA[
   session_key_seed = TLS-Exporter(
                      "EXPORTER: teap session key seed",, 40)
]]></artwork>
      </section>
      <section anchor="inner-methods">
        <name>Inner Methods</name>
        <t>There are multiple possible message exchanges for Inner Methods,
including passwords, PKCS#7 data, and EAP methods.  Not all of these
inner methods will provide an MSK or an EMSK.</t>
        <t>TEAPv2 uses the Crypto-Binding TLV to protect both parties from the
attacks outlined in <xref target="RFC6677"/>.  As those attacks are only possible
when the inner method is EAP, TEAPv2 defines key derivations only when
then inner method is EAP.  TEAPv2 does not define key deriviations or
use the Crypto-Binding TLV for other inner method exchanges.</t>
        <t>The key deriviations described below MUST be done when the inner
method is EAP (i.e. when the parties exchange EAP-Payload TLVs).  The
key deriviations described below MUST NOT be done when the inner
method is anything other than EAP (i.e. when the inner method does not
include EAP-Payload TLVs).</t>
        <t>Since the Crypto-Binding TLV depends on the key derivations, it has
the same requirements.  A Crypto-Binding TLV MUST be used when the
inner method is EAP.  A Crypto-Binding TLV MUST NOT be used when the
inner method is anything other than EAP.</t>
        <t>Inner EAP methods MUST produce an MSK and/or an EMSK.  Inner EAP
methods which produce neither MSK or EMSK (e.g. EAP-GTC) MUST NOT be
used.  A party which sees an attempt to use a forbidden inner EAP
method MUST either respond with an EAP NAK that suggests one or more
acceptable EAP methods, or else respond with a fatal error, and an
Error-TLV contain value "Invalid EAP Method" (TBD).</t>
      </section>
      <section anchor="intermediate-compound-key">
        <name>Intermediate Compound Key Derivations</name>
        <t>The intermediate key derivation in TEAPv2 proceeds via the following
steps:</t>
        <ul spacing="normal">
          <li>
            <t>Combine the seed from the previous round with the MSK and/or the
EMSK from the current round.  If the MSK or EMSK is not available,
the relevant field is set to zero.  The resulting data is the
"RoundSeed", which is used to seed the intermediate key derivations
for this round.</t>
          </li>
          <li>
            <t>At the conclusion of an inner round, call the TLS-Exporter()
function (<xref section="7.5" sectionFormat="comma" target="RFC8446"/>) with the RoundSeed as the
"context_value" in order to derive intermediate keying data.</t>
          </li>
          <li>
            <t>Split the resulting intermediate keying data into two subkeys.  One
subkey is used as the seed to the next round.  The other subkey is
the Compound MAC Key (CMK) which is used to calculate the
Crypto-Binding TLV.</t>
          </li>
        </ul>
        <t>The following sections explain how the round seed is created
(<xref target="key-seeding"/>), how the seed is used to derive an intermediate key
(<xref target="derived-key"/>), how the seed is updated after each round
(<xref target="updating-roundseed"/>), and finally how the master keys are
generated from the final round seed (<xref target="master-key"/>).</t>
        <section anchor="key-seeding">
          <name>Intermediate Key Seeding</name>
          <t>The intermediate compound key deriviations for TEAPv2 depend on the
following RoundSeed structure.  The RoundSeed structure is defined
using the same syntax as is used for TLS <xref target="RFC8446"/>:</t>
          <artwork><![CDATA[
   struct {
       opaque PrevRoundKey[40]
       opaque MSK[32];
       opaque EMSK[32]
    } RoundSeed
]]></artwork>
          <t>The RoundSeed structure fields have the following definitions:</t>
          <t>PrevRoundKey</t>
          <ul empty="true">
            <li>
              <t>A key which ties the previous round to the current round.</t>
            </li>
          </ul>
          <t>MSK</t>
          <ul empty="true">
            <li>
              <t>The Master Session Key (MSK) from the current round.</t>
            </li>
          </ul>
          <t>EMSK</t>
          <ul empty="true">
            <li>
              <t>The Extended Master Session Key (EMSK) from the current round.</t>
            </li>
          </ul>
          <t>At the start of Phase 2, the first 40 octets of the session_key_seed
MUST be copied to the PrevRoundKey field of the RoundSeed structure.
All other fields MUST be set to zero.</t>
          <t>The MSK and EMSK are taken from the inner authentication method for
the current round.  If the MSK or the EMSK are not available, the
corresponding field in RoundSeed is set to zero.</t>
          <t>The RoundSeed structure is updated after the DerivedKey structure
(<xref target="derived-key"/>, below) is calculated.  The process to fill in and
update the RoundSeed structure is defined below in
<xref target="updating-roundseed"/>.</t>
        </section>
        <section anchor="derived-key">
          <name>Key Derivation</name>
          <t>After a successful inner round, a DerivedKey is calculated.  The
DerivedKey depends on the current value of RoundSeed via the
following calculation.</t>
          <artwork><![CDATA[
   DerivedKey = TLS-Exporter(
                "EXPORTER: TEAPv2 Inner Methods Compound Keys",
                RoundSeed, 72)
]]></artwork>
          <t>The DerivedKey is 72 octets in length, and is assigned to the
following data structure:</t>
          <artwork><![CDATA[
   struct {
       opaque RoundKey[40];
       opaque CMK[32]
   } DerivedKey
]]></artwork>
          <t>The DerivedKey structure fields have the following definitions:</t>
          <t>RoundKey</t>
          <ul empty="true">
            <li>
              <t>A key which is associated with this round.</t>
              <t>This field is copied to the PrevRoundKey field of the RoundSeed
structure.</t>
            </li>
          </ul>
          <t>CMK</t>
          <ul empty="true">
            <li>
              <t>The Compound MAC Key (CMK)</t>
              <t>The CMK is mixed with with data from the TEAP negotiation to create
the Compound-MAC ({#computing-compound-mac}) which is used in the
Crypto-Binding TLV.</t>
            </li>
          </ul>
        </section>
        <section anchor="updating-roundseed">
          <name>Updating RoundSeed</name>
          <t>The RoundSeed structure MUST be updated after the DerivedKey structure
has been calculated.  Each field is updated via the process defined
below.</t>
          <t>Note that the RoundSeed value is updated at the end of each inner
round, before the Crypto-Binding TLV is calculated.  This update
ensures that the final master key calculation (<xref target="master-key"/>, below)
uses a different value for the RoundSeed structure than was used in
the last inner exchange.</t>
          <t>PrevRoundKey</t>
          <ul empty="true">
            <li>
              <t>The RoundKey field from the DerivedKey structure is copied to the
PrevRoundKey field.</t>
            </li>
          </ul>
          <t>MSK</t>
          <ul empty="true">
            <li>
              <t>If the inner round did not define an MSK, this field is set to all
zeros.</t>
              <t>If the inner method derived an MSK, then only the first 32 octets of
that MSK are copied to this field.</t>
            </li>
          </ul>
          <t>EMSK</t>
          <ul empty="true">
            <li>
              <t>If the inner round did not define an EMSK, this field is set to all
zeros.</t>
              <t>If the inner method derived an EMSK, then only the first 32 octets
of that EMSK are copied to this field.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="computing-compound-mac">
        <name>Computing the Compound-MAC</name>
        <t>The Compound-MAC used in the Crypto-Binding TLV is calculated via
method as for TEAPv1.  That definition is reproduced here verbatim:</t>
        <artwork><![CDATA[
   Compound-MAC = the first 20 octets of MAC( CMK, BUFFER )
]]></artwork>
        <t>CMK is taken from the DerivedKey structure which was calculated for
this round.  The definition of BUFFER is the same as in
<xref section="6.3" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/> for TEAPv1.</t>
        <t>For TEAPv2, only one CMK is derived for each inner message.  This
limitation also means that only one Compound-MAC is derived for the
Crypto-Binding TLV ({#crypto-binding}).</t>
      </section>
      <section anchor="master-key">
        <name>EAP Master Session Key Generation</name>
        <t>The final MSK and ESMK are generated via the following derivation:</t>
        <artwork><![CDATA[
   MSK  = the first 64 octets of TLS-PRF(RoundSeed,
          "Session Key Generating Function")
   EMSK = the first 64 octets of TLS-PRF(RoundSeed,
          "Extended Session Key Generating Function")
]]></artwork>
        <t>This construction ensures that the cryptographic binding requirements
of <xref target="RFC6677"/> are satisfied, while using a much simpler key
derivation than was done for TEAPv1.</t>
      </section>
    </section>
    <section anchor="message-formats">
      <name>Message Formats</name>
      <t>The following sections describe the message formats used in TEAPv2.
The fields are transmitted from left to right in network byte order.</t>
      <section anchor="eap-mtu">
        <name>EAP MTU</name>
        <t><xref section="3.1" sectionFormat="comma" target="RFC3748"/> defines a minimum EAP MTU of 1020 octets.
However, it defines no maximum MTU, <xref target="RFC3748"/> also provides no way
for EAP methods to negotiate an MTU.</t>
        <t>Implementation and operational experience has shown that there is a
need to define a maximum MTU.  Without a defined maximum, EAP peers
may assume that the MTU is limited by the local network, which could
be as large as 9K octets.  Such large EAP packets can have issues when
transiting subsequent systems in the network.</t>
        <t>For example, the RADIUS protocol often carries EAP, and <xref section="3" sectionFormat="comma" target="RFC2865"/> defines a maximum RADIUS packet length of 4096 octets.
This limit can therefore be in conflict with different local network
limits seen by the EAP peer.</t>
        <t>As a result, TEAPv2 mandates a maximum MTU.  TEAPv2 impementations are
limited to sending EAP packets which are no larger than 1280 octets in
size.  That is, the EAP packet Length field (<xref section="4" sectionFormat="comma" target="RFC3748"/>)
MUST contain a value which is no larger than 1280.</t>
        <t>This size was chosen to be small enough that the TEAPv2 packets can
transit nearly all networks, but large enough to not require too many
message exchanges.</t>
      </section>
      <section anchor="teapv2-message-format">
        <name>TEAPv2 Message Format</name>
        <t>The TEAPv2 message format is identical to that of TEAPv1
(<xref section="4.1" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>) with only one change: the
Ver field is set to "2", to indicate that this is TEAPv2.</t>
      </section>
      <section anchor="teapv2-tlvs">
        <name>TEAPv2 TLVs</name>
        <t>The TEAPv2 TLV format and TLV definitions are identical to that for
TEAPv1 (<xref section="4.2" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>), with only the
changes and additions noted below.</t>
        <section anchor="crypto-binding">
          <name>Crypto-Binding TLV</name>
          <t>The format of the TEAPv2 Crypto-Binding TLV is the same as for TEAPv1
(<xref section="4.2.13" sectionFormat="comma" target="I-D.ietf-emu-rfc7170bis"/>), with the following
changes:</t>
          <ul spacing="normal">
            <li>
              <t>The Version field MUST set to two (2).</t>
            </li>
            <li>
              <t>The Received-Ver field MUST be set to two (2), to indicate TEAPv2.</t>
            </li>
            <li>
              <t>The Flags field MUST have value 2, to indicate that only the MSK
Compound-MAC is present.</t>
            </li>
            <li>
              <t>The Nonce is updated as with TEAPv1.</t>
            </li>
            <li>
              <t>The ESMK Compound-MAC field is not used.  It SHOULD be set to zeros
by the sender.  The receiver MUST ignore it.</t>
            </li>
            <li>
              <t>The MSK Compound-MAC field is calculated as described above in
<xref target="computing-compound-mac"/>.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="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="I-D.ietf-emu-rfc7170bis">
          <front>
            <title>Tunnel Extensible Authentication Protocol (TEAP) Version 1</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
         </author>
            <date day="28" month="May" year="2025"/>
            <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.  This document obsoletes RFC 7170 and updates RFC 9427 by
   moving all TEAP specifications from those documents to this one.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-rfc7170bis-22"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="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="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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
/MP51sf4F15TQCzxv6+9CV1gOQAA

-->

</rfc>
