<?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-radiusv11-03" category="std" consensus="true" submissionType="IETF" updates="RFC6613,RFC7360" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="RADIUSv11">RADIUS Version 1.1</title>
    <seriesInfo name="Internet-Draft" value="draft-dekok-radext-radiusv11-03"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <date year="2023" month="April" day="03"/>
    <area>Internet</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document defines Application-Layer Protocol Negotiation Extensions for use with RADIUS/TLS and RADIUS/DTLS.  These extensions permit the negotiation of an additional application protocol for RADIUS over (D)TLS.  No changes are made to RADIUS/UDP or RADIUS/TCP.  The extensions allow the negotiation of a transport profile where the RADIUS shared secret is no longer used, and all MD5-based packet signing and attribute obfuscation methods are removed.  When this extension is used, the previous Authenticator field is repurposed to contain an explicit request / response identifier, called a Token.  The Token also allows more than 256 packets to be outstanding on one connection.</t>
      <t>This extension can be seen as a transport profile for RADIUS, as it is not an entirely new protocol.  It uses the existing RADIUS packet layout and attribute format without change.  As such, it can carry all present and future RADIUS attributes.  Implementation of this extension requires only minor changes to the protocol encoder and decoder functionality.  The protocol defined by this extension is named "RADIUS version 1.1", or "RADIUSv11".</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-radiusv11/"/>.
      </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/radiusv11.git"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The RADIUS protocol <xref target="RFC2865"/> uses MD5 <xref target="RFC1321"/> to sign packets, and to obfuscate certain attributes.  Decades of cryptographic research has shown that MD5 is insecure, and MD5 should no longer be used.  In addition, the dependency on MD5 makes it impossible to use RADIUS in a FIPS-140 compliant system, as FIPS-140 forbids systems from relying on insecure cryptographic methods for security.  There are many prior discussions of MD5 insecurities which we will not repeat here.  These discussions are most notably in <xref target="RFC6151"/>, and in Section 3 of <xref target="RFC6421"/>, among others.</t>
      <t>This document defines an Application-Layer Protocol Negotiation (ALPN) <xref target="RFC7301"/> extension for RADIUS which removes the dependency on MD5.  Systems which implement this transport profile are therefore capable of being FIPS-140 compliant.  This extension can best be understood as a transport profile for RADIUS, rather than a whole-sale revision of the RADIUS protocol.  To support this claim, a preliminary implementation of this extension was done in an Open Source RADIUS server.  Formatted as a source code patch, the changes comprised approximately 2,000 lines of code.  This effort shows that the changes to RADIUS are minimal, and are well understood.</t>
      <t>The changes from traditional TLS-based transports for RADIUS are as follows:</t>
      <ul spacing="normal">
        <li>ALPN is used for negotiation of this extension,</li>
        <li>TLS 1.3 or later is required,</li>
        <li>all uses of the RADIUS shared secret have been removed,</li>
        <li>The now-unused Request and Response Authenticator fields have been repurposed to carry an opaque Token which identifies requests and responses,</li>
        <li>The Message-Authenticator attribute (<xref target="RFC3579"/> Section 3.2) is not sent in any packet, and if received is ignored,</li>
        <li>Attributes such as User-Password, Tunnel-Password, and MS-MPPE keys are sent encoded as "text" (<xref target="RFC8044"/> Section 3.4) or "octets" (<xref target="RFC8044"/> Section 3.5), without the previous MD5-based obfuscation.  This obfuscation is no longer necessary, as the data is secured and kept private through the use of TLS.</li>
        <li>Future RADIUS specifications are forbidden from defining new cryptographic primitives.</li>
      </ul>
      <t>The following items are left unchanged from traditional TLS-based transports for RADIUS:</t>
      <ul spacing="normal">
        <li>the RADIUS packet header is the same size, and the Code, Identifier, and Length fields (<xref target="RFC2865"/> Section 3) all have the same meaning as before</li>
        <li>All attributes which do not use MD5-based obfuscation methods are encoded using the normal RADIUS methods, and have the same meaning as before,</li>
        <li>As this extension is a transport profile for one "hop" (client to server connection), it does not impact any other connection used by a client or server.  The only systems which are aware that this transport profile is in use are the client and server which have negotiated the extension on a particular shared connection.</li>
        <li>This extension uses the same ports (2083/tcp and 2083/udp) which are defined for RADIUS/TLS <xref target="RFC6614"/> and RADIUS/DTLS <xref target="RFC7360"/>.</li>
      </ul>
      <t>A major benefit of this extenions is that a home server which implements it can also choose to also implement full FIPS-140 compliance,  That is, a home server can remove all uses of MD4 and MD5.  In that case, however, the home server will not support CHAP or MS-CHAP, or any authentication method which uses MD4 or MD5.  We note that the choice of which authentication method to accept is always left to the home server.  This specification does not change any authentication method carried in RADIUS, and does not mandate (or forbid) the use of any authentication method for any system.</t>
      <t>As for proxies, there was never a requirement that proxies implement CHAP or MS-CHAP authentication.  So far as a proxy is concerned, attributes relating to CHAP and MS-CHAP are simply opaque data that is transported unchanged to the next hop.  As such, it is possible for a FIPS-140 compliant proxy to transport authentication methods which depend on MD4 or MD5, so long as that data is forwarded to a home server which supports those methods.</t>
      <t>We reiterate that the decision to support (or not) any authentication method is entirely site local, and is not a requirement of this specification.  This specification does not not modify the content or meaning of any RADIUS attribute other than Message-Authenticator (and similar attributes), and the only change to the Message-Authenticator attribute is that is no longer used.</t>
      <t>Unless otherwise described in this document, all RADIUS requirements apply to this extension.  That is, this specification defines a transport profile for RADIUS.  It is not an enitrely new protocol, and it defines only minor changes to the existing RADIUS protocol.  It does not change the RADIUS packet format, attribute format, etc.  This specification is compatible with all RADIUS attributes, past, present, and future.  In short, it simply removes the need to use MD5 when signing packets, or obfuscating certain attributes.</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>ALPN</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>Application-Layer Protocol Negotiation, as defined in <xref target="RFC7301"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS</li>
      </ul>
      <ul empty="true">
        <li>
          <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>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/UDP</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>RADIUS over the User Datagram Protocol as define above.</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TCP</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>RADIUS over the Transmission Control Protocol <xref target="RFC6613"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>RADIUS over the Transport Layer Security protocol <xref target="RFC6614"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/DTLS</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>RADIUS over the Datagram Transport Layer Security protocol  <xref target="RFC7360"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUSv11</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>The ALPN protocol extenion defined in this document, which stands for "RADIUS version 1.1".  We use RADIUSv11 to refer interchangeably to TLS and DTLS transport.</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul spacing="normal">
        <li>TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <ul empty="true">
            <li>
              <t>the Transport Layer Security protocol.  Generally when we refer to TLS in this document, we are referring interchangably to TLS or DTLS transport.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="the-radiusv11-transport-profile-for-radius">
      <name>The RADIUSv11 Transport profile for RADIUS</name>
      <t>We define an ALPN extension for TLS-based RADIUS transports.   In addition to defining the extension, we also discuss how the encoding of some attributes are changed when this extension is used.  Any field or attribute not mentioned here is unchanged from normal RADIUS.</t>
    </section>
    <section anchor="defining-and-configuring-alpn">
      <name>Defining and configuring ALPN</name>
      <t>This document defines two ALPN protocol names which can be used to negotiate the use (or not) of this specification:</t>
      <ul empty="true">
        <li>
          <t>"radius/1.0"</t>
          <ul empty="true">
            <li>
              <t>Traditional RADIUS/TLS or RADIUS/DTLS.</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>"radius/1.1"</t>
          <ul empty="true">
            <li>
              <t>The protocol defined by specification.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Where ALPN is not configured or is not received in a TLS connection, systems supporting ALPN MUST behave as if the ALPN name "radius/1.0" is being used.</t>
      <t>Where ALPN is configured, we have the following choices:</t>
      <ul empty="true">
        <li>
          <t>use "radius/1.0" only.</t>
          <ul empty="true">
            <li>
              <t>There is no need in this case to use ALPN, but this configuration is included for completeness</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>use "radius/1.1" only</t>
          <ul empty="true">
            <li>
              <t>ALPN is required.</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>negotiate either "radius/1.0" or "radius/1.1"</t>
          <ul empty="true">
            <li>
              <t>If one end signals support for both "radius/1.0" and "radius/1.1", and the other end either does not use ALPN, then the system using ALPN MUST behave as if the other end has used the ALPN name "radius/1.0".</t>
              <t>If one end signals support for both "radius/1.0" and "radius/1.1", and the other end either end signals support only for one ALPN protcol, then the mutually compatible ALPN protocol MUST be used.</t>
              <t>Where both ends signal support for "radius/1.1", that extension MUST be used.  There is no reason to negotiate a feature and then not use it.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Implementations MUST signal ALPN "radius/1.1" in order for it to be used in a connection.  Implementations MUST NOT have an administative flag which makes a connection use "radius/1.1" without signalling that protocol via ALPN.</t>
      <section anchor="configuration-of-alpn">
        <name>Configuration of ALPN</name>
        <t>Clients or servers supporting this specification can do so by extending their TLS configuration through the addition of a new configuration flag, called "RADIUS-1.1" here.  The exact name given below does not need to be used, but it is RECOMMENDED that administative interfaces or programming interfaces use a similar name in order to provide consistent terminology.  This flag controls how the implementations signal use of this protocol via ALPN.</t>
        <t>Configuration Flag Name</t>
        <ul empty="true">
          <li>
            <t>RADIUS-1.1</t>
          </li>
        </ul>
        <t>Allowed Values</t>
        <ul empty="true">
          <li>
            <t>forbid - Forbid the use of RADIUSv11</t>
            <ul empty="true">
              <li>
                <t>The system MAY signal ALPN via the "radius/1.0" protocol
name.  If ALPN is not used, the system MUST use RADIUS/TLS or
RADIUS/DTLS as per <xref target="RFC6614"/> and <xref target="RFC7360"/>.</t>
                <t>The "radius/1.1" ALPN protocol name MUST NOT be sent by the system.</t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>allow - Allow (or negotiate) the use of RADIUSv11</t>
            <ul empty="true">
              <li>
                <t>The system MUST use ALPN to signal that both "radius/1.0" and
"radius/1.1" can be used.</t>
              </li>
            </ul>
            <t>require -  Require the use of RADIUSv11</t>
            <ul empty="true">
              <li>
                <t>The system MUST use ALPN to signal that only "radius/1.1" is being used.</t>
                <t>The "radius/1.0" ALPN protocol name MUST NOT be sent by the system.</t>
                <t>If no ALPN is received, or "radius/1.1" is not received via ALPN,
the system MUST log an informative message and close the TLS
connection.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>Once a system has been configured to support ALPN, it is negotiated on a per-connection basis as per <xref target="RFC7301"/>.  The definition of the "radius/1.1" transport profile is given below.</t>
      </section>
      <section anchor="negotiation">
        <name>Negotiation</name>
        <t>If the "RADIUS-1.1" flag is set to "allow", then both "radius/1.0" and "radius/1.1" application protocols MUST be signalled via ALPN.  Where a system sees that both ends of a connection support "radius/1.1", then it MUST be used.  There is no reason to negotiate an extension and the refuse to use it.</t>
        <t>If a systems supports ALPN and does not receive any ALPN signalling from the other end, it MUST behave as if the other end had sent the ALPN protocol name "radius/1.0".</t>
        <t>If a system determines that there are no compatible application protocol names, then it MUST send a TLS alert of "no_application_protocol" (120), which signals the other end that there is no compatible application protocol.  The connection MUST then be torn down.</t>
        <t>It is RECOMMENDED that a descriptive error is logged in this situation, so that an administrator can determine why a particular connection failed.  The log message SHOULD include information about the other end of the connection, such as IP address, certificate information, etc.  Similarly, a system receiving a TLS alert of "no_application_protocol" SHOULD log a descriptive error message.  Such error messages are critical for helping administrators to diagnose connectivity issues.</t>
      </section>
      <section anchor="additional-tls-issues">
        <name>Additional TLS issues</name>
        <t>Implementations of this specification MUST require TLS version 1.3 or later.</t>
        <t>Implementations of this specification MUST support TLS-PSK.</t>
      </section>
      <section anchor="session-resumption">
        <name>Session Resumption</name>
        <t><xref target="RFC7301"/> Section 3.1 states that ALPN is negotiated on each connection, even if session resumption is used:</t>
        <ul empty="true">
          <li>
            <t>When session resumption or session tickets (RFC5077) are used, the previous contents of this extension are irrelevant, and only the values in the new handshake messages are considered.</t>
          </li>
        </ul>
        <t>In order to prevent down-bidding attacks, RADIUS servers which negotiate RADIUSv11 MUST associate that information with the session ticket.  On session resumption, the server MUST advertise only the capability to do "radius/1.1" for that session.  That is, even if the server configuration permits both ALPN methods "radius/1.0"" and "radius/1.1" to be used for new connections, the server MUST NOT permit "radius/1.0" to be used on session resumption where the session had previously negotiated "radius/1.1".</t>
      </section>
    </section>
    <section anchor="definition-of-radiusv11">
      <name>Definition of RADIUSv11</name>
      <t>This section describes the application-layer data which is sent inside of (D)TLS when using the RADIUSv11 protocol.  Unless otherwise discussed herein, the application-layer data is unchanged from traditional RADIUS.  This protocol is only used when "radius/1.1" has been negotiated by both ends of a connection.</t>
      <section anchor="request-and-response-authenticator-fields">
        <name>Request and Response Authenticator fields</name>
        <t>As packets are no longer signed with MD5, the Request and Response Authenticator fields MUST NOT be calculated as described in any previous RADIUS specification.  That 16-octet portion of the packet header is now repurposed into two logical subfields, as given below:</t>
        <ul spacing="normal">
          <li>4 octets of opaque Token used to match requests and responses,</li>
          <li>12 octets of Reserved.</li>
        </ul>
        <figure anchor="Token">
          <name>The modified Authenticator Field.</name>
          <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Token                                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Reserved ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                                                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Token</t>
        <ul empty="true">
          <li>
            <t>The Token field is four octets, and aids in matching requests and
replies.  The RADIUS server can detect a duplicate request if it receives
the same Token value for two packets on a particular connection.</t>
            <t>All request / reply tracking MUST be done only on the Token field,
all other fields in the RADIUS packet header are ignored for the
purposes of deduplication.  This requirement simplifies implementations.</t>
            <t>All packet deduplication MUST be done on a per-connection basis.  If two
RADIUS packets which are received on different connections contain
the same Token value, then those packets MUST be treated as distinct
(i.e. different) packets.</t>
            <t>The Token field MUST be different for every unique packet sent over
a particular connection.  This unique value can be used to
match responses to requests, and to identify duplicate requests.
Other than those two requirements, there is no special meaning for
the Token field.</t>
            <t>Systems generating a Token value for placement in a packet can do so
via any method they choose.  Systems receiving a Token value in a
packet MUST NOT interpret its value as anything other than an opaque
token.</t>
          </li>
        </ul>
        <t>Reserved</t>
        <ul empty="true">
          <li>
            <t>The Reserved field is twelve (12) octets in length.</t>
            <t>These octets MUST be set to zero when sending a packet.</t>
            <t>These octets MUST be ignored when receiving a packet.</t>
            <t>These octets are reserved for future protocol extensions.</t>
          </li>
        </ul>
        <t>When RADIUSv11 is used, the processing of RADIUS packets is modified from standard RADIUS.  The Request Authenticator and Response Authenticator fields are no longer used.  Any operations which depend on those fields MUST NOT be performed.  As packet signing and security are handled by the TLS layer, RADIUS-specific cryptographic primitives are no longer used.</t>
      </section>
      <section anchor="the-token-field">
        <name>The Token Field</name>
        <t>This section describes in more detail how the Token field is used.</t>
        <section anchor="sending-packets">
          <name>Sending Packets</name>
          <t>A client which sends packets uses the Token field to increase the number of RADIUS packets which can be sent over one connection.</t>
          <t>The Token field MUST change for every new unique packet which is sent.  For DTLS transport, it is possible to retransmit duplicate packets, in which case the Token value MUST NOT be changed when a duplicate packet is (re)sent.  When the contents of a retransmitted packet change for any reason (such changing Acct-Delay-Time as discussed in <xref target="RFC2866"/> Section 5.2), the Token value MUST be changed.</t>
          <t>The Token MUST be different for different packets on the same connection.  If a packet is retransmitted without any changes, then the retransmitted packet MUST use the same token value.  If the two packets have any differences, then the Token values for those two packets is required to be different.  Note that on reliable transports, packets are never retransmitted, and therefore every new packet sent has a unique Token value.</t>
          <t>For simplicity, it is RECOMMENDED that the Token values be generated from a 32-bit counter which is unique to each connection.  Such a counter SHOULD be initialized to a random value, taken from a random number generator whenever a new connection is opened.  The counter can then be incremented for every new packet which is sent.  As there is no special meaning for the Token, there is no meaning when a counter "wraps" around from a high value back to zero.</t>
          <t>If a RADIUS client has multiple independent subsystems which send packets to a server, each subsystem MAY open a new port which is unique to that subsystem.  There is no requirement that all packets go over one particular connection.  That is, despite the use of a 32-bit Token field, RADIUSv11 clients are still permitted to open multiple source ports as discussed in <xref target="RFC2865"/> Section 2.5.</t>
        </section>
        <section anchor="receiving-packets">
          <name>Receiving Packets</name>
          <t>A server which receives RADIUSv11 packets MUST perform packet deduplication for all situations where it is required by RADIUS.  Where RADIUS does not require deduplication (e.g. TLS transport), the server SHOULD NOT do deduplication.</t>
          <t>In normal RADIUS, the Identifier field can be the same for different types of packets on the same connection, e.g. for Access-Request and Accounting-Request.  This overlap requires that RADIUS clients and servers, track the Identifier field not only on a per-connection basis, but also on a per-packet type basis.  This behavior adds complexity to implementations.</t>
          <t>When using RADIUSv11, implementations MUST instead do deduplication only on the Token field, on a per-connection basis.  A server MUST treat the Token as being an opaque field with no intrinsic meaning.  While the recommendation above is for the sender to use a counter, other implementations are possible, valid, and permitted.  For example, a system could use a pseudo-random number generator with a long period to generate unique values for the Token field.</t>
          <t>This change from RADIUS means that the Identifier field is no longer useful.  It is RECOMMENDED that the Identifier field be set to zero for all RADIUSv11 packets.  In order to stay close to RADIUS, we still require that replies MUST use the same Identifier as was seen in the corresponding request.  There is no reason to make major changes to the RADIUS packet header.</t>
        </section>
      </section>
    </section>
    <section anchor="attribute-handling">
      <name>Attribute handling</name>
      <t>Most attributes in RADIUS have no special encoding "on the wire", or any special meaning between client and server.  Unless discussed in this section, all RADIUS attributes are unchanged in this specification.  This requirement includes attributes which contain a tag, as defined in <xref target="RFC2868"/>.</t>
      <section anchor="obfuscated-attributes">
        <name>Obfuscated Attributes</name>
        <t>As (D)TLS is used for this specification, there is no need to hide the contents of an attribute on a hop-by-hop basis.  The TLS transport ensures that all attribute contents are hidden from any observer</t>
        <t>Attributes which are obfuscated with MD5 no longer have the obfuscation step applied when RADIUSv11 is used.  Instead, those attributes are simply encoded as their values, as with any other attribute.  Their encoding method MUST follow the encoding for the underlying data type, with any encryption / obfuscation step omitted.</t>
        <t>We understand that there is often concern in RADIUS that passwords are sent "in cleartext" across the network.  This allegation was never true for RADIUS, and definitely untrue when (D)TLS transport is used.  While passwords are encoded in packets as strings, the packets (and thus passwords) are protected by TLS.  For the unsure reader this is the same TLS which protects passwords used for web logins, e-mail reception and sending, etc.  As a result, any claims that passwords are sent "in the clear" are false.</t>
        <section anchor="user-password">
          <name>User-Password</name>
          <t>The User-Password attribute (<xref target="RFC2865"/> Section 5.2) MUST be encoded the same as any other attribute of data type 'text' (<xref target="RFC8044"/> Section 3.4), e.g. User-Name (<xref target="RFC2865"/> Section 5.1).</t>
          <t>The contents of the User-Password field MUST be at least one octet in length, and MUST NOT be more than 128 octets in length.  This limitation is maintained from <xref target="RFC2865"/> Section 5.2 for compatibility with legacy transports.</t>
          <t>Despite the requirement of <xref target="RFC8044"/> Section 3.4 that 'text' data types be UTF-8 data, proxies MUST NOT interpret or modify the content of the User-Password attribute.  Validation and interpretation of the User-Password is the role of the home server, and there is no need for the proxy to do anything other than transport that data.</t>
        </section>
        <section anchor="chap-challenge">
          <name>CHAP-Challenge</name>
          <t><xref target="RFC2865"/> Section 5.2 allows for the CHAP challenge to be taken from either the CHAP-Challenge attribute (<xref target="RFC2865"/> Section 5.40), or the Request Authenticator field.  Since RADIUSv11 connections no longer use a Request Authenticator field, proxies may receive an Access-Request containing a CHAP-Password attribute (<xref target="RFC2865"/> Section 5.2) but without a CHAP-Challenge attribute (<xref target="RFC2865"/> Section 5.40).  Proxies which forward that CHAP-Password attribute over a RADIUSv11 connection MUST create a CHAP-Challenge attribute in the proxied packet using the contents from the Request Authenticator.</t>
        </section>
        <section anchor="tunnel-password">
          <name>Tunnel-Password</name>
          <t>The Tunnel-Password attribute (<xref target="RFC2868"/> Section 3.5) MUST be encoded the same as any other attribute of data type 'text' which contains a tag, such as Tunnel-Client-Endpoint (<xref target="RFC2868"/> Section 3.3).  Since the attribute is no longer obfuscated, there is no need for a Salt field or Data-Length fields as described in <xref target="RFC2868"/> Section 3,5, and the textual value of the password can simply be encoded as-is.</t>
        </section>
        <section anchor="vendor-specific-attributes">
          <name>Vendor-Specific Attributes</name>
          <t>Any Vendor-Specific attribute which uses similar obfuscation MUST be encoded as per their base data type.  Specifically, the MS-MPPE-Send-Key and MS-MPPE-Recv-Key attributes (<xref target="RFC2548"/> Section 2.4) MUST be encoded as any other attribute of data type 'string' (<xref target="RFC8044"/> Section 3.5).</t>
          <t>We note that as the RADIUS shared secret is no longer used, it is no longer possible or necessary for any attribute to be obfuscated on a hop-by-hop basis using the previous methods defined for RADIUS.</t>
        </section>
      </section>
      <section anchor="message-authenticator">
        <name>Message-Authenticator</name>
        <t>The Message-Authenticator attribute (<xref target="RFC3579"/> Section 3.2) MUST NOT be sent over a RADIUSv11 connection.  That attribute is no longer used or needed.</t>
        <t>If the Message-Authenticator attribute is received over a RADIUSv11 connection, the attribute MUST be silently discarded, or treated an as "invalid attribute", as defined in <xref target="RFC6929"/>, Section 2.8.  That is, the Message-Authenticator attribute is no longer used to sign packets.  Its existence (or not) in this transport is meaningless.</t>
        <t>We note that any packet which contains a Message-Authenticator attribute can still be processed.  There is no need to discard an entire packet simply because it contains a Message-Authenticator attribute.  Only the Message-Authenticator attribute itself is ignored.</t>
      </section>
      <section anchor="message-authentication-code">
        <name>Message-Authentication-Code</name>
        <t>Similarly, the Message-Authentication-Code attribute defined in <xref target="RFC6218"/> Section 3.3 MUST NOT be sent over a RADIUSv11 connection.  That attribute MUST be treated the same as Message-Authenticator, above.</t>
        <t>As the Message-Authentication-Code attribute is no longer used, the related MAC-Randomizer attribute <xref target="RFC6218"/> Section 3.2 is also no longer used.  It MUST also be treated the same was as Message-Authenticator, above.</t>
      </section>
      <section anchor="chap-ms-chap-etc">
        <name>CHAP, MS-CHAP, etc.</name>
        <t>While some attributes such as CHAP-Password, etc. depend on insecure cryptographic primitives such as MD5, these attributes are treated as opaque blobs when sent between a RADIUS client and server.  The contents of the attributes are not obfuscated, and they do not depend on the RADIUS shared secret.</t>
        <t>As a result, these attributes are unchanged in RADIUSv11.  We reiterate that this specification is largely a transport profile for RADIUS.  Other than a few attributes such as Message-Authenticator, the meaning of all attributes in this specification is identical to their meaning in RADIUS.  Only the "on the wire" encoding of some attributes change, and then only for attributes which are obfuscated using the RADIUS shared secret.  Those obfuscated attributes are now protected by the modern cryptography in TLS, instead of an "ad hoc" approach using MD5.</t>
        <t>A server implementing this specification can proxy CHAP, MS-CHAP, etc. without any issue.  A home server implementing this specification can authenticate CHAP, MS-CHAP, etc. without any issue.</t>
      </section>
      <section anchor="original-packet-code">
        <name>Original-Packet-Code</name>
        <t>The Original-Packet-Code attribute (<xref target="RFC7930"/> Section 4) MUST NOT be sent over a RADIUSv11 connection.  That attribute is no longer used or needed.</t>
        <t>If the Original-Packet-Code attribute is received over a RADIUSv11 connection, the attribute MUST either be silently discarded, or be treated an as "invalid attribute", as defined in <xref target="RFC6929"/>, Section 2.8.  That is, existence of the Token field means that the Original-Packet-Code attribute is no longer needed to correlate Protocol-Error replies with outstanding requests.  As such, the Original-Packet-Code attribute is not used in RADIUSv11.</t>
        <t>We note that any packet which contains an Original-Packet-Code attribute can still be processed.  There is no need to discard an entire packet simply because it contains an Original-Packet-Code attribute.</t>
      </section>
    </section>
    <section anchor="proxies">
      <name>Proxies</name>
      <t>A RADIUS proxy normally decodes and then re-encodes all attributes, included obfuscated ones.  A RADIUS proxy will not generally rewrite the content of the attributes it proxies (unless site-local policy requires such a rewrite).  While some attributes may be modified due to administrative or policy rules on the proxy, the proxy will generally not rewrite the contents of attributes such as User-Password, Tunnel-Password, CHAP-Password, MS-CHAP-Password, MS-MPPE keys, etc.  All attributes are therefore transported through a RADIUSv11 connection without changing their values or contents.</t>
      <t>A proxy may negotiate RADIUSv11 (or not) with a particular client or clients, and it may negotiate RADIUSv11 (or not) with a server or servers it connect to, in any combination.  As a result, this specification is fully compatible with all past, present, and future RADIUS attributes.</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"/>.  This specification makes no changes from, or additions to, those specifications.</t>
      <t>All crypto-agility needed or use by this specification is implemented in TLS.  This specification also removes all cryptographic primitives from the application-layer protocol (RADIUS) being transported by TLS.  As discussed in the next section below, this specification also bans the development of all new cryptographic or crypto-agility methods in the RADIUS protocol.</t>
      <section anchor="future-standards">
        <name>Future Standards</name>
        <t>This specification defines a new transport profile for RADIUS.  It does not define a completely new protocol.  As such, any future attribute definitions MUST first be defined for RADIUS/UDP, and only then can those definitions be applied to this transport profile.</t>
        <t>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.  There is no need for those specifications to describe how those new attributes are transported in RADIUSV11; they will by definition be transported as their underlying data type ("text" (<xref target="RFC8044"/> Section 3.4) or "octets" (<xref target="RFC8044"/> Section 3.5).</t>
        <t>New RADIUS specifications MUST NOT define attributes which can only be transported over RADIUS/TLS.  The RADIUS protocol has no way to signal the security requirements of individual attributes.  Any existing implementation will handle these new attributes as "Invalid Attributes" (<xref target="RFC6929"/> Section 2.8), and could forward them over an insecure link.  As RADIUS security and signalling is hop-by-hop, there is no way for a RADIUS/TLS client or server to even know if such forwarding is taking place.  For these reasons and more, it is therefore inappropriate to define new attributes which are only secure if they use a secure transport layer.</t>
        <t>This document updates <xref target="RFC2865"/> at al. to state that any new RADIUS specification MUST NOT introduce new "ad hoc" cryptographic primitives as was done with User-Password and Tunnel-Password.  That is, RADIUS-specific cryptographic methods existing as of the publication of this document are permitted to be used for historical compatibility.  However, all new cryptographic work in RADIUS is forbidden.  There is insufficient expertise in the RADIUS community to securely design new cryptography.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>(This section to be removed by the RFC editor.)</t>
      <t>This specification is being implemented (client and server) in the FreeRADIUS project which is hosted on GitHub.  URL TBD.  The code implemention "diff" is approximately 2,000 lines, including build system changes and changes to configuration parsers.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>This specification requires secure transport for RADIUS, and this has all of the privacy benefits of RADIUS/TLS <xref target="RFC6614"/> and RADIUS/DTLS <xref target="RFC7360"/>.  All of the insecure uses of RADIUS bave been removed.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The primary focus of this document is addressing security considerations for RADIUS.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is request to update the "TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs" registry with two new entries:</t>
      <artwork><![CDATA[
Protocol: radius/1.0
Id. Sequence: 0x72 0x61 0x64 0x69 0x75 0x73 0x2f 0x31 0x2e 0x30 ("radius/1.0")
Reference: This document

Protocol: radius/1.1
Id. Sequence: 0x72 0x61 0x64 0x69 0x75 0x73 0x2f 0x31 0x2e 0x31 ("radius/1.1")
Reference:  This document
]]></artwork>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>In hindsight, the decision to retain MD5 for RADIUS/TLS was likely wrong.  It was an easy decision to make in the short term, but it has caused ongoing problems which this document addresses.</t>
      <t>Thanks to Bernard Aboba, Karri Huhtanen, Heikki Vatiainen, and Alexander Clouter for reviews and feedback.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <t>draft-dekok-radext-sradius-00</t>
      <ul empty="true">
        <li>
          <t>Initial Revision</t>
        </li>
      </ul>
      <t>draft-dekok-radext-radiusv11-00</t>
      <ul empty="true">
        <li>
          <t>Use ALPN from RFC 7301, instead of defining a new port.  Drop the name "SRADIUS".</t>
          <t>Add discussion of Original-Packet-Code</t>
        </li>
      </ul>
      <t>draft-dekok-radext-radiusv11-01</t>
      <ul empty="true">
        <li>
          <t>Update formatting.</t>
        </li>
      </ul>
      <t>draft-dekok-radext-radiusv11-02</t>
      <ul empty="true">
        <li>
          <t>Add Flag field and description.</t>
          <t>Minor rearrangements and updates to text.</t>
        </li>
      </ul>
      <t>draft-dekok-radext-radiusv11-03</t>
      <ul empty="true">
        <li>
          <t>Remove Flag field and description based on feedback and expected use-cases.</t>
          <t>Use "radius/1.0" instead of "radius/1"</t>
          <t>Consistently refer to the specification as "RADIUSv11", and consistently quote the ALPN name as "radius/1.1"</t>
          <t>Add discussion of future attributes and future crypto-agility work.</t>
        </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">
              <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="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">
              <organization/>
            </author>
            <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="RFC6929" target="https://www.rfc-editor.org/info/rfc6929">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS) Protocol Extensions</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok">
              <organization/>
            </author>
            <author fullname="A. Lior" initials="A." surname="Lior">
              <organization/>
            </author>
            <date month="April" year="2013"/>
            <abstract>
              <t>The Remote Authentication Dial-In User Service (RADIUS) protocol is nearing exhaustion of its current 8-bit Attribute Type space.  In addition, experience shows a growing need for complex grouping, along with attributes that can carry more than 253 octets of data.  This document defines changes to RADIUS that address all of the above problems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6929"/>
          <seriesInfo name="DOI" value="10.17487/RFC6929"/>
        </reference>
        <reference anchor="RFC7301" target="https://www.rfc-editor.org/info/rfc7301">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl">
              <organization/>
            </author>
            <author fullname="A. Popov" initials="A." surname="Popov">
              <organization/>
            </author>
            <author fullname="A. Langley" initials="A." surname="Langley">
              <organization/>
            </author>
            <author fullname="E. Stephan" initials="E." surname="Stephan">
              <organization/>
            </author>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </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">
              <organization/>
            </author>
            <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">
              <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="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">
              <organization/>
            </author>
            <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="RFC2548" target="https://www.rfc-editor.org/info/rfc2548">
          <front>
            <title>Microsoft Vendor-specific RADIUS Attributes</title>
            <author fullname="G. Zorn" initials="G." surname="Zorn">
              <organization/>
            </author>
            <date month="March" year="1999"/>
            <abstract>
              <t>This document describes the set of Microsoft vendor-specific RADIUS attributes.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2548"/>
          <seriesInfo name="DOI" value="10.17487/RFC2548"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="D. Leifer" initials="D." surname="Leifer">
              <organization/>
            </author>
            <author fullname="A. Rubens" initials="A." surname="Rubens">
              <organization/>
            </author>
            <author fullname="J. Shriver" initials="J." surname="Shriver">
              <organization/>
            </author>
            <author fullname="M. Holdrege" initials="M." surname="Holdrege">
              <organization/>
            </author>
            <author fullname="I. Goyret" initials="I." surname="Goyret">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="P. Calhoun" initials="P." surname="Calhoun">
              <organization/>
            </author>
            <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">
              <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="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">
              <organization/>
            </author>
            <author fullname="L. Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="T. Zhang" initials="T." surname="Zhang">
              <organization/>
            </author>
            <author fullname="J. Walker" initials="J." surname="Walker">
              <organization/>
            </author>
            <author fullname="J. Salowey" initials="J." surname="Salowey">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <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>
        <reference anchor="RFC7930" target="https://www.rfc-editor.org/info/rfc7930">
          <front>
            <title>Larger Packets for RADIUS over TCP</title>
            <author fullname="S. Hartman" initials="S." surname="Hartman">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>The RADIUS-over-TLS experiment described in RFC 6614 has opened RADIUS to new use cases where the 4096-octet maximum size limit of a RADIUS packet proves problematic.  This specification extends the RADIUS-over-TCP experiment (RFC 6613) to permit larger RADIUS packets.  This specification compliments other ongoing work to permit fragmentation of RADIUS authorization information.  This document registers a new RADIUS code, an action that required IESG approval.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7930"/>
          <seriesInfo name="DOI" value="10.17487/RFC7930"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIABjwKmQAA71d6XbbSHb+z6dA2D9GmpBqUYvtdk76jFqyxzrtRbHk7uTX
nCJQJDECAQ4KkMye6TxLniVPlrvVBoCS3O3JJMdNYanl1l2+e+vWxXQ6HTV5
U+iXycezi8tP18lPujZ5VSazg9lIzee1vrO37mazUValpVrD01mtFs0007fV
7bRWmf7c4H/y1sBT08PjUbvJVKMNvPv6/Nmz2fEE/vv8+NnhaGQaVWZ/UUVV
QjNN3epRvqnpl2mODg+/OzwaqVqrl8ll2ei61M3ofklDePWfN8nPVX2bl8vk
z3XVbka39/6p6QWOaJSq5mVimmxk2vk6NziVm+0Gerp8dfN6NNrkL0dJ0lTp
y2SrDfw0Vd3UegEDTZJvkkwvVFs0Bp6w97drvo1/jlTbrKr65Wg0TfISLp4d
JBf6x+oWHmSynBWqdJeqGgb+utaa6QdX9FrlxctEwVPZnxZwh2l2AE+ORmVV
r1WT32kc4g/nV7MTot6L2fMTuAC/jl48O33JP5+dHM3sz++OvpOfz48P7dUX
hycnMM68XIStwo3ZsXvz6PTkxUvX9DP/0149Pn1umz6dPbcPPJudur6PZvZZ
XGT/88SN6Nmh/fndMfwc3emypbEscQntwsLfTBrmpT/lulkQVeC5vFm185eJ
J9e3jtMO4CYsxnSaqLlpapXCXzer3CTAp+1alw2uaF5qk5xtNkUOzAH8MH2r
trpOruoK+KAqkvd6WTU53UpefW50iUxjEiBc0hqd3EP/IgHf3ry9TmDp7J8X
8PdBktysNDyn/asbXa/zJmlWOimDxqsFvJyoLMvxT1Ukyg8q2djhYL8ii9Ud
jHPvYp+7eV8l6UqVS5gNCAjQK9PIpzKWTxdXiXvz25vzKx5YOCxVFNX94KhA
+lRpNiALOI5FXsC0Vxo6wYdlMGYFvWaJ0WmtmwRoXFYJCPFSE5myCREGukje
XZxO5wouJRuV3sKzJl+WKLT0QNPU+bxtdFLNF62Rya81yFXG86r1GuadwfB/
XukSRgBduUlgv9wbjmwD2imvWlhdkEtYbaQl0GCR6yLDJ2u9aetNhUMBQqVV
2ai8xDXQn5HwsES1/lurTZN8C79g/iWsY55hS9BGPUlSmA+8rJKb6laXQlH6
DTM1FVPUJOuKSAUNH50+k1mTDpnDNNuGNB4SAKldahxIqVOc+IGwq59fCo3A
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
XhPGgzpePSUt86eCkQqj/wO2k/ZsdX8AAA==

-->

</rfc>
