<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.2 (Ruby 2.7.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-rieckers-radext-rfc6614bis-02" category="std" consensus="true" submissionType="IETF" obsoletes="6614" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RADIUS over TLS">Transport Layer Security (TLS) Encryption for RADIUS</title>

    <author initials="J.-F." surname="Rieckers" fullname="Jan-Frederik Rieckers">
      <organization abbrev="DFN">Deutsches Forschungsnetz | German National Research and Education Network</organization>
      <address>
        <postal>
          <street>Alexanderplatz 1</street>
          <city>Berlin</city>
          <code>10178</code>
          <country>Germany</country>
        </postal>
        <email>rieckers@dfn.de</email>
        <uri>www.dfn.de</uri>
      </address>
    </author>
    <author initials="S." surname="Winter" fullname="Stefan Winter">
      <organization abbrev="RESTENA">Fondation Restena | Restena Foundation</organization>
      <address>
        <postal>
          <street>2, avenue de l'Université</street>
          <city>Esch-sur-Alzette</city>
          <code>4365</code>
          <country>Luxembourg</country>
        </postal>
        <email>stefan.winter@restena.lu</email>
        <uri>www.restena.lu</uri>
      </address>
    </author>

    <date year="2023" month="March" day="10"/>

    <area>Operations and Management</area>
    <workgroup>RADIUS EXTensions</workgroup>
    <keyword>RADIUS</keyword> <keyword>TLS</keyword>

    <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 as well as encrypting RADIUS traffic between servers using a shared secret.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rieckers-radext-rfc6614bis/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        RADIUS EXTensions Working Group mailing list (<eref target="mailto:radext@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/radext/"/>.
      </t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>The RADIUS protocol <xref target="RFC2865"/> is a widely deployed authentication and authorization protocol.
The supplementary RADIUS Accounting specification <xref target="RFC2866"/> provides accounting mechanisms, thus delivering a full Authentication, Authorization, and Accounting (AAA) solution.
However, RADIUS has shown several shortcomings, especially the lack of security for large parts of its packet payload.
RADIUS security is based on the MD5 algorithm, which has been proven to be insecure.</t>

<t>The main focus of RADIUS over TLS is to provide a means to secure the communication between RADIUS/TCP peers using TLS.
The most important use of this specification lies in roaming environments where RADIUS packets need to be transferred through different administrative domains and untrusted, potentially hostile network.</t>

<t>There are multiple known attacks on the MD5 algorithm that is used in RADIUS to provide integrity protection and a limited confidentiality protection. RADIUS over TLS wraps the entire RADIUS packet payload into a TLS stream and thus mitigates the risk of attacks on MD5.</t>

<t>Because of the static trust establishment between RADIUS peers (IP address and shared secret), the only scalable way of creating a massive deployment of RADIUS servers under the control of different administrative entities is to introduce some form of a proxy chain to route the access requests to their home server.
This creates a lot of overhead in terms of possible points of failure, longer transmission times, as well as middleboxes through which authentication traffic flows.
These middleboxes may learn privacy-relevant data while forwarding requests.
The new features in RADIUS over TLS add a new way to identify other peers, e.g., by checking a certificate for the issuer or other certificate properties, but also provides a simple upgrade path for existing RADIUS connection by simply using the shared secret to authenticate the TLS session.</t>

<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>

<t>Within this document we will use the following terms:</t>

<dl>
  <dt>RADIUS/TLS node:</dt>
  <dd>
    <t>a RADIUS-over-TLS client or server</t>
  </dd>
  <dt>RADIUS/TLS Client:</dt>
  <dd>
    <t>a RADIUS-over-TLS instance that initiates a new connection</t>
  </dd>
  <dt>RADIUS/TLS Server:</dt>
  <dd>
    <t>a RADIUS-over-TLS instance that listens on a RADIUS-over-TLS port and accepts new connections</t>
  </dd>
  <dt>RADIUS/UDP:</dt>
  <dd>
    <t>a classic RADIUS transport over UDP as defined in <xref target="RFC2865"/></t>
  </dd>
</dl>

</section>
<section anchor="changes-from-rfc6614"><name>Changes from RFC6614</name>

<t>Currently, there are no big changes, since this is just a restructured spec from <xref target="RFC6614"/>.</t>

<t>The following things have changed:</t>

<dl>
  <dt>Required TLS versions:</dt>
  <dd>
    <t>TLS 1.2 is now the minimum TLS version, TLS 1.3 is included as recommended.</t>
  </dd>
  <dt>TLS compression:</dt>
  <dd>
    <t><xref target="RFC6614"/> allowed usage of TLS compression, this document forbids it.</t>
  </dd>
  <dt>TLS-PSK support:</dt>
  <dd>
    <t><xref target="RFC6614"/> lists support for TLS-PSK as <bcp14>OPTIONAL</bcp14>, this document changes this to <bcp14>RECOMMENDED</bcp14>.</t>
  </dd>
  <dt>Mandatory-to-implement(MTI) cipher suites:</dt>
  <dd>
    <t>Following the recommendation from <xref target="RFC9325"/>, the RC4 cipher suite is no longer included as <bcp14>SHOULD</bcp14>, and the AES cipher suite is the new MTI cipher suite, since it is the MTI cipher suite from TLS 1.2.
Additionally, this document references <xref target="RFC9325"/> for further recommendations for cipher suites.</t>
  </dd>
</dl>

<t>The following things will change in future versions of this draft:</t>

<t><list style="symbols">
  <t>Usage of Server Name Indication</t>
  <t>More text for TLS-PSK</t>
</list></t>

</section>
</section>
<section anchor="transport-layer-security-for-radiustcp"><name>Transport layer security for RADIUS/TCP</name>

<t>This section specifies the way TLS is used to secure the traffic and the changes in the handling of RADIUS packets.</t>

<section anchor="tcp-port-and-packet-types"><name>TCP port and Packet Types</name>

<t>The default destination port number for RADIUS over TLS is TCP/2083.
There are no separate ports for authentication, accounting, and dynamic authorization changes.
The source port is arbitrary.</t>

</section>
<section anchor="tls-connection-setup"><name>TLS Connection setup</name>

<t>The RADIUS/TLS nodes first try to establish a TCP connection as per <xref target="RFC6613"/>.
Failure to connect leads to continuous retries.
It is <bcp14>RECOMMENDED</bcp14> to use exponentially growing intervals between every try.</t>

<t>After completing the TCP handshake, the RADIUS/TLS nodes immediately negotiate a TLS session.
The following restrictions apply:</t>

<t><list style="symbols">
  <t>Support for TLS 1.2 <xref target="RFC5246"/> is <bcp14>REQUIRED</bcp14>, support for TLS 1.3 <xref target="RFC8446"/> is <bcp14>RECOMMENDED</bcp14>.
RADIUS/TLS nodes <bcp14>MUST NOT</bcp14> negotiate TLS versions prior to TLS 1.2.</t>
  <t>The RADIUS/TLS nodes <bcp14>MUST NOT</bcp14> offer or negotiate cipher suites which do not provide confidentiality and integrity protection.</t>
  <t>The RADIUS/TLS nodes <bcp14>MUST NOT</bcp14> negotiate compression.</t>
  <t>When using TLS 1.3, RADIUS/TLS nodes <bcp14>MUST NOT</bcp14> use early data (<xref target="RFC8446"/>, Section 2.3)</t>
  <t>RADIUS/TLS implementations <bcp14>MUST</bcp14>, at minimum, support negotiation of the TLS_RSA_WITH_AES_128_CBC_SHA cipher suite and <bcp14>SHOULD</bcp14> follow the recommendations for supported cipher suites in <xref target="RFC9325"/>, Section 4.</t>
  <t>In addition, RADIUS/TLS implementations <bcp14>MUST</bcp14> support negotiation of the mandatory-to-implement cipher suites required by the versions of TLS they support.</t>
</list></t>

<t>Details for peer authentication are described in <xref target="TLSPeerAuth"/>.</t>

<t>After successful negotiation of a TLS session, the RADIUS/TLS peers can start exchanging RADIUS datagrams.
The shared secret to compute the (obsolete) MD5 integrity checks and attribute obfuscation <bcp14>MUST</bcp14> be "radsec".</t>

</section>
<section anchor="TLSPeerAuth"><name>TLS Peer Authentication</name>

<t>Peers <bcp14>MUST</bcp14> mutually authenticate each other at the TLS layer.
The authentication of peers can be done using different models, that will be described here.
Peers can also perform additional authorization checks based on non-TLS information. For example, verifying that the client IP address (source IP address of the TLS connection) falls within a particular network range.</t>

<section anchor="authentication-using-x509-certificates-with-pkix-trust-model"><name>Authentication using X.509 certificates with PKIX trust model</name>

<t>All RADIUS/TLS implementations <bcp14>MUST</bcp14> implement this model, following the following rules:</t>

<t><list style="symbols">
  <t>Implementations <bcp14>MUST</bcp14> allow the configuration of a list of trusted Certificate Authorities for incoming connections.</t>
  <t>Certificate validation <bcp14>MUST</bcp14> include the verification rules as per <xref target="RFC5280"/>.</t>
  <t>Implementations <bcp14>SHOULD</bcp14> indicate their trusted Certification Authorities (CAs). See <xref target="RFC5246"/>, Section 7.4.4 and <xref target="RFC6066"/>, Section 6 for TLS 1.2 and <xref target="RFC8446"/>, Section 4.2.4 for TLS 1.3.</t>
  <t>RADIUS/TLS clients validate the server identity to match their local configuration:
  <list style="symbols">
      <t>If the expected RADIUS/TLS server was configured as a hostname, the configured name is matched against the presented names from the subjectAltName:DNS extension; if no such exist, against the presented CN component of the certificate subject.</t>
      <t>If the expected RADIUS/TLS server was configured as an IP address, the configured IP address is matched against the presented addresses in the subjectAltName:iPAddr extension; if no such exist, against the presented CN component of the certificate subject.</t>
      <t>If the expected RADIUS/TLS server was not configured but discovered as per <xref target="RFC7585"/>, the peer executes the following checks in this order, accepting the certificate on the first match:
      <list style="symbols">
          <t>The realm which was used as input to the discovery is matched against the presented realm names from the subjectAltName:naiRealm extension.</t>
          <t>If the discovery process yielded a hostname, this hostname is matched against the presented names from the subjectAltName:DNS extension; if no such exist, against the presented CN component of the certificate subject. Implementations <bcp14>MAY</bcp14> require the use of DNSSEC <xref target="RFC4033"/> to ensure the authenticity of the DNS result before relying on this for trust checks.</t>
          <t>If the previous checks fail, the certificate <bcp14>MAY</bcp14> be accepted without further name checks immediately after the <xref target="RFC5280"/> trust chain checks.</t>
        </list></t>
    </list></t>
  <t>RADIUS/TLS server validate the incoming certificate against a local database of acceptable clients. The database may enumerate acceptable clients either by IP address or by a name component in the certificate.
  <list style="symbols">
      <t>For clients configured by name, the configured name is matched against the presented names from the subjectAltName:DNS extension; if no such exists, against the presented CN component in the certificate subject.</t>
      <t>For clients configured by their source IP address, the configured IP address is matched against the presented addresses in the subjectAltName:iPAddr extension; if no such exist, against the presented CN component of the certificate subject.</t>
      <t>It is possible for a RADIUS/TLS server to not require additional name checks for incoming RADIUS/TLS clients. In this case, the certificate is accepted immediately after the <xref target="RFC5280"/> trust chain checks. This <bcp14>MUST NOT</bcp14> be used outside of trusted network environments or without additional certificate attribute checks in place.</t>
    </list></t>
  <t>Implementations <bcp14>MAY</bcp14> allow the configuration of a set of additional properties of the certificate to check for a peer's authorization to communicate (e.g., a set of allowed values in subjectAltName:URI or a set of allowed X.509v3 Certificate Policies).</t>
  <t>When the configured trust base changes (e.g., removal of a CA from the list of trusted CAs; issuance of a new CRL for a given CA), implementations <bcp14>MAY</bcp14> renegotiate the TLS session to reassess the connecting peer's continued authorization.<cref anchor="_5" source="Janfred">Replace may with should here?</cref></t>
</list></t>

</section>
<section anchor="authentication-using-certificate-fingerprints"><name>Authentication using certificate fingerprints</name>

<t>RADIUS/TLS implementations <bcp14>SHOULD</bcp14> allow the configuration of a list of trusted certificates, identified via fingerprint of the DER encoded certificate octets.
When implementing this model, support for SHA-1 as hash algorithm for the fingerprint is <bcp14>REQUIRED</bcp14>, and support for the more contemporary has function SHA-256 is <bcp14>RECOMMENDED</bcp14>.</t>

</section>
<section anchor="authentication-using-tls-psk"><name>Authentication using TLS-PSK</name>

<t>RADIUS/TLS implementations <bcp14>SHOULD</bcp14> support the use of TLS-PSK.</t>

</section>
<section anchor="authentication-using-raw-public-keys"><name>Authentication using Raw Public Keys</name>

<t>RADIUS/TLS implementations <bcp14>SHOULD</bcp14> support using Raw Public Keys <xref target="RFC7250"/> for mutual authentication.<cref anchor="rpk" source="Janfred">TODO: More text here.</cref></t>

</section>
</section>
<section anchor="connecting-client-identity"><name>Connecting Client Identity</name>

<t>In RADIUS/UDP, clients are uniquely identified by their IP address.
Since the shared secret is associated with the origin IP address, if more than one RADIUS client is associated with the same IP address, then those clients also must utilize the same shared secret.
This practice is inherently insecure, as noted in <xref target="RFC5247"/>, Section 5.3.2.</t>

<t>Following the different authentication modes presented in <xref target="TLSPeerAuth"/>, the identification of clients can be done by different means:</t>

<t>In TLS-PSK operation, a client is uniquely identified by its PSK Identity.</t>

<t>When using certificate fingerprints, a client is uniquely identified by the fingerprint of the presented client certificate.</t>

<t>When using X.509 certificates with a PKIX trust model, a client is uniquely identified by the tuple of the serial number of the presended client certificate and the issuer of the client certificate.</t>

<t><cref anchor="rpk-id" source="Janfred">TODO: Client identity when using Raw Public Key needs to be described here.</cref></t>

<t>Note well: having identified a connecting entity does not mean the server necessarily wants to communicate with that client.
For example, if the issuer is not in a trusted set of issuers, the server may decline to perform RADIUS transactions with this client.</t>

<t>There are numerous trust models in PKIX environments, and it is beyond the scope of this document to define how a particular deployment determines whether a client is trustworthy.
Implementations that want to support a wide variety of trust models should expose as many details of the presented certificate to the administrator as possible so that the trust model can be implemented by the administrator.
As a suggestion, at least the following parameters of the X.509 client certificate should be exposed:</t>

<t><list style="symbols">
  <t>Originating IP address</t>
  <t>Certificate Fingerprint</t>
  <t>Issuer</t>
  <t>Subject</t>
  <t>all X.509v3 Extended Key Usage</t>
  <t>all X.509v3 Subject Alternative Name</t>
  <t>all X.509v3 Certificate Policies</t>
</list></t>

<t>For TLS-PSK operation, at least the following parameters of the TLS connection should be exposed:</t>

<t><list style="symbols">
  <t>Originating IP address</t>
  <t>PSK Identity</t>
</list></t>

</section>
<section anchor="radius-datagrams"><name>RADIUS Datagrams</name>

<t>Authentication, Authorization, and Accounting packets are sent according to the following rules:</t>

<t>RADIUS/TLS clients transmit the same packet types on the connection they initiated as a RADIUS/UDP client would.
For example, they send</t>

<t><list style="symbols">
  <t>Access-Request</t>
  <t>Accounting-Request</t>
  <t>Status-Server</t>
  <t>Disconnect-ACK</t>
  <t>Disconnect-NAK</t>
  <t>...</t>
</list></t>

<t>RADIUS/TLS servers transmit the same packets on connections they have accepted as a RADIUS/UDP server would.
For example, they send</t>

<t><list style="symbols">
  <t>Access-Challenge</t>
  <t>Access-Accept</t>
  <t>Access-Reject</t>
  <t>Accounting-Response</t>
  <t>Disconnect-Request</t>
  <t>...</t>
</list></t>

<t>Due to the use of one single TCP port for all packet types, it is required that a RADIUS/TLS server signal which types of packets are supported on a server to a connecting peer.</t>

<t><list style="symbols">
  <t>When an unwanted packet of type 'CoA-Request' or 'Disconnect-Request' is received, a RADIUS/TLS server needs to respond with a 'CoA-NAK' or 'Disconnect-NAK', respectively.
The NAK <bcp14>SHOULD</bcp14> contain an attribute Error-Cause with the value 406 ("Unsupported Extension"); see <xref target="RFC5176"/> for details.</t>
  <t>When an unwanted packet of type 'Accounting-Request' is received, the RADIUS/TLS server <bcp14>SHOULD</bcp14> reply with an Accounting-Response containing an Error-Cause attribute with value 406 "Unsupported Extension" as defined in <xref target="RFC5176"/>.
A RADIUS/TLS accounting client receiving such an Accounting-Response <bcp14>SHOULD</bcp14> log the error and stop sending Accounting-Request packets to this server.</t>
</list></t>

</section>
</section>
<section anchor="design-decisions"><name>Design Decisions</name>

<t>This section explains the design decisions that led to the rules defined in the previous section, as well as a reasoning behind the differences to <xref target="RFC6614"/>.</t>

<section anchor="implications-of-dynamic-peer-discovery"><name>Implications of Dynamic Peer Discovery</name>

<t>One mechanism to discover RADIUS-over-TLS peers dynamically via DNS is specified in <xref target="RFC7585"/>.
While this mechanism is still under development and therefore is not a normative dependency of RADIUS/TLS, the use of dynamic discovery has potential future implications that are important to understand.</t>

<t>Readers of this document who are considering the deployment of DNS-based dynamic discovery are thus encouraged to read <xref target="RFC7585"/> and follow its future development.</t>

</section>
<section anchor="cert_considerations"><name>X.509 Certificate Considerations</name>

<dl>
  <dt>(1)</dt>
  <dd>
    <t>If a RADIUS/TLS client is in possession of multiple certificates from different CAs (i.e., is part of multiple roaming consortia) and dynamic discovery is used, the discovery mechanism possibly does not yield sufficient information to identify the consortium uniquely (e.g., DNS discovery).
Subsequently, the client may not know by itself which client certificate to use for the TLS handshake.
Then, it is necessary for the server to signal to which consortium it belongs and which certificates it expects.
If there is no risk of confusing multiple roaming consortia, providing this information in the handshake is not crucial.</t>
  </dd>
  <dt>(2)</dt>
  <dd>
    <t>If a RADIUS/TLS server is in possession of multiple certificates from different CAs (i.e., is part of multiple roaming consortia), it will need to select one of its certificates to present to the RADIUS/TLS client.
If the client sends the Trusted CA Indication, this hint can make the server select the appropriate certificate and prevent a handshake failure.
Omitting this indication makes it impossible to deterministically select the right certificate in this case.
If there is no risk of confusing multiple roaming consortia, providing this indication in the handshake is not crucial.</t>
  </dd>
</dl>

</section>
<section anchor="cipher-suites-and-compression-negotiation-considerations"><name>Cipher Suites and Compression Negotiation Considerations</name>

<t>See <xref target="RFC9325"/> for considerations regarding the cipher suites and negotiation.</t>

</section>
<section anchor="datagram_considerations"><name>RADIUS Datagram Considerations</name>

<dl>
  <dt>(1)</dt>
  <dd>
    <t>After the TLS session is established, RADIUS packet payloads are
exchanged over the encrypted TLS tunnel.  In RADIUS/UDP, the
packet size can be determined by evaluating the size of the
datagram that arrived.  Due to the stream nature of TCP and TLS,
this does not hold true for RADIUS/TLS packet exchange.
Instead, packet boundaries of RADIUS packets that arrive in the
stream are calculated by evaluating the packet's Length field.
Special care needs to be taken on the packet sender side that
the value of the Length field is indeed correct before sending
it over the TLS tunnel, because incorrect packet lengths can no
longer be detected by a differing datagram boundary.  See
Section 2.6.4 of <xref target="RFC6613"/> for more details.</t>
  </dd>
  <dt>(2)</dt>
  <dd>
    <t>Within RADIUS/UDP <xref target="RFC2865"/>, a shared secret is used for hiding
attributes such as User-Password, as well as in computation of
the Response Authenticator.  In RADIUS accounting <xref target="RFC2866"/>, the
shared secret is used in computation of both the Request
Authenticator and the Response Authenticator.  Since TLS
provides integrity protection and encryption sufficient to
substitute for RADIUS application-layer security, it is not
necessary to configure a RADIUS shared secret.  The use of a
fixed string for the obsolete shared secret eliminates possible
node misconfigurations.</t>
  </dd>
  <dt>(3)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses different UDP ports for
authentication, accounting, and dynamic authorization changes.
RADIUS/TLS allocates a single port for all RADIUS packet types.
Nevertheless, in RADIUS/TLS, the notion of a client that sends
authentication requests and processes replies associated with
its users' sessions and the notion of a server that receives
requests, processes them, and sends the appropriate replies is
to be preserved.  The normative rules about acceptable packet
types for clients and servers mirror the packet flow behavior
from RADIUS/UDP.</t>
  </dd>
  <dt>(4)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses negative ICMP responses to a newly
allocated UDP port to signal that a peer RADIUS server does not
support the reception and processing of the packet types in
<xref target="RFC5176"/>.  These packet types are listed as to be received in
RADIUS/TLS implementations.  Note well: it is not required for
an implementation to actually process these packet types; it is
only required that the NAK be sent as defined above.</t>
  </dd>
  <dt>(5)</dt>
  <dd>
    <t>RADIUS/UDP <xref target="RFC2865"/> uses negative ICMP responses to a newly
allocated UDP port to signal that a peer RADIUS server does not
support the reception and processing of RADIUS Accounting
packets.  There is no RADIUS datagram to signal an Accounting
NAK.  Clients may be misconfigured for sending Accounting
packets to a RADIUS/TLS server that does not wish to process
their Accounting packet.  To prevent a regression of
detectability of this situation, the Accounting-Response +
Error-Cause signaling was introduced.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="compatibility-with-other-radius-transports"><name>Compatibility with Other RADIUS Transports</name>

<t>The IETF defines multiple alternative transports to the classic UDP transport model as defined in <xref target="RFC2865"/>, namely RADIUS over TCP <xref target="RFC6613"/>, the present document on RADIUS over TLS and RADIUS over Datagram Transport Layer Security (DTLS) <xref target="RFC7360"/>.</t>

<t>RADIUS/TLS does not specify any inherent backward compatibility to RADIUS/UDP or cross compatibility to the other transports, i.e., an implementation that utilizes RADIUS/TLS only will not be able to receive or send RADIUS packet payloads over other transports.
An implementation wishing to be backward or cross compatible (i.e., wishes to serve clients using other transports than RADIUS/TLS) will need to implement these other transports along with the RADIUS/TLS transport and be prepared to send and receive on all implemented transports, which is called a "multi-stack implementation".</t>

<t>If a given IP device is able to receive RADIUS payloads on multiple transports, this may or may not be the same instance of software, and it may or may not serve the same purposes.
It is not safe to assume that both ports are interchangeable.
In particular, it cannot be assumed that state is maintained for the packet payloads between the transports.
Two such instances <bcp14>MUST</bcp14> be considered separate RADIUS server entities.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The computational resources to establish a TLS tunnel are significantly higher than simply sending mostly unencrypted UDP datagrams.
Therefore, clients connecting to a RADIUS/TLS node will more easily create high load conditions and a malicious client might create a Denial-of-Service attack more easily.</t>

<t>Some TLS cipher suites only provide integrity validation of their payload and provide no encryption.
This specification forbids the use of such cipher suites.
Since the RADIUS payload's shared secret is fixed to the well-known term "radsec", failure to comply with this requirement will expose the entire datagram payload in plaintext, including User-Password, to intermediate IP nodes.</t>

<t>By virtue of being based on TCP, there are several generic attack vectors to slow down or prevent the TCP connection from being established; see <xref target="RFC4953"/> for details.
If a TCP connection is not up when a packet is to be processed, it gets re-established, so such attacks in general lead only to a minor performance degradation (the time it takes to re-establish the connection).
There is one notable exception where an attacker might create a bidding-down attack though.
If peer communication between two devices is configured for both RADIUS/TLS and RADIUS/UDP, and the RADIUS/UDP transport is the failover option if the TLS session cannot be established, a bidding-down attack can occur if an adversary can maliciously close the TCP connection or prevent it from being established.
Situtations where clients are configured in such a way are likely to occur during a migration phase from RADIUS/UDP to RADIUS/TLS.
By preventing the TLS session setup, the attacker can reduce the security of the packet payload from the selected TLS cipher suite packet encryption to the classic MD5 per-attribute encryption.
The situation should be avoided by disabling the weaker RADIUS/UDP transport as soon as the new RADIUS/TLS connection is established and tested.</t>

<t>RADIUS/TLS provides authentication and encryption between RADIUS peers.
In the presence of proxies, the intermediate proxies can still inspect the individual RADIUS packets, i.e., "end-to-end" encryption is not provided.
Where intermediate proxies are untrusted, it is desirable to use other RADIUS mechanisms to prevent RADIUS packet payload from inspection by such proxies.
One common method to protect passwords is the use of the Extensible Authentication Protocol (EAP) and EAP methods that utilize TLS.</t>

<t>For dynamic discovery, this document allows the acceptance of a certificate only after doing PKIX checks. When using publicly trusted CAs as trust anchor, this may lead to security issues, since an advisary may easily get a valid certificate from this CAs. In current practice of <xref target="RFC6614"/>, this problem is circumvented by using a private CA as a trust anchor. This private CA only issues certificate to members of the roaming consortium. This may still enable a malicious member to intercept traffic not intended for them, however, depending on the size of the consortium, this attack vector may be negligible. If the private CA also issues certificates for other purposes than RADIUS/TLS, the RADIUS/TLS certificates <bcp14>SHOULD</bcp14> include RADIUS/TLS-specific attributes against the implementation can check such as a X.509v3 Certificate Policy specific for RADIUS/TLS.</t>

<t>When using certificate fingerprints to identify RADIUS/TLS peers, any two certificates that produce the same hash value (i.e., that have a hash collision) will be considered the same client.
Therefore, it is important to make sure that the hash function used is cryptographically uncompromised so that an attacker is very unlikely to be able to produce a hash collision with a certificate of his choice.
While this specification mandates support for SHA-1, a later revision will likely demand support for more contemporary hash functions because as of issuance of this document, there are already attacks on SHA-1.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>Upon approval, IANA should update the Reference to radsec in the Service Name and Transport Protocol Port Number Registry:</t>

<t><list style="symbols">
  <t>Service Name: radsec</t>
  <t>Port Number: 2083</t>
  <t>Transport Protocol: tcp</t>
  <t>Description: Secure RADIUS Service</t>
  <t>Assignment notes: The TCP port 2083 was already previously assigned by IANA for "RadSec", an early implementation of RADIUS/TLS, prior to issuance of the experimental RFC 6614. [This document] updates RFC 6614, while maintaining backward compatibility, if configured. For further details see RFC 6614, Appendix A or [This document], <xref target="BackwardComp"/>.</t>
</list></t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<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='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='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>



<reference anchor='RFC9325' target='https://www.rfc-editor.org/info/rfc9325'>
<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'><organization/></author>
<author fullname='P. Saint-Andre' initials='P.' surname='Saint-Andre'><organization/></author>
<author fullname='T. Fossati' initials='T.' surname='Fossati'><organization/></author>
<date month='November' year='2022'/>
<abstract><t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols.  Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation.  This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t><t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t></abstract>
</front>
<seriesInfo name='BCP' value='195'/>
<seriesInfo name='RFC' value='9325'/>
<seriesInfo name='DOI' value='10.17487/RFC9325'/>
</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='RFC5246' target='https://www.rfc-editor.org/info/rfc5246'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
<author fullname='T. Dierks' initials='T.' surname='Dierks'><organization/></author>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='August' year='2008'/>
<abstract><t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5246'/>
<seriesInfo name='DOI' value='10.17487/RFC5246'/>
</reference>



<reference anchor='RFC8446' target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<date month='August' year='2018'/>
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>



<reference anchor='RFC5280' target='https://www.rfc-editor.org/info/rfc5280'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author fullname='D. Cooper' initials='D.' surname='Cooper'><organization/></author>
<author fullname='S. Santesson' initials='S.' surname='Santesson'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='S. Boeyen' initials='S.' surname='Boeyen'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<author fullname='W. Polk' initials='W.' surname='Polk'><organization/></author>
<date month='May' year='2008'/>
<abstract><t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5280'/>
<seriesInfo name='DOI' value='10.17487/RFC5280'/>
</reference>



<reference anchor='RFC6066' target='https://www.rfc-editor.org/info/rfc6066'>
<front>
<title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
<author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'><organization/></author>
<date month='January' year='2011'/>
<abstract><t>This document provides specifications for existing TLS extensions.  It is a companion document for RFC 5246, &quot;The Transport Layer Security (TLS) Protocol Version 1.2&quot;.  The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6066'/>
<seriesInfo name='DOI' value='10.17487/RFC6066'/>
</reference>



<reference anchor='RFC7250' target='https://www.rfc-editor.org/info/rfc7250'>
<front>
<title>Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
<author fullname='P. Wouters' initials='P.' role='editor' surname='Wouters'><organization/></author>
<author fullname='H. Tschofenig' initials='H.' role='editor' surname='Tschofenig'><organization/></author>
<author fullname='J. Gilmore' initials='J.' surname='Gilmore'><organization/></author>
<author fullname='S. Weiler' initials='S.' surname='Weiler'><organization/></author>
<author fullname='T. Kivinen' initials='T.' surname='Kivinen'><organization/></author>
<date month='June' year='2014'/>
<abstract><t>This document specifies a new certificate type and two TLS extensions for exchanging raw public keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS).  The new certificate type allows raw public keys to be used for authentication.</t></abstract>
</front>
<seriesInfo name='RFC' value='7250'/>
<seriesInfo name='DOI' value='10.17487/RFC7250'/>
</reference>




    </references>

    <references title='Informative References'>





<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='RFC4033' target='https://www.rfc-editor.org/info/rfc4033'>
<front>
<title>DNS Security Introduction and Requirements</title>
<author fullname='R. Arends' initials='R.' surname='Arends'><organization/></author>
<author fullname='R. Austein' initials='R.' surname='Austein'><organization/></author>
<author fullname='M. Larson' initials='M.' surname='Larson'><organization/></author>
<author fullname='D. Massey' initials='D.' surname='Massey'><organization/></author>
<author fullname='S. Rose' initials='S.' surname='Rose'><organization/></author>
<date month='March' year='2005'/>
<abstract><t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System.  This document introduces these extensions and describes their capabilities and limitations.  This document also discusses the services that the DNS security extensions do and do not provide.  Last, this document describes the interrelationships between the documents that collectively describe DNSSEC.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4033'/>
<seriesInfo name='DOI' value='10.17487/RFC4033'/>
</reference>



<reference anchor='RFC5247' target='https://www.rfc-editor.org/info/rfc5247'>
<front>
<title>Extensible Authentication Protocol (EAP) Key Management Framework</title>
<author fullname='B. Aboba' initials='B.' surname='Aboba'><organization/></author>
<author fullname='D. Simon' initials='D.' surname='Simon'><organization/></author>
<author fullname='P. Eronen' initials='P.' surname='Eronen'><organization/></author>
<date month='August' year='2008'/>
<abstract><t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, enables extensible network access authentication.  This document specifies the EAP key hierarchy and provides a framework for the transport and usage of keying material and parameters generated by EAP authentication algorithms, known as &quot;methods&quot;.  It also provides a detailed system-level security analysis, describing the conditions under which the key management guidelines described in RFC 4962 can be satisfied.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5247'/>
<seriesInfo name='DOI' value='10.17487/RFC5247'/>
</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='RFC7585' target='https://www.rfc-editor.org/info/rfc7585'>
<front>
<title>Dynamic Peer Discovery for RADIUS/TLS and RADIUS/DTLS Based on the Network Access Identifier (NAI)</title>
<author fullname='S. Winter' initials='S.' surname='Winter'><organization/></author>
<author fullname='M. McCauley' initials='M.' surname='McCauley'><organization/></author>
<date month='October' year='2015'/>
<abstract><t>This document specifies a means to find authoritative RADIUS servers for a given realm.  It is used in conjunction with either RADIUS over Transport Layer Security (RADIUS/TLS) or RADIUS over Datagram Transport Layer Security (RADIUS/DTLS).</t></abstract>
</front>
<seriesInfo name='RFC' value='7585'/>
<seriesInfo name='DOI' value='10.17487/RFC7585'/>
</reference>



<reference anchor='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='RFC4953' target='https://www.rfc-editor.org/info/rfc4953'>
<front>
<title>Defending TCP Against Spoofing Attacks</title>
<author fullname='J. Touch' initials='J.' surname='Touch'><organization/></author>
<date month='July' year='2007'/>
<abstract><t>Recent analysis of potential attacks on core Internet infrastructure indicates an increased vulnerability of TCP connections to spurious resets (RSTs), sent with forged IP source addresses (spoofing).  TCP has always been susceptible to such RST spoofing attacks, which were indirectly protected by checking that the RST sequence number was inside the current receive window, as well as via the obfuscation of TCP endpoint and port numbers.  For pairs of well-known endpoints often over predictable port pairs, such as BGP or between web servers and well-known large-scale caches, increases in the path bandwidth-delay product of a connection have sufficiently increased the receive window space that off-path third parties can brute-force generate a viable RST sequence number.  The susceptibility to attack increases with the square of the bandwidth, and thus presents a significant vulnerability for recent high-speed networks.  This document addresses this vulnerability, discussing proposed solutions at the transport level and their inherent challenges, as well as existing network level solutions and the feasibility of their deployment.  This document focuses on vulnerabilities due to spoofed TCP segments, and includes a discussion of related ICMP spoofing attacks on TCP connections.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='4953'/>
<seriesInfo name='DOI' value='10.17487/RFC4953'/>
</reference>



<reference anchor='RFC7593' target='https://www.rfc-editor.org/info/rfc7593'>
<front>
<title>The eduroam Architecture for Network Roaming</title>
<author fullname='K. Wierenga' initials='K.' surname='Wierenga'><organization/></author>
<author fullname='S. Winter' initials='S.' surname='Winter'><organization/></author>
<author fullname='T. Wolniewicz' initials='T.' surname='Wolniewicz'><organization/></author>
<date month='September' year='2015'/>
<abstract><t>This document describes the architecture of the eduroam service for federated (wireless) network access in academia.  The combination of IEEE 802.1X, the Extensible Authentication Protocol (EAP), and RADIUS that is used in eduroam provides a secure, scalable, and deployable service for roaming network access.  The successful deployment of eduroam over the last decade in the educational sector may serve as an example for other sectors, hence this document.  In particular, the initial architectural choices and selection of standards are described, along with the changes that were prompted by operational experience.</t></abstract>
</front>
<seriesInfo name='RFC' value='7593'/>
<seriesInfo name='DOI' value='10.17487/RFC7593'/>
</reference>




    </references>


<section anchor="lessons-learned-from-deployments-of-the-experimental-rfc6614"><name>Lessons learned from deployments of the Experimental <xref target="RFC6614"/></name>

<t>There are at least two major (world-scale) deployments of <xref target="RFC6614"/>.</t>

<section anchor="eduroam"><name>eduroam</name>

<t>eduroam is a globally operating Wi-Fi roaming consortium exclusively for persons in Research and Education. For an extensive background on eduroam and its authentication fabric architecture, refer to <xref target="RFC7593"/>.</t>

<t>Over time, more than a dozen out of 100+ national branches of eduroam used RADIUS/TLS in production to secure their country-to-country RADIUS proxy connections. This number is big enough to attest that the protocol does work, and scales. The number is also low enough to wonder why RADIUS/UDP continued to be used by a majority of country deployments despite its significant security issues.</t>

<t>Operational experience reveals that the main reason is related to the choice of PKIX certificates for securing the proxy interconnections. Compared to shared secrets, certificates are more complex to handle in multiple dimensions:</t>

<t><list style="symbols">
  <t>Lifetime: PKIX certificates have an expiry date, and need administrator attention and expertise for their renewal</t>
  <t>Validation: The validation of a certificate (both client and server) requires contacting a third party to verify the recovaction status. This either takes time during session setup (OCSP checks) or requires the presence of a fresh CRL on the server - this in turn requires regular update of that CRL.</t>
  <t>Issuance: PKIX certificates carry properties in the Subject and extensions that need to be vetted. Depending on the CA policy, a certificate request may need significant human intervention to be verified. In particular, the authorisation of a requester to operate a server for a particular NAI realm needs to be verified. This rules out public "browser-trusted" CAs; eduroam is operating a special-purpose CA for eduroam RADIUS/TLS purposes.</t>
  <t>Automatic failure over time: CRL refresh and certificate renewal must be attended to regularly. Failure to do so leads to failure of the authentication service. Among other reasons, employee churn with incorrectly transferred or forgotten responsibilities is a risk factor.</t>
</list></t>

<t>It appears that these complexities often outweigh the argument of improved security; and a fallback to RADIUS/UDP is seen as the more appealing option.</t>

<t>It can be considered an important result of the experiment in <xref target="RFC6614"/> that providing less complex ways of operating RADIUS/TLS are required. The more thoroughly specified provisions in the current document towards TLS-PSK and raw public keys are a response to this insight.</t>

<t>On the other hand, using RADIUS/TLS in combination with Dynamic Discovery as per <xref target="RFC7585"/> necessitates the use of PKIX certificates. So, the continued ability to operate with PKIX certificates is also important and cannot be discontinued without sacrificing vital funcionality of large roaming consortia.</t>

</section>
<section anchor="wireless-broadband-alliances-openroaming"><name>Wireless Broadband Alliance's OpenRoaming</name>

<t>OpenRoaming is a globally operating Wi-Fi roaming consortium for the general public, operated by the Wireless Broadband Alliance (WBA). With its (optional) settled usage of hotspots, the consortium requires both RADIUS authentication as well as RADIUS accounting.</t>

<t>The consortium operational procedures were defined in the late 2010s when <xref target="RFC6614"/> and <xref target="RFC7585"/> were long available. The consortium decided to fully base itself on these two RFCs.</t>

<t>In this architecture, using PSKs or raw public keys is not an option. The complexities around PKIX certificates as discussed in the previous section are believed to be controllable: the consortium operates its own special-purpose CA and can rely on a reliable source of truth for operator authorisation (becoming an operator requires a paid membership in WBA); expiry and revocation topics can be expected to be dealt with as high-priority because of the monetary implications in case of infrastructure failure during settled operation.</t>

</section>
<section anchor="participating-in-more-than-one-roaming-consortium"><name>Participating in more than one roaming consortium</name>

<t>It is possible for a RADIUS/TLS (home) server to participate in more than one roaming consortium, i.e. to authenticate its users to multiple clients from distinct consortia, which present client certificates from their respective consortium's CA; and which expect the server to present a certificate from the matching CA.</t>

<t>The eduroam consortium has chosen to cooperate with (the settlement-free parts of) OpenRoaming to allow eduroam users to log in to (settlement-free) OpenRoaming hotspots.</t>

<t>eduroam RADIUS/TLS servers thus may be contacted by OpenRoaming clients expecting an OpenRoaming server certificate, and by eduroam clients expecting an eduroam server certificate.</t>

<t>It is therefore necessary to decide on the certificate to present during TLS session establishment. To make that decision, the availability of Trusted CA Indication in the client TLS message is important.</t>

<t>It can be considered an important result of the experiment in <xref target="RFC6614"/> that Trusted CA Indication is an important asset for inter-connectivity of multiple roaming consortia.</t>

</section>
</section>
<section anchor="interoperable-implementations"><name>Interoperable Implementations</name>

<t><xref target="RFC6614"/> is implemented and interoperates between at least three server implementations: FreeRADIUS, radsecproxy, Radiator. It is also implemented among a number of Wireless Access Points / Controllers from numerous vendors, including but not limited to: Aruba Networks, LANCOM Systems.</t>

</section>
<section anchor="BackwardComp"><name>Backward compatibility</name>

<t>TODO describe necessary steps to configure common servers for compatibility with this version.
Hopefully the differences to <xref target="RFC6614"/> are small enough that almost no config change is necessary.</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>Thanks to the original authors of RFC 6614: Stefan Winter, Mike McCauley, Stig Venaas and Klaas Vierenga.</t>

<t>TODO more acknowledgements</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAKH2CmQAA919WXcbWZLeO35FmvUgsgZAa6FUVSyPuyFSmuKUFpqUurpP
n3adC+QFkK1EJiYXUii5/otf/TfsP+b4IuJuCbCkHs+xx34iAeTd4sa+5WQy
GXVFV9qz7OhdY6p2Wzdd9srsbJPd2EXfFN0uO3736uYke1Etmt22K+oqW9ZN
dj27uHx/czQy83ljb2m4fJHVtzSUBhyNFqazq7rZnWVtl49G9bytS9vZ9ix7
9uzR6WiU14vKbGjlvDHLbtIUdvHBNu2kMbn9SJ+XCzw3L9rJw8ejtp9viral
1bvdlsZcvnj3ckTLPhmZxhpa/u3WNga7azNT5dlrU5mV3diqOxrd1c2HVVP3
27DLF396ZyvM1h6NPtgdPZGfjbJsosfif+kQo1tb9Ra//Mb4LJMtHf1E6xTV
KvsnPIvvN6Yo6Xs50B8K2y2ndbM6Go1M363rRlYUGPyzqSYvG5vbpviQXSso
6PcsoxFn2YXtu3axtm32sm7on75atZXtfsn+a/ZPttmYKnvDhzdldm1ba5rF
msHwIu8X/EP2xnaAA0/Zdo213Vk2K+1Heso229LQXI/4x0Wd034ePXz0zbfy
mVDgLHtum7Ko9IG+6nCtsvKOv7RyVneJf8iX1TS3/JPDkIuXb/gzIdVZdnd3
N/XPOCDcdHZJR/mpqDrbhMO/rKtcDkFn62xl6NTuv5e0GfkxOdnjcWb47rLc
ZuWD91VBaNkW3f/879EZT588exod8QXBddL2zWRW/mK7zqaHfdV/tJt53Ter
+Lwt73h6xzv+QyObmpZ9cvDrFzfvXryZpYePnh2Nqpog2dEez0ajolpGn0aj
yWRCM9HBzKIbjd6tizYjyumB2lm7tYtiWRBamKzz5Ltt6mVR2ohMs74FYn6G
woV0z68y02bd2qYzdvWiLqeyPu17XtKi+Y7urVjQg33bZY0thQDXxbbN5oRv
1lZuA61tcAOY+s6WJf5aZSi0MX2IFlwuaT431g2S3ZusXROx5/T1orHdVECz
KfK8tKPRV9klXVRN+M7IQBu1blq3++zTp/9w/fL88bfPnv76a1YAaHdFbssd
Icm2rHc0NQiTAFso0YCEhFaLX+SbGBI2a/vttmQuY5qdW262YKTBlvV+dDa/
/DNania6pcVpE+HxjV2sTVW0m3ZMF9ATgG0JxJXTL3uC2yzZ4Jg/+92NecPR
+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
vz8WONwKSMxgFaPM78zK1kb/C5QOznPKfAAA

-->

</rfc>

