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

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekok-radext-tls-psk-01"/>
        </reference>
        <reference anchor="I-D.tomas-openroaming" target="https://datatracker.ietf.org/doc/html/draft-tomas-openroaming-00">
          <front>
            <title>WBA OpenRoaming Wireless Federation</title>
            <author fullname="Bruno Tomas" initials="B." surname="Tomas">
              <organization>Wireless Broadband Alliance, Inc.</organization>
            </author>
            <author fullname="Mark Grayson" initials="M." surname="Grayson">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Necati Canpolat" initials="N." surname="Canpolat">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Betty A. Cockrell" initials="B. A." surname="Cockrell">
              <organization>SingleDigits</organization>
            </author>
            <author fullname="Sri Gundavelli" initials="S." surname="Gundavelli">
              <organization>Cisco Systems</organization>
            </author>
            <date day="14" month="June" year="2023"/>
            <abstract>
              <t>   This document describes the Wireless Broadband Alliance's OpenRoaming
   system.  The OpenRoaming architectures enables a seamless onboarding
   experience for devices connecting to access networks that are part of
   the federation of access networks and identity providers.  The
   primary objective of this document is to describe the protocols that
   form the foundation for this architecture, enabling providers to
   correctly configure their equipment to support interoperable
   OpenRoaming signalling exchanges.  In addition, the topic of
   OpenRoaming has been raised in different IETF working groups, and
   therefore a secondary objective is to assist those discussions by
   describing the federation organization and framework.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tomas-openroaming-00"/>
        </reference>
        <reference anchor="I-D.josefsson-pppext-eap-tls-eap" target="https://datatracker.ietf.org/doc/html/draft-josefsson-pppext-eap-tls-eap-10">
          <front>
            <title>Protected EAP Protocol (PEAP) Version 2</title>
            <author fullname="Ashwin Palekar" initials="A." surname="Palekar">
              <organization>Microsoft Corporation</organization>
            </author>
            <author fullname="Simon Josefsson" initials="S." surname="Josefsson">
              <organization>Extundo</organization>
            </author>
            <author fullname="Daniel Simon" initials="D." surname="Simon">
              <organization>Microsoft Corporation</organization>
            </author>
            <author fullname="Glen Zorn" initials="G." surname="Zorn">
              <organization>Cisco Systems</organization>
            </author>
            <date day="21" month="October" year="2004"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP) provides support for
   multiple authentication methods. This document defines the Protected
   Extensible Authentication Protocol (PEAP) Version 2, which provides
   an encrypted and authenticated tunnel based on transport layer
   security (TLS) that encapsulates EAP authentication mechanisms.
   PEAPv2 uses TLS to protect against rogue authenticators, protect
   against various attacks on the confidentiality and integrity of the
   inner EAP method exchange and provide EAP peer identity privacy.
   PEAPv2 also provides support for chaining multiple EAP mechanisms,
   cryptographic binding between authentications performed by inner EAP
   mechanisms and the tunnel, exchange of arbitrary parameters (TLVs),
   and fragmentation and reassembly.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-josefsson-pppext-eap-tls-eap-10"/>
        </reference>
        <reference anchor="EDUROAM" target="https://eduroam.org">
          <front>
            <title>eduroam</title>
            <author initials="" surname="eduroam" fullname="eduroam">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OPENROAMING" target="https://wballiance.com/openroaming/">
          <front>
            <title>OpenRoaming: One global Wi-Fi network</title>
            <author initials="W. B." surname="Alliance" fullname="Wireless Broadband Alliance">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="WIFILOC" target="https://www.wi-fi.org/discover-wi-fi/wi-fi-location">
          <front>
            <title>Accurate indoor location with Wi-Fi connectivity</title>
            <author initials="W.-F." surname="Alliance" fullname="Wi-Fi Alliance">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC7525" target="https://www.rfc-editor.org/info/rfc7525">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="R. Holz" initials="R." surname="Holz"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP. Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation. This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7525"/>
          <seriesInfo name="DOI" value="10.17487/RFC7525"/>
        </reference>
        <reference anchor="RFC7585" target="https://www.rfc-editor.org/info/rfc7585">
          <front>
            <title>Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI)</title>
            <author fullname="S. Winter" initials="S." surname="Winter"/>
            <author fullname="M. McCauley" initials="M." surname="McCauley"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document specifies a means to find authoritative RADIUS servers for a given realm. It is used in conjunction with either RADIUS over Transport Layer Security (RADIUS/TLS) or RADIUS over Datagram Transport Layer Security (RADIUS/DTLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7585"/>
          <seriesInfo name="DOI" value="10.17487/RFC7585"/>
        </reference>
        <reference anchor="RFC7542" target="https://www.rfc-editor.org/info/rfc7542">
          <front>
            <title>The Network Access Identifier</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>In order to provide inter-domain authentication services, it is necessary to have a standardized method that domains can use to identify each other's users. This document defines the syntax for the Network Access Identifier (NAI), the user identifier submitted by the client prior to accessing resources. This document is a revised version of RFC 4282. It addresses issues with international character sets and makes a number of other corrections to RFC 4282.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7542"/>
          <seriesInfo name="DOI" value="10.17487/RFC7542"/>
        </reference>
        <reference anchor="RFC4372" target="https://www.rfc-editor.org/info/rfc4372">
          <front>
            <title>Chargeable User Identity</title>
            <author fullname="F. Adrangi" initials="F." surname="Adrangi"/>
            <author fullname="A. Lior" initials="A." surname="Lior"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <author fullname="J. Loughney" initials="J." surname="Loughney"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document describes a new Remote Authentication Dial-In User Service (RADIUS) attribute, Chargeable-User-Identity. This attribute can be used by a home network to identify a user for the purpose of roaming transactions that occur outside of the home network. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4372"/>
          <seriesInfo name="DOI" value="10.17487/RFC4372"/>
        </reference>
        <reference anchor="RFC8559" target="https://www.rfc-editor.org/info/rfc8559">
          <front>
            <title>Dynamic Authorization Proxying in the Remote Authentication Dial-In User Service (RADIUS) Protocol</title>
            <author fullname="A. DeKok" initials="A." surname="DeKok"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>RFC 5176 defines Change-of-Authorization (CoA) and Disconnect Message (DM) behavior for RADIUS. RFC 5176 also suggests that proxying these messages is possible, but it does not provide guidance as to how that is done. This specification updates RFC 5176 to correct that omission for scenarios where networks use realm-based proxying as defined in RFC 7542. This specification also updates RFC 5580 to allow the Operator-Name attribute in CoA-Request and Disconnect-Request packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8559"/>
          <seriesInfo name="DOI" value="10.17487/RFC8559"/>
        </reference>
        <reference anchor="RFC5281" target="https://www.rfc-editor.org/info/rfc5281">
          <front>
            <title>Extensible Authentication Protocol Tunneled Transport Layer Security Authenticated Protocol Version 0 (EAP-TTLSv0)</title>
            <author fullname="P. Funk" initials="P." surname="Funk"/>
            <author fullname="S. Blake-Wilson" initials="S." surname="Blake-Wilson"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>EAP-TTLS is an EAP (Extensible Authentication Protocol) method that encapsulates a TLS (Transport Layer Security) session, consisting of a handshake phase and a data phase. During the handshake phase, the server is authenticated to the client (or client and server are mutually authenticated) using standard TLS procedures, and keying material is generated in order to create a cryptographically secure tunnel for information exchange in the subsequent data phase. During the data phase, the client is authenticated to the server (or client and server are mutually authenticated) using an arbitrary authentication mechanism encapsulated within the secure tunnel. The encapsulated authentication mechanism may itself be EAP, or it may be another authentication protocol such as PAP, CHAP, MS-CHAP, or MS-CHAP-V2. Thus, EAP-TTLS allows legacy password-based authentication protocols to be used against existing authentication databases, while protecting the security of these legacy protocols against eavesdropping, man-in-the-middle, and other attacks. The data phase may also be used for additional, arbitrary data exchange. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5281"/>
          <seriesInfo name="DOI" value="10.17487/RFC5281"/>
        </reference>
        <reference anchor="RFC5931" target="https://www.rfc-editor.org/info/rfc5931">
          <front>
            <title>Extensible Authentication Protocol (EAP) Authentication Using Only a Password</title>
            <author fullname="D. Harkins" initials="D." surname="Harkins"/>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>This memo describes an Extensible Authentication Protocol (EAP) method, EAP-pwd, which uses a shared password for authentication. The password may be a low-entropy one and may be drawn from some set of possible passwords, like a dictionary, which is available to an attacker. The underlying key exchange is resistant to active attack, passive attack, and dictionary attack. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5931"/>
          <seriesInfo name="DOI" value="10.17487/RFC5931"/>
        </reference>
        <reference anchor="RFC9190" target="https://www.rfc-editor.org/info/rfc9190">
          <front>
            <title>EAP-TLS 1.3: Using the Extensible Authentication Protocol with TLS 1.3</title>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="M. Sethi" initials="M." surname="Sethi"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods. This document specifies the use of EAP-TLS with TLS 1.3 while remaining backwards compatible with existing implementations of EAP-TLS. TLS 1.3 provides significantly improved security and privacy, and reduced latency when compared to earlier versions of TLS. EAP-TLS with TLS 1.3 (EAP-TLS 1.3) further improves security and privacy by always providing forward secrecy, never disclosing the peer identity, and by mandating use of revocation checking when compared to EAP-TLS with earlier versions of TLS. This document also provides guidance on authentication, authorization, and resumption for EAP-TLS in general (regardless of the underlying TLS version used). This document updates RFC 5216.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9190"/>
          <seriesInfo name="DOI" value="10.17487/RFC9190"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIANVnwGQAA719e3PbRpbv//wUWKW2VpqQsiU/Ynuq5q5iORnV+KFr2ZXd
2t27BZJNEmMQ4KAByUwq3+V+lvvJ7vmdR3cDhJTsbNXmj5gigX6cPu9Xz2az
SVu0pXuVXbpd4xZ5W1Tr7OPF5dXnm0efL6+zvFran59eX0/y+bxxt2NPT5b1
osq3NNKyyVftbOm+1F9mTb50X/FHeBxfFZ2fPT6fTHxLw/9nXtYVvdY2nZsU
u4Y/+fb88eOX9EzeuPxVdlW1rqlcO7lbv8J8b/7lU/ZT3XzB9D82dbebfLmL
T80usYIJzfcq8+1y4rv5tvC+qKtP+x3NdPXm0w+Tya54ldF/32SLvMo677K8
afJ9dlyssrwss73zJ1ndZJvcb7KNa9wky9p68Qo/0EdfN23jVv4VD7F0q7wr
W09P2O/7rfyMPyd5127q5tVkMsuKir68OCUI/qX+Qg8KzC5KWoR9VTe0yx8a
5xSyWea2eVG+onURvP55Rb8IEE/pycmkqpstgfbWvaInv399ffaUYPTD6xdn
3z2lL+jT+Yvnz17Jx+dPz89oGUW1Sl+iH86e4Ad7/Hn8+EI/Pnn23Uv9+Ozs
O3vg2bMXj23os2c2wvPzM3vt+fOzJ/HjU/v48jv79rsnz3mEq9nlaQ9n2tLP
dv6L/dbW29zP6p2rmjrf0sHbD3+tPQHa19Vst9vhRZfv+GX6F8+8ufz88cPF
O3yk/xTbj9yywzhH8q2dTyb/yZnoI/KlwCs88elfPtHJb9p25189eqRP8nFk
2YfrN+8x49X7HweTfqDVf9TVZx8ql63Lep6X2U/F7IciI8y9I5x+aEk/FY0r
nffZ9zTfcg7ivCjLIq8W7ncs847mkodPF/X2UQLLR/TCT1c/XL398Hqw5IvF
omvy1hHeLmsih7IGGddVdle0G134oq4qtyBkKtr9Q6s/ksdtxUf3Lzms+O7u
9K6YrQqA9tGy8Iv61jUz/uoR/39mC5pMbl3VMTqvwRGMT9DfQjyCVv9cuHal
B7WmLXTzV1kkqEeHjOqUniK6nc2yfO7bJl/QX0KX2aLZ79p6lq+Lknae3eU+
WxWNb2nCakkwW2b4pmu7xmU42Wy+B8ZnIMJT2unGZXXX0lHQv6us3eStPIaB
Wvpx183LQsFND+isgED26e1NdsxjEVGdJFxafr4Mv4O8TrAO93XnmmLrqpYQ
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
ENw2mmw2Tyuon9MLkjFqDgExQzRLNE9Snsq9NreQG4JUqcDdBTJueldBuGhA
+JxHM4INURz3mbXiS+syIN2KdJQ0gwjmyB7pnpzH+vhEOySwVX2niWzEwWiA
pPPwWJhYA5p9ZBw0hNAcALSLZXQiXQrT4hBbOwzrrDFAIV6zIdBh0/MA7Sfn
Cms59wHmHb74/Gk8m6uxOe9y6PuDmq1w3L0UwyJpiSEBwQI2iaULW8JhSBuG
vdcfWJc7Uu2V7vH8adijBJ4gQKwyOGZH60oOSh45/CTSN1R/RelKx1s67vo8
aAd/sN+piYOQyygwV6eoNZk2/c4SjiaT1w9WP5qtGQtYM74IbmDE8zUJelVF
hrJxMquFIUgfmyw2CbGfrUyWMCHt1xJi92mqGku5qk3b/cV+ZOzjLDQooktQ
FWpY3Sn1rYnmhB0LnLgYsjQno3bj+FP279/8w6PON4/mRfXIVbeweEr6Gvt9
d/XuzatX35NJ8+T8j/odR1levfr8kY/5+ATf78gqbLO/klJy/E+zf0IrSxDv
8dHxxdOTPxxNs3KBRPN66f5zzmMd9wd59aoTpDk+Oz+h/6bZ0b9XR39UCldg
ot2Bz14+D8pKWkSgtYe9+tupzsnZ0+jXxlOHENthajVfPOTqnZyUXPtGSoqq
CBHzDcppOA7ZHkfn1d357OliVcyqYnE3e7I+L2bPbr/+7cj4MD8mlAL6vVPH
nHh3LD91b8ngfVklZ6qMxY8Q55gcnkx+LPRuN8GbYhGarhjOsFiPBaAh171C
W5iFeQyF3O/QAeagmDqNpABUSbojvHcb7Vu9RA26XeYT+kdFIizlrgWtE/69
g1hub0isPGTpLnI6k2ZtbdeuDVht9NlIvat1ZEaux3jxdApjZccKY+va2KZ1
3NzEs9v2ujHGjMNQe6unMlSrxnNGI4RSlUXZT7+fGIpmrRzbmNlICXBQx1Yr
QC9JReeKW2kzljSOSlu1y/1uvYYPNwlUQi71pyTdQ3gny2jup8tel9RaSlOX
k3SZmGN7cFtdY9dskYqHh9F/pNCy3mLQgCNZXnvf3YuW7fVfuNfCkhtNlYn5
f9bKVZyBwz7JQq4/Q3Fh33hg4XqdiXIdtT9DJkMcXlObxA1YV3ubikPiYpNC
wI86ZKS2OvfjPmHpNtzTXkA23EujT0lmlMwH+bWDhnADhiwZrNwjQNapOmkh
jcbKsFkNCOD+Xb3po2gG8f3KVj0Ne7FWvF6z49/JOQARru04r9LjTA5nMoFa
wBYgCo3ilQVpblJoDXfQsDcizvXVVfTvDXHktAfXXnNi3Jc4CurkujpNmVJ2
FwrD4H+x7k7GgSoHhwr692JByVJCEFSMONNXporoTEVJo4aAYBqMsabCT897
Vt/Tk1jAidTMDQwPwHjG/i6FOvEmef/pk+/wfkjeDvr7pjWBJtZhiMsd3E6o
DXCD9nz/lP0aMO0nZL33PiUSMRZFmauBK9tff76yJnXhXqzQxBvNJA4uf4iX
wmmKWshGRK6VXiLBNMswfeCKiTSlGDhPttCMFWX1HijZS8ICimI2BRPcofFk
PUdIYvzVSUtxEkK13HtoFp7ch0Aq705D3aGLX7R5WWroNRoWbx16DdT86jG/
Wps8HHC2CK1QgNtjbfQLO0LSkjJpi90rV8HQwkXIhsyr4mffhiNO/Icf2CVQ
N7P3FzezpNReEPPFs2fI8FZ3sRVShrWMtL2nYVyoGO1xMQLA27ErJY7TVopG
y4InaeIqAh+l5wT0CKHkFgbmpbiWmh2msRd7YkDFHEBiTg0K35butB9Sufda
ueifQBgxvZ3u4v310ITGXVxlqQ0Nxu7RUHV//IqNkEyxVL7LCclK18bQWi6H
TPcB51Z0IvV/NZBpOZsqnV9FOQu8enQ5featRUNFs5xJJ/tEFSURc5ilcI1u
8QQJCZ0d3DOXJH5yfNL6u0ta8T0JympFJu0zh4Wh990jBFrhrNYyOP65nT1B
z5rg3ObS/39R5sXW21MSwWzk2pd7hy+s2GKk72qst4rVQVdy0Y2WryeV8eqA
EjNJLtMOHsETkIJdmDQWVvntCEqqXPOKgqp1eCxcaCw9/7fobC93E3fElvur
TldiSURps23Weho3W3IDdz5sy3XmjXTtnFMoQ/10r2NqvHRgcPJh/uRYCyvH
CQ06YEanEe2tI4a9Dw1Co3e5V2sg1x6wS16rZXUdELZVXe+0TQJfiQJ1L+kc
y4oDK5PhuiuhpFYuvXJmJ7uvNGcnQpfLxdXjTwtdxJi90YUkbopCxLkiUuap
LF6h38a2+BuXVCSK+1fzYjfIcwm30bwJZQFJl910Un03NINgVSCdVtsPIqfI
SV392DGxphrUBm3iKJ0Fow7eFP7LyNkMKvgkZT1ZQewtdQ99+lT3HETcHpKc
lk5x1b89g5sB+KhaTkPgbdzY6N+NC1+dVAJKV2JJfh537kP/oinRjJ1FDvGG
DWtvPl4Lg+BdsXMJpNlRJJgeEGmv91+Z2xiGC6/lQw+QiOqKdYqp7wWn9h1p
wxVnwcu34ix6rhlQSN858QERvpcwVJU5Vlw8FgpPSYZcX1xnt56Ll6ZW3GOl
sVze1j9zZI5ArMg9BqEr+KGpizWajhWSEvMSRdns+3jggrVclgPGqwtKG/XB
zW8eMujr28KvOyQLCcqo58HORctgbHzmqXMr9OHaIuYCnIofiu+mY/sJu+Gc
i7tNXUo3weCxCLvsHyCIIGRVA2ijezP1n115HTNwveDKdgQyJeTNy70vvN1g
iNMLdgyXLvTvPbVLcdTF55Qb9VfIiNKvvg18vpSbmEbLqAYb6VfD9nWEOrnh
LTCBVGDbdSF4UCvjpCzDqtp0fexfTKO6IchmbTcbi5CCENWDk9ysJBdORGdX
tU+9EQJd62VBEm0X8xLuiqT6XiLzjE5BZWQoStMnM5Yj28vJcFkkHP03fCXh
aiBejdd2s3JrwZbd/rhBu3CLGNCQkx7M420mb01k4NUGURhOQGr73qGPY5c4
IRMPVK8fVxjVcl1A6tJUGndDcDddbZvCrurCa0fBcp/F2GPNVws57ftyxCd9
JOkbW+ulXdF7fIPSiFbCWg9Rj2vWtW5KB4k3qifhHfyOwv44UWTnVo8DB6Yl
B4Qfh5uW25brxvyWEA96x5jeg8WoeUCfvUEEw+PghV+Uoqsgzw6GCByCyQlI
YwhD6zQjWZNWQu0o9/LNPWL8eqPuPXqdirH+iYYla0aedl6WXkkg/LQulFki
kVZrfRvbwRvXzPKkt4D1R2zjRT7MXjkhiL2pZdmxLwrWiSWkTdODPTg0n5RM
Jdf/2R9Cs+NQQObn+0+KrCcRrQ5gkujYVpCb4lrgSca87h/plJf2EBLyLIaJ
h5nq1ypBUrgbuNnVml6czHlG8f5WuFu5HYvVWo3R/QC6geoTuDEVu92GdCkp
HVTQqjZUS+51YhBYGRxbnT4Ck9YPf0ifHZ1KmHdIOf3ixSH1BD1fpOCWs+Hj
NRsDKyE1VK2USjvRJ9gfrzuMS+GMHiTgMs/VKxz5FjikL6O9QC2NCbnWkNWI
sApeY++8JU2BZ+2QeGTKRSqxRkVvLF5Wg+J3nNqAiU1TWyRpd5zwAZXoW76W
fe5iR7nQQxVNdJJmYHotrKrs3FKePQypR2AML3Kra4pkMooDbmBm9jqNa7B+
KJnSXkyYibHPfV0VZdtYOqzqd8MqfMbRTZ5cairbsfB7YpAGno8ukd7Xi4LH
HmO54934gy1qcr2ndbbcwRI3AFrzUUEuVhKT4x+gKsdBjW2Izcp/HaqkQ2vw
8P7MfpwAhguzjd/SdtnoeHNxTQbnSvy4Fq996GJhtpvSWw7S8jzcS9q/yT7x
oAbTwZ5Qj1O5Ty5sbmM0cIGaxJV2Kj3u5QlHmjq2q5/Vcfvs/MUZPC/XWIo4
Nf9KpL2ig69mu90OaVwu33EqF/37668nJ4wdGOb6p0sb5eWTM65g/8l6f6T2
rkUGDhwkhYv1T27ZwYdKA765/Pzxw8U7rZBPPai//PLh+s17/Hj1/keseuSG
VJnqDR9ouB36Gpah2Id9XBmym6Aw7u0kwo0j5mjTHGg1z9ITNBMwgBg6wxue
6DrMEu4rTSKSVuSSXora7wmmFtw0G6SBK/xfnr2EU5zmu+9ctD10rC/BqOPb
UPdTDPaGtW8KbXgxULp6B5t4PgrnBx7EvTJ1rsHSiIpxUzNhtNc7RwnYxifD
pzM7P4c/Ilo2mo2N9BGUlaEQP1V188iGhXoRB6gkx+NaFqi3FsBpjH7EYEu3
dbEcMOxwnagkDeowEYuTMqVPkSKXesPoDjeMLsdvGD0ZMv/kVrgxeuEOMhYn
719xbnqiqm4HkXBpyr5otfhCXJShTdgmNocObr/oge7VtCXiVg/Lzk7ngGhz
2uMk3ewQEkW4tfwbOg+JEr/u5Zua3l7wnap8k+ZhwSGQRuKA0orhN68dTco6
OBIZu8EVB03tkmen6sdF0GUsczg9SkuEgE4p0TLxA/YDONHBNn4D24VVGtDf
ZWF33hXpzULMddJhF3noOpyGSCHXf8+NZdIoIdYa90Ed2jfd6aU5wZFmYEdy
dEwgMPkkqopWlUi4n089JMH8t499NDPjf/zYuaosKXId9s+Ptb6DEtYkQxdV
X1aYUzR2l/WA8LnMgOi7sdrJeDWeEKVWmIy7icybyNZYfY+61mvGGi/U2XWt
mAp6/QlQ54sNQvKgQilG3Yj9gqx+dtiUKHbIbw0n7opqSSoMe3Xlql5EURPr
lNTx0mLvMoikzVjJpjRwUQ8jd+ovcTdPmomSppDlrfD4KucLW1jBbblIAoUG
Htm2cBYS7v8dGTyJJNKbBodkKnIBSsVWtvc/ntaTXV28vxijMlVLCf/4iQHF
HGxkMiFunr0h7lA3r/SezaQ2cx5bg2v6gdx9nhSMS5fcReiowjugpXx/yb9I
p/eyXuMm1sdn2Uxb7rHGnSC59QSSbXJbGkvQY4TyHGgIfJJHO6fRLqSBn1j/
/+WcvNlsxu0zJv8fc9f6L5OeAAA=

-->

</rfc>
