<?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-reverse-coa-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="Reverse CoA">Reverse CoA in RADIUS</title>
    <seriesInfo name="Internet-Draft" value="draft-dekok-radext-reverse-coa-00"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <author initials="V." surname="Cargatser" fullname="Vadim Cargatser">
      <organization>Cisco</organization>
      <address>
        <email>vcargats@cisco.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="19"/>
    <area>Internet</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <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-dekok-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/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/freeradius/reverse-coa.git"/>.</t>
    </note>
  </front>
  <middle>
    <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>We also note that while this same mechanism could theoretically be used for RADIUS/UDP and RADIUS/TCP, there is no value in defining "reverse CoA" for those transports.  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 a proxy can implement "reverse CoA" proxying, including signalling necessary to negotiate this functionality.</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.</t>
      <ul spacing="normal">
        <li>CoA</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>ACK</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>NAK</li>
      </ul>
      <ul empty="true">
        <li>
          <t>Change of Authorization "negative acknowlegement" packets.  For brevity, when this document refers to "ACK" packets, it means either or both of CoA-NAK and Disconnect-NAK packets.</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>Either RADIUS/TLS or RADIUS/DTLS.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>reverse CoA</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>This functionality can be enabled in one of two ways.  The first is a simple static configuration between client and server, where both are configured to allow reverse CoA.  The second method is via per-connection signalling between client and server.</t>
      <t>The server manages this functionality with two boolean flags, one per-client, and one per-connection.  The per-client flag can be statically configured, and if not present MUST be treated as having a "false" value.  The per-connection flag MUST be initialized from the per-client flag, and then can be dynamically negotiated after that.</t>
      <section anchor="configuration-flag">
        <name>Configuration Flag</name>
        <t>Clients and servers implementing reverse CoA SHOULD 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>For the client, the flag controls whether or not it will accept reverse CoA packets from the server, and whether the client will do dynamic signalling of the reverse CoA functionality.</t>
        <t>Separately, each side also needs to have a per-connection flag, which indicates whether or not this connection supports reverse CoA.  The per-connection flag is initialized from the static flag, and is then dynamically updated after that.</t>
      </section>
      <section anchor="dynamic-signalling">
        <name>Dynamic Signalling</name>
        <t>The reverse CoA functionality can be signalled on a per-connection basis by the client sending a Status-Server packet when it first opens a connection to a server.  This packet contains a Capability attribute (see below), with value "Reverse-CoA".  The existence of this attribute in a Status-Server packet indicates that the client supports reverse CoA over this connection.  The Status-Server packet MUST be the first packet sent when the connection is opened, in order to perform per-connection signalling.  A server which does not implement reverse CoA simply ignores this attribute, as per <xref target="RFC2865"/> Section 5.</t>
        <t>A server implementing reverse CoA does not need to signal the NAS in any response, to indicate that it is supports reverse CoA.  If the server never sends reverse CoA packets, then such signalling is unnecessary.  If the server does send reverse CoA packets, then the packets themselves serve as sufficiant signalling.</t>
        <t>The NAS may send additional Status-Server packets down the same connection, as per <xref target="RFC3539"/>.  These packets do not need to contain the Capability attribute, so it can generally be omitted.  That is, there is no need to signal the addition or removal of reverse CoA functionality during the lifetime of one connection.  If a client decides that it no longer wants to support reverse CoA on a particular connection, it can simply tear down the connection, and open a new one which does not negotiate the reverse CoA functionality.</t>
        <t>RADIUS client implementations which support reverse CoA MUST always signal that functionality in a Status-Server packet on any new connection.  There is little reason to save a few octets, and having explicit signalling can help with implementations, deployment, and debugging.</t>
        <t>The combination of static configuration and dynamic configuration means that it is possible for client and server to both agree on whether or not a particular connection supports reverse CoA.</t>
      </section>
    </section>
    <section anchor="reverse-routing">
      <name>Reverse Routing</name>
      <t>The "reverse" routing table for CoA packets was first described in Section 2.1 of <xref target="RFC8559"/>.  We extend that table here.</t>
      <t>In our extension, the table does not map realms to home servers.  Instead, it maps keys to connections.  The keys will be defined in more detail below.  For now, we say that keys can be derived from a RADIUS client to server connection, and from the contents of a CoA packet which needs to be routed.</t>
      <t>When the server recieves a TLS connection from a client, it derives a key for that connection, and associates the connection with that key.  A server MUST support associating one particular key value with multiple connections.  A server MUST support associating multiple keys for one connection.  That is, the "key to connection" mapping is N to M.  It is not one-to-one, or 1-N, or M-1.</t>
      <t>When the server recieves a CoA packet, it derives a key from that packet, and determines if there is a connection or connections which maps to that key.  Where there is no available connection, 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>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"/>.</t>
      <t>That is, when the NAS and server are known to each other, <xref target="RFC5176"/> is followed when sending CoA packets to the NAS.  The difference is that instead of originating connections to the NAS, the server simply re-uses inbound TLS connections from the NAS.  The NAS is identified by attributes such as NAS-Identifier, NAS-IP-Address, and NAS-IPv6-Address.</t>
      <t>When a server is proxying to another server, <xref target="RFC8559"/> is following when proxying CoA packets.  The "next hop" is identified either by Operator-Name for proxy-to-proxy connections.  When the CoA packet reaches a visited network, that network identifies the NAS by examining the Operator-NAS-Identifier attribute.</t>
      <section anchor="retransmits">
        <name>Retransmits</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>FreeRADIUS supports CoA proxying using Vendor-Specific attributes.  It also permits RADIUS clients to send Status-Server packets over a RADIUS/TLS connection which contain Operator-Name.  This information is used to determne which realms are accessible via reverse CoA over which RADIUS/TLS connection.</t>
      <t>Cisco supports reverse CoA as of Cisco IOS XE Bengaluru 17.6.1 via Vendor-Specific attributes.  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</t>
      <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." https://www.arubanetworks.com/techdocs/Instant_83_WebHelp/Content/Instant_UG/Authentication/ConfiguringRadSec.htm</t>
    </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>TBD - new RADIUS attribute - Capability</t>
      <t>User Operator Namespace Identifier namespace.</t>
      <t><tt>
+,Realm Add,(this document)
-,Realm Delete,(this document)
</tt></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>
    </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="S. Willens" initials="S." surname="Willens">
              <organization/>
            </author>
            <author fullname="A. Rubens" initials="A." surname="Rubens">
              <organization/>
            </author>
            <author fullname="W. Simpson" initials="W." surname="Simpson">
              <organization/>
            </author>
            <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="RFC3539" target="https://www.rfc-editor.org/info/rfc3539">
          <front>
            <title>Authentication, Authorization and Accounting (AAA) Transport Profile</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba">
              <organization/>
            </author>
            <author fullname="J. Wood" initials="J." surname="Wood">
              <organization/>
            </author>
            <date month="June" year="2003"/>
            <abstract>
              <t>This document discusses transport issues that arise within protocols for Authentication, Authorization and Accounting (AAA).  It also provides recommendations on the use of transport by AAA protocols.  This includes usage of standards-track RFCs as well as experimental proposals. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3539"/>
          <seriesInfo name="DOI" value="10.17487/RFC3539"/>
        </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">
              <organization/>
            </author>
            <author fullname="M. McCauley" initials="M." surname="McCauley">
              <organization/>
            </author>
            <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="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">
              <organization/>
            </author>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen">
              <organization/>
            </author>
            <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" 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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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="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">
              <organization/>
            </author>
            <author fullname="G. Dommety" initials="G." surname="Dommety">
              <organization/>
            </author>
            <author fullname="M. Eklund" initials="M." surname="Eklund">
              <organization/>
            </author>
            <author fullname="D. Mitton" initials="D." surname="Mitton">
              <organization/>
            </author>
            <author fullname="B. Aboba" initials="B." surname="Aboba">
              <organization/>
            </author>
            <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" 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">
              <organization/>
            </author>
            <author fullname="M. McCauley" initials="M." surname="McCauley">
              <organization/>
            </author>
            <author fullname="S. Venaas" initials="S." surname="Venaas">
              <organization/>
            </author>
            <author fullname="K. Wierenga" initials="K." surname="Wierenga">
              <organization/>
            </author>
            <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" 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">
              <organization/>
            </author>
            <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>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAB5UGMAA8Vb3XIbOXa+76dA6BtpQ4qWPbJndJEajmSvVWPLiiWPNzXl
8oDdIIlVs8E0usXhbu275FnyZDl/QKOblD1JJRXfWGyiD87vd34ATiaTrLFN
ac7VB/Ngam/UhZspW6kPs8urj7eZns9r89D7NitcXuk1vFLUetFMCnPv7ie1
LszvzaTmdZPc6cnTp1nmG10VX3TpKljf1K3J7Kamv3zz7OnTH54+y3Rt9Lm6
qhpTV6bJtstz3PzVX+7UJ1ff22qp/ly7dpPdb7tVk0vcOst1c658U2S+na+t
99ZVd7sN7HT16u51lm3suYJ/T1SuK9UC97qu9U4d2YXSZal2xh8rV6uV9iu1
MrXJlGpcfo5fwJ/e1U1tFv6cSBRmoduy8bAifL9b89f4MdNts3L1eZZNQHvw
cHaiLs3P7h4WsrJmJTARHrkapHxdGyNqVsqstS3PgS/Q148L+AYUalt/Aisj
zV9O1IWul7rxpo50f4F1695zIn5hfe46ug85L/gxx+cnuVtnWeXqtW7sgzmH
dT9d3Jx+B5p/ffH96cvv4AH89ez7F2fn/Ofzs+c/yJ8vz74PT78/O4Onma0W
KSn44uz05Qv588ULoCtvPn/xFJY/mKqlhUu0a7A2fGZW2ZN+tKZZkPSwzjar
dn6uOrVMEz87ga9BRZOJ0nPf1DqHT3cr6xX4abs2VYO2s5XxSquRvKfyla6W
RjnwBDKc/Ruw7yp1BA5+PFIb3awUCCVhAJ/ze9P4E6WIst+Y3C5szu+AL7kt
Ul+5tVFgA9gC3cSbqqBwkrcxrAIDI+BuC6/KBtO7t7cqd1VlciQJ+3wCmV3b
qAb3y/VGz21pm91Y2UbBE7veOPD3eWmIzW/vDc+0up7dqu3K5iskMTcrC4u0
WtjabDEggND17E6Bn8DnHQlrVJ3gwqKtiD+NrCiwEuwCpGGVfgDbaWQHLFD5
DcSOWhsQAb5HBhNWxmoOcoEYhQObVK4JxtDVDqSFeDclxuocxV+5bU8MAAuI
16ooTXHCRl/bAj5l2RMEh9oVLXGYZb+KG36O5ic+WY2ojrArIkPt+34wRl0U
GCpkEnoVl6kHq0GDuiFGlqYCfyzLHRioBI7U6CK61SwlN0JyI5BjNPQkgLM1
qHiBHABPBqwOu8D7uGPP+VQDyOZRGZMP5t9b4xskehl5DE/FbLayjdVlYo5N
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
moOus+y/AMrbkrirOQAA

-->

</rfc>
