<?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-rfc2629 version 1.5.26 (Ruby 2.6.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekok-radext-deprecating-radius-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="Deprecating RADIUS">Deprecating RADIUS/UDP and RADIUS/TCP</title>
    <seriesInfo name="Internet-Draft" value="draft-dekok-radext-deprecating-radius-03"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <date year="2023" month="August" day="03"/>
    <area>Internet</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>RADIUS crypto-agility was first mandated as future work by RFC 6421.  The outcome of that work was the publication of RADIUS over TLS (RFC 6614) and RADIUS over DTLS (RFC 7360) as experimental documents.  Those transport protocols have been in wide-spread use for many years in a wide range of networks.  They have proven their utility as replacements for the previous UDP (RFC 2865) and TCP (RFC 6613) transports.  With that knowledge, the continued use of insecure transports for RADIUS has serious and negative implications for privacy and security.</t>
      <t>This document formally deprecates the use of the User Datagram Protocol (UDP) and of the Transmission Control Protocol (TCP) as transport protocols for RADIUS. These transports are permitted inside of secure networks, but their use even in that environment is strongly discouraged.  For all other environments, the use of secure transports such as IPsec or TLS is mandated.</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-radext-deprecating-radius/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RADEXT Working Group mailing list (<eref target="mailto:radext@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/radext/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/freeradius/deprecating-radius.git"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The RADIUS protocol <xref target="RFC2865"/> was first standardized in 1997, though its roots go back much earlier to 1993.  The protocol uses MD5 <xref target="RFC1321"/> to sign some packets types, and to obfuscate certain attributes such as User-Password.  As originally designed, Access-Request packets were entirely unauthenticated, and could be trivially spoofed as discussed in <xref target="RFC3579"/> Section 4.3.2.  In order to prevent such spoofing, that specification defined the Message-Authenticator attribute (<xref target="RFC3579"/> Section 3.2) which allowed for packets to carry a signature based on HMAC-MD5.</t>
      <t>The state of MD5 security was discussed in <xref target="RFC6151"/>, which led to the state of RADIUS security being reviewed in <xref target="RFC6421"/> Section 3.  The outcome of that review was the remainder of <xref target="RFC6421"/>, which created crypto-agility requirements for RADIUS.</t>
      <t>RADIUS was traditionally secured with IPSec, as described in <xref target="RFC3579"/> Section 4.2:</t>
      <ul empty="true">
        <li>
          <t>To address the security vulnerabilities of RADIUS/EAP,
implementations of this specification SHOULD support IPsec
(RFC2401) along with IKE (RFC2409) for key management.  IPsec ESP
(RFC2406) with non-null transform SHOULD be supported, and IPsec
ESP with a non-null encryption transform and authentication
support SHOULD be used to provide per-packet confidentiality,
authentication, integrity and replay protection.  IKE SHOULD be
used for key management.</t>
        </li>
      </ul>
      <t>The use of IPSec allowed RADIUS to be sent privately, and securely, across the Internet.  However, experience showed that TLS was in many ways simpler (implementation and deployment) than IPSec.</t>
      <t>RADIUS/TLS <xref target="RFC6614"/> and RADIUS/DTLS <xref target="RFC7360"/> were then defined in order to meet the crypto-agility requirements of <xref target="RFC6421"/>.  RADIUS/TLS has been in wide-spread use for about a decade, including eduroam <xref target="EDUROAM"/>, and more recently OpenRoaming <xref target="OPENROAMING"/> and <xref target="I-D.tomas-openroaming"/>.  RADIUS/DTLS has seen less use across the public Internet, but it nonetheless has multiple implementations.</t>
      <t>As of the writing of this specification, RADIUS/UDP is still widely used, even though it depends on MD5 and "ad hoc" constructions for security.  While MD5 has been broken, it is a testament to the design of RADIUS that there have been (as yet) no attacks on RADIUS Authenticator signatures which are stronger than brute-force.</t>
      <t>However, the problems with MD5 means that if a someone can view unencrypted RADIUS traffic, even a hobbyist attacker can crack all possible RADIUS shared secrets of eight characters or less.  Such attacks can also result in compromise of all passwords carried in the User-Password attribute.</t>
      <t>Even if a stronger packet signature method was used as in <xref target="RFC6218"/>, it would not fully address the issues with RADIUS.  Most information in RADIUS is sent in cleartext, and only a few attributes are hidden via obfuscation methods which rely on more "ad hoc" MD5 constructions.  The privacy implications of this openness are severe.</t>
      <t>Any observer of non-TLS RADIUS traffic is able to obtain a substantial amount of personal identifiable information (PII) about users.  The observer can tell who is logging in to the network, what devices they are using, where they are logging in from, and their approximate location (usually city).  With location-based attributes as defined in <xref target="RFC5580"/>, a users location may be determined to within 15 or so meters outdoors, and with "meter-level accuracy indoors" <xref target="WIFILOC"/>.  An observer can also use RADIUS accounting packets to determine how long a user is online, and to track a summary of their total traffic (upload and download totals).</t>
      <t>When RADIUS/UDP is used across the public Internet, the location of corporate executives can potentially be tracked in real-time (usually 10 minute intervals), to within 15 meters.  Their devices can be identified, and tracked.  Any passwords they send via the User-Password attribute can be be compromised.  The negative implications for security and individual safety are obvious.</t>
      <t>These issues are only partly mitigated when the attributes carried within RADIUS define their own methods to increase security and privacy.  For example, some authentication methods such EAP-TLS, EAP-TTLS, etc. allow for User-Name privacy and for more secure transport of passwords.  The use of MAC address randomization can limit device information identification to a particular manufacturer, instead of to a unique device.</t>
      <t>However, these authentication methods are not always used or are not always available.  Even if these methods were used ubiquitously, they do not protect all of the information which is publicly available when RADIUS/UDP or RADIUS/TCP is used.</t>
      <t>It is no longer acceptable for RADIUS to rely on MD5 for security.  It is no longer acceptable to send device or location information in clear text.  This document therefore deprecates insecure uses of RADIUS, and mandates the use of secure TLS-based transport layers.</t>
      <t>The use of a secure transport such as IPSec or TLS ensures complete privacy and security for all RADIUS traffic.  An observer is limited to knowing rough activity levels of a client or server.  That is, an observer can tell if there are a few users on a NAS, or many users on a NAS.  All other information is hidden from all observers.</t>
      <t>It is also possbile for an attacker to record the session traffic, and later crack the TLS session key.  This attack could comprise all traffic sent over that connection, including EAP session keys.  If the cryptographic methods provide forward secrecy (<xref target="RFC7525"/> Section 6.3), then breaking one session provides no information about other sessions.  As such, it is RECOMMENDED that all cryptographic methods used to secure RADIUS conversations provide forward secrecy.  While forward secrecy will not protect individual sessions from attack, it will prevent attack on one session from being leveraged to attack other, unrelated, sessions.  AAA servers can also minimize the impact of such attacks using TLS connections with short lifetimes, though that practice can cause spurious errors in a proxy environment.</t>
      <t>The final attack possible in a AAA system is where one party in a AAA conversation is compromised or run by a malicious party.  This attack is made more likely by the extensive use of RADIUS proxy forwarding chains.  In that situation, every RADIUS proxy has full visibility into, and control over, the traffic it transports.  The solution here is to minimize the number of proxies involved, such as by using Dynamic Peer Discovery (<xref target="RFC7585"/>.</t>
      <section anchor="overview">
        <name>Overview</name>
        <t>The rest of this document begins a summary of issues with RADIUS, and shows just how trivial it is to crack RADIUS/UDP security.  We then mandate the use of secure transport, and describe what that means.  We give recommendations on how current systems can be migrated to using TLS.  We conclude with privacy and security considerations.</t>
        <t>As IPSec has been discussed previously in the context of RADIUS, we devote little time to it here, other than to say it is an acceptable solution.  As the bulk of the current efforts are focused on TLS, this document likewise focuses on TLS.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</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="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <ul spacing="normal">
        <li>RADIUS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>The Remote Authentication Dial-In User Service protocol, as defined in <xref target="RFC2865"/>, <xref target="RFC2865"/>, and <xref target="RFC5176"/> among others.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/UDP</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the User Datagram Protocol as define above.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TCP</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Transport Congestion Protocol <xref target="RFC6613"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Transport Layer Security protocol <xref target="RFC6614"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/DTLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Datagram Transport Layer Security protocol  <xref target="RFC7360"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>the Transport Layer Security protocol.  Generally when we refer to TLS in this document, we are referring to RADIUS/TLS and/or RADIUS/DTLS.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>NAS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>Network Access Server, which is a RADIUS client.</t>
        </li>
      </ul>
    </section>
    <section anchor="overview-of-issues-with-radius">
      <name>Overview of issues with RADIUS</name>
      <t>There are a number of issues with RADIUS.   For one, RADIUS sends most information "in the clear", with obvious privacy implications.</t>
      <t>Further, MD5 has been broken for over a decade, as summarized in <xref target="RFC6151"/>.  No protocol should be using MD5 for anything.  Even if MD5 was not broken, computers have gotten substantially faster in the past thirty years.  This speed increase makes it possible for the average hobbyist to perform brute-force attacks to crack even seemingly complex shared secrets.</t>
      <t>We address each of these issues in detail below.</t>
      <section anchor="information-is-sent-in-clear-text">
        <name>Information is sent in Clear Text</name>
        <t>Other than a few attributes such as User-Password, all RADIUS traffic is sent "in the clear".  The resulting traffic has a large number of privacy issues.  We refer to <xref target="RFC6973"/>, and specifically to Section 5 of that document for detailed discussion.  RADIUS is vulnerable to all of the issues raised by <xref target="RFC6973"/>.</t>
        <t>There are clear privacy and security information with sending user identifiers, and user locations <xref target="RFC5580"/> in clear-text across the Internet.  As such, the use of clear-text protocols across insecure networks is no longer acceptable.</t>
      </section>
      <section anchor="md5-has-been-broken">
        <name>MD5 has been broken</name>
        <t>Attacks on MD5 are summarized in part in <xref target="RFC6151"/>. While there have not been many new attacks in the decade since <xref target="RFC6151"/> was published, that does not mean that further attacks do not exist.  It is more likely that no one is looking for new attacks.</t>
        <t>It is reasonable to expect that new research can further break MD5, but also that such research may not be publicly available.</t>
      </section>
      <section anchor="complexity-of-cracking-radius-shared-secrets">
        <name>Complexity of cracking RADIUS shared secrets</name>
        <t>The cost of cracking a a shared secret can only go down over time as computation becomes cheaper.  The issue is made worse because of the way MD5 is used in RADIUS.  The attacker does not have to calculate the hash over the entire packet, as that can be precalculated, and cached.  The attacker can simply begin with that precalculated portion, and brute-force only the shared secret portion.</t>
        <t>At the time of writing this document, an "off the shelf" commodity computer can calculate at least 100M MD5 hashes per second.  If we limit shared secrets to upper/lowercase letters, numbers, and a few "special" characters, we have 64 possible characters for shared secrets.  Which means that for 8-character passwords, there are 2^48 possible password combinations.</t>
        <t>The result is that using one readily available machine, it takes approximately 32 days to brute-force the entire 8 octet / 64 character password space.  The problem is even worse when graphical processing units (GPUs) are used. A high-end GPU is capable of performing more than 64 billion hashes per second.  At that rate, the entire 8 character space described above can be searched in approximately 90 minutes.</t>
        <t>This is an attack which is feasible today for a hobbyist. Increasing the size of the character set raises the cost of cracking, but not enough to be secure.  Increasing the character set to 93 characters means that the hobbyist using a GPU could search the entire 8 character space in about a day.</t>
        <t>Increasing the length of the shared secret a bit helps.  For secrets ten characters long, a GPU can search a 64-character space in about six months, and a 93 character space would take approximately 24 years.</t>
        <t>The brute-force attack is also trivially parallelizable.  Nation-states have sufficient resources to deploy hundreds to thousands of systems dedicated to these attacks.  That realization means that a "time to crack" of 24 years is simply expensive, but is not particularly difficult.</t>
        <t>Whether the above numbers  exactly correct, or only approximate is immaterial.  These attacks will only get better over time.  The cost to crack shared secrets will only go down.</t>
        <t>Even worse, administrators do not always derive shared secrets from secure sources of random numbers.  The "time to crack" numbers given above are the absolute best case, assuming administrators follow best practices for creating secure shared secrets.  For shared secrets created manually by a person, the search space is orders of magnitude smaller than the best case outlined above.</t>
        <t>It should be assumed that an average attacker with modest resource can crack most human-derived shared secrets in minutes, if not seconds.</t>
        <t>Despite the ease of attacking MD5, it is still a common practice for some "cloud" and other RADIUS providers to send RADIUS/UDP packets over the Internet "in the clear".  It is also common practice for administrators to use "short" shared secrets, and to use shared secrets created by a person, or derived from a limited character set.  Theses practice are followed for ease of use of administrators, but they are also highly insecure.</t>
      </section>
      <section anchor="tunnel-password-and-coa-request-packets">
        <name>Tunnel-Password and CoA-Request packets</name>
        <t>There are similar security issues for the Tunnel-Password attribute, at least in CoA-Request and Disconnect-Request packets.</t>
        <t><xref target="RFC5176"/> Section 2.3 says:</t>
        <artwork><![CDATA[
Request Authenticator

   In Request packets, the Authenticator value is a 16-octet MD5
   [RFC1321] checksum, called the Request Authenticator.  The
   Request Authenticator is calculated the same way as for an
   Accounting-Request, specified in [RFC2866].
]]></artwork>
        <t>Where <xref target="RFC2866"/> Section 3 says:</t>
        <artwork><![CDATA[
  The NAS and RADIUS accounting server share a secret.  The Request
  Authenticator field in Accounting-Request packets contains a one-
  way MD5 hash calculated over a stream of octets consisting of the
  Code + Identifier + Length + 16 zero octets + request attributes +
  shared secret (where + indicates concatenation).  The 16 octet MD5
  hash value is stored in the Authenticator field of the
  Accounting-Request packet.
]]></artwork>
        <t>Taken together, these defintions means that for CoA-Request packets, all attribute obfuscation is calculated with the Reply Authenticator being all zeroes.</t>
        <t><xref target="RFC5176"/> Section 3.6 allows for Tunnel-Password in CoA-Request packets:</t>
        <artwork><![CDATA[
  ...
  Change-of-Authorization Messages
  
  Request   ACK      NAK   #   Attribute
  ...
  0+        0        0    69   Tunnel-Password (Note 5)
  ...
  (Note 5) When included within a CoA-Request, these attributes
  represent an authorization change request.  Where tunnel attributes
  are included within a successful CoA-Request, all existing tunnel
  attributes are removed and replaced by the new attribute(s).
]]></artwork>
        <t>However, <xref target="RFC2868"/> Section 3.5 says that Tunnel-Password is encrypted with the Request Authenticator:</t>
        <artwork><![CDATA[
  Call the shared secret S, the pseudo-random 128-bit Request
  Authenticator (from the corresponding Access-Request packet) R,
]]></artwork>
        <t>The assumption that the Request Authenticator is random data is true for Access-Request packets.  It is not true for CoA-Request packets</t>
        <t>That is, when the Tunnel-Password attribute is used in CoA-Request packets, the only source of randomness in the obfuscation is the salt, as defined in <xref target="RFC2868"/> Section 3.5;</t>
        <artwork><![CDATA[
Salt
  The Salt field is two octets in length and is used to ensure the
  uniqueness of the encryption key used to encrypt each instance of
  the Tunnel-Password attribute occurring in a given Access-Accept
  packet.  The most significant bit (leftmost) of the Salt field
  MUST be set (1).  The contents of each Salt field in a given
  Access-Accept packet MUST be unique.
]]></artwork>
        <t>Which means that there is only 15 bits of entropy in the Tunnel-Password obfuscation (plus the secret).  It is not known if this limitation makes it easier to determine the contents of the Tunnel-Password.  However, it cannot be a good thing, and it is one more reason to deprecate RADIUS/UDP.</t>
      </section>
    </section>
    <section anchor="all-short-shared-secrets-have-been-compromised">
      <name>All short Shared Secrets have been compromised</name>
      <t>Unless RADIUS packets are sent over a secure network (IPsec, TLS, etc.), administrators should assume that any shared secret of 8 characters or less has been immediately compromised.  Administrators should assume that any shared secret of 10 characters or less has been compromised by an attacker with significant resources.  Administrators should also assume that any private information (such as User-Password) which depends on such shared secrets has also been compromised.</t>
      <t>Further, if a User-Password has been sent over the Internet via RADIUS/UDP or RADIUS/TCP in the last decade, you should assume that password has been compromised by an attacker with sufficient resources.</t>
    </section>
    <section anchor="deprecating-insecure-transports">
      <name>Deprecating Insecure transports</name>
      <t>The solution to an insecure protocol using thirty year-old cryptography is to deprecate the insecure cryptography, and to mandate modern cryptographic transport.</t>
      <section anchor="deprecating-udp-and-tcp-as-transports">
        <name>Deprecating UDP and TCP as transports</name>
        <t>RADIUS/UDP and RADIUS/TCP MUST NOT be used outside of secure networks.  A secure network is one which is known to be safe from eavesdroppers, attackers, etc.</t>
        <t>For example, if IPsec is used between two systems, then those systems may use RADIUS/UDP or RADIUS/TCP over the IPsec connection.</t>
        <t>Similarly, RADIUS/UDP and RADIUS/TCP may be used in secure management networks.  However, administrators should not assume that such uses are secure.</t>
        <t>Using RADIUS/UDP and RADIUS/TCP in any environment is still NOT RECOMMENDED.  A network misconfiguration could result in the RADIUS traffic being sent over an insecure network.  Neither the RADIUS client nor the RADIUS server would be aware of this misconfiguration.</t>
        <t>In contrast, when TLS is used, the RADIUS endpoints are aware of all security issues, and can enforce security for themselves.</t>
        <section anchor="message-authenticator">
          <name>Message-Authenticator</name>
          <t>The Message-Authenticator attribute was defined in <xref target="RFC3579"/> Section 3.2.  The "Note 1" paragraph at the bottom of <xref target="RFC3579"/> Section 3.2 required that Message-Authenticator be added to Access-Request packets when the EAP-Message as present, and suggested that it should be present in a few other situations.   Experience has shown that these recommendations are inadequate.</t>
          <t>Some RADIUS clients never use the Message-Authenticator attribute, even for the situations where it the <xref target="RFC3579"/> text suggests that it should be used.  When the Message-Authenticator attribute is missing from Access-Request packets, it is often possible to trivially forge or replay those packets.</t>
          <t>For example, an Access-Request packet containing CHAP-Password but which is missing Messge-Authenticator can be trivially forged.  If an attacker sees one packet such packet, it is possible to replace the CHAP-Password and CHAP-Challenge (or Request Authenticator) with values chosen by the attacket.  The attacker can then perform brute-force attacks on the RADIUS server in order to test passwords.  Similar attacks are possible for User-Password and MS-CHAP passwords.</t>
          <t>This document therefore requires that RADIUS clients MUST include the Message-Authenticator in all Access-Request packets when UDP or TCP transport is used.  In contrast, when TLS-based transports are used, the Message-Authenticator attribute serves no purpose, and can be omitted, even when the Access-Request packet contains an EAP-Message attribute.  Servers receiving Acccess-Request packets over TLS-based transports SHOULD NOT silently discard the packet if it does not contain a Message-Authenticator attribute.  However, if the Message-Authenticator attributes is present, it still MUST be validated as discussed in <xref target="RFC7360"/> and <xref target="RFC3579"/>.</t>
        </section>
      </section>
      <section anchor="mandating-secure-transports">
        <name>Mandating Secure transports</name>
        <t>All systems sending RADIUS packets outside of secure networks MUST use either IPSec, RADIUS/TLS, or RADIUS/DTLS. It is RECOMMENDED, for operational and visibility reasons, that RADIUS/TLS or RADIUS/DTLS are preferred over IPSec.</t>
        <t>Unlike (D)TLS, use of IPSec means that applications are generally unaware of transport-layer security. Any problem with IPSec such as configuration issues, negotiation or re-keying problems are typically is presented to the RADIUS servers as 100% packet loss.  These issues may occur at any time, independent of any changes to a RADIUS application using that transport.  Further, network misconfigurations which remove all security are completely transparent to the RADIUS application: packets can be sent over an insecure link, and the RADIUS server is unaware of the failure of the security layer.</t>
        <t>In contrast, (D)TLS gives the RADIUS application completely knowledge and control over transport-layer security.  The failure cases around (D)TLS are therefore often clearer, easier to diagnose and faster to resolve than failures in IPSec.</t>
      </section>
      <section anchor="crypto-agility">
        <name>Crypto-Agility</name>
        <t>The crypto-agility requirements of <xref target="RFC6421"/> are addressed in <xref target="RFC6614"/> Appendix C, and in Section 10.1 of <xref target="RFC7360"/>.  For clarity, we repeat the text of <xref target="RFC7360"/> here, with some minor modifications to update references, but not content.</t>
        <t>Section 4.2 of <xref target="RFC6421"/> makes a number of recommendations about security properties of new RADIUS proposals.  All of those recommendations are satisfied by using TLS or DTLS as the transport layer.</t>
        <t>Section 4.3 of <xref target="RFC6421"/> makes a number of recommendations about backwards compatibility with RADIUS.  <xref target="RFC7360"/> Section 3 addresses these concerns in detail.</t>
        <t>Section 4.4 of <xref target="RFC6421"/> recommends that change control be ceded to the IETF, and that interoperability is possible.  Both requirements are satisfied.</t>
        <t>Section 4.5 of <xref target="RFC6421"/> requires that the new security methods apply to all packet types.  This requirement is satisfied by allowing TLS and DTLS to be used for all RADIUS traffic.  In addition, <xref target="RFC7360"/> Section 3, addresses concerns about documenting the transition from legacy RADIUS to crypto-agile RADIUS.</t>
        <t>Section 4.6 of <xref target="RFC6421"/> requires automated key management.  This requirement is satisfied by using TLS or DTLS key management.</t>
        <t>We can now finalize the work began in <xref target="RFC6421"/>.  This document updates <xref target="RFC2865"/> et al. to state that any new RADIUS specification MUST NOT introduce new "ad hoc" cryptographic primitives to sign packets as with the Response Authenticator, or to obfuscate attributes as was done with User-Password and Tunnel-Password.  That is, RADIUS-specific cryptographic methods existing as of the publication of this document can continue to be used for historical compatibility.  However, all new cryptographic work in the RADIUS protocol is forbidden.</t>
        <t>We recognize that RADIUS/UDP will still be in use for many years, and that new standards may require some modicum of privacy.  As a result, it is a difficult choice to forbid the use of these constructs.  If an attack is discovered which breaks RADIUS/UDP (e.g. by allowing attackers to forge Request Authenticators or Response Authenticators, or by allowing attackers to de-obfuscate User-Password), the solution is to simply deprecate the use of RADIUS/UDP entirely.  It would not be acceptable to design new cryptographic primitives which attempt to "secure" RADIUS/UDP.</t>
        <t>All new security and privacy requirements in RADIUS MUST be provided by a secure transport layer such as TLS or IPSec.  We note that simply using IPsec is not always enough, as the use (or not) of IPsec is unknown to the RADIUS application.  For example, when the IPsec connection is down, the RADIUS application sees 100% packet loss for no reason which can be determined.  In contrast, a failed TLS connection may return a "connection refused" error to the application, or any one of many TLS errors indicating which exact part of the TLS conversion failed during negotiation.</t>
        <t>The restriction forbidding new cryptographic work in RADIUS does not apply to the data being transported in RADIUS attributes.  For example, a new authentication protocol could use new cryptographic methods, and would be permitted to be transported in RADIUS.  In that case, RADIUS serves as a transport layer for the authentication method, which is treated as opaque data for the purposes of Access-Request, Access-Challenge, etc.  There would be no need for RADIUS to define any new cryptographic methods in order to transport thos data.  Either the authentication method itself is secured (as with EAP-TLS), or the authentication data can be obfsucated (as with User-Password), or the entire RADIUS exchange can be secured via TLS or IPSec transport.</t>
        <t>Similarly, new specifications MAY define new attributes which use the obfuscation methods for User-Password as defined in <xref target="RFC2865"/> Section 5.2, or for Tunnel-Password as defined in <xref target="RFC2868"/> Section 3.5.  However, due to the issues noted above with the obfuscation method used for Tunnel-Password, that obfuscation method MUST only used for attributes which are sent Access-Request packets.  If the attribute needs to be send in another type of packet, then the protocol design is likely wrong, and needs to be revisited.  It is again a difficult choice to forbid the use of the Tunnel-Password obfuscation method, but we believe that doing so is preferable to allowing "secret" data to be obfuscated with only 15 bits of entropy.</t>
      </section>
    </section>
    <section anchor="migration-path-and-recommendations">
      <name>Migration Path and Recommendations</name>
      <t>We recognize that it is difficult to upgrade legacy devices with new cryptographic protocols and user interfaces.  The problem is made worse because the volume of RADIUS devices which are in use.  The exact number is unknown, and can only be approximated.  Our best guesses would be in the order of hundreds of thousands, if not millions of RADIUS/UDP devices are in daily use.</t>
      <t>We therefore need to define a migration path to using secure transports.  We give a few migration steps by making stronger recommendations for shared secrets.  Where <xref target="RFC6614"/> Section 2.3 makes support for TLS-PSK optional, we suggest that RADIUS/TLS and RADIUS/DTLS implementations SHOULD support TLS-PSK.  Implementation and operational considerations for TLS-PSK are given in <xref target="I-D.dekok-radext-tls-psk"/>, and we do not repeat them here.</t>
      <section anchor="shared-secrets">
        <name>Shared Secrets</name>
        <t><xref target="RFC2865"/> Section 3 says:</t>
        <ul empty="true">
          <li>
            <t>It is preferred that the secret be at least 16
octets.  This is to ensure a sufficiently large range for the
secret to provide protection against exhaustive search attacks.
The secret MUST NOT be empty (length 0) since this would allow
packets to be trivially forged.</t>
          </li>
        </ul>
        <t>This recommendation is no longer adequate, so we strengthen it here.</t>
        <t>RADIUS implementations MUST support shared secrets of at least 32 octets, and SHOULD support shared secrets of 64 octets.  Implementations MUST warn administrators that the shared secret is insecure if it is 10 octets or less in length.</t>
        <t>Administrators SHOULD use shared secrets of at least 24 octets, generated using a source of secure random numbers.   Any other practice is likely to lead to compromise of the shared secret, user information, and possibly of the entire network.</t>
        <t>Creating secure shared secrets is not difficult.  One solution is to use a simple script given below.  While the script is not portable to all possible systems, the intent here is to document a concise and simple method for creating secrets which are secure, and humanly manageable.</t>
        <ul empty="true">
          <li>
            <t>#!/usr/bin/env perl
use MIME::Base32;
use Crypt::URandom();
print join('-', unpack("(A4)*", lc encode_base32(Crypt::URandom::urandom(12)))), "\n";</t>
          </li>
        </ul>
        <t>This script reads 96 bits of random data from a secure source, encodes it in Base32, and then makes it easier for people to work with.  The generated secrets are of the form "2nw2-4cfi-nicw-3g2i-5vxq".  This form of secret will be accepted by any known implementation which supports at least 24 octets for shared secrets.</t>
        <t>Given the simplicity of creating strong secrets, there is no excuse for using weak shared secrets with RADIUS.  The management overhead of dealing with complex secrets is less than the management overhead of dealing with compromised networks.</t>
        <t>RADIUS implementers SHOULD provide tools for administrators which can create and manage secure shared secrets.</t>
        <t>Given the insecurity of RADIUS, the absolute minimum acceptable security is to use strong shared secrets.  However, administrator overhead for TLS-PSK is not substantially higher than simple shared secrets, and TLS-PSK offers significantly increased security and privacy.</t>
      </section>
    </section>
    <section anchor="increasing-the-security-of-insecure-transports">
      <name>Increasing the Security of Insecure Transports</name>
      <t>While we still permit the use of UDP and TCP transports in secure environments, there remain opportunities for increasing the security of those transport protocols.  The amount of personal identifiable information sent in packets should be minimized.  Information about the size, structure, and nature of the visited network should be omitted or anonymized.  The choice of authentication method also has security and privacy impacts.  Implementors and administrators need to be aware of all of these issues, and then make the best choice for their local network which balances their requirements on privacy, security, and cost.</t>
      <section anchor="minimizing-personal-identifiable-information">
        <name>Minimizing Personal Identifiable Information</name>
        <t>One approach to increasing RADIUS privacy is to minimize the amount of PII which is sent in packets .Implementors of RADIUS products and administrators of RADIUS systems SHOULD ensure that only the minimum necessary PII is sent in RADIUS.</t>
        <t>Where possible, identities should be anonymized (e.g. <xref target="RFC7542"/> Section 2.4).  The use of anonymized identies means that the the Chargeable-User-Identifer <xref target="RFC4372"/> should also be used.  Further discussion on this topic is below.</t>
        <t>Device information SHOULD be either omitted, or randomized.  e.g. MAC address randomization could be used on end-user devices.  The details behind this recommendation are the subject of ongoing research and development.  As such, we do not offer more specific recommendations here.</t>
        <t>Information aobut the visited network SHOULD be replaced or anonymized before packets are proxied outside of the local organizstion.  The attribute Operator-NAS-Identifier <xref target="RFC8559"/> can be used to anonymize information about NASes in the local network.</t>
        <t>Location information (<xref target="RFC5580"/> SHOULD either be omitted, or else it SHOULD be limited to the broadest possible information, such as country code. For example, <xref target="I-D.tomas-openroaming"/> says:</t>
        <ul empty="true">
          <li>
            <t>All OpenRoaming ANPs MUST support signalling of location information</t>
          </li>
        </ul>
        <t>This location information is required to include at the minimum the country code.  We suggest the country code SHOULD also be the maximum amount of location information which is sent over third-party networks.</t>
        <section anchor="chargeable-user-identity">
          <name>Chargeable-User-Identity</name>
          <t>Where the Chargeable-User-Identity (CUI) <xref target="RFC4372"/> is used, it SHOULD be unique per session.  This practice will help to maximize user privacy, as it will be more difficult to track users across multiple sessions.  Due to additional constraints which we will discuss below, we cannot require that the CUI change for every session.</t>
          <t>What we can do is to require that the home server MUST provide a unique CUI for each combination of user and visited network.  That is, if the same user visits multiple networks, the home server MUST provide different CUIs to each visited network for that user.  The CUI MAY be the same across multiple sessions for that user on one particular network.  The CUI MAY be the same for multiple devices used by that user on one particular network.</t>
          <t>We note that the MAC address is likely the same across multiple user sessions on one network.  Therefore changing the CUI offers little additional benefit, as the user can still be tracked by the unchanging MAC address.  Never the less, we believe that having a unique CUI per session can be useful, because there is ongoing work on increasing user privacy by allowing more MAC address randomization.  If we were to recommend that the CUI remain constant across multiple sessions, that would in turn negate much of the effort being put into MAC address randomization.</t>
          <t>One reason to have a constant CUI value for a user (or user devices) on one network is that network access providers may need to enforce limits on simultaneous logins.  Network providers may also need to correlate user behavior across mutliple sessions in order to track and prevent abuse.  Both of these requirements are impossible if the CUI changes for every user session.</t>
          <t>The result is that there is a trade-off between user privacy and the needs of the local network.  While perfect user privacy is an admirable goal, perfect user privacy may also allow anonymous users to abuse the visited network.  The network would then likely simply refuse to provide network access.  Users may therefore have to accept some limitations on privacy, in order to obtain network access.</t>
          <t>We take a short digression here to give some recommendations for creating and managung of CUI.  We believe that these recommendations will help implementors satisfy the preceeding requirements, while not imposing undue burden on the implementations.</t>
          <t>In general, the simplest way to track CUIs long term is to associate the CUI to user identity in some kind of cache or database.  This association could be created at the tail end of the authentication process, and before any accounting packets were received.  This association should generally be discarded after a period of time if no accounting packets are received.  If accounting packets are received, the CUI to user association should then be tracked along with the normal accounting data.</t>
          <t>The above method for tracking CUI works no matter how the CUI is generated.  If the CUI can be unique per ssesion, or it could be tied to a particular user identity across a long period of time.  The same CUI could also be associated with multiple devices.</t>
          <t>Where the CUI is not unique for each session, the only minor issue is the cost of the above method is that the association is stored on a per-session basis when there is no need for that to be done.  Storing the CUI per session means that is it possible to arbitrarily change how the CUI is calculated, with no impact on anything else in the system.  Designs such as this which decouple unrelated architectural elements are generally worth the minor extra cost.</t>
          <t>For creating the CUI, that process should be done in a way which is scalable and efficient.  For a unique CUI per user, implementors SHOULD create a value which is unique both to the user, and to the visited network.  There is no reason to use the same CUI for multiple visited networks, as that would enable the tracking of a user across multiple networks.</t>
          <t>Before suggesting a method for creating the CUI, we note that <xref target="RFC4372"/> Section 2.1 defines the CUI as being of data type 'string' (<xref target="RFC8044"/> Section 3.5).  <xref target="RFC4372"/> Section 2.1 further suggests that the value of the CUI is interpreted as an opaque token, similar to the Class attribute (<xref target="RFC2865"/> Section 5.25).  Some organizations create CUI values which use the Network Access Identifier (NAI) format as defined in <xref target="RFC7542"/>.  This format can allow the home network to be identified to the visited network, where the User-Name does not contain a realm.  Such formats SHOULD NOT be used unless all parties involved have agreed to this behavior.</t>
          <t>The CUI SHOULD be created via a construct similar to what is given below, where "+" indicates concatenation:</t>
          <artwork><![CDATA[
CUI = HASH(visited network data + user identifier + key)
]]></artwork>
          <t>This construct has the following conceptual parameters</t>
          <ul empty="true">
            <li>
              <t>HASH</t>
              <ul empty="true">
                <li>
                  <t>A cryptographic hash function.</t>
                </li>
              </ul>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>visited network data</t>
              <ul empty="true">
                <li>
                  <t>Data which identifies the visited network.</t>
                  <t>This data could be the Operator-Name attribute (<xref target="RFC5580"/> Section 4.1).</t>
                </li>
              </ul>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>user identifier</t>
              <ul empty="true">
                <li>
                  <t>The site-local user identifier.  For tunneled EAP methods such as PEAP or TTLS, this could be the user identity which is sent inside of the TLS tunnel.</t>
                </li>
              </ul>
            </li>
          </ul>
          <ul empty="true">
            <li>
              <t>key</t>
              <ul empty="true">
                <li>
                  <t>A secret known only to the local network.  The key is generally a large random string.  It is used to help prevent dictionary attacks on the CUI.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>Where the CUI needs to be constant across multiple user sessions or devices, the key can be a static value.  It is generated once by the home network, and then stored for use in further CUI derivations.</t>
          <t>Where the CUI needs to be unique per session, the above derivation SHOULD still be used, except that the "key" value will instead be a random number which is ddifferent for each session.  Using such a design again decouples the CUI creation from any requirement that it is unique per session, or constant per user.  That decision can be changed at any time, and the only piece which needs to be updated is the derivation of the "key" field.  In contrast, if the CUI is generated completely randomly per session, then it may be difficult for a system to later change that behavior to allow the CUI to be constant for a particular user.</t>
          <t>If an NAI format is desired, the hash output can be converted to printable text, truncated if necessary to meet length limitations, and then an "@" character and a realm can be appended to it.  The resulting text string is then in NAI form.</t>
          <t>In short, the intent is for CUI to leak as little information as possible, and ideally be different for every session.  However, business agreements, legal requirements, etc. may mandate different behavior.  The intention of this section is not to mandate complete CUI privacy, but instead to clarify the trade-offs between CUI privacy and business realities.</t>
        </section>
      </section>
      <section anchor="user-password-and-proxying">
        <name>User-Password and Proxying</name>
        <t>The design of RADIUS means that when proxies receive Access-Request packets, the clear-text contents of the User-Password attribute are visible to the proxy.  Despite various claims to the contrary, the User-Password attribute is never sent "in the clear" over the network.  Instead, the password is protected by TLS (RADIUS/TLS) or via the obfuscation methods defined in <xref target="RFC2865"/> Section 5.2.  However, the nature of RADIUS means that each proxy must first undo the password obfuscation of <xref target="RFC2865"/>, and then re-do it when sending the outbound packet.  As such, the proxy has the clear-text password visible to it, and stored in its application memory.</t>
        <t>It is therefore possible for every intermediate proxy to snoop and record all user identities and passwords which they see.  This exposure is most problematic when the proxies are administered by an organization other than the one which operates the home server.  Even when all of the proxies are operated by the same organization, the existence of clear-text passwords on multiple machines is a security risk.</t>
        <t>It is therefore NOT RECOMMENDED for organizations to send User-Password attributes in packets which are sent outside of the local organization.  If RADIUS proxying is necessary, another authentication method SHOULD be used.</t>
        <t>Client and server implementations SHOULD use programming techniques to securely wipe passwords from memory when they are no longer needed.</t>
        <t>Organizations MAY still use User-Password attributes within their own systems, for reasons which we will explain in the next section.</t>
      </section>
      <section anchor="pap-vs-chap-vs-ms-chap-etc">
        <name>PAP vs CHAP vs MS-CHAP, etc.</name>
        <t>Some organizations may desire to increase the security of their network by using alternate authentication methods such as CHAP or MS-CHAP, instead of PAP.  These attempts are largely misguided.  If simple password-based methods must be used, in almost all situations, the security of the network as a whole is increased by using PAP in preference to CHAP or MS-CHAP.  The reason is found through a simple risk analysis, which we explain in more detail below.</t>
        <t>When PAP is used, any compromise of a system which sees the User-Password will result in that password leaking.  In contrast, when CHAP or MS-CHAP is used, those methods do not share the password, but instead a hashed transformation of it.  That hash output is in theory secure from attackers.  However, the hashes used (MD5 and MD4 respectively) are decades old, have been broken, and are known to be insecure.  Any security analysis which makes the claim that "User-Password insecure because it is protected with MD5" ignores the fact that the CHAP-Password attribute is constructed through substantially similar methods.</t>
        <t>The difference between the two constructs is that the CHAP-Password depends on the hash of a visible Request Authenticator (or CHAP-Challenge) and the users password, while the obfuscated User-Password depends on the same Request Authenticator, and on the RADIUS shared secret.  For an attacker, the difference between the two calculations is minimal.  They can both be attacked with similar amounts of effort.</t>
        <t>Further, any security analysis can not stop with the wire protocol.  It must include all related systems which are affected by the choice of authentication methods.  In this case, the most important piece of the system affected by these choices is the database which stores the passwords.</t>
        <t>When PAP is used, the information stored in the database can be salted, and/or hashed in a form is commonly referred to as being in "crypt"ed form.  The incoming clear-text password then undergoes the "crypt" transformation, and the two "crypt"ed passwords are compared.  The passwords in the database are stored securely at all times, and any compromise of the database results in the disclosure of minimal information to an attacker.  That is, the attacker cannot easily obtain the clear-text passwords from the database compromise.</t>
        <t>The process for CHAP and MS-CHAP is inverted from the process for PAP.  Using similar terminology as above for illustrative purposes, the "crypt"ed passwords are sent to the server.  The server must obtain the clear-text (or NT hashed) password from the database, and then perform the "crypt" operation on the password from the database. The two "crypt"ed passwords are then compared as was done with PAP.  This inverted process has substantial and negative impacts on security.</t>
        <t>When PAP is used, passwords are stored in clear-text only ephemerally in the memory of an application which receives and then verifies the password.  Any compromise of that application results in the exposure of a small number of passwords which are visible at the time of compromise.  If the compromise is undetected for an extended period of time, the number of exposed passwords would of course increase.</t>
        <t>However, when CHAP or MS-CHAP are used, all of passwords are stored in clear-text in the database, all of the time.  The database contents might be encrypted, but the decryption keys are necessarily accessible to the application which reads that database.  Any compromise of the application means that the entire database can be immediately read and exfiltrated as a whole.  The attacker then has complete access to all user identies, and all associated clear-text passwords.</t>
        <t>The result is that when the system as a whole is taken into account, the risk of password compromise is less with PAP than with CHAP or MS-CHAP.  It is therefore RECOMMENDED that administrators use PAP in preference to CHAP or MS-CHAP.</t>
      </section>
      <section anchor="eap">
        <name>EAP</name>
        <t>If more complex authentication methods are needed, there are a number of EAP methods which can be used.  These methods variously allow for the use of certificates (EAP-TLS), or passwords (EAP-TTLS <xref target="RFC5281"/>, PEAP <xref target="I-D.josefsson-pppext-eap-tls-eap"/>)) and EAP-PWD <xref target="RFC5931"/>.</t>
        <t>Where it is necessary to use intermediate proxies as with eduroam <xref target="EDUROAM"/> and OpenRoaming <xref target="OPENROAMING"/>, it is RECOMMENDED to use EAP instead of PAP, CHAP, or MS-CHAP.  If passwords are used, they can be can be protected via TLS-based EAP methods such as EAP-TTLS or PEAP.  Passwords can also be omitted entirely from being sent over the network, as with EAP-TLS <xref target="RFC9190"/> or EAP-PWD <xref target="RFC5931"/>.</t>
        <t>We also note that the TLS-based EAP methods which transport passwords hide the passwords from intermediate RADIUS proxies.  However, they are still subject to the analysis above about PAP versus CHAP, along with the issues of storing passwords in a database.</t>
      </section>
      <section anchor="eliminating-proxies">
        <name>Eliminating Proxies</name>
        <t>The best way to avoid compromise of proxies is to eliminate proxies entirely.  The use of dynamic peer discovery (<xref target="RFC7585"/>) means that the number of intermediate proxies is minimized.</t>
        <t>However, the server on the visited network still acts as a proxy between the NAS and the home network.  As a result, all of the above analysis still applies when <xref target="RFC7585"/> peer discovery is used.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>The primary focus of this document is addressing privacy and security considerations for RADIUS.</t>
      <t>Deprecating insecure transport for RADIUS, and requiring secure transport means that personally identifying information is no longer sent "in the clear".  As noted earlier in this document, such information can include MAC addresses, user identifiers, and user locations.</t>
      <t>In addition, this document suggests ways to increase privacy by minimizing the use and exchange of PII.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The primary focus of this document is addressing security and privacy considerations for RADIUS.</t>
      <t>Deprecating insecure transport for RADIUS, and requiring secure transport means that many historical security issues with the RADIUS protocol no longer apply, or their impact is minimized.</t>
      <t>We reiterate the discussion above, that any security analysis must be done on the system as a whole.  It is not enough to put an expensive lock on the front door of a house while leaving the window next to it open, and then declare the house to be "secure". Any simple checklist approach to security is at best naive, and at worst misleading.</t>
      <t>Implementors and administrators need to be aware of the issues raised in this document.  They cam then make the best choice for their local network which balances their requirements on privacy, security, and cost.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>There are no IANA considerations in this document.</t>
      <t>RFC Editor: This section may be removed before final publication.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to the many reviewers and commenters for raising topics to discuss, and for providing insight into the issues related to increasing the security of RADIUS.  In no particular order, thanks to Margart Cullen, Alexander Clouter, and Josh Howlett.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <ul spacing="normal">
        <li>01 - added more discussion of IPSec, and move TLS-PSK to its own document,</li>
        <li>02 - Added text on Increasing the Security of Insecure Transports</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="BCP14" target="https://www.rfc-editor.org/info/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="RFC2865" target="https://www.rfc-editor.org/info/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="RFC6421" target="https://www.rfc-editor.org/info/rfc6421">
          <front>
            <title>Crypto-Agility Requirements for Remote Authentication Dial-In User Service (RADIUS)</title>
            <author fullname="D. Nelson" initials="D." role="editor" surname="Nelson"/>
            <date month="November" year="2011"/>
            <abstract>
              <t>This memo describes the requirements for a crypto-agility solution for Remote Authentication Dial-In User Service (RADIUS). This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6421"/>
          <seriesInfo name="DOI" value="10.17487/RFC6421"/>
        </reference>
        <reference anchor="RFC8044" target="https://www.rfc-editor.org/info/rfc8044">
          <front>
            <title>Data Types in RADIUS</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>RADIUS specifications have used data types for two decades without defining them as managed entities. During this time, RADIUS implementations have named the data types and have used them in attribute definitions. This document updates the specifications to better follow established practice. We do this by naming the data types defined in RFC 6158, which have been used since at least the publication of RFC 2865. We provide an IANA registry for the data types and update the "RADIUS Attribute Types" registry to include a Data Type field for each attribute. Finally, we recommend that authors of RADIUS specifications use these types in preference to existing practice. This document updates RFCs 2865, 3162, 4072, 6158, 6572, and 7268.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8044"/>
          <seriesInfo name="DOI" value="10.17487/RFC8044"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/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" target="https://www.rfc-editor.org/info/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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC1321" target="https://www.rfc-editor.org/info/rfc1321">
          <front>
            <title>The MD5 Message-Digest Algorithm</title>
            <author fullname="R. Rivest" initials="R." surname="Rivest"/>
            <date month="April" year="1992"/>
            <abstract>
              <t>This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. This memo provides information for the Internet community. It does not specify an Internet standard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1321"/>
          <seriesInfo name="DOI" value="10.17487/RFC1321"/>
        </reference>
        <reference anchor="RFC2866" target="https://www.rfc-editor.org/info/rfc2866">
          <front>
            <title>RADIUS Accounting</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying accounting information between a Network Access Server and a shared Accounting Server. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2866"/>
          <seriesInfo name="DOI" value="10.17487/RFC2866"/>
        </reference>
        <reference anchor="RFC2868" target="https://www.rfc-editor.org/info/rfc2868">
          <front>
            <title>RADIUS Attributes for Tunnel Protocol Support</title>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="D. Leifer" initials="D." surname="Leifer"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="J. Shriver" initials="J." surname="Shriver"/>
            <author fullname="M. Holdrege" initials="M." surname="Holdrege"/>
            <author fullname="I. Goyret" initials="I." surname="Goyret"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document defines a set of RADIUS (Remote Authentication Dial In User Service) attributes designed to support the provision of compulsory tunneling in dial-up networks. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2868"/>
          <seriesInfo name="DOI" value="10.17487/RFC2868"/>
        </reference>
        <reference anchor="RFC3579" target="https://www.rfc-editor.org/info/rfc3579">
          <front>
            <title>RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="P. Calhoun" initials="P." surname="Calhoun"/>
            <date month="September" year="2003"/>
            <abstract>
              <t>This document defines Remote Authentication Dial In User Service (RADIUS) support for the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication mechanisms. In the proposed scheme, the Network Access Server (NAS) forwards EAP packets to and from the RADIUS server, encapsulated within EAP-Message attributes. This has the advantage of allowing the NAS to support any EAP authentication method, without the need for method- specific code, which resides on the RADIUS server. While EAP was originally developed for use with PPP, it is now also in use with IEEE 802. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3579"/>
          <seriesInfo name="DOI" value="10.17487/RFC3579"/>
        </reference>
        <reference anchor="RFC5176" target="https://www.rfc-editor.org/info/rfc5176">
          <front>
            <title>Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="M. Chiba" initials="M." surname="Chiba"/>
            <author fullname="G. Dommety" initials="G." surname="Dommety"/>
            <author fullname="M. Eklund" initials="M." surname="Eklund"/>
            <author fullname="D. Mitton" initials="D." surname="Mitton"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document describes a currently deployed extension to the Remote Authentication Dial In User Service (RADIUS) protocol, allowing dynamic changes to a user session, as implemented by network access server products. This includes support for disconnecting users and changing authorizations applicable to a user session. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5176"/>
          <seriesInfo name="DOI" value="10.17487/RFC5176"/>
        </reference>
        <reference anchor="RFC5580" target="https://www.rfc-editor.org/info/rfc5580">
          <front>
            <title>Carrying Location Objects in RADIUS and Diameter</title>
            <author fullname="H. Tschofenig" initials="H." role="editor" surname="Tschofenig"/>
            <author fullname="F. Adrangi" initials="F." surname="Adrangi"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Lior" initials="A." surname="Lior"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes procedures for conveying access-network ownership and location information based on civic and geospatial location formats in Remote Authentication Dial-In User Service (RADIUS) and Diameter.</t>
              <t>The distribution of location information is a privacy-sensitive task. Dealing with mechanisms to preserve the user's privacy is important and is addressed in this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5580"/>
          <seriesInfo name="DOI" value="10.17487/RFC5580"/>
        </reference>
        <reference anchor="RFC6151" target="https://www.rfc-editor.org/info/rfc6151">
          <front>
            <title>Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="L. Chen" initials="L." surname="Chen"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>This document updates the security considerations for the MD5 message digest algorithm. It also updates the security considerations for HMAC-MD5. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6151"/>
          <seriesInfo name="DOI" value="10.17487/RFC6151"/>
        </reference>
        <reference anchor="RFC6218" target="https://www.rfc-editor.org/info/rfc6218">
          <front>
            <title>Cisco Vendor-Specific RADIUS Attributes for the Delivery of Keying Material</title>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="T. Zhang" initials="T." surname="Zhang"/>
            <author fullname="J. Walker" initials="J." surname="Walker"/>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document defines a set of vendor-specific RADIUS Attributes designed to allow both the secure transmission of cryptographic keying material and strong authentication of any RADIUS message. These attributes have been allocated from the Cisco vendor-specific space and have been implemented by multiple vendors. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6218"/>
          <seriesInfo name="DOI" value="10.17487/RFC6218"/>
        </reference>
        <reference anchor="RFC6613" target="https://www.rfc-editor.org/info/rfc6613">
          <front>
            <title>RADIUS over TCP</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>The Remote Authentication Dial-In User Server (RADIUS) protocol has, until now, required the User Datagram Protocol (UDP) as the underlying transport layer. This document defines RADIUS over the Transmission Control Protocol (RADIUS/TCP), in order to address handling issues related to RADIUS over Transport Layer Security (RADIUS/TLS). It permits TCP to be used as a transport protocol for RADIUS only when a transport layer such as TLS or IPsec provides confidentiality and security. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6613"/>
          <seriesInfo name="DOI" value="10.17487/RFC6613"/>
        </reference>
        <reference anchor="RFC6614" target="https://www.rfc-editor.org/info/rfc6614">
          <front>
            <title>Transport Layer Security (TLS) Encryption for RADIUS</title>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="M. McCauley" initials="M." surname="McCauley"/>
            <author fullname="S. Venaas" initials="S." surname="Venaas"/>
            <author fullname="K. Wierenga" initials="K." surname="Wierenga"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>This document specifies a transport profile for RADIUS using Transport Layer Security (TLS) over TCP as the transport protocol. This enables dynamic trust relationships between RADIUS servers. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6614"/>
          <seriesInfo name="DOI" value="10.17487/RFC6614"/>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/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="RFC7360" target="https://www.rfc-editor.org/info/rfc7360">
          <front>
            <title>Datagram Transport Layer Security (DTLS) as a Transport Layer for RADIUS</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>The RADIUS protocol defined in RFC 2865 has limited support for authentication and encryption of RADIUS packets. The protocol transports data in the clear, although some parts of the packets can have obfuscated content. Packets may be replayed verbatim by an attacker, and client-server authentication is based on fixed shared secrets. This document specifies how the Datagram Transport Layer Security (DTLS) protocol may be used as a fix for these problems. It also describes how implementations of this proposal can coexist with current RADIUS systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7360"/>
          <seriesInfo name="DOI" value="10.17487/RFC7360"/>
        </reference>
        <reference anchor="I-D.dekok-radext-tls-psk" target="https://datatracker.ietf.org/doc/html/draft-dekok-radext-tls-psk-01">
          <front>
            <title>RADIUS and TLS-PSK</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization>FreeRADIUS</organization>
            </author>
            <date day="6" month="July" year="2023"/>
            <abstract>
              <t>   This document gives implementation and operational considerations for
   using TLS-PSK with RADIUS/TLS (RFC6614) and RADIUS/DTLS (RFC7360).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekok-radext-tls-psk-01"/>
        </reference>
        <reference anchor="I-D.tomas-openroaming" target="https://datatracker.ietf.org/doc/html/draft-tomas-openroaming-00">
          <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="14" month="June" year="2023"/>
            <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-00"/>
        </reference>
        <reference anchor="I-D.josefsson-pppext-eap-tls-eap" target="https://datatracker.ietf.org/doc/html/draft-josefsson-pppext-eap-tls-eap-10">
          <front>
            <title>Protected EAP Protocol (PEAP) Version 2</title>
            <author fullname="Ashwin Palekar" initials="A." surname="Palekar">
              <organization>Microsoft Corporation</organization>
            </author>
            <author fullname="Simon Josefsson" initials="S." surname="Josefsson">
              <organization>Extundo</organization>
            </author>
            <author fullname="Daniel Simon" initials="D." surname="Simon">
              <organization>Microsoft Corporation</organization>
            </author>
            <author fullname="Glen Zorn" initials="G." surname="Zorn">
              <organization>Cisco Systems</organization>
            </author>
            <date day="21" month="October" year="2004"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP) provides support for
   multiple authentication methods. This document defines the Protected
   Extensible Authentication Protocol (PEAP) Version 2, which provides
   an encrypted and authenticated tunnel based on transport layer
   security (TLS) that encapsulates EAP authentication mechanisms.
   PEAPv2 uses TLS to protect against rogue authenticators, protect
   against various attacks on the confidentiality and integrity of the
   inner EAP method exchange and provide EAP peer identity privacy.
   PEAPv2 also provides support for chaining multiple EAP mechanisms,
   cryptographic binding between authentications performed by inner EAP
   mechanisms and the tunnel, exchange of arbitrary parameters (TLVs),
   and fragmentation and reassembly.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-josefsson-pppext-eap-tls-eap-10"/>
        </reference>
        <reference anchor="EDUROAM" target="https://eduroam.org">
          <front>
            <title>eduroam</title>
            <author initials="" surname="eduroam" fullname="eduroam">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OPENROAMING" target="https://wballiance.com/openroaming/">
          <front>
            <title>OpenRoaming: One global Wi-Fi network</title>
            <author initials="W. B." surname="Alliance" fullname="Wireless Broadband Alliance">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="WIFILOC" target="https://www.wi-fi.org/discover-wi-fi/wi-fi-location">
          <front>
            <title>Accurate indoor location with Wi-Fi connectivity</title>
            <author initials="W.-F." surname="Alliance" fullname="Wi-Fi Alliance">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="R. Holz" initials="R." surname="Holz"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation. This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7525"/>
          <seriesInfo name="DOI" value="10.17487/RFC7525"/>
        </reference>
        <reference anchor="RFC7585" target="https://www.rfc-editor.org/info/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>
        <reference anchor="RFC7542" target="https://www.rfc-editor.org/info/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="RFC4372" target="https://www.rfc-editor.org/info/rfc4372">
          <front>
            <title>Chargeable User Identity</title>
            <author fullname="F. Adrangi" initials="F." surname="Adrangi"/>
            <author fullname="A. Lior" initials="A." surname="Lior"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <author fullname="J. Loughney" initials="J." surname="Loughney"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document describes a new Remote Authentication Dial-In User Service (RADIUS) attribute, Chargeable-User-Identity. This attribute can be used by a home network to identify a user for the purpose of roaming transactions that occur outside of the home network. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4372"/>
          <seriesInfo name="DOI" value="10.17487/RFC4372"/>
        </reference>
        <reference anchor="RFC8559" target="https://www.rfc-editor.org/info/rfc8559">
          <front>
            <title>Dynamic Authorization Proxying in the Remote Authentication Dial-In User Service (RADIUS) Protocol</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>RFC 5176 defines Change-of-Authorization (CoA) and Disconnect Message (DM) behavior for RADIUS. RFC 5176 also suggests that proxying these messages is possible, but it does not provide guidance as to how that is done. This specification updates RFC 5176 to correct that omission for scenarios where networks use realm-based proxying as defined in RFC 7542. This specification also updates RFC 5580 to allow the Operator-Name attribute in CoA-Request and Disconnect-Request packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8559"/>
          <seriesInfo name="DOI" value="10.17487/RFC8559"/>
        </reference>
        <reference anchor="RFC5281" target="https://www.rfc-editor.org/info/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="RFC5931" target="https://www.rfc-editor.org/info/rfc5931">
          <front>
            <title>Extensible Authentication Protocol (EAP) Authentication Using Only a Password</title>
            <author fullname="D. Harkins" initials="D." surname="Harkins"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This memo describes an Extensible Authentication Protocol (EAP) method, EAP-pwd, which uses a shared password for authentication. The password may be a low-entropy one and may be drawn from some set of possible passwords, like a dictionary, which is available to an attacker. The underlying key exchange is resistant to active attack, passive attack, and dictionary attack. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5931"/>
          <seriesInfo name="DOI" value="10.17487/RFC5931"/>
        </reference>
        <reference anchor="RFC9190" target="https://www.rfc-editor.org/info/rfc9190">
          <front>
            <title>EAP-TLS 1.3: Using the Extensible Authentication Protocol with TLS 1.3</title>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="M. Sethi" initials="M." surname="Sethi"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods. This document specifies the use of EAP-TLS with TLS 1.3 while remaining backwards compatible with existing implementations of EAP-TLS. TLS 1.3 provides significantly improved security and privacy, and reduced latency when compared to earlier versions of TLS. EAP-TLS with TLS 1.3 (EAP-TLS 1.3) further improves security and privacy by always providing forward secrecy, never disclosing the peer identity, and by mandating use of revocation checking when compared to EAP-TLS with earlier versions of TLS. This document also provides guidance on authentication, authorization, and resumption for EAP-TLS in general (regardless of the underlying TLS version used). This document updates RFC 5216.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9190"/>
          <seriesInfo name="DOI" value="10.17487/RFC9190"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIALP2y2QAA7196XIbV5bmfzxFNh0TRZYBSqQoWVLHeJpFymV2WRLHksLd
0d3TkQAugCwlMlG5kKIdnmeZZ5knm/Od5S6JBO3uiWj/sEAg8y7nnn27s9ls
0hVd6V5n127XuEXeFdU6+/Hy+ubThyefrm+zvFranx+vbif5fN64u7GnJ8t6
UeVbGmnZ5KtutnSf68+zJl+6L/jDP46vir6dPX02mbQdDf/veVlX9FrX9G5S
7Br+1HbnT5++eno+yRuXv85uqs41lesm9+vXmO/NP33Mfqqbz5j+z03d7yaf
78NTs2usYELzvc7abjlp+/m2aNuirj4+7Gimmzcfv5tMdsXrjP77KlvkVda3
LsubJn/IjotVlpdl9uDak6xusk3ebrKNa9wky7p68Ro/0Me2brrGrdrXPMTS
rfK+7Fp6wn5/2MrP+HOS992mbl5PJrOsqOjLy1OC4F/qz/SgwOyypEXYV3VD
u/yucU4hm2Vumxfla1oXwesfVvSLAPGUnpxMqrrZEmjv3Gt68k9Xt2cXBKPv
rl6efXNBX9Cn85cvnr+Wjy8uzs/048unFxe0oqJaxe/TD2fP/DP05ovw8aV+
fPb8m1f68fnZN/bA8+cvn9osZ89thBfnZ/baixdnz8LHC/v46hv79ptnL3iE
m9n1aYI+XdnOdu1n+62rt3k7q3euaup8SzhgP/y1bgnmbV3NdrsdXnT5jl+m
f/HMm+tPP76/fIuP9J8i/pFb9hjnSL61o8rkPzkefUS+FHj5Jz7+00dCgk3X
7drXT57ok3wyWfb+9s07zHjz7s+DSd/T6n/U1WfvK5ety3qel9lPxey7IiMk
vif0fmxJPxWNK13bZn+i+ZZz0OllWRZ5tXC/Y5n3NJc8fLqot08iWD6hF366
+e7mh/dXgyVfLhZ9k3eOUHhZE2WUNSi6rrL7otvowhd1VbkFIVPRPTy2+iN5
3FZ8dHjJfsX396f3xWxVALRPlkW7qO9cM+OvnvD/Z7agyeTOVT2j8xrMwVgG
/S10JGj1D4XrVnpQa9pCP3+dBdp6ss+zTukpIuHZLMvnbdfkC/pLSDRbNA+7
rp7l66KknWf3eZutiqbtaMJqSTBbZvim7/rGZTjZbP4AjM9Aj6e0043L6r6j
o6B/V1m3yTt5DAN19OOun5eFgpse0FkBgezjDx+yYx6LiOokYtjy87X/HeR1
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
k/8Hf5StsAC9AAA=

-->

</rfc>
