<?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-ietf-radext-reverse-coa-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.24.0 -->
  <front>
    <title abbrev="Reverse CoA">Reverse Change of Authorization (CoA) in RADIUS/TLS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-radext-reverse-coa-06"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>InkBridge</organization>
      <address>
        <email>alan.dekok@inkbridge.io</email>
      </address>
    </author>
    <author initials="V." surname="Cargatser" fullname="Vadim Cargatser">
      <organization>Cisco</organization>
      <address>
        <email>vcargats@cisco.com</email>
      </address>
    </author>
    <date year="2025" month="May" day="27"/>
    <area>Internet</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 48?>

<t>This document defines a "reverse Change of Authorization (CoA)" path for RADIUS packets.  This specification allows a home server to send CoA packets in "reverse" down a RADIUS/TLS connection.  Without this capability, it is impossible for a home server to send CoA packets to a NAS which is behind a firewall or NAT gateway.  The reverse CoA functionality extends the available transport methods for CoA packets, but it does not change anything else about how CoA packets are handled.</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-ietf-radext-reverse-coa/"/>.
      </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/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/radext/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com//radext-wg/draft-ietf-radext-reverse-coa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC5176"/> defines the ability to change a users authorization, or disconnect the user via what are generally called "Change of Authorization" or "CoA" packets.  This term refers to either of the RADIUS packet types CoA-Request or Disconnect-Request.  The initial transport protocol for all RADIUS was the User Datagram Protocol (UDP).</t>
      <t><xref target="RFC6614"/> updated previous specifications to allow packets to be sent over the Transport Layer Security (TLS) protocol.  Section 2.5 of that document explicitly allows all packets (including CoA) to be sent over a TLS connection:</t>
      <t><tt>
Due to the use of one single TCP port for all packet types, it is
required that a RADIUS/TLS server signal which types of packets are
supported on a server to a connecting peer.  See also Section 3.4 for
a discussion of signaling.
</tt></t>
      <t>These specifications assume that a RADIUS client can directly contact a RADIUS server, which is the normal "forward" path for packets between a client and server.  However, it is not always possible for the RADIUS server to send CoA packets to the RADIUS client. If a RADIUS server wishes to act as a CoA client, and send CoA packets to the NAS (CoA server), the "reverse" path can be blocked by a firewall, NAT gateway, etc.  That is, a RADIUS server has to be reachable by a NAS, but there is usually no requirement that the NAS is reachable from a public system.  To the contrary, there is usually a requirement that the NAS is not publicly accessible.</t>
      <t>This scenario is most evident in a roaming / federated environment such as Eduroam or OpenRoaming.  It is in general impossible for a home server to signal the NAS to disconnect a user.  There is no direct reverse path from the home server to the NAS, as the NAS is not publicly addressible.  Even if there was a public reverse path, it would generally be unknowable, as intermediate proxies can (and do) attribute rewriting to hide NAS identies.</t>
      <t>These limitations can result in business losses and security problems, such as the inability to disconnect an online user when their account has been terminated.</t>
      <t>As the reverse path is usally blocked, it means that it is in general possible only to send CoA packets to a NAS when the NAS and RADIUS server share the same private network (private IP space or IPsec).  Even though <xref target="RFC8559"/> defines CoA proxying, that specification does not address the issue of NAS reachability.</t>
      <t>This specification solves that problem.  The solution is to simply allow CoA packets to go in "reverse" down an existing RADIUS/TLS connection.  That is, when a NAS connects to a RADIUS server it normally sends request packets (Access-Request, etc.) and expects to receive response packets (Access-Accept, etc.).  This specification extends RADIUS/TLS by permitting a RADIUS server to re-use an existing TLS connection to send CoA packets to the NAS, and permitting the NAS to send CoA response packets to the RADIUS server over that same connection.</t>
      <t>We note that while this document specifically mentions RADIUS/TLS, it should be possible to use the same mechanisms on RADIUS/DTLS <xref target="RFC7360"/>.  However at the time of writing this specification, no implementations exist for "reverse CoA" over RADIUS/DTLS.  As such, when we refer to "TLS" here, or "RADIUS/TLS", we implicitly include RADIUS/DTLS in that description.</t>
      <t>This mechanism does not depend on the underlying transport protocol, or interact with it.  It is therefore compatible not only with <xref target="RFC6614"/>, and <xref target="RFC7360"/>, but also with <xref target="I-D.ietf-radext-radiusdtls-bis"/> which will replace those earlier standards.</t>
      <t>This mechanism is not needed for RADIUS/UDP, as UDP is connectionless.  <xref target="RFC8559"/> suffices for CoA when using RADIUS/UDP.  For RADIUS/TCP, while this same mechanism could theoretically be used there, RADIUS/TCP is being deprecated by <xref target="I-D.ietf-radext-deprecating-radius"/>. Therefore for practial purposes, "reverse CoA" means RADIUS/TLS and RADIUS/DTLS.</t>
      <t>There are additional considerations for proxies.  While <xref target="RFC8559"/> describes CoA proxying, there are still issues which need to be addressed for the "reverse CoA" use-case.  This specification describes how those systems can implement "reverse CoA" proxying, including processing packets through both an intermediate proxy network, and at the visited network.</t>
    </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.
<?line -6?>
      </t>
      <ul spacing="normal">
        <li>
          <t>CoA</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Change of Authorization packets.  For brevity, when this document refers to "CoA" packets, it means either or both of CoA-Request and Disconnect-Request packets.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>ACK</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Change of Authorization "positive acknowlegement" packets.  For brevity, when this document refers to "ACK" packets, it means either or both of CoA-ACK and Disconnect-ACK packets.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>NAK</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Change of Authorization "negative acknowlegement" packets.  For brevity, when this document refers to "NAK" packets, it means either or both of CoA-NAK and Disconnect-NAK packets.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>RADIUS/TLS</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Transport Layer Security protocol <xref target="RFC6614"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>RADIUS/DTLS</t>
        </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>
          <t>TLS</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Either RADIUS/TLS or RADIUS/DTLS.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>reverse CoA</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>CoA, ACK, or NAK packets sent over a RADIUS/TLS or RADIUS/DTLS connection which was made from a RADIUS client to a RADIUS server.</t>
        </li>
      </ul>
    </section>
    <section anchor="concepts">
      <name>Concepts</name>
      <t>The reverse CoA functionality is based on two additions to RADIUS.  The first addition is a configuration and signalling, to indicate that a RADIUS client is capable of accepting reverse CoA packets.  The second addition is an extension to the "reverse" routing table for CoA packets which was first described in Section 2.1 of <xref target="RFC8559"/>.</t>
    </section>
    <section anchor="capability-configuration-and-signalling">
      <name>Capability Configuration and Signalling</name>
      <t>In order for a RADIUS server to send reverse CoA packets to a client, it must first know that the client is capable of accepting these packets.</t>
      <t>Clients and servers implementing reverse CoA MUST have a configuration flag which indicates that the other party supports the reverse CoA functionality.  That is, the client has a per-server flag enabling (or not) reverse CoA functionality.  The server has a similar per-client flag.</t>
      <t>The flag can be used where the parties are known to each other.  The flag can also be used in conjunction with dynamic discovery (<xref target="RFC7585"/>), so long as the server associates the flag with the client identity and not with any particular IP address.  That is, the flag can be associated with any method of identifying a particular client such as TLS PSK identity, information in a client certificate, etc.</t>
      <t>The configuration flag allows administators to statically enable this functionality, based on out-of-band discussions with other administators.  This process is best used in an environment where all RADIUS proxies are known (or required) to have a particular set of functionality, as with a roaming consortium.</t>
      <t>This specification does not define a way for clients and servers to negotiate this functionality on a per-connection basis.  The RADIUS protocol has little, if any, provisions for capability negotiations, and this specification is not the place to add that functionality.</t>
      <t>Without notification, however, it is possible for clients and servers to have mismatched configurations.  Where a client is configured to accept reverse CoA packets and the next hop server is not configured to send them, no packets will be sent.  Where a client is configured to not accept reverse CoA packets and the next hop server is configured to send them, the client will silently discard these packets as per <xref section="3" sectionFormat="comma" target="RFC2865"/>.  In both of those situations, reverse CoA packets will not flow, but there will be no other issues with this misconfiguration.</t>
    </section>
    <section anchor="reverse-routing">
      <name>Reverse Routing</name>
      <t>In normal RADIUS proxying. the forward routing table uses the User-Name attribute (via the Network Access Identifiers (NAIs) <xref target="RFC7542"/>) to map realms to next hop servers.  For reverse CoA, <xref section="2.1" sectionFormat="comma" target="RFC8559"/> uses the Operator-Name attribute to map operator identifiers to next hop servers.</t>
      <t>This specification extends the <xref section="2.1" sectionFormat="comma" target="RFC8559"/> reverse routing table to allow the next hop to be found via an open TLS connection, rather than a destination hostname or IP address.  A server which needs to send reverse CoA packets to clients maintains a list of open TLS connections from clients.  It also associates both a reverse CoA capability, and one or more operator identifiers with each connection.</t>
      <t>A server MUST support associating one operator identifier with multiple connections.  A server MUST support associating multiple operator identifiers with one connection.  That is, the "operator identifier to connection" mapping is not one-to-one, or 1:N, or M:1, it is N:M or many-to-many.</t>
      <t>This process occurs for all RADIUS proxies, except for the final one which sends the CoA packet to the client.  That proxy forwards the reverse CoA packet to the client based on the Operator-NAS-Identifier attribute (<xref section="3.4" sectionFormat="comma" target="RFC8559"/>) and/or other NAS identification attributes such as NAS-Identifier, NAS-IP-Address, or NAS-IPv6-Address.  The result is that there is a complete forwarding path from the home network back to the visited network.</t>
      <section anchor="errors-and-fail-over">
        <name>Errors and Fail Over</name>
        <t>When the server receives a reverse CoA packet, but cannot forward it, the server MUST return a NAK packet that contains an Error-Cause Attribute having value 502 ("Request Not Routable").</t>
        <t>As with normal proxying, a particular packet can sometimes have the choice more than one connection which can be used to reach a destination.  In that case, issues of load-balancing, fail-over, etc. are implementation-defined, and are not discussed here.  The server simply chooses one connection, and sends the reverse CoA packet down that connection.</t>
        <t>A server can also use RADIUS/UDP to send the reverse CoA packet; there is no requirement that all CoA packets use a "reversed" TLS connection.</t>
        <t>After sending a packet, the server then waits for a reply, doing retransmission if necessary.  For all issues other than the connection being used, reverse CoA packets are handled as defined in <xref target="RFC5176"/> and in <xref target="RFC8559"/>.  This specification permits reverse CoA packets to be sent on what would otherwise be a client to server TLS connection.  It does not change the basic functionality of proxying CoA packets.</t>
      </section>
      <section anchor="retransmissions">
        <name>Retransmissions</name>
        <t>Retransmissions of reverse CoA packets are handled identically to normal CoA packets.  That is, the reverse CoA functionality extends the available transport methods for CoA packets, it does not change anything else about how CoA packets are handled.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>RFC Editor: This section may be removed before publication.</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
<xref target="RFC7942"/>.  The description of implementations in this section is
intended to assist the IETF in its decision processes in
progressing drafts to RFCs.  Please note that the listing of any
individual implementation here does not imply endorsement by the
IETF.  Furthermore, no effort has been spent to verify the
information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a
catalog of available implementations or their features.  Readers
are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working
groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented
protocols more mature.  It is up to the individual working groups
to use this information as they see fit".</t>
      <section anchor="freeradius">
        <name>FreeRADIUS</name>
        <t>The FreeRADIUS project has implemented this specification in the
<eref target="https://github.com/FreeRADIUS/freeradius-server/blob/v3.2.x">v3.2.x</eref>
branch which is available on GitHub.  The feature is not enabled by
default, and requires a build flag <tt>WITH_COA_TUNNEL</tt> to be defined
before the new functionality is included with the software.</t>
        <t>Maturity: The implementation is at a "beta" level, but has been tested to work
with other implementations.</t>
        <t>Coverage: All of this specification is supported.</t>
        <t>Version Compatibility: Earlier versions of this specification are not supported, but the current version is supported.</t>
        <t>Licensing: GPLv2</t>
        <t>Contact Information: http://freeradius.org/</t>
        <t>Date: This information was updated May 2025.</t>
      </section>
      <section anchor="cisco">
        <name>Cisco</name>
        <t>Cisco supports this specification as of Cisco IOS XE Bengaluru 17.6.1 via Vendor-Specific attributes.  <eref target="https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/17-6/configuration_guide/sec/b_176_sec_9300_cg/configuring_radsec.pdf">reference</eref></t>
        <t>Maturity: The implementation is available in production.</t>
        <t>Coverage: All of this specification is supported.</t>
        <t>Version Compatibility: Earlier versions of this specification are not supported, but the current version is supported.</t>
        <t>Licensing: Proprietary</t>
        <t>Contact Information: http://cisco.com/</t>
        <t>Date: This information was updated October 2022.</t>
      </section>
      <section anchor="aruba">
        <name>Aruba</name>
        <t>Aruba documentation states that "Instant supports dynamic CoA (RFC 3576) over RadSec and the RADIUS server uses an existing TLS connection opened by the Instant AP to send the request." <eref target="https://www.arubanetworks.com/techdocs/Instant_83_WebHelp/Content/Instant_UG/Authentication/ConfiguringRadSec.htm">reference</eref></t>
        <t>Maturity: The implementation is available in production.</t>
        <t>Coverage: All of this specification is supported.</t>
        <t>Version Compatibility: Earlier versions of this specification are not supported, but the current version is supported.</t>
        <t>Licensing: Proprietary</t>
        <t>Contact Information: http://hp.com/</t>
        <t>Date: This information was updated October 2022.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>This document does not change or add any privacy considerations over previous RADIUS specifications.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document increases network security by removing the requirement for non-standard "reverse" paths for CoA-Request and Disconnect-Request packets.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests no action from IANA.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Heikki Vatiainen for testing a preliminary implementation in Radiator, and for verifying interoperability with NAS equipment.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <t>RFC Editor: This section may be removed before publication.</t>
      <ul spacing="normal">
        <li>
          <t>00 - taken from draft-dekok-radext-reverse-coa-01</t>
        </li>
        <li>
          <t>01 - Bumped to avoid expiry</t>
        </li>
        <li>
          <t>02 - Bumped to avoid expiry</t>
        </li>
        <li>
          <t>03 - remove dynamic negotiation and cleanups</t>
        </li>
        <li>
          <t>04 - shephards review</t>
        </li>
        <li>
          <t>05 - tweak refs</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="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="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="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="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="I-D.ietf-radext-deprecating-radius">
          <front>
            <title>Deprecating Insecure Practices in RADIUS</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization>InkBridge Networks</organization>
            </author>
            <date day="25" month="May" year="2025"/>
            <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.

   The recent publication of the "BlastRADIUS" exploit has also shown
   that RADIUS security needs to be updated.  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 across the wider
   Internet.  This document therefore deprecates many insecure practices
   in RADIUS, and mandates support for secure TLS-based transport
   layers.  We also discuss related security issues with RADIUS, and
   give recommendations for practices which increase both security and
   privacy.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-radext-deprecating-radius-06"/>
        </reference>
        <reference anchor="I-D.ietf-radext-radiusdtls-bis">
          <front>
            <title>(Datagram) Transport Layer Security ((D)TLS) Encryption for RADIUS</title>
            <author fullname="Jan-Frederik Rieckers" initials="J." surname="Rieckers">
              <organization>Deutsches Forschungsnetz | German National Research and Education Network</organization>
            </author>
            <author fullname="Stefan Winter" initials="S." surname="Winter">
              <organization>Fondation Restena | Restena Foundation</organization>
            </author>
            <date day="27" month="May" year="2025"/>
            <abstract>
              <t>   This document specifies a transport profile for RADIUS using
   Transport Layer Security (TLS) over TCP or Datagram Transport Layer
   Security (DTLS) over UDP as the transport protocol.  This enables
   encrypting the RADIUS traffic as well as dynamic trust relationships
   between RADIUS servers.  The specification obsoletes the experimental
   specifications in RFC 6614 (RADIUS/TLS) and RFC 7360 (RADIUS/DTLS)
   and combines them in this specification.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-radext-radiusdtls-bis-06"/>
        </reference>
        <reference anchor="RFC7542">
          <front>
            <title>The Network Access Identifier</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>In order to provide inter-domain authentication services, it is necessary to have a standardized method that domains can use to identify each other's users. This document defines the syntax for the Network Access Identifier (NAI), the user identifier submitted by the client prior to accessing resources. This document is a revised version of RFC 4282. It addresses issues with international character sets and makes a number of other corrections to RFC 4282.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7542"/>
          <seriesInfo name="DOI" value="10.17487/RFC7542"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
      </references>
    </references>
    <?line 274?>



  </back>
  <!-- ##markdown-source:
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
PwAA

-->

</rfc>
