<?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-02" 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/TLS Version 1.1</title>
    <seriesInfo name="Internet-Draft" value="draft-dekok-radext-radiusv11-02"/>
    <author initials="A." surname="DeKok" fullname="Alan DeKok">
      <organization>FreeRADIUS</organization>
      <address>
        <email>aland@freeradius.org</email>
      </address>
    </author>
    <date year="2023" month="March" day="07"/>
    <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 "radius/1.1".</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.  Current cryptographic research shows that MD5 is insecure, and recommends that MD5 should no longer be used.  In addition, the dependency on MD5 makes it impossible to use RADIUS in a FIPS-140 compliant system.  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 many 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 "patch", the code changes comprised approximately 2,000 lines of code.  This effort shows that the changes to RADIUS are minimal, and 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>There are now also Client Security and Server Security flags in the packet header, which allow clients or servers to indicate the security of packets,</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>
      </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 negotiate the extension for a connection that they share,</li>
        <li>This extension uses the same ports (2083/tcp and 2083/udp) as 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 a new protocol, and it defines only minor changes to the 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>
          <t>Application-Layer Protocol Negotiation, as defined in <xref target="RFC7301"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>The Remote Authentication Dial-In User Service protocol, as defined in <xref target="RFC2865"/>, <xref target="RFC2865"/>, and <xref target="RFC5176"/> among others.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/UDP</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the User Datagram Protocol as define above.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TCP</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Transmission Control Protocol <xref target="RFC6613"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Transport Layer Security protocol <xref target="RFC6614"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUS/DTLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>RADIUS over the Datagram Transport Layer Security protocol  <xref target="RFC7360"/></t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>RADIUSv11</li>
      </ul>
      <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 for DTLS transport.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>TLS</li>
      </ul>
      <ul empty="true">
        <li>
          <t>the Transport Layer Security protocol.  Generally when we refer to TLS in this document, we are referring to TLS or DTLS transport.</t>
        </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 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</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>This protocol defined by specification.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Where ALPN is not configured or received in a TLS connection, systems supporting ALPN MUST assume that "radius/1" is being used.</t>
      <t>Where ALPN is configured, we have the following choices:</t>
      <ul empty="true">
        <li>
          <t>use radius/1 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, and this configuration must be explicitly enabled by an administrator</t>
            </li>
          </ul>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>negotiate either radius/1 or radius/1.1</t>
          <ul empty="true">
            <li>
              <t>Where both ends support 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>
      <section anchor="configuration-of-alpn">
        <name>Configuration of ALPN</name>
        <t>Clients or servers supporting this specification 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 to use similar names in user interfaces, in order to provide consistent terminology for administrators.  This flag controls the use (or not) of the application-layer protocol defined by this specification.</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 RADIUS/1.1</t>
            <ul empty="true">
              <li>
                <t>The system MAY signal ALPN via using only the "radius/1" protocol
name.  If ALPN is not used, the system MUST use RADIUS/TLS or
RADIUS/DTLS as per prior specifications.</t>
              </li>
            </ul>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>allow - Allow (or negotiate) the use of RADIUS/1.1</t>
            <ul empty="true">
              <li>
                <t>The system MUST use ALPN to signal that both "radius/1" and
"radius/1.1" can be used.</t>
              </li>
            </ul>
            <t>require -  Require the use of RADIUS/1.1</t>
            <ul empty="true">
              <li>
                <t>The system MUST use ALPN to signal that "radius/1.1" is being used.</t>
                <t>The "radius/1" 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" 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".</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>
        <t>Any PSK used for TLS MUST NOT be used for attribute obfuscation in place of the RADIUS shared secret.  Any PSK used for TLS MUST NOT be the same as a RADIUS shared secret which is used for RADIUS/UDP or RADIUS/TLS.</t>
      </section>
    </section>
    <section anchor="definition-of-radius11">
      <name>Definition of radius/1.1</name>
      <t>This section describes the application-layer data which is sent inside of (D)TLS when using the radius/1.1 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 three logical subfields, as given below:</t>
        <ul spacing="normal">
          <li>4 octets of opaque Token used to match requests and responses,</li>
          <li>1 octet of Flags</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                                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Flags      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        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.</t>
            <t>All 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>Flags</t>
        <ul empty="true">
          <li>
            <t>The Flag field is one octet in length, and contains various flags,
as defined below.</t>
          </li>
        </ul>
        <t>Reserved</t>
        <ul empty="true">
          <li>
            <t>The Reserved field is eleven (11) octets in length.</t>
            <t>These octets MUST be set to zero when sending a packet.
These octets MUST be ignored when receiving a packet.
These octets are reserved for future protocol extensions.</t>
          </li>
        </ul>
        <t>When RADIUS/1.1 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.  The Flags field is used to indicate path security for packets.</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 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.  That is, if two packets are bit-for-bit identical (other than the Token field), then those two packets may have the same token value.  If the two packets have any differences, then the Token values for those two packets is required to be different.</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 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 to zero.</t>
        </section>
        <section anchor="receiving-packets">
          <name>Receiving Packets</name>
          <t>A system which receives radius/1.1 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 system 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 leads to increased complexity for RADIUS clients and servers, as the Identifier field is not unique in a connection, and different packet types can use the same identififer.  Implementations of RADIUS therefore need do deduplication across multiple fields of the RADIUS packet header, which adds complexity.</t>
          <t>When using radius/1.1, implementations MUST instead do deduplication solely 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 radius/1.1 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 anchor="the-flags-field">
        <name>The Flags Field</name>
        <t>The Flags field contains flags which describe or control RADIUS path-level security.  The purpose of the Flags field is to help systems migrate to using more modern and secure transports.</t>
        <t>The Flags field is defined as follows:</t>
        <figure anchor="Flags">
          <name>The Flags Field.</name>
          <artwork><![CDATA[
 0
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|     R     |C|S|
+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>R - Reserved</t>
        <ul empty="true">
          <li>
            <t>This field must be set to zero when sending a packet.
This field must be ignored when receiving a packet.
This field is reserved for future protocol extensions.</t>
          </li>
        </ul>
        <t>C - Client Security</t>
        <ul empty="true">
          <li>
            <t>The Client Security flag is a one-bit field which indicates security of the client to server transport across multiple hops.  This flag is set in packets sent by clients, and MUST NOT be set in packets sent by servers.</t>
            <t>A client which originates packets over a RADIUS/1.1 connection SHOULD set this flag to indicate that the connection is secured.</t>
            <t>A proxy which receives packets over RADIUS/TLS or RADIUS/DTS SHOULD set this flag when it forwards those packets over RADIUS/1.1 connections.</t>
            <t>A proxy which receives packets over IPSec MAY set this flag when it forwards packets over RADIUS/1.1 connections.  However, the RADIUS
proxy is typically unaware of underlying network security, and it is possible for the network to change to being insecure, without the RADIUS proxy being updated to know about that change.</t>
            <t>A proxy which receives packets over a secure management network and forwards them over insecure networks via RADIUS/1.1 MAY set
this flag when it forwards packets over RADIUS/1.1 connections.  This flag may be set even if the underlying transport is RADIUS/UDP or RADIUS/TCP.
This situation typically occurs when an organization has an internal management network which uses RADIUS/UDP, but it then sometimes forwards packets
to other, outside, organizations over a secure connection.</t>
            <t>A proxy which otherwise receives packets over RADIUS/UDP or RADIUS/TCP networks MUST NOT set this flag when it forwards packets over RADIUS/1.1 connections.</t>
          </li>
        </ul>
        <t>S - Server Security</t>
        <ul empty="true">
          <li>
            <t>The Server Security flag is a one-bit field which indicates the level of security desired by the server for packets which are sent to it.</t>
            <t>A server MAY set this flag when sending packets to clients.</t>
            <t>Clients receiving packets with the Server Security flag set MUST use a secure connection for any retransmissions of the packet in question.</t>
            <t>Clients receiving an Access-Challenge packet with the Server Security flag set MUST use a secure connection for any subsequent Access-Request packet which is sent in response to the Access-Challenge.</t>
            <t>Due to the underlying limitations of the network, clients MAY use RADIUS/TLS or RADIUS/DTLS for these retransmissions or Access-Request packets.  There is no requirement to use a RADIUS/1.1 connection.</t>
            <t>If no secure connection is available, then the client MUST treat this situation as if no connection to the server are available.  Note that this treatment is on a packet-by-packet basis.  Other (unrelated) packets without the Server Security flag MAY be sent over insecure connections.  The client SHOULD NOT mark the server as being "down" or unavailable, unless it is not possible to send any packets to that server.</t>
            <t>Proxies which receive response packets from a server containing the Server Security flag MUST set the flag when returning those responses to a client over a RADIUS/1.1 connection.</t>
          </li>
        </ul>
        <t>We recognize that the above requirements are not enough to fully secure all possible RADIUS packets.  However, these requirements allow systems to indicate that they are using, or wish to use secure transports, an ability which was not present in RADIUS until now.</t>
        <t>These flags also provide clients and servers information about the network which was previously inaccessible.  Servers receiving packets with the Client Security flag set know that all possible paths from client to server have been secured.  Clients receiving packets with the Server Security flag set know that all possible paths from server to client have been secured.</t>
        <t>It is also possible for clients or proxies to require secure transport for packets being sent to specific realms.  Proxies which forward traffic from RADIUS/UDP or RADIUS/TCP clients to RADIUS/1.1 servers SHOULD have a configuration option which allows the proxy to set the Client Security flag.  This configuration option SHOULD be associated with the client, as it indicates that the client network is secure despite the use of insecure transports.  This configuration option MUST NOT be on the server side where RADIUS/1.1 is being used.  The "client network is secure" flag is a property of the client network, and not of the RADIUS/1.1 connection to the server.</t>
        <t>The goal of these flags is to allow the gradual migration of RADIUS traffic from a mix of secure and insecure transport, to ubiqituous and mandated secure transport.  We state explicitly that these flags are not intended to mandate use of the RADIUS/1.1 transport profile, or to exclude the use of other transport protocols for RADIUS.</t>
      </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 radius/1.1 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>
        </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 impossible for any Vendor-Specific attribute to be obfuscated using the previous methods defined for RADIUS.</t>
          <t>If a vendor wishes to hide the contents of a Vendor-Specific attribute, they are free to do so using vendor-defined methods.  However, such methods are unnecessary due to the use of (D)TLS transport.</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 radius/1.1 connection.  That attribute is no longer used or needed.</t>
        <t>If the Message-Authenticator attribute is received over a radius/1.1 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) has become 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.</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 radius/1.1 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 radius/1.1.  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 radius/1.1 connection.  That attribute is no longer used or needed.</t>
        <t>If the Original-Packet-Code attribute is received over a radius/1.1 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 radius/1.1.</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 radius/1.1 connection without changing their values or contents.</t>
      <t>The proxy may negotiate radius/1.1 (or not) with a particular client or clients, and it may negotiate radius/1.1 (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>This document adds the requirement that any new RADIUS specification MUST NOT introduce new "ad hoc" cryptographic primitives as was done with User-Password and Tunnel-Password.  There is insufficient expertise in the RADIUS community to securely design new cryptography.</t>
    </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 ("radius/1")
Reference: This document

Protocol:radius/1.1
Id. Sequence: 0x72 0x61 0x64 0x69 0x75 0x73 0x2f 0x31 0x2e 0x31
Reference: ("radius/1.1")  This document
]]></artwork>
    </section>
    <section anchor="issues-and-questions">
      <name>Issues and Questions</name>
      <t>As a related note, do we want to allow new specifications to define attributes containing private information, but where we do not define RADIUS obfuscation?</t>
      <t>Maybe we want to reserve part of the attribute space (or extended attribute flags) for attributes which require TLS.</t>
    </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, and Alexander Clouter for reviews and feedback.</t>
      <t>The Flags field originated from a suggestion by Stefan Winter.</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>
    </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:
H4sIAKJgB2QAA70963Lb2Hn/+RQo/SNSSmolWfZ6NdNtFMnOatYXxZKz7XQ6
GZA4JBGBAIMDSOYm22fps/TJ+l3PBQAlOevWu2OTIHAu3/nuN0yn01GTN4U5
TT6eXVx+uv7m5u118idT27wqk6ODo1E6m9XmTn++OzoaZdW8TNfwRFani2aa
mdvqdlqnmfnc4D95a+Gu6eHxqN1kaWMsPPvm/OXLo+cT+Pfb5y8PRyPbpGX2
57SoShimqVszyjc1fbLN8eHhd/BwWpv0NLksG1OXphndL2kJr//tJvmpqm/z
cpn8oa7azej23t81vcAVjeZpc5rYJhvZdrbOLW7lZruBmS5f37wZjTb5aQJ/
niXztExaa5K0rtNtspcvkrQokq2x+0lVJ6vUrpKVqc0oSZpqfoo/wEdb1U1t
FvaUhsjMIm2LxsId+vt2zT/j11HaNquqPh2NpklewsWzg+TC/Fjdwo0Mw7MC
FqGXqhp2+aY2hoENV8w6zYtTWBfA63cL+IUBfAB3jkZlVa/TJr8zp3Dn78+v
jk4I1K+Ovj2BC/Dp+NXLF6f88eXJ8ZF+/O74O/n47fNDvfrq8OQE1pmXi3BU
+OHouXvy+MXJq1M39Ev/Ua8+f/GtDv3i6Fu94eXRCzf38ZHeixjhP564Fb08
1I/fPYePoztTtrSWJZ63YgF8Z9Aw4v0uN82CoAL35c2qnZ0mHlzfOLQ8gB/h
MKbTJJ3Zpk7n8O1mldsEkLpdm7LBE81LY5OzzabIAZMAeaZv062pk6u6Ajyo
iuS9WVZNTj8lrz83pkQMswkAjtDpHuYPqQmOTr9ewPeDJLlZGbjP+Ec3pl7n
TdKsTFIGg1eAkWWSZlmOX9MiSf2iko0uB+fl8ZPqDta5d7HP07yvkvkqLZew
G6AmgFdmEE9lLZ8urhL35Dc351e8sHBZQA7V/eCqgFTT0m6AFnAdi7yAbSOt
0M2yGLuCWbPEmnltmgRgXFYJUPzSEJiyCQEGKe7dxYvpLIVLySad38K9Nl+W
SOF0Q9PU+axtTFLNFq2Vza8N0FXG+6rNGvadwfJ/WpkSVgBTuU3gvDwbrmwD
rCyvWjhdoEs4bYQlwGCRmyLDO2uzaetNhUsBQM2rsknzEs/AfEbAwxHV5q+t
sU3yDXyC/ZdwjnmGI8EY9QRYSlHAw2lyU92aUiBKn2GntmKI2mRdEahg4OMX
L2XXxENmsM22IfaIAEBolwYXUpo5bvxA0NXvD5kYPGUNTmEHT8YjyARvyeUw
GtoYLL02xRZO+N6hFKz7skGwWYKa+ZzbBpcjByunVKRbWGvnkJh7EA3gj4x/
MN6ZTWw7X01wdlzyHJjulk4fzsQi4eE4i7Zpa4dAblSLC1pvCoMU6pCwc9B4
MrAVCxCD7axz4I4O/QGyfPxCMqacVxngIc6ZGf68aMs5k1nebOXk3APMFbJk
th3AL+TkWTKWVd954TmeIIWNhQnhhQNmPus8ywozGj1D0VVXWUsz49m6zbup
//Y34eS//MJHAuTCF5Ezw0XYHBKMohHTFVxUegH8MTUjcgjQ87auEe7zertp
qmWdblb5HLHapPV8BdSLiAo42tCEsE0QYGYOx8MT1AC2NZxHFtwEz7RASJ7O
ATGR+PD4PB9jUszMBh6Gg9giluPT6/TWMHaugQRtPiuIXSFLFZjgFpI3l1fX
06OTQ6AKQIk8hS3YrW3Mms+sNsLsyi3AMAf4Z7mdt5Y5GqAN7Ya3AsuBGe9h
36vkHhk3oCPSBbABA1vCwRy3DkehCSrgAnBzOgNsg4X9hwi6/2TwwJVrJtnk
Oc5KB4ZC+Jdf4IY1gIeXWAEsanuwSwoBpTxREO2dvb16v8/zoFgHxPBIGogI
3i3zTDt8ErDna4KowiZX2mPk73OYlDk/KD7I2ObpJsXDg23PDPKN/pERWAf4
GMAUcQaWU9umqrKnsLQ6xamZnaaw4qowU5sWKBjucuuYRY+ycA1AOu2GRqad
zYs0X8P5IFMqcuAhKTCp/DHOc5/iyQGfZlnxAcCZXFdtPfei0NTAFmDCN8Qe
GyMbG2/SZr4aM0UgG3IcCyFV5yiIQObX1eccHkM2fTw5PDxMCkIOWAk+42C5
WOBGAsKlUT0LVLaK2JuXMGLBuHpvAO89zA+YD+mDi7pa4wk4JQSUCxHX7lxs
iGE4fopXSNaBBvfbBHFTJTHd2tEnYoBO8BHUnI4OniMDLWDrNYtnYvEZ3YCy
g/hhfLqx1rFK7wxglClVS+CxUaOp7qdtSQv6KDKdFDWV6gMago2GizQFlmaw
l00KY4nEF+JR9cCq8mCFgfJMVpcknAsWxrrCeZEjyV0zp9rSQ9eESP7aokiX
yJlZvLFcXhlQ9EAX4elZh5vTWBahybhICJGDlkECAp+2OibAU0WJAuudsTZd
mmkMFC/194jtoPYPbMfxvYPjfdU0SMITeWxlcGGTCxQkBqwN0r9AjFV6vmdO
WJHmgCj1CdY+vUqtva9q0OhuWlCLiuACjvjuevru6up1cmu2zKhpahb4RHXj
BhBtLEtGqyda8gnZfuNq3sD+d971Yn/iVJxIr/SqbKCtKoGGCmykDoNyhwCu
t6SfEU9OmxTvYYmb0c5uzQYZYH7HJwbW0HJFN6OEhENDpZ9Jl0kPOW9OXBzB
UJgFqHQlU3X2xVRNZBwy0RDXcKWEQqAIgS7ys6gIeOkcwD5JLgMVGX95a8ol
GElCVXuhiuOAvE8UThTnxl6blA0DC1SIsoYQBW7zmo2gfVYR3iFoBs8ksiAU
O1qLg5O9g3y60M3Kvbz2R1bEuGsH1MRdcgwlx3hVbQDbmExJo2NC95r/PqnO
WWWYoEAogfGaOBUiuJO5LGiqqZC9p3pRa0lDtpGIJ6Z9z3I83SnnSQsUnwkD
QWZAwMiSeTxl8EYsiFATScPFqqDaMucWlhPBzhkiBHHGzL3jw1fPv2nmG5qa
vrTZZp/Eam2cvr4ILFwQKKyFvTxCau6Y5ao5vTz85RcgozNQz/5SoQZbwlBN
LKRICcxFyKbJqkK0D3fvVAar9g5x9PmqAomBx0tfvVq1aAGHe1rSHCgHYJGi
vTbpzINjskiLBOG7ixPmgqTFXQp454D9E3j83twhBSIoozWr3qu60PkPZ+Qb
AF6KH8mKQUxLPfv3JCRbFtPkhJ6j2X9CMmpMqIpU+ZxYleDc4HAInfkceR3S
THGfAh8n5iVGXLByZax2Y+bAXWQcRyPM6x5YOYrt3JCy7uxjtAh1ANDQ0YOZ
7KEGUNWzPNsPGe7ugRcCMDFMAJ2Yl5ImBxKflWVSHEs8Ezhc0W1Ey04bvTfA
ks6xdOZGrb1KFmnNqiU+vkUQAq3N0TuK8tFzSdBvU7LpAao8GMtO/oxiE+fd
qkJD8qhhVPR8AVmmkyhyPCVQCJzRpmPzw2POqGMeMGDH8ZpxIMd5BuHrmDxZ
Lmy1KOJNEstylUUprFhlKUwLDC7jpQ5RraA/PoZkKnPB6f2EtgSI0joN0TkD
pCP+1HgrAjEFMGf/AdxAJqJOFwuDwmLnqomrXybCBmU9EZY/gvqEvVWWL7Zi
WpSNCAIVWIK/XVeLSBMypoa1vj3i9WAcFWmgAtp9L/NJvAjxCVY8pkAqM+15
CQH6n8oCnuaF3edoihs7h+eYcJvQbp4QM5Q9BTC05Dll1Ipky0HAYPtA9mb4
gyYou8vc2YWeNDlWb9Dvdk71rdPLpsfL+hoYO9wmPRfcJDHNfBhLcjYv4QtS
I7mrA7D5I53AHBYGEg/dJHDRsXABU7NuiLyFW4RuhdIwpYkKhv7h0nl2na8K
9R/VyuD6gKcKvWQ36B8vq6JablnDBe0+QZ0f1Pl3n65vwIKmf5P3H+jzx9d/
/HT58fUFfr7+4eztW/dhJHdc//Dh09sL/8k/ef7h3bvX7y/4YbiaRJdG43dn
/z5mUIw/XN1cfnh/9nbcQ0TWj8ifm2NwCkDIRv8oQt7fn1/9z38fnYDu8U+o
AR8dof3EXzCKA18QajwbYQ5/RXVpBBhtgAIRWHB483STN6BVkAWBLoCS3Vcj
Nb9Ho++f6EqiIVSBguEDlxIOJrEpGI68lXDiTWQtI4Zd5GkxBQRBg41sVpT7
AU30x2ftfxJ/wW3TBQwmocpGfjPnMvttEMrA9YRBEMRAmv0CuP+yTtd+q272
JJ3BveFAN+eDA90g8UskESwadNkWfjxVKp+H8EF1c+dQxEf4AJwlv+kOdxIN
d7FjPLe9xwcONVw/MkZ05SzJS+N95KLphkfVYbYiNjFawfrNkA+cNUHvxYUJ
kTJqs0DDEYmDeRs5UuEHDZnheKSYO9Z7IH4hXO+TYAlT/wH09xoIhEkHvbw8
sUw0sCcjQSW4qxYFCe8cWs2zxDvscVs3DwgJ0iIU70qGdWwWeQtcoOgNcdhI
6EHHNdFQaq561xmtH40L8Vej1s+3oI0rgt+i6hMog7hhVePud8fQUKUDlYGj
ZZH4JnUD6b9CRCHdFp+JvQ0iLBFsF7p4PGhQThb5siVgM6ca9oU391UHRTHw
orqgxMFa8cjF9idin1PNBvWpU0QqDdSMvh99/z2epvOOBDaktygv2OPinzvQ
J3H4odhRrMIBShCo1DtKcl6AYQjC3jeGrm2c3VvOE2fBi/Kp8EtIEqbWAvhY
q3IRqDFOwz55Ua7iFfjZCZGcq8M7lNiGswQuhKqOTOLpQLcvCFBWrAUolaEd
qioBTjlJZq163mVmp6Hk5bxoMzHhyUQACQpoYLszH/DcPLVuxHmKRSntzbBu
OdSggV1gEKbEqAV7TpDW0EeOOQKgqeKcHqPAFEAd2W+97mEAg3UGoiqhEJna
B/6+CR+NJzI6NR8wC4FYm9Qy1ftFpMnCpBQtFbW7dA6vnHjTs2coqoItA94z
eZ33ncEBCg2pwRUaVQAXWm0mXCevFSODSUK/pGNXlDGAanF8LzqvXcg8jJIG
kTeYEv1cSOnJEkgBiRwd2t7SETVTIMcoxQZnoLgp1qndwpyDfVkihRbpHFVe
uAZ6JUsIIOG7PCPzyQIqkGnuNVG2Y0M0sapv487I6AJFwe7gQCbM5pgWJMF2
xpu7jCM+2Tc43XvYUocZjc6QbGGYP6VFa4hy2I2RTDEShR8Cd4ZwtYCLGWEx
Cei8pLoDJyQKu8tTcZaSVoqDBDxGd4GDIKDRWFhEXM5nZOgEiPxeRxBGiwOE
LrqUMmUkrBuBxBIf5ljHNKFtM7iVXvafulNdCC1XQuuwbSJWoudgo0B5+HiE
uoEcInaorAiWRYGmvDZfYynRnB2m/r0bKVhrX3ImajFx/ggg92wbnImOA0dX
VgFjZYnUy2zQo3UiC3GEmDwO0j1qoB9kskG2GegP5CJglaAgPynqeKDuwfNR
BsyHco78T8ZbkesdGEMgOgOPDMsZyXlRbCCfUYrINA1c0aB8ocuRkSyweoQT
scblQ5Ym3v+gtzxgWcSTQztrNLocGIZYB0V+yOM5JpzmCHE5hIDx00MJYtaJ
FkagIjgcTpqqA3BaY2yA7SS9iH8HgBqWZrA+APOXirEyEIHqQALlu/WaAomz
y4VbovWOOsLKyGUr6Ee+LfpV9ozUwTGvlfq4YGuTYMWk7GB61CK+BxAsY/Jo
ejYSkZE/j3idgDAsLYwPx7sYb+iBGczqIwnVAavF5bAemBamJtfguKz+HAzw
Zx1gnOwdHR/uOyONwGA7WwuWxUf0yKqEEgJUoHUxbuKB1ags3CORXvZFMEdL
2AGyIZoHE6ui6CHwg2WgKNq8acUXYSt5sKOSEaN1EIZdYrxrk4IOM29Rwgdr
XKRAjYKMxHmU1YjrR1RNz40QFWca2/XQEqqPVHCJTF9eobZTw7gT8mGxYIqG
VIfcNasgBQZ7FVMYa8kgeurpytqJkQ7AVLaI8+ESo4ti8GH6EyhfpMasTLGh
6SN1huzMPF2WyI1123doYedgXbBv7llyloVBZPkJECBKm7HDZhfjj4pIfNy7
Dnzux8EXjabcCe3pq+sfMfoCzAA++fQTnCiUfu6H4WxTQMtNkXLoaleqiRjH
D07jYpgUoRlMWJH4YZAqM5yu+zY0pFUmhaof+32FAtTpaHfonRQicVNLsoZF
1RdG5Xxidgz4CHlgfgXcoe+rZzeEeAVySf7bsYK+z6Dp2eCqYjtGmYtTnQBG
i4xNCVUPAuEPes5O4cY4/eSUIArtaQKvsHYJXyDLxSWhf50CU4Q6T841ChEH
yBS5muSNRS5kznOU9BNFqV6kCBjo0cspZbVQAD1QYnqZHJiAFKQ3gXGELLg2
xDuJY9h2xoskV26g41CWyEnC2TM4QZQPpb6ZNSa9PZQMdcQj4ABo2li6dhwM
C5BDwxUdGP8Ff0bJYdL/czRw7Xjg2nN8/Ah+eg5Lf5G8TL5NXiXffcm10T9P
f+V/o7/LYhhSX/7n719rDQTwrzemrk9P7CsO+Y/++RrbIqz722nyjM+LSqj+
ZYz6BUVdMakgJuo3SC8H41+AMeMT6nLnx139waJqa0FzKY/IM3JTEMkg6w2p
hoxLYKTGim4TZZs6BWlOWlfLHNe4CgbQc3OnL1txqZN04kXdoc+AJBA6XpXF
sd00pGaxtYvJWGGNBEVda3gYF6+2ASXLEtOuOHMxAMOE7XhRu4QXSoLjYO4Z
Ml3JG+TVrgwMIeyLuEVmdPfRMqPL3bXtsA7ZlQEA8aEYhYzPo3ImMErefLEw
nGfvhrJaWbID6KL1cxaCDq/ra8CKUjlAZRnzBobZyw9A13OT7etjvNsuprm9
usUh4DARBcRomSPH1kocyhqAH/BUdpy7CGR5kNEm9sbDw8rzhc1zBIhR2RUs
SKbsto+suI/kg89MYNAgXoZB/klkypAQBGGlCQ8L9Cd1sQ3Hhf813X1J0aJG
FPEOGZAKuNZEVoUQURn6R2EYtKpRHmsmE2a1cc5XkFIf6frBFDgoIi4P66S/
Cx8DtVq5FdXHctsQQwjyNVz+Me6T6o9GI5GfjAPkJ3TMhhCd5CxMXVBG5kQD
MoidOFtNagVlGRNh+sCt+jQcY3cBYf7u5zGFQQVh7+hoX0W4m9DhpzX6m3NW
sAPkZ1NXkjsgrmcF/cGuJ5Ub0FMhuHc8xzSry0YNjMuQ4lCoFTcjFZl5t123
wKzCVF6Js3U4RG69dCDtliKnaZ2Fqq1XETu5Mo8qjLH2GQTsqo2pxWzq5k0x
IQ1onPAIWq48hh0qzHP54jgvoF9WqL+aDTnS6yeytamqpJ1yo00N1jCarYPL
J1XcMy+SoTstG5SSFaV+AvIWLu7ZkbBu3GfJteDTFR8P5nxKNqu4TMg80MNz
SajhgJRDP0e/Fht3ZbueweL7Rx/FKB1T7Rb3JY5KbbziKFl/kzYrD33iTMrs
R4OcXnKHPI/HUEzM5yPbj+tUOuHuXhYfcfCGMyOagGW71J68dNtWZ27A7iLz
Jow9p72xgnVJhafLaBPzzS+k8VWkwbaRKYv3cY9cNvQbBUzn82Z6YQBZpzc5
W+beZA2SU14GqekvDo73J8Mb8puJDmNY4PpvgXblFIIOXkiSWr6I1DEkmlne
TGG46QwPKGO2UCR7VSguI6zYjxSMcLh1uu3ktzd+h6L7rOJH2G0K8NXdzJ3b
sgMhK+pZd9IgXCuBPAcYFGAY6sHsMozSbidDoT1NyIzmgmFEmiu3TZPnxwSk
edWiUA18LUwLMLlJETlCyJP7LHXPiNuN8rqAcaVF/rMfH3Awgw/CBWT6qia8
ljRfiYKqUoliGHix807qNHM+tZInmrOCI9LJ0/AO4qXqgwcVIQ+uWGfSW4QQ
dTXje2DXdgzYBhfcblf5ciW4L3JaGOtHJ3ID1iqeTi0/ZKsj8iKFiq6IH91h
rKoTRYMC77zEVorPGTccMs22XrBylEO4chAtYMdjPP6eOVgeJBH324+ilT5l
EFW/jnkxuizj8hF+1JfACGsWYeAoLeYIzXbDxsvDrGGS0FrxWeBkoHlMQwcT
XMIThJPQy64UCXCoSDeghaWZDcVYJrkWn1W2CMi0gMwXelhXrNTbmkZ5mazy
MnKwSY59h/fJhrUlh9uqVs8tKNt/wAusuVKu+pQSArrHkqTzGgRXsm6LJt8U
TuXpVIYOFtBlmQ2Aohoge0LDCFjeWRwhMqjRDQzXX5CtCjNsAD9ofZ6pdc+B
FzQGgwFSDQT7UkQ+EXJClnjMTY2e3bmSOpEGBis57iY13S4Gcmckc55PBOuE
a43LOf4wESOkCwAUTqouTJBT5JKPw+0uGuJ6yN/N5xQfDQIicyok51k21rRZ
Nd3JXCl/mVP+YeCcS0iU90dmqY15n5qArFGquuBT1QhGQSntMJ4HGuuiLVwu
+KCE6o3QsXOUs/XZIidcu8wUsBy2GiWvHJ+5h9GaXDwwudZyiY/I5xM44gqW
A5iD1SjURiJXFatmez0LHE87Q7pYvS81UzsS20Pi8qo9a7tOtY/VX2eJcp2r
Wi+s8ieUGMbJuG6OZjVFc7NwCrJ2cmB/kBJ8R8eGlWIEzAWY1/mSaz0qoXOy
LNbYJ6L0xo8JMzT7i8+9sRyVQ4vHuud17rslxSv8kd2W53+/HnBdelckzx24
IgPQkufxYzJNYnM917VqOtwTje7ec08yufMAMk+3t89h1Z1SaPU1dCukNXci
RcOKVD3hfqwgiQFlo1Lnxhcx+rLLoP6oIzdW1SbO8pJUjdz133CpNCIypSw5
yrUZvF/EqjgoY1u0qnMwV2jxTiFghTLwRATiQjQUOk631LjiW4vyImVU6o11
DVyQ1dHZogXsSIy9Hl7BvWQzSCmWVloNjRhvyD59RZdXgA+csfbw3E+ZNUl+
CKsmJZX7e19dB2oLmlsYfyy5fhZwinopFFukgNKAqVPfOpRzBUHdgjhyH8jN
TRWUT7FA981XwrpzXzMEq5EUMGq6RjLwlloJSCJD6prxPBmSqbK5dVqmS3Z9
6hIlQ19PEUQ2PaLL1Pss+UQD4Mq5kCf2V56Mp0E0W4WuyNUoKTzBMXiCzu2O
iPr5leNSzrAIjreaw76sWEYoiZegP/3Md63IIcuuWoxUD8ArKJL107tkVTL1
MCu/ydfG9gBB/lxWsibUHyrHovpwCd0T64VlouP24fkHiboHIH+qjp19BRob
ja6BxXc6WyiLH2p48RQWj+fPigDWO+jToDqoZcj6LA0euNCCKI4VkYDpZwxC
1byHWYtKyqCbl0gAfl6zrr10dHOiBtvs2qzVaABrw70DDhxcTVCnZDvxfRA4
pMA5lOivB8tS2Ig8X2GaIDIgdTF8nSXadmZRjwTIdszVIVcGrtl1WRNlsrtA
3stF624IiB47+ET5Qo4tTZw9i4fZyzuOko6FOROxdADcM7q9sh4ryUFpt9pO
g8TAu+GM2z4UEe3v0rxIyZ5yLjZRFCKDMGJinNRI2X2+7UIVUgB1f9ChqXOg
VxGo4BtG5ciXiwDjRqez7VQOTu1TDtLttSUVmJtsP8JylVuDWIRHEXnHnTDp
8n2358ARs05RcAZbUlN4jAmJYzwskNAefC1nKvlmeKFjmxMtXa8aMWXSRvsO
0DFdSYF+JEI9wuqj4i3zDT3QotEsqmFAcK4ng8ozGEC/tpYnK+tnslzPrr0+
HlALtZR9Xi1BcARKIFv6ccF0zWVdpuR6joqaVGwVLalzn0IsDnZ0lCbbHZiS
89XSGtJJOaREhhelmYOkWrkCjq7hNaHM0FmOXfu0lVsqJyqdBV17hwSdYdjq
4p7NNWvEsKSKOVft0Xd17UgNjYU7TquZWNQTLiXmkDNJXctID7D/QXMG8YAU
Oc6CDcGO1q7gV8+C8Z2qVKVPfpUEenwJajqp2BtYgmYFM7hD7TfoT6V9LxrH
OHuHHklspnKV1i7OCCyrWCMuxmQqmgmOtcDbAnfPgL6jy/JdU5GgFCmE+3AE
pFPbVG3on6AHl9UAMbe4UPoeOnRVbgeH9BGI1NpqzhmN7gB5xa7PZ6APqb3H
8ynqOpsPdaNNHtRLgsR0DDiqRN29tNDIVX81YwXlkt4HPngNnQd1K8zZx7sW
OA50P4DixtQ9A95JdyRd5ACRe7drI0ciUPw3yyot5CnHHNg/5HvhLus0a1HL
JyeRZFL6kl2PVinc8tnpn0b6QnZBOiHWNsv/CvIaky3wLmk80/czcTG1bagM
0Zcu6ul6hibcG02SMtO0S+5m01ozAJhe+QqxXgyJfebs+AAvJLQYPiGVJkFT
DExPdj3cOEEAjno0eoeNM4PiY8+diZCCgJUrWR4LMt0DMxi7bkTduNYMTp/q
gLotqXxechTabYI8gslwBwwWRC4l2T001Ikl1PKkosD2+5K5nsJJg8WPw50Q
XlELqmfPkg/awjUL2uFRyrEkZYeJ4v2lxcE9rZRc5XKaUQy9DHPfS+qPs0H9
Dv5xyt2NpHb4kzelbWtlL2nYiM2PTvkheZahw53IAlNSZnw0sJcuhMiH4vet
6dOBp91FqMMcfVAnNpxX7tyQ3onuC9gvOR4zER2qc9TSxiToFthQnStHD+i4
ONzg2q65ARg8ee2xVrLAiCmy95cW7X5Xr09gsXCbpe1G3Dw0D9yPKTO4x2/6
O64kkEKanfTwTHuVPdWi4QI57AQVUBw3mpL+iUG7xHGOZGTSmnslihM0UHkU
6dEKW/JyfDMrbOgfN52mNstUqWDIU0Z30CEJHkf+GTkqjkvFq9OTCdynGLXA
oNbSTgJ713KfombVWj/EPoekgFsB1bMbgDulv3FHgeiMugPFWXCHedB6jssg
EElljGBsT4f3ZkaZ8iUsyEyxSz1pXHyEzJXIU6AFQWeWMlhsW1CLnS13obUP
Hg4LPTigMV1fgEZlJPoeNclkqRZd6rXt7DRexOwWl7Ci8HYg4NTDLvJTlq3i
bvIbxJrf7O6wKUFrWhVWLe9ax9G+bKnT6FMya+KLQ9t61Wna+VW2FfFxq4xc
C8FkVazVTV+X2aYCGbxrSc/3qSAM61nJDAv7YXl+57nhAEPnZmrXaaGesIp7
3kzjHpvdspHB9Uxe+CZeuFnUcjjBw/mSBNgYpxdmGYAztdPcypn9CZC8qqfX
qo9H8gtA3f3d7z1wlWq5fsj2umco9brMqLF/ij8yBK7KwwIL7nAP0iB2iul/
0x/NNuwaO/1o5nd80QsGObsXJyGsjrFT7MBSHsciZlY7yePFPvNy3zpRsiye
+lYF9mgEPdTV+bYb4vLiAS90fZmXKy3Sznv9zppa9XpH45O1zubbsKKxex0T
b/zjuzuo+pA6T/ByePypLkDb8wXeBiLCsLErEqO01k2ywEdow8K2qKPPs+FW
dcxy/vE2yL1Se3HTBDpKP99vBzsgQUO9DUzGRjUT5xN67PnKhAemn3R4ka8e
L2DYYktaNDVSZBNBCxLI0QjCiRI9/PPjQS0XX0KDLb48Pb2Ke/E9aT8doHTe
hEC5GJZfX4F5ib4BBxcFzivfwBfNgx7hOQdgn+k/tjhikJSLMXNZ4b2CeNXI
BaD+fRw+31pY7DzlSvgvWMJObMaiS2zLPBoFpcg7AK73BjvrneTxUUeo/Vps
75a6hFJ6cNMT18mNUx+fuJMB5slZUFxp+e7sfPqRko7ynyN+PrztY+fZ6iXh
X4p3nn4d2hjqzo9vDjv6UDte15cXFUjMR0NFudvUSzUSvDPokU46py8A8D72
XXn5Oo6WsPatpqAkSZLOZgUYeC4s1jjT3BU9D9noNx1JEXEh79IItSFRVrba
7jssbNhRpk044vXtwQ1FFr9HWna+9DrB9qrQsZ9BWi/R1Hm0cWhQ1JQmycLc
Dx3hDrzAPYbtXOM+6IPOClINXI44i8PcN4V1liGuzHX2Cb0vD/aRY6i5Yym5
xi+qq99h5XuFY0dt/Q2Z68ETPcy4jw07Ag4nbAWoTa9qAaE/cYmZ7PsYw6dV
NR/z2zZS0j+pYvHiBTUDFzemy3Dc0SgLuT57eAcI1UXAUK5QlwTK5wz7ED9l
/KCrsHniNOxL4hQitJgodsciAIlu6JeeVoNvYwv43cn/j07zyNJ+lUojbdx2
azZhteXXVG68QiJcLqzY6eScPg6A8DUSRly9lLqJUsx1KZ2+pg4gmgtK3qXw
TWOu0DJo2/3U+bmfV4dXPl2XKh+b5P9el3psCeTMlkASsoMo74qT/RF76E1i
1rO/2kzZNLQd5jzx7Q0DllaVhlO8o+Fdd/6la2Vam/taQzWutXdPYOa+h/ye
RLux3/iU+o0nm6rI51v/1jSWNTr0vvO/dXm85Fq5QkYxq4LGMRgFx/icTNAW
xlUv0I4m/iNvzm+MazJ6m2PD8cvfB9NRfYRNxlfcy2KcOy4Wo/GrrcLW99rq
cAfPid+B53smSia6JC9zfhCxYYYIwte3xwpGdsaLJLyHxdjuNR9RzmnePH00
EUBBS8jclazD+U601QjYTDNMRGWW3lGlhrQNzhoY6je+s7n4wPv/kP7OSYxP
z5YU65eXVPG1lK/FiQbxW9c4x4V7NIWsml8GcrZBxTH/nJz3Xt92dIgdRhfR
+0EG26rz++vKKnpzFkerpEOSJUhy5KHXvjBuektVJ2yNdN4LgaeAxV9DvV6i
snF6r6Che516s7v61vrXmNEJdXzGAJMOeYX8F5hoi3FPQkPzGWOzmF0Yt23A
2pK2xGNqNLup4JS8Zcl1cYGeRifeeefjNfzbAv/diyqA2Xklr/dSzQ+OKjEA
9Ko+2NeK4S5mSmKtzgEP7/XMkn3dg38rL9LpX5AqXK4anKe0FPxD3vzQzjDe
+PFtcvP7C2fVYHcxp9vBjWOsf6KeiTtf76YygkKbbQ6qgdbG6DtdsVTfl1rE
EXngDpa7pKPgyu9SYMXnFfV0klrwQbB4cTCUchHGc4jaKfG1KJx7WCaSl+YE
9Vlf9PYd5sEypjNQ9RU3cgqz7pvdaKsujaK/V1reGj2BCyAy30HMkRweBvMH
TiiRkebRSN0I9+XZ+7PeZHQxd+97owA/pWWzPYX7/bK3OrrfLi/sGIZdoqTd
StbHfUXUY7C0y7gCE33k1HP9w9ElUO01JWDOzWly+PnbY/jr5RH+dYJ/fYfX
XuBfz+Gv4wX89Rxkhe9wuD/6aKTK9zSJONbIzxi0IfvHJoRPhj6Fs+2Fbb32
k87stGc8D+o+R+j1R0l3tc7kZ78OKqUT9BjgKz9TThvi7A4EY8yXXaf12M71
SXz6Prao0R9mdXOyy73xrgkaRfv3+4DGv45G79LtzITLkeoYkvE9zQ6WmIoz
k/sxm+gFvJj/sT9sdAd99jg9Y45pXYXJOFndUu3qKi8zYMmrRt/T6t9yUxvK
XcBofOfFWig7ivwWWdh9XVFZ4WXDbi3Qw1O7jcahWjFhrPQOEWqr7LLhkauQ
ko48dVkxmCvQHdzbypqurCSpzlI0LW/p2H6Pufggus5m1SydJD/iu56SH9oV
WDz6So2zwnxOqaTxvABNTVLBMeJh7hmHFmBVzMAiGCjvciU5riDatssloxyK
oevGLGDzP1FVACswxKyLajkaZfii+mlmbqvbKb/BfGoZvaeHh5j7fsnV5clH
eYfp4CPuteby0CdtFsxZbSADsYFt5Otwrw2Q99RwTtFFXW04vE8NTa/5ZMeS
+J5lwdtvcZBhV8LDC6S3THxiLsikgk6Og8ceOx7JCoLeNZxOIB0vNWn6Hb1T
B8z1ukYor10KJ3NeTuGFweUNzHioo/8FLXjj0v6AAAA=

-->

</rfc>
